/** * 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 AWS_EFS_API UpdateFileSystemRequest : public EFSRequest { public: 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::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) The throughput mode that you want your file system to use. 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) The throughput mode that you want your file system to use. 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) The throughput mode that you want your file system to use. 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) The throughput mode that you want your file system to use. 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) The throughput mode that you want your file system to use. 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) The throughput mode that you want your file system to use. 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) The amount of throughput, in MiB/s, that you want to provision for * your file system. Valid values are 1-1024. Required if * ThroughputMode is changed to provisioned on update. If * you're not updating the amount of provisioned throughput for your file system, * you don't need to provide this value in your request.

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

(Optional) The amount of throughput, in MiB/s, that you want to provision for * your file system. Valid values are 1-1024. Required if * ThroughputMode is changed to provisioned on update. If * you're not updating the amount of provisioned throughput for your file system, * you don't need to provide this value in your request.

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

(Optional) The amount of throughput, in MiB/s, that you want to provision for * your file system. Valid values are 1-1024. Required if * ThroughputMode is changed to provisioned on update. If * you're not updating the amount of provisioned throughput for your file system, * you don't need to provide this value in your request.

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

(Optional) The amount of throughput, in MiB/s, that you want to provision for * your file system. Valid values are 1-1024. Required if * ThroughputMode is changed to provisioned on update. If * you're not updating the amount of provisioned throughput for your file system, * you don't need to provide this value in your request.

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