/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace EFS { namespace Model { /** */ class UpdateFileSystemRequest : public EFSRequest { public: AWS_EFS_API UpdateFileSystemRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "UpdateFileSystem"; } AWS_EFS_API Aws::String SerializePayload() const override; /** *

The ID of the file system that you want to update.

*/ inline const Aws::String& GetFileSystemId() const{ return m_fileSystemId; } /** *

The ID of the file system that you want to update.

*/ inline bool FileSystemIdHasBeenSet() const { return m_fileSystemIdHasBeenSet; } /** *

The ID of the file system that you want to update.

*/ inline void SetFileSystemId(const Aws::String& value) { m_fileSystemIdHasBeenSet = true; m_fileSystemId = value; } /** *

The ID of the file system that you want to update.

*/ inline void SetFileSystemId(Aws::String&& value) { m_fileSystemIdHasBeenSet = true; m_fileSystemId = std::move(value); } /** *

The ID of the file system that you want to update.

*/ inline void SetFileSystemId(const char* value) { m_fileSystemIdHasBeenSet = true; m_fileSystemId.assign(value); } /** *

The ID of the file system that you want to update.

*/ inline UpdateFileSystemRequest& WithFileSystemId(const Aws::String& value) { SetFileSystemId(value); return *this;} /** *

The ID of the file system that you want to update.

*/ inline UpdateFileSystemRequest& WithFileSystemId(Aws::String&& value) { SetFileSystemId(std::move(value)); return *this;} /** *

The ID of the file system that you want to update.

*/ inline UpdateFileSystemRequest& WithFileSystemId(const char* value) { SetFileSystemId(value); return *this;} /** *

(Optional) Updates the file system's throughput mode. If you're not updating * your throughput mode, you don't need to provide this value in your request. If * you are changing the ThroughputMode to provisioned, * you must also set a value for ProvisionedThroughputInMibps.

*/ inline const ThroughputMode& GetThroughputMode() const{ return m_throughputMode; } /** *

(Optional) Updates the file system's throughput mode. If you're not updating * your throughput mode, you don't need to provide this value in your request. If * you are changing the ThroughputMode to provisioned, * you must also set a value for ProvisionedThroughputInMibps.

*/ inline bool ThroughputModeHasBeenSet() const { return m_throughputModeHasBeenSet; } /** *

(Optional) Updates the file system's throughput mode. If you're not updating * your throughput mode, you don't need to provide this value in your request. If * you are changing the ThroughputMode to provisioned, * you must also set a value for ProvisionedThroughputInMibps.

*/ inline void SetThroughputMode(const ThroughputMode& value) { m_throughputModeHasBeenSet = true; m_throughputMode = value; } /** *

(Optional) Updates the file system's throughput mode. If you're not updating * your throughput mode, you don't need to provide this value in your request. If * you are changing the ThroughputMode to provisioned, * you must also set a value for ProvisionedThroughputInMibps.

*/ inline void SetThroughputMode(ThroughputMode&& value) { m_throughputModeHasBeenSet = true; m_throughputMode = std::move(value); } /** *

(Optional) Updates the file system's throughput mode. If you're not updating * your throughput mode, you don't need to provide this value in your request. If * you are changing the ThroughputMode to provisioned, * you must also set a value for ProvisionedThroughputInMibps.

*/ inline UpdateFileSystemRequest& WithThroughputMode(const ThroughputMode& value) { SetThroughputMode(value); return *this;} /** *

(Optional) Updates the file system's throughput mode. If you're not updating * your throughput mode, you don't need to provide this value in your request. If * you are changing the ThroughputMode to provisioned, * you must also set a value for ProvisionedThroughputInMibps.

*/ inline UpdateFileSystemRequest& WithThroughputMode(ThroughputMode&& value) { SetThroughputMode(std::move(value)); return *this;} /** *

(Optional) Sets the amount of provisioned throughput, in MiB/s, for the file * system. Valid values are 1-1024. If you are changing the throughput mode to * provisioned, you must also provide the amount of provisioned throughput. * Required if ThroughputMode is changed to provisioned * on update.

*/ inline double GetProvisionedThroughputInMibps() const{ return m_provisionedThroughputInMibps; } /** *

(Optional) Sets the amount of provisioned throughput, in MiB/s, for the file * system. Valid values are 1-1024. If you are changing the throughput mode to * provisioned, you must also provide the amount of provisioned throughput. * Required if ThroughputMode is changed to provisioned * on update.

*/ inline bool ProvisionedThroughputInMibpsHasBeenSet() const { return m_provisionedThroughputInMibpsHasBeenSet; } /** *

(Optional) Sets the amount of provisioned throughput, in MiB/s, for the file * system. Valid values are 1-1024. If you are changing the throughput mode to * provisioned, you must also provide the amount of provisioned throughput. * Required if ThroughputMode is changed to provisioned * on update.

*/ inline void SetProvisionedThroughputInMibps(double value) { m_provisionedThroughputInMibpsHasBeenSet = true; m_provisionedThroughputInMibps = value; } /** *

(Optional) Sets the amount of provisioned throughput, in MiB/s, for the file * system. Valid values are 1-1024. If you are changing the throughput mode to * provisioned, you must also provide the amount of provisioned throughput. * Required if ThroughputMode is changed to provisioned * on update.

*/ inline UpdateFileSystemRequest& WithProvisionedThroughputInMibps(double value) { SetProvisionedThroughputInMibps(value); return *this;} private: Aws::String m_fileSystemId; bool m_fileSystemIdHasBeenSet = false; ThroughputMode m_throughputMode; bool m_throughputModeHasBeenSet = false; double m_provisionedThroughputInMibps; bool m_provisionedThroughputInMibpsHasBeenSet = false; }; } // namespace Model } // namespace EFS } // namespace Aws