/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace EFS { namespace Model { /** *

A description of the file system.

See Also:

AWS * API Reference

*/ class AWS_EFS_API UpdateFileSystemResult { public: UpdateFileSystemResult(); UpdateFileSystemResult(const Aws::AmazonWebServiceResult& result); UpdateFileSystemResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

The AWS account that created the file system. If the file system was created * by an IAM user, the parent account to which the user belongs is the owner.

*/ inline const Aws::String& GetOwnerId() const{ return m_ownerId; } /** *

The AWS account that created the file system. If the file system was created * by an IAM user, the parent account to which the user belongs is the owner.

*/ inline void SetOwnerId(const Aws::String& value) { m_ownerId = value; } /** *

The AWS account that created the file system. If the file system was created * by an IAM user, the parent account to which the user belongs is the owner.

*/ inline void SetOwnerId(Aws::String&& value) { m_ownerId = std::move(value); } /** *

The AWS account that created the file system. If the file system was created * by an IAM user, the parent account to which the user belongs is the owner.

*/ inline void SetOwnerId(const char* value) { m_ownerId.assign(value); } /** *

The AWS account that created the file system. If the file system was created * by an IAM user, the parent account to which the user belongs is the owner.

*/ inline UpdateFileSystemResult& WithOwnerId(const Aws::String& value) { SetOwnerId(value); return *this;} /** *

The AWS account that created the file system. If the file system was created * by an IAM user, the parent account to which the user belongs is the owner.

*/ inline UpdateFileSystemResult& WithOwnerId(Aws::String&& value) { SetOwnerId(std::move(value)); return *this;} /** *

The AWS account that created the file system. If the file system was created * by an IAM user, the parent account to which the user belongs is the owner.

*/ inline UpdateFileSystemResult& WithOwnerId(const char* value) { SetOwnerId(value); return *this;} /** *

The opaque string specified in the request.

*/ inline const Aws::String& GetCreationToken() const{ return m_creationToken; } /** *

The opaque string specified in the request.

*/ inline void SetCreationToken(const Aws::String& value) { m_creationToken = value; } /** *

The opaque string specified in the request.

*/ inline void SetCreationToken(Aws::String&& value) { m_creationToken = std::move(value); } /** *

The opaque string specified in the request.

*/ inline void SetCreationToken(const char* value) { m_creationToken.assign(value); } /** *

The opaque string specified in the request.

*/ inline UpdateFileSystemResult& WithCreationToken(const Aws::String& value) { SetCreationToken(value); return *this;} /** *

The opaque string specified in the request.

*/ inline UpdateFileSystemResult& WithCreationToken(Aws::String&& value) { SetCreationToken(std::move(value)); return *this;} /** *

The opaque string specified in the request.

*/ inline UpdateFileSystemResult& WithCreationToken(const char* value) { SetCreationToken(value); return *this;} /** *

The ID of the file system, assigned by Amazon EFS.

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

The ID of the file system, assigned by Amazon EFS.

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

The ID of the file system, assigned by Amazon EFS.

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

The ID of the file system, assigned by Amazon EFS.

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

The ID of the file system, assigned by Amazon EFS.

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

The ID of the file system, assigned by Amazon EFS.

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

The ID of the file system, assigned by Amazon EFS.

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

The Amazon Resource Name (ARN) for the EFS file system, in the format * arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id * . Example with sample data: * arn:aws:elasticfilesystem:us-west-2:1111333322228888:file-system/fs-01234567 *

*/ inline const Aws::String& GetFileSystemArn() const{ return m_fileSystemArn; } /** *

The Amazon Resource Name (ARN) for the EFS file system, in the format * arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id * . Example with sample data: * arn:aws:elasticfilesystem:us-west-2:1111333322228888:file-system/fs-01234567 *

*/ inline void SetFileSystemArn(const Aws::String& value) { m_fileSystemArn = value; } /** *

The Amazon Resource Name (ARN) for the EFS file system, in the format * arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id * . Example with sample data: * arn:aws:elasticfilesystem:us-west-2:1111333322228888:file-system/fs-01234567 *

*/ inline void SetFileSystemArn(Aws::String&& value) { m_fileSystemArn = std::move(value); } /** *

The Amazon Resource Name (ARN) for the EFS file system, in the format * arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id * . Example with sample data: * arn:aws:elasticfilesystem:us-west-2:1111333322228888:file-system/fs-01234567 *

*/ inline void SetFileSystemArn(const char* value) { m_fileSystemArn.assign(value); } /** *

The Amazon Resource Name (ARN) for the EFS file system, in the format * arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id * . Example with sample data: * arn:aws:elasticfilesystem:us-west-2:1111333322228888:file-system/fs-01234567 *

*/ inline UpdateFileSystemResult& WithFileSystemArn(const Aws::String& value) { SetFileSystemArn(value); return *this;} /** *

The Amazon Resource Name (ARN) for the EFS file system, in the format * arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id * . Example with sample data: * arn:aws:elasticfilesystem:us-west-2:1111333322228888:file-system/fs-01234567 *

*/ inline UpdateFileSystemResult& WithFileSystemArn(Aws::String&& value) { SetFileSystemArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) for the EFS file system, in the format * arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id * . Example with sample data: * arn:aws:elasticfilesystem:us-west-2:1111333322228888:file-system/fs-01234567 *

*/ inline UpdateFileSystemResult& WithFileSystemArn(const char* value) { SetFileSystemArn(value); return *this;} /** *

The time that the file system was created, in seconds (since * 1970-01-01T00:00:00Z).

*/ inline const Aws::Utils::DateTime& GetCreationTime() const{ return m_creationTime; } /** *

The time that the file system was created, in seconds (since * 1970-01-01T00:00:00Z).

*/ inline void SetCreationTime(const Aws::Utils::DateTime& value) { m_creationTime = value; } /** *

The time that the file system was created, in seconds (since * 1970-01-01T00:00:00Z).

*/ inline void SetCreationTime(Aws::Utils::DateTime&& value) { m_creationTime = std::move(value); } /** *

The time that the file system was created, in seconds (since * 1970-01-01T00:00:00Z).

*/ inline UpdateFileSystemResult& WithCreationTime(const Aws::Utils::DateTime& value) { SetCreationTime(value); return *this;} /** *

The time that the file system was created, in seconds (since * 1970-01-01T00:00:00Z).

*/ inline UpdateFileSystemResult& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;} /** *

The lifecycle phase of the file system.

*/ inline const LifeCycleState& GetLifeCycleState() const{ return m_lifeCycleState; } /** *

The lifecycle phase of the file system.

*/ inline void SetLifeCycleState(const LifeCycleState& value) { m_lifeCycleState = value; } /** *

The lifecycle phase of the file system.

*/ inline void SetLifeCycleState(LifeCycleState&& value) { m_lifeCycleState = std::move(value); } /** *

The lifecycle phase of the file system.

*/ inline UpdateFileSystemResult& WithLifeCycleState(const LifeCycleState& value) { SetLifeCycleState(value); return *this;} /** *

The lifecycle phase of the file system.

*/ inline UpdateFileSystemResult& WithLifeCycleState(LifeCycleState&& value) { SetLifeCycleState(std::move(value)); return *this;} /** *

You can add tags to a file system, including a Name tag. For * more information, see CreateFileSystem. If the file system has a * Name tag, Amazon EFS returns the value in this field.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

You can add tags to a file system, including a Name tag. For * more information, see CreateFileSystem. If the file system has a * Name tag, Amazon EFS returns the value in this field.

*/ inline void SetName(const Aws::String& value) { m_name = value; } /** *

You can add tags to a file system, including a Name tag. For * more information, see CreateFileSystem. If the file system has a * Name tag, Amazon EFS returns the value in this field.

*/ inline void SetName(Aws::String&& value) { m_name = std::move(value); } /** *

You can add tags to a file system, including a Name tag. For * more information, see CreateFileSystem. If the file system has a * Name tag, Amazon EFS returns the value in this field.

*/ inline void SetName(const char* value) { m_name.assign(value); } /** *

You can add tags to a file system, including a Name tag. For * more information, see CreateFileSystem. If the file system has a * Name tag, Amazon EFS returns the value in this field.

*/ inline UpdateFileSystemResult& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

You can add tags to a file system, including a Name tag. For * more information, see CreateFileSystem. If the file system has a * Name tag, Amazon EFS returns the value in this field.

*/ inline UpdateFileSystemResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

You can add tags to a file system, including a Name tag. For * more information, see CreateFileSystem. If the file system has a * Name tag, Amazon EFS returns the value in this field.

*/ inline UpdateFileSystemResult& WithName(const char* value) { SetName(value); return *this;} /** *

The current number of mount targets that the file system has. For more * information, see CreateMountTarget.

*/ inline int GetNumberOfMountTargets() const{ return m_numberOfMountTargets; } /** *

The current number of mount targets that the file system has. For more * information, see CreateMountTarget.

*/ inline void SetNumberOfMountTargets(int value) { m_numberOfMountTargets = value; } /** *

The current number of mount targets that the file system has. For more * information, see CreateMountTarget.

*/ inline UpdateFileSystemResult& WithNumberOfMountTargets(int value) { SetNumberOfMountTargets(value); return *this;} /** *

The latest known metered size (in bytes) of data stored in the file system, * in its Value field, and the time at which that size was determined * in its Timestamp field. The Timestamp value is the * integer number of seconds since 1970-01-01T00:00:00Z. The * SizeInBytes value doesn't represent the size of a consistent * snapshot of the file system, but it is eventually consistent when there are no * writes to the file system. That is, SizeInBytes represents actual * size only if the file system is not modified for a period longer than a couple * of hours. Otherwise, the value is not the exact size that the file system was at * any point in time.

*/ inline const FileSystemSize& GetSizeInBytes() const{ return m_sizeInBytes; } /** *

The latest known metered size (in bytes) of data stored in the file system, * in its Value field, and the time at which that size was determined * in its Timestamp field. The Timestamp value is the * integer number of seconds since 1970-01-01T00:00:00Z. The * SizeInBytes value doesn't represent the size of a consistent * snapshot of the file system, but it is eventually consistent when there are no * writes to the file system. That is, SizeInBytes represents actual * size only if the file system is not modified for a period longer than a couple * of hours. Otherwise, the value is not the exact size that the file system was at * any point in time.

*/ inline void SetSizeInBytes(const FileSystemSize& value) { m_sizeInBytes = value; } /** *

The latest known metered size (in bytes) of data stored in the file system, * in its Value field, and the time at which that size was determined * in its Timestamp field. The Timestamp value is the * integer number of seconds since 1970-01-01T00:00:00Z. The * SizeInBytes value doesn't represent the size of a consistent * snapshot of the file system, but it is eventually consistent when there are no * writes to the file system. That is, SizeInBytes represents actual * size only if the file system is not modified for a period longer than a couple * of hours. Otherwise, the value is not the exact size that the file system was at * any point in time.

*/ inline void SetSizeInBytes(FileSystemSize&& value) { m_sizeInBytes = std::move(value); } /** *

The latest known metered size (in bytes) of data stored in the file system, * in its Value field, and the time at which that size was determined * in its Timestamp field. The Timestamp value is the * integer number of seconds since 1970-01-01T00:00:00Z. The * SizeInBytes value doesn't represent the size of a consistent * snapshot of the file system, but it is eventually consistent when there are no * writes to the file system. That is, SizeInBytes represents actual * size only if the file system is not modified for a period longer than a couple * of hours. Otherwise, the value is not the exact size that the file system was at * any point in time.

*/ inline UpdateFileSystemResult& WithSizeInBytes(const FileSystemSize& value) { SetSizeInBytes(value); return *this;} /** *

The latest known metered size (in bytes) of data stored in the file system, * in its Value field, and the time at which that size was determined * in its Timestamp field. The Timestamp value is the * integer number of seconds since 1970-01-01T00:00:00Z. The * SizeInBytes value doesn't represent the size of a consistent * snapshot of the file system, but it is eventually consistent when there are no * writes to the file system. That is, SizeInBytes represents actual * size only if the file system is not modified for a period longer than a couple * of hours. Otherwise, the value is not the exact size that the file system was at * any point in time.

*/ inline UpdateFileSystemResult& WithSizeInBytes(FileSystemSize&& value) { SetSizeInBytes(std::move(value)); return *this;} /** *

The performance mode of the file system.

*/ inline const PerformanceMode& GetPerformanceMode() const{ return m_performanceMode; } /** *

The performance mode of the file system.

*/ inline void SetPerformanceMode(const PerformanceMode& value) { m_performanceMode = value; } /** *

The performance mode of the file system.

*/ inline void SetPerformanceMode(PerformanceMode&& value) { m_performanceMode = std::move(value); } /** *

The performance mode of the file system.

*/ inline UpdateFileSystemResult& WithPerformanceMode(const PerformanceMode& value) { SetPerformanceMode(value); return *this;} /** *

The performance mode of the file system.

*/ inline UpdateFileSystemResult& WithPerformanceMode(PerformanceMode&& value) { SetPerformanceMode(std::move(value)); return *this;} /** *

A Boolean value that, if true, indicates that the file system is * encrypted.

*/ inline bool GetEncrypted() const{ return m_encrypted; } /** *

A Boolean value that, if true, indicates that the file system is * encrypted.

*/ inline void SetEncrypted(bool value) { m_encrypted = value; } /** *

A Boolean value that, if true, indicates that the file system is * encrypted.

*/ inline UpdateFileSystemResult& WithEncrypted(bool value) { SetEncrypted(value); return *this;} /** *

The ID of an AWS Key Management Service (AWS KMS) customer master key (CMK) * that was used to protect the encrypted file system.

*/ inline const Aws::String& GetKmsKeyId() const{ return m_kmsKeyId; } /** *

The ID of an AWS Key Management Service (AWS KMS) customer master key (CMK) * that was used to protect the encrypted file system.

*/ inline void SetKmsKeyId(const Aws::String& value) { m_kmsKeyId = value; } /** *

The ID of an AWS Key Management Service (AWS KMS) customer master key (CMK) * that was used to protect the encrypted file system.

*/ inline void SetKmsKeyId(Aws::String&& value) { m_kmsKeyId = std::move(value); } /** *

The ID of an AWS Key Management Service (AWS KMS) customer master key (CMK) * that was used to protect the encrypted file system.

*/ inline void SetKmsKeyId(const char* value) { m_kmsKeyId.assign(value); } /** *

The ID of an AWS Key Management Service (AWS KMS) customer master key (CMK) * that was used to protect the encrypted file system.

*/ inline UpdateFileSystemResult& WithKmsKeyId(const Aws::String& value) { SetKmsKeyId(value); return *this;} /** *

The ID of an AWS Key Management Service (AWS KMS) customer master key (CMK) * that was used to protect the encrypted file system.

*/ inline UpdateFileSystemResult& WithKmsKeyId(Aws::String&& value) { SetKmsKeyId(std::move(value)); return *this;} /** *

The ID of an AWS Key Management Service (AWS KMS) customer master key (CMK) * that was used to protect the encrypted file system.

*/ inline UpdateFileSystemResult& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;} /** *

The throughput mode for a file system. There are two throughput modes to * choose from for your file system: bursting and * provisioned. If you set ThroughputMode to * provisioned, you must also set a value for * ProvisionedThroughPutInMibps. You can decrease your file system's * throughput in Provisioned Throughput mode or change between the throughput modes * as long as it’s been more than 24 hours since the last decrease or throughput * mode change.

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

The throughput mode for a file system. There are two throughput modes to * choose from for your file system: bursting and * provisioned. If you set ThroughputMode to * provisioned, you must also set a value for * ProvisionedThroughPutInMibps. You can decrease your file system's * throughput in Provisioned Throughput mode or change between the throughput modes * as long as it’s been more than 24 hours since the last decrease or throughput * mode change.

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

The throughput mode for a file system. There are two throughput modes to * choose from for your file system: bursting and * provisioned. If you set ThroughputMode to * provisioned, you must also set a value for * ProvisionedThroughPutInMibps. You can decrease your file system's * throughput in Provisioned Throughput mode or change between the throughput modes * as long as it’s been more than 24 hours since the last decrease or throughput * mode change.

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

The throughput mode for a file system. There are two throughput modes to * choose from for your file system: bursting and * provisioned. If you set ThroughputMode to * provisioned, you must also set a value for * ProvisionedThroughPutInMibps. You can decrease your file system's * throughput in Provisioned Throughput mode or change between the throughput modes * as long as it’s been more than 24 hours since the last decrease or throughput * mode change.

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

The throughput mode for a file system. There are two throughput modes to * choose from for your file system: bursting and * provisioned. If you set ThroughputMode to * provisioned, you must also set a value for * ProvisionedThroughPutInMibps. You can decrease your file system's * throughput in Provisioned Throughput mode or change between the throughput modes * as long as it’s been more than 24 hours since the last decrease or throughput * mode change.

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

The throughput, measured in MiB/s, that you want to provision for a file * system. Valid values are 1-1024. Required if ThroughputMode is set * to provisioned. The limit on throughput is 1024 MiB/s. You can get * these limits increased by contacting AWS Support. For more information, see Amazon * EFS Limits That You Can Increase in the Amazon EFS User Guide.

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

The throughput, measured in MiB/s, that you want to provision for a file * system. Valid values are 1-1024. Required if ThroughputMode is set * to provisioned. The limit on throughput is 1024 MiB/s. You can get * these limits increased by contacting AWS Support. For more information, see Amazon * EFS Limits That You Can Increase in the Amazon EFS User Guide.

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

The throughput, measured in MiB/s, that you want to provision for a file * system. Valid values are 1-1024. Required if ThroughputMode is set * to provisioned. The limit on throughput is 1024 MiB/s. You can get * these limits increased by contacting AWS Support. For more information, see Amazon * EFS Limits That You Can Increase in the Amazon EFS User Guide.

*/ inline UpdateFileSystemResult& WithProvisionedThroughputInMibps(double value) { SetProvisionedThroughputInMibps(value); return *this;} /** *

The tags associated with the file system, presented as an array of * Tag objects.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

The tags associated with the file system, presented as an array of * Tag objects.

*/ inline void SetTags(const Aws::Vector& value) { m_tags = value; } /** *

The tags associated with the file system, presented as an array of * Tag objects.

*/ inline void SetTags(Aws::Vector&& value) { m_tags = std::move(value); } /** *

The tags associated with the file system, presented as an array of * Tag objects.

*/ inline UpdateFileSystemResult& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

The tags associated with the file system, presented as an array of * Tag objects.

*/ inline UpdateFileSystemResult& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

The tags associated with the file system, presented as an array of * Tag objects.

*/ inline UpdateFileSystemResult& AddTags(const Tag& value) { m_tags.push_back(value); return *this; } /** *

The tags associated with the file system, presented as an array of * Tag objects.

*/ inline UpdateFileSystemResult& AddTags(Tag&& value) { m_tags.push_back(std::move(value)); return *this; } private: Aws::String m_ownerId; Aws::String m_creationToken; Aws::String m_fileSystemId; Aws::String m_fileSystemArn; Aws::Utils::DateTime m_creationTime; LifeCycleState m_lifeCycleState; Aws::String m_name; int m_numberOfMountTargets; FileSystemSize m_sizeInBytes; PerformanceMode m_performanceMode; bool m_encrypted; Aws::String m_kmsKeyId; ThroughputMode m_throughputMode; double m_provisionedThroughputInMibps; Aws::Vector m_tags; }; } // namespace Model } // namespace EFS } // namespace Aws