/** * 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 #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace FSx { namespace Model { class AdministrativeAction; /** *

A description of a specific Amazon FSx file system.

See Also:

* AWS * API Reference

*/ class FileSystem { public: AWS_FSX_API FileSystem(); AWS_FSX_API FileSystem(Aws::Utils::Json::JsonView jsonValue); AWS_FSX_API FileSystem& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_FSX_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The Amazon Web Services account that created the file system. If the file * system was created by a user in IAM Identity Center, the Amazon Web Services * account to which the IAM user belongs is the owner.

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

The Amazon Web Services account that created the file system. If the file * system was created by a user in IAM Identity Center, the Amazon Web Services * account to which the IAM user belongs is the owner.

*/ inline bool OwnerIdHasBeenSet() const { return m_ownerIdHasBeenSet; } /** *

The Amazon Web Services account that created the file system. If the file * system was created by a user in IAM Identity Center, the Amazon Web Services * account to which the IAM user belongs is the owner.

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

The Amazon Web Services account that created the file system. If the file * system was created by a user in IAM Identity Center, the Amazon Web Services * account to which the IAM user belongs is the owner.

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

The Amazon Web Services account that created the file system. If the file * system was created by a user in IAM Identity Center, the Amazon Web Services * account to which the IAM user belongs is the owner.

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

The Amazon Web Services account that created the file system. If the file * system was created by a user in IAM Identity Center, the Amazon Web Services * account to which the IAM user belongs is the owner.

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

The Amazon Web Services account that created the file system. If the file * system was created by a user in IAM Identity Center, the Amazon Web Services * account to which the IAM user belongs is the owner.

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

The Amazon Web Services account that created the file system. If the file * system was created by a user in IAM Identity Center, the Amazon Web Services * account to which the IAM user belongs is the owner.

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

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

*/ 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), also known as Unix time.

*/ inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; } /** *

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

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

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

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

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

*/ inline FileSystem& 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), also known as Unix time.

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

The system-generated, unique 17-digit ID of the file system.

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

The system-generated, unique 17-digit ID of the file system.

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

The system-generated, unique 17-digit ID of the file system.

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

The system-generated, unique 17-digit ID of the file system.

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

The system-generated, unique 17-digit ID of the file system.

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

The system-generated, unique 17-digit ID of the file system.

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

The system-generated, unique 17-digit ID of the file system.

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

The system-generated, unique 17-digit ID of the file system.

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

The type of Amazon FSx file system, which can be LUSTRE, * WINDOWS, ONTAP, or OPENZFS.

*/ inline const FileSystemType& GetFileSystemType() const{ return m_fileSystemType; } /** *

The type of Amazon FSx file system, which can be LUSTRE, * WINDOWS, ONTAP, or OPENZFS.

*/ inline bool FileSystemTypeHasBeenSet() const { return m_fileSystemTypeHasBeenSet; } /** *

The type of Amazon FSx file system, which can be LUSTRE, * WINDOWS, ONTAP, or OPENZFS.

*/ inline void SetFileSystemType(const FileSystemType& value) { m_fileSystemTypeHasBeenSet = true; m_fileSystemType = value; } /** *

The type of Amazon FSx file system, which can be LUSTRE, * WINDOWS, ONTAP, or OPENZFS.

*/ inline void SetFileSystemType(FileSystemType&& value) { m_fileSystemTypeHasBeenSet = true; m_fileSystemType = std::move(value); } /** *

The type of Amazon FSx file system, which can be LUSTRE, * WINDOWS, ONTAP, or OPENZFS.

*/ inline FileSystem& WithFileSystemType(const FileSystemType& value) { SetFileSystemType(value); return *this;} /** *

The type of Amazon FSx file system, which can be LUSTRE, * WINDOWS, ONTAP, or OPENZFS.

*/ inline FileSystem& WithFileSystemType(FileSystemType&& value) { SetFileSystemType(std::move(value)); return *this;} /** *

The lifecycle status of the file system. The following are the possible * values and what they mean:

  • AVAILABLE - The file * system is in a healthy state, and is reachable and available for use.

  • *
  • CREATING - Amazon FSx is creating the new file system.

    *
  • DELETING - Amazon FSx is deleting an existing file * system.

  • FAILED - An existing file system has * experienced an unrecoverable failure. When creating a new file system, Amazon * FSx was unable to create the file system.

  • * MISCONFIGURED - The file system is in a failed but recoverable * state.

  • MISCONFIGURED_UNAVAILABLE - (Amazon FSx * for Windows File Server only) The file system is currently unavailable due to a * change in your Active Directory configuration.

  • * UPDATING - The file system is undergoing a customer-initiated * update.

*/ inline const FileSystemLifecycle& GetLifecycle() const{ return m_lifecycle; } /** *

The lifecycle status of the file system. The following are the possible * values and what they mean:

  • AVAILABLE - The file * system is in a healthy state, and is reachable and available for use.

  • *
  • CREATING - Amazon FSx is creating the new file system.

    *
  • DELETING - Amazon FSx is deleting an existing file * system.

  • FAILED - An existing file system has * experienced an unrecoverable failure. When creating a new file system, Amazon * FSx was unable to create the file system.

  • * MISCONFIGURED - The file system is in a failed but recoverable * state.

  • MISCONFIGURED_UNAVAILABLE - (Amazon FSx * for Windows File Server only) The file system is currently unavailable due to a * change in your Active Directory configuration.

  • * UPDATING - The file system is undergoing a customer-initiated * update.

*/ inline bool LifecycleHasBeenSet() const { return m_lifecycleHasBeenSet; } /** *

The lifecycle status of the file system. The following are the possible * values and what they mean:

  • AVAILABLE - The file * system is in a healthy state, and is reachable and available for use.

  • *
  • CREATING - Amazon FSx is creating the new file system.

    *
  • DELETING - Amazon FSx is deleting an existing file * system.

  • FAILED - An existing file system has * experienced an unrecoverable failure. When creating a new file system, Amazon * FSx was unable to create the file system.

  • * MISCONFIGURED - The file system is in a failed but recoverable * state.

  • MISCONFIGURED_UNAVAILABLE - (Amazon FSx * for Windows File Server only) The file system is currently unavailable due to a * change in your Active Directory configuration.

  • * UPDATING - The file system is undergoing a customer-initiated * update.

*/ inline void SetLifecycle(const FileSystemLifecycle& value) { m_lifecycleHasBeenSet = true; m_lifecycle = value; } /** *

The lifecycle status of the file system. The following are the possible * values and what they mean:

  • AVAILABLE - The file * system is in a healthy state, and is reachable and available for use.

  • *
  • CREATING - Amazon FSx is creating the new file system.

    *
  • DELETING - Amazon FSx is deleting an existing file * system.

  • FAILED - An existing file system has * experienced an unrecoverable failure. When creating a new file system, Amazon * FSx was unable to create the file system.

  • * MISCONFIGURED - The file system is in a failed but recoverable * state.

  • MISCONFIGURED_UNAVAILABLE - (Amazon FSx * for Windows File Server only) The file system is currently unavailable due to a * change in your Active Directory configuration.

  • * UPDATING - The file system is undergoing a customer-initiated * update.

*/ inline void SetLifecycle(FileSystemLifecycle&& value) { m_lifecycleHasBeenSet = true; m_lifecycle = std::move(value); } /** *

The lifecycle status of the file system. The following are the possible * values and what they mean:

  • AVAILABLE - The file * system is in a healthy state, and is reachable and available for use.

  • *
  • CREATING - Amazon FSx is creating the new file system.

    *
  • DELETING - Amazon FSx is deleting an existing file * system.

  • FAILED - An existing file system has * experienced an unrecoverable failure. When creating a new file system, Amazon * FSx was unable to create the file system.

  • * MISCONFIGURED - The file system is in a failed but recoverable * state.

  • MISCONFIGURED_UNAVAILABLE - (Amazon FSx * for Windows File Server only) The file system is currently unavailable due to a * change in your Active Directory configuration.

  • * UPDATING - The file system is undergoing a customer-initiated * update.

*/ inline FileSystem& WithLifecycle(const FileSystemLifecycle& value) { SetLifecycle(value); return *this;} /** *

The lifecycle status of the file system. The following are the possible * values and what they mean:

  • AVAILABLE - The file * system is in a healthy state, and is reachable and available for use.

  • *
  • CREATING - Amazon FSx is creating the new file system.

    *
  • DELETING - Amazon FSx is deleting an existing file * system.

  • FAILED - An existing file system has * experienced an unrecoverable failure. When creating a new file system, Amazon * FSx was unable to create the file system.

  • * MISCONFIGURED - The file system is in a failed but recoverable * state.

  • MISCONFIGURED_UNAVAILABLE - (Amazon FSx * for Windows File Server only) The file system is currently unavailable due to a * change in your Active Directory configuration.

  • * UPDATING - The file system is undergoing a customer-initiated * update.

*/ inline FileSystem& WithLifecycle(FileSystemLifecycle&& value) { SetLifecycle(std::move(value)); return *this;} inline const FileSystemFailureDetails& GetFailureDetails() const{ return m_failureDetails; } inline bool FailureDetailsHasBeenSet() const { return m_failureDetailsHasBeenSet; } inline void SetFailureDetails(const FileSystemFailureDetails& value) { m_failureDetailsHasBeenSet = true; m_failureDetails = value; } inline void SetFailureDetails(FileSystemFailureDetails&& value) { m_failureDetailsHasBeenSet = true; m_failureDetails = std::move(value); } inline FileSystem& WithFailureDetails(const FileSystemFailureDetails& value) { SetFailureDetails(value); return *this;} inline FileSystem& WithFailureDetails(FileSystemFailureDetails&& value) { SetFailureDetails(std::move(value)); return *this;} /** *

The storage capacity of the file system in gibibytes (GiB).

*/ inline int GetStorageCapacity() const{ return m_storageCapacity; } /** *

The storage capacity of the file system in gibibytes (GiB).

*/ inline bool StorageCapacityHasBeenSet() const { return m_storageCapacityHasBeenSet; } /** *

The storage capacity of the file system in gibibytes (GiB).

*/ inline void SetStorageCapacity(int value) { m_storageCapacityHasBeenSet = true; m_storageCapacity = value; } /** *

The storage capacity of the file system in gibibytes (GiB).

*/ inline FileSystem& WithStorageCapacity(int value) { SetStorageCapacity(value); return *this;} /** *

The type of storage the file system is using. If set to SSD, the * file system uses solid state drive storage. If set to HDD, the file * system uses hard disk drive storage.

*/ inline const StorageType& GetStorageType() const{ return m_storageType; } /** *

The type of storage the file system is using. If set to SSD, the * file system uses solid state drive storage. If set to HDD, the file * system uses hard disk drive storage.

*/ inline bool StorageTypeHasBeenSet() const { return m_storageTypeHasBeenSet; } /** *

The type of storage the file system is using. If set to SSD, the * file system uses solid state drive storage. If set to HDD, the file * system uses hard disk drive storage.

*/ inline void SetStorageType(const StorageType& value) { m_storageTypeHasBeenSet = true; m_storageType = value; } /** *

The type of storage the file system is using. If set to SSD, the * file system uses solid state drive storage. If set to HDD, the file * system uses hard disk drive storage.

*/ inline void SetStorageType(StorageType&& value) { m_storageTypeHasBeenSet = true; m_storageType = std::move(value); } /** *

The type of storage the file system is using. If set to SSD, the * file system uses solid state drive storage. If set to HDD, the file * system uses hard disk drive storage.

*/ inline FileSystem& WithStorageType(const StorageType& value) { SetStorageType(value); return *this;} /** *

The type of storage the file system is using. If set to SSD, the * file system uses solid state drive storage. If set to HDD, the file * system uses hard disk drive storage.

*/ inline FileSystem& WithStorageType(StorageType&& value) { SetStorageType(std::move(value)); return *this;} /** *

The ID of the primary virtual private cloud (VPC) for the file system.

*/ inline const Aws::String& GetVpcId() const{ return m_vpcId; } /** *

The ID of the primary virtual private cloud (VPC) for the file system.

*/ inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; } /** *

The ID of the primary virtual private cloud (VPC) for the file system.

*/ inline void SetVpcId(const Aws::String& value) { m_vpcIdHasBeenSet = true; m_vpcId = value; } /** *

The ID of the primary virtual private cloud (VPC) for the file system.

*/ inline void SetVpcId(Aws::String&& value) { m_vpcIdHasBeenSet = true; m_vpcId = std::move(value); } /** *

The ID of the primary virtual private cloud (VPC) for the file system.

*/ inline void SetVpcId(const char* value) { m_vpcIdHasBeenSet = true; m_vpcId.assign(value); } /** *

The ID of the primary virtual private cloud (VPC) for the file system.

*/ inline FileSystem& WithVpcId(const Aws::String& value) { SetVpcId(value); return *this;} /** *

The ID of the primary virtual private cloud (VPC) for the file system.

*/ inline FileSystem& WithVpcId(Aws::String&& value) { SetVpcId(std::move(value)); return *this;} /** *

The ID of the primary virtual private cloud (VPC) for the file system.

*/ inline FileSystem& WithVpcId(const char* value) { SetVpcId(value); return *this;} /** *

Specifies the IDs of the subnets that the file system is accessible from. For * the Amazon FSx Windows and ONTAP MULTI_AZ_1 file system deployment * type, there are two subnet IDs, one for the preferred file server and one for * the standby file server. The preferred file server subnet identified in the * PreferredSubnetID property. All other file systems have only one * subnet ID.

For FSx for Lustre file systems, and Single-AZ Windows file * systems, this is the ID of the subnet that contains the file system's endpoint. * For MULTI_AZ_1 Windows and ONTAP file systems, the file system * endpoint is available in the PreferredSubnetID.

*/ inline const Aws::Vector& GetSubnetIds() const{ return m_subnetIds; } /** *

Specifies the IDs of the subnets that the file system is accessible from. For * the Amazon FSx Windows and ONTAP MULTI_AZ_1 file system deployment * type, there are two subnet IDs, one for the preferred file server and one for * the standby file server. The preferred file server subnet identified in the * PreferredSubnetID property. All other file systems have only one * subnet ID.

For FSx for Lustre file systems, and Single-AZ Windows file * systems, this is the ID of the subnet that contains the file system's endpoint. * For MULTI_AZ_1 Windows and ONTAP file systems, the file system * endpoint is available in the PreferredSubnetID.

*/ inline bool SubnetIdsHasBeenSet() const { return m_subnetIdsHasBeenSet; } /** *

Specifies the IDs of the subnets that the file system is accessible from. For * the Amazon FSx Windows and ONTAP MULTI_AZ_1 file system deployment * type, there are two subnet IDs, one for the preferred file server and one for * the standby file server. The preferred file server subnet identified in the * PreferredSubnetID property. All other file systems have only one * subnet ID.

For FSx for Lustre file systems, and Single-AZ Windows file * systems, this is the ID of the subnet that contains the file system's endpoint. * For MULTI_AZ_1 Windows and ONTAP file systems, the file system * endpoint is available in the PreferredSubnetID.

*/ inline void SetSubnetIds(const Aws::Vector& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = value; } /** *

Specifies the IDs of the subnets that the file system is accessible from. For * the Amazon FSx Windows and ONTAP MULTI_AZ_1 file system deployment * type, there are two subnet IDs, one for the preferred file server and one for * the standby file server. The preferred file server subnet identified in the * PreferredSubnetID property. All other file systems have only one * subnet ID.

For FSx for Lustre file systems, and Single-AZ Windows file * systems, this is the ID of the subnet that contains the file system's endpoint. * For MULTI_AZ_1 Windows and ONTAP file systems, the file system * endpoint is available in the PreferredSubnetID.

*/ inline void SetSubnetIds(Aws::Vector&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = std::move(value); } /** *

Specifies the IDs of the subnets that the file system is accessible from. For * the Amazon FSx Windows and ONTAP MULTI_AZ_1 file system deployment * type, there are two subnet IDs, one for the preferred file server and one for * the standby file server. The preferred file server subnet identified in the * PreferredSubnetID property. All other file systems have only one * subnet ID.

For FSx for Lustre file systems, and Single-AZ Windows file * systems, this is the ID of the subnet that contains the file system's endpoint. * For MULTI_AZ_1 Windows and ONTAP file systems, the file system * endpoint is available in the PreferredSubnetID.

*/ inline FileSystem& WithSubnetIds(const Aws::Vector& value) { SetSubnetIds(value); return *this;} /** *

Specifies the IDs of the subnets that the file system is accessible from. For * the Amazon FSx Windows and ONTAP MULTI_AZ_1 file system deployment * type, there are two subnet IDs, one for the preferred file server and one for * the standby file server. The preferred file server subnet identified in the * PreferredSubnetID property. All other file systems have only one * subnet ID.

For FSx for Lustre file systems, and Single-AZ Windows file * systems, this is the ID of the subnet that contains the file system's endpoint. * For MULTI_AZ_1 Windows and ONTAP file systems, the file system * endpoint is available in the PreferredSubnetID.

*/ inline FileSystem& WithSubnetIds(Aws::Vector&& value) { SetSubnetIds(std::move(value)); return *this;} /** *

Specifies the IDs of the subnets that the file system is accessible from. For * the Amazon FSx Windows and ONTAP MULTI_AZ_1 file system deployment * type, there are two subnet IDs, one for the preferred file server and one for * the standby file server. The preferred file server subnet identified in the * PreferredSubnetID property. All other file systems have only one * subnet ID.

For FSx for Lustre file systems, and Single-AZ Windows file * systems, this is the ID of the subnet that contains the file system's endpoint. * For MULTI_AZ_1 Windows and ONTAP file systems, the file system * endpoint is available in the PreferredSubnetID.

*/ inline FileSystem& AddSubnetIds(const Aws::String& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; } /** *

Specifies the IDs of the subnets that the file system is accessible from. For * the Amazon FSx Windows and ONTAP MULTI_AZ_1 file system deployment * type, there are two subnet IDs, one for the preferred file server and one for * the standby file server. The preferred file server subnet identified in the * PreferredSubnetID property. All other file systems have only one * subnet ID.

For FSx for Lustre file systems, and Single-AZ Windows file * systems, this is the ID of the subnet that contains the file system's endpoint. * For MULTI_AZ_1 Windows and ONTAP file systems, the file system * endpoint is available in the PreferredSubnetID.

*/ inline FileSystem& AddSubnetIds(Aws::String&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(std::move(value)); return *this; } /** *

Specifies the IDs of the subnets that the file system is accessible from. For * the Amazon FSx Windows and ONTAP MULTI_AZ_1 file system deployment * type, there are two subnet IDs, one for the preferred file server and one for * the standby file server. The preferred file server subnet identified in the * PreferredSubnetID property. All other file systems have only one * subnet ID.

For FSx for Lustre file systems, and Single-AZ Windows file * systems, this is the ID of the subnet that contains the file system's endpoint. * For MULTI_AZ_1 Windows and ONTAP file systems, the file system * endpoint is available in the PreferredSubnetID.

*/ inline FileSystem& AddSubnetIds(const char* value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; } /** *

The IDs of the elastic network interfaces from which a specific file system * is accessible. The elastic network interface is automatically created in the * same virtual private cloud (VPC) that the Amazon FSx file system was created in. * For more information, see Elastic * Network Interfaces in the Amazon EC2 User Guide.

For an * Amazon FSx for Windows File Server file system, you can have one network * interface ID. For an Amazon FSx for Lustre file system, you can have more than * one.

*/ inline const Aws::Vector& GetNetworkInterfaceIds() const{ return m_networkInterfaceIds; } /** *

The IDs of the elastic network interfaces from which a specific file system * is accessible. The elastic network interface is automatically created in the * same virtual private cloud (VPC) that the Amazon FSx file system was created in. * For more information, see Elastic * Network Interfaces in the Amazon EC2 User Guide.

For an * Amazon FSx for Windows File Server file system, you can have one network * interface ID. For an Amazon FSx for Lustre file system, you can have more than * one.

*/ inline bool NetworkInterfaceIdsHasBeenSet() const { return m_networkInterfaceIdsHasBeenSet; } /** *

The IDs of the elastic network interfaces from which a specific file system * is accessible. The elastic network interface is automatically created in the * same virtual private cloud (VPC) that the Amazon FSx file system was created in. * For more information, see Elastic * Network Interfaces in the Amazon EC2 User Guide.

For an * Amazon FSx for Windows File Server file system, you can have one network * interface ID. For an Amazon FSx for Lustre file system, you can have more than * one.

*/ inline void SetNetworkInterfaceIds(const Aws::Vector& value) { m_networkInterfaceIdsHasBeenSet = true; m_networkInterfaceIds = value; } /** *

The IDs of the elastic network interfaces from which a specific file system * is accessible. The elastic network interface is automatically created in the * same virtual private cloud (VPC) that the Amazon FSx file system was created in. * For more information, see Elastic * Network Interfaces in the Amazon EC2 User Guide.

For an * Amazon FSx for Windows File Server file system, you can have one network * interface ID. For an Amazon FSx for Lustre file system, you can have more than * one.

*/ inline void SetNetworkInterfaceIds(Aws::Vector&& value) { m_networkInterfaceIdsHasBeenSet = true; m_networkInterfaceIds = std::move(value); } /** *

The IDs of the elastic network interfaces from which a specific file system * is accessible. The elastic network interface is automatically created in the * same virtual private cloud (VPC) that the Amazon FSx file system was created in. * For more information, see Elastic * Network Interfaces in the Amazon EC2 User Guide.

For an * Amazon FSx for Windows File Server file system, you can have one network * interface ID. For an Amazon FSx for Lustre file system, you can have more than * one.

*/ inline FileSystem& WithNetworkInterfaceIds(const Aws::Vector& value) { SetNetworkInterfaceIds(value); return *this;} /** *

The IDs of the elastic network interfaces from which a specific file system * is accessible. The elastic network interface is automatically created in the * same virtual private cloud (VPC) that the Amazon FSx file system was created in. * For more information, see Elastic * Network Interfaces in the Amazon EC2 User Guide.

For an * Amazon FSx for Windows File Server file system, you can have one network * interface ID. For an Amazon FSx for Lustre file system, you can have more than * one.

*/ inline FileSystem& WithNetworkInterfaceIds(Aws::Vector&& value) { SetNetworkInterfaceIds(std::move(value)); return *this;} /** *

The IDs of the elastic network interfaces from which a specific file system * is accessible. The elastic network interface is automatically created in the * same virtual private cloud (VPC) that the Amazon FSx file system was created in. * For more information, see Elastic * Network Interfaces in the Amazon EC2 User Guide.

For an * Amazon FSx for Windows File Server file system, you can have one network * interface ID. For an Amazon FSx for Lustre file system, you can have more than * one.

*/ inline FileSystem& AddNetworkInterfaceIds(const Aws::String& value) { m_networkInterfaceIdsHasBeenSet = true; m_networkInterfaceIds.push_back(value); return *this; } /** *

The IDs of the elastic network interfaces from which a specific file system * is accessible. The elastic network interface is automatically created in the * same virtual private cloud (VPC) that the Amazon FSx file system was created in. * For more information, see Elastic * Network Interfaces in the Amazon EC2 User Guide.

For an * Amazon FSx for Windows File Server file system, you can have one network * interface ID. For an Amazon FSx for Lustre file system, you can have more than * one.

*/ inline FileSystem& AddNetworkInterfaceIds(Aws::String&& value) { m_networkInterfaceIdsHasBeenSet = true; m_networkInterfaceIds.push_back(std::move(value)); return *this; } /** *

The IDs of the elastic network interfaces from which a specific file system * is accessible. The elastic network interface is automatically created in the * same virtual private cloud (VPC) that the Amazon FSx file system was created in. * For more information, see Elastic * Network Interfaces in the Amazon EC2 User Guide.

For an * Amazon FSx for Windows File Server file system, you can have one network * interface ID. For an Amazon FSx for Lustre file system, you can have more than * one.

*/ inline FileSystem& AddNetworkInterfaceIds(const char* value) { m_networkInterfaceIdsHasBeenSet = true; m_networkInterfaceIds.push_back(value); return *this; } /** *

The Domain Name System (DNS) name for the file system.

*/ inline const Aws::String& GetDNSName() const{ return m_dNSName; } /** *

The Domain Name System (DNS) name for the file system.

*/ inline bool DNSNameHasBeenSet() const { return m_dNSNameHasBeenSet; } /** *

The Domain Name System (DNS) name for the file system.

*/ inline void SetDNSName(const Aws::String& value) { m_dNSNameHasBeenSet = true; m_dNSName = value; } /** *

The Domain Name System (DNS) name for the file system.

*/ inline void SetDNSName(Aws::String&& value) { m_dNSNameHasBeenSet = true; m_dNSName = std::move(value); } /** *

The Domain Name System (DNS) name for the file system.

*/ inline void SetDNSName(const char* value) { m_dNSNameHasBeenSet = true; m_dNSName.assign(value); } /** *

The Domain Name System (DNS) name for the file system.

*/ inline FileSystem& WithDNSName(const Aws::String& value) { SetDNSName(value); return *this;} /** *

The Domain Name System (DNS) name for the file system.

*/ inline FileSystem& WithDNSName(Aws::String&& value) { SetDNSName(std::move(value)); return *this;} /** *

The Domain Name System (DNS) name for the file system.

*/ inline FileSystem& WithDNSName(const char* value) { SetDNSName(value); return *this;} /** *

The ID of the Key Management Service (KMS) key used to encrypt Amazon FSx * file system data. Used as follows with Amazon FSx file system types:

    *
  • Amazon FSx for Lustre PERSISTENT_1 and * PERSISTENT_2 deployment types only.

    SCRATCH_1 * and SCRATCH_2 types are encrypted using the Amazon FSx service KMS * key for your account.

  • Amazon FSx for NetApp ONTAP

  • *
  • Amazon FSx for OpenZFS

  • Amazon FSx for Windows File * Server

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

The ID of the Key Management Service (KMS) key used to encrypt Amazon FSx * file system data. Used as follows with Amazon FSx file system types:

    *
  • Amazon FSx for Lustre PERSISTENT_1 and * PERSISTENT_2 deployment types only.

    SCRATCH_1 * and SCRATCH_2 types are encrypted using the Amazon FSx service KMS * key for your account.

  • Amazon FSx for NetApp ONTAP

  • *
  • Amazon FSx for OpenZFS

  • Amazon FSx for Windows File * Server

*/ inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; } /** *

The ID of the Key Management Service (KMS) key used to encrypt Amazon FSx * file system data. Used as follows with Amazon FSx file system types:

    *
  • Amazon FSx for Lustre PERSISTENT_1 and * PERSISTENT_2 deployment types only.

    SCRATCH_1 * and SCRATCH_2 types are encrypted using the Amazon FSx service KMS * key for your account.

  • Amazon FSx for NetApp ONTAP

  • *
  • Amazon FSx for OpenZFS

  • Amazon FSx for Windows File * Server

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

The ID of the Key Management Service (KMS) key used to encrypt Amazon FSx * file system data. Used as follows with Amazon FSx file system types:

    *
  • Amazon FSx for Lustre PERSISTENT_1 and * PERSISTENT_2 deployment types only.

    SCRATCH_1 * and SCRATCH_2 types are encrypted using the Amazon FSx service KMS * key for your account.

  • Amazon FSx for NetApp ONTAP

  • *
  • Amazon FSx for OpenZFS

  • Amazon FSx for Windows File * Server

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

The ID of the Key Management Service (KMS) key used to encrypt Amazon FSx * file system data. Used as follows with Amazon FSx file system types:

    *
  • Amazon FSx for Lustre PERSISTENT_1 and * PERSISTENT_2 deployment types only.

    SCRATCH_1 * and SCRATCH_2 types are encrypted using the Amazon FSx service KMS * key for your account.

  • Amazon FSx for NetApp ONTAP

  • *
  • Amazon FSx for OpenZFS

  • Amazon FSx for Windows File * Server

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

The ID of the Key Management Service (KMS) key used to encrypt Amazon FSx * file system data. Used as follows with Amazon FSx file system types:

    *
  • Amazon FSx for Lustre PERSISTENT_1 and * PERSISTENT_2 deployment types only.

    SCRATCH_1 * and SCRATCH_2 types are encrypted using the Amazon FSx service KMS * key for your account.

  • Amazon FSx for NetApp ONTAP

  • *
  • Amazon FSx for OpenZFS

  • Amazon FSx for Windows File * Server

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

The ID of the Key Management Service (KMS) key used to encrypt Amazon FSx * file system data. Used as follows with Amazon FSx file system types:

    *
  • Amazon FSx for Lustre PERSISTENT_1 and * PERSISTENT_2 deployment types only.

    SCRATCH_1 * and SCRATCH_2 types are encrypted using the Amazon FSx service KMS * key for your account.

  • Amazon FSx for NetApp ONTAP

  • *
  • Amazon FSx for OpenZFS

  • Amazon FSx for Windows File * Server

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

The ID of the Key Management Service (KMS) key used to encrypt Amazon FSx * file system data. Used as follows with Amazon FSx file system types:

    *
  • Amazon FSx for Lustre PERSISTENT_1 and * PERSISTENT_2 deployment types only.

    SCRATCH_1 * and SCRATCH_2 types are encrypted using the Amazon FSx service KMS * key for your account.

  • Amazon FSx for NetApp ONTAP

  • *
  • Amazon FSx for OpenZFS

  • Amazon FSx for Windows File * Server

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

The Amazon Resource Name (ARN) of the file system resource.

*/ inline const Aws::String& GetResourceARN() const{ return m_resourceARN; } /** *

The Amazon Resource Name (ARN) of the file system resource.

*/ inline bool ResourceARNHasBeenSet() const { return m_resourceARNHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the file system resource.

*/ inline void SetResourceARN(const Aws::String& value) { m_resourceARNHasBeenSet = true; m_resourceARN = value; } /** *

The Amazon Resource Name (ARN) of the file system resource.

*/ inline void SetResourceARN(Aws::String&& value) { m_resourceARNHasBeenSet = true; m_resourceARN = std::move(value); } /** *

The Amazon Resource Name (ARN) of the file system resource.

*/ inline void SetResourceARN(const char* value) { m_resourceARNHasBeenSet = true; m_resourceARN.assign(value); } /** *

The Amazon Resource Name (ARN) of the file system resource.

*/ inline FileSystem& WithResourceARN(const Aws::String& value) { SetResourceARN(value); return *this;} /** *

The Amazon Resource Name (ARN) of the file system resource.

*/ inline FileSystem& WithResourceARN(Aws::String&& value) { SetResourceARN(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the file system resource.

*/ inline FileSystem& WithResourceARN(const char* value) { SetResourceARN(value); return *this;} /** *

The tags to associate with the file system. For more information, see Tagging * your Amazon EC2 resources in the Amazon EC2 User Guide.

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

The tags to associate with the file system. For more information, see Tagging * your Amazon EC2 resources in the Amazon EC2 User Guide.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

The tags to associate with the file system. For more information, see Tagging * your Amazon EC2 resources in the Amazon EC2 User Guide.

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

The tags to associate with the file system. For more information, see Tagging * your Amazon EC2 resources in the Amazon EC2 User Guide.

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

The tags to associate with the file system. For more information, see Tagging * your Amazon EC2 resources in the Amazon EC2 User Guide.

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

The tags to associate with the file system. For more information, see Tagging * your Amazon EC2 resources in the Amazon EC2 User Guide.

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

The tags to associate with the file system. For more information, see Tagging * your Amazon EC2 resources in the Amazon EC2 User Guide.

*/ inline FileSystem& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

The tags to associate with the file system. For more information, see Tagging * your Amazon EC2 resources in the Amazon EC2 User Guide.

*/ inline FileSystem& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** *

The configuration for this Amazon FSx for Windows File Server file * system.

*/ inline const WindowsFileSystemConfiguration& GetWindowsConfiguration() const{ return m_windowsConfiguration; } /** *

The configuration for this Amazon FSx for Windows File Server file * system.

*/ inline bool WindowsConfigurationHasBeenSet() const { return m_windowsConfigurationHasBeenSet; } /** *

The configuration for this Amazon FSx for Windows File Server file * system.

*/ inline void SetWindowsConfiguration(const WindowsFileSystemConfiguration& value) { m_windowsConfigurationHasBeenSet = true; m_windowsConfiguration = value; } /** *

The configuration for this Amazon FSx for Windows File Server file * system.

*/ inline void SetWindowsConfiguration(WindowsFileSystemConfiguration&& value) { m_windowsConfigurationHasBeenSet = true; m_windowsConfiguration = std::move(value); } /** *

The configuration for this Amazon FSx for Windows File Server file * system.

*/ inline FileSystem& WithWindowsConfiguration(const WindowsFileSystemConfiguration& value) { SetWindowsConfiguration(value); return *this;} /** *

The configuration for this Amazon FSx for Windows File Server file * system.

*/ inline FileSystem& WithWindowsConfiguration(WindowsFileSystemConfiguration&& value) { SetWindowsConfiguration(std::move(value)); return *this;} inline const LustreFileSystemConfiguration& GetLustreConfiguration() const{ return m_lustreConfiguration; } inline bool LustreConfigurationHasBeenSet() const { return m_lustreConfigurationHasBeenSet; } inline void SetLustreConfiguration(const LustreFileSystemConfiguration& value) { m_lustreConfigurationHasBeenSet = true; m_lustreConfiguration = value; } inline void SetLustreConfiguration(LustreFileSystemConfiguration&& value) { m_lustreConfigurationHasBeenSet = true; m_lustreConfiguration = std::move(value); } inline FileSystem& WithLustreConfiguration(const LustreFileSystemConfiguration& value) { SetLustreConfiguration(value); return *this;} inline FileSystem& WithLustreConfiguration(LustreFileSystemConfiguration&& value) { SetLustreConfiguration(std::move(value)); return *this;} /** *

A list of administrative actions for the file system that are in process or * waiting to be processed. Administrative actions describe changes to the Amazon * FSx system that you have initiated using the UpdateFileSystem * operation.

*/ inline const Aws::Vector& GetAdministrativeActions() const{ return m_administrativeActions; } /** *

A list of administrative actions for the file system that are in process or * waiting to be processed. Administrative actions describe changes to the Amazon * FSx system that you have initiated using the UpdateFileSystem * operation.

*/ inline bool AdministrativeActionsHasBeenSet() const { return m_administrativeActionsHasBeenSet; } /** *

A list of administrative actions for the file system that are in process or * waiting to be processed. Administrative actions describe changes to the Amazon * FSx system that you have initiated using the UpdateFileSystem * operation.

*/ inline void SetAdministrativeActions(const Aws::Vector& value) { m_administrativeActionsHasBeenSet = true; m_administrativeActions = value; } /** *

A list of administrative actions for the file system that are in process or * waiting to be processed. Administrative actions describe changes to the Amazon * FSx system that you have initiated using the UpdateFileSystem * operation.

*/ inline void SetAdministrativeActions(Aws::Vector&& value) { m_administrativeActionsHasBeenSet = true; m_administrativeActions = std::move(value); } /** *

A list of administrative actions for the file system that are in process or * waiting to be processed. Administrative actions describe changes to the Amazon * FSx system that you have initiated using the UpdateFileSystem * operation.

*/ inline FileSystem& WithAdministrativeActions(const Aws::Vector& value) { SetAdministrativeActions(value); return *this;} /** *

A list of administrative actions for the file system that are in process or * waiting to be processed. Administrative actions describe changes to the Amazon * FSx system that you have initiated using the UpdateFileSystem * operation.

*/ inline FileSystem& WithAdministrativeActions(Aws::Vector&& value) { SetAdministrativeActions(std::move(value)); return *this;} /** *

A list of administrative actions for the file system that are in process or * waiting to be processed. Administrative actions describe changes to the Amazon * FSx system that you have initiated using the UpdateFileSystem * operation.

*/ inline FileSystem& AddAdministrativeActions(const AdministrativeAction& value) { m_administrativeActionsHasBeenSet = true; m_administrativeActions.push_back(value); return *this; } /** *

A list of administrative actions for the file system that are in process or * waiting to be processed. Administrative actions describe changes to the Amazon * FSx system that you have initiated using the UpdateFileSystem * operation.

*/ inline FileSystem& AddAdministrativeActions(AdministrativeAction&& value) { m_administrativeActionsHasBeenSet = true; m_administrativeActions.push_back(std::move(value)); return *this; } /** *

The configuration for this Amazon FSx for NetApp ONTAP file system.

*/ inline const OntapFileSystemConfiguration& GetOntapConfiguration() const{ return m_ontapConfiguration; } /** *

The configuration for this Amazon FSx for NetApp ONTAP file system.

*/ inline bool OntapConfigurationHasBeenSet() const { return m_ontapConfigurationHasBeenSet; } /** *

The configuration for this Amazon FSx for NetApp ONTAP file system.

*/ inline void SetOntapConfiguration(const OntapFileSystemConfiguration& value) { m_ontapConfigurationHasBeenSet = true; m_ontapConfiguration = value; } /** *

The configuration for this Amazon FSx for NetApp ONTAP file system.

*/ inline void SetOntapConfiguration(OntapFileSystemConfiguration&& value) { m_ontapConfigurationHasBeenSet = true; m_ontapConfiguration = std::move(value); } /** *

The configuration for this Amazon FSx for NetApp ONTAP file system.

*/ inline FileSystem& WithOntapConfiguration(const OntapFileSystemConfiguration& value) { SetOntapConfiguration(value); return *this;} /** *

The configuration for this Amazon FSx for NetApp ONTAP file system.

*/ inline FileSystem& WithOntapConfiguration(OntapFileSystemConfiguration&& value) { SetOntapConfiguration(std::move(value)); return *this;} /** *

The Lustre version of the Amazon FSx for Lustre file system, either * 2.10 or 2.12.

*/ inline const Aws::String& GetFileSystemTypeVersion() const{ return m_fileSystemTypeVersion; } /** *

The Lustre version of the Amazon FSx for Lustre file system, either * 2.10 or 2.12.

*/ inline bool FileSystemTypeVersionHasBeenSet() const { return m_fileSystemTypeVersionHasBeenSet; } /** *

The Lustre version of the Amazon FSx for Lustre file system, either * 2.10 or 2.12.

*/ inline void SetFileSystemTypeVersion(const Aws::String& value) { m_fileSystemTypeVersionHasBeenSet = true; m_fileSystemTypeVersion = value; } /** *

The Lustre version of the Amazon FSx for Lustre file system, either * 2.10 or 2.12.

*/ inline void SetFileSystemTypeVersion(Aws::String&& value) { m_fileSystemTypeVersionHasBeenSet = true; m_fileSystemTypeVersion = std::move(value); } /** *

The Lustre version of the Amazon FSx for Lustre file system, either * 2.10 or 2.12.

*/ inline void SetFileSystemTypeVersion(const char* value) { m_fileSystemTypeVersionHasBeenSet = true; m_fileSystemTypeVersion.assign(value); } /** *

The Lustre version of the Amazon FSx for Lustre file system, either * 2.10 or 2.12.

*/ inline FileSystem& WithFileSystemTypeVersion(const Aws::String& value) { SetFileSystemTypeVersion(value); return *this;} /** *

The Lustre version of the Amazon FSx for Lustre file system, either * 2.10 or 2.12.

*/ inline FileSystem& WithFileSystemTypeVersion(Aws::String&& value) { SetFileSystemTypeVersion(std::move(value)); return *this;} /** *

The Lustre version of the Amazon FSx for Lustre file system, either * 2.10 or 2.12.

*/ inline FileSystem& WithFileSystemTypeVersion(const char* value) { SetFileSystemTypeVersion(value); return *this;} /** *

The configuration for this Amazon FSx for OpenZFS file system.

*/ inline const OpenZFSFileSystemConfiguration& GetOpenZFSConfiguration() const{ return m_openZFSConfiguration; } /** *

The configuration for this Amazon FSx for OpenZFS file system.

*/ inline bool OpenZFSConfigurationHasBeenSet() const { return m_openZFSConfigurationHasBeenSet; } /** *

The configuration for this Amazon FSx for OpenZFS file system.

*/ inline void SetOpenZFSConfiguration(const OpenZFSFileSystemConfiguration& value) { m_openZFSConfigurationHasBeenSet = true; m_openZFSConfiguration = value; } /** *

The configuration for this Amazon FSx for OpenZFS file system.

*/ inline void SetOpenZFSConfiguration(OpenZFSFileSystemConfiguration&& value) { m_openZFSConfigurationHasBeenSet = true; m_openZFSConfiguration = std::move(value); } /** *

The configuration for this Amazon FSx for OpenZFS file system.

*/ inline FileSystem& WithOpenZFSConfiguration(const OpenZFSFileSystemConfiguration& value) { SetOpenZFSConfiguration(value); return *this;} /** *

The configuration for this Amazon FSx for OpenZFS file system.

*/ inline FileSystem& WithOpenZFSConfiguration(OpenZFSFileSystemConfiguration&& value) { SetOpenZFSConfiguration(std::move(value)); return *this;} private: Aws::String m_ownerId; bool m_ownerIdHasBeenSet = false; Aws::Utils::DateTime m_creationTime; bool m_creationTimeHasBeenSet = false; Aws::String m_fileSystemId; bool m_fileSystemIdHasBeenSet = false; FileSystemType m_fileSystemType; bool m_fileSystemTypeHasBeenSet = false; FileSystemLifecycle m_lifecycle; bool m_lifecycleHasBeenSet = false; FileSystemFailureDetails m_failureDetails; bool m_failureDetailsHasBeenSet = false; int m_storageCapacity; bool m_storageCapacityHasBeenSet = false; StorageType m_storageType; bool m_storageTypeHasBeenSet = false; Aws::String m_vpcId; bool m_vpcIdHasBeenSet = false; Aws::Vector m_subnetIds; bool m_subnetIdsHasBeenSet = false; Aws::Vector m_networkInterfaceIds; bool m_networkInterfaceIdsHasBeenSet = false; Aws::String m_dNSName; bool m_dNSNameHasBeenSet = false; Aws::String m_kmsKeyId; bool m_kmsKeyIdHasBeenSet = false; Aws::String m_resourceARN; bool m_resourceARNHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; WindowsFileSystemConfiguration m_windowsConfiguration; bool m_windowsConfigurationHasBeenSet = false; LustreFileSystemConfiguration m_lustreConfiguration; bool m_lustreConfigurationHasBeenSet = false; Aws::Vector m_administrativeActions; bool m_administrativeActionsHasBeenSet = false; OntapFileSystemConfiguration m_ontapConfiguration; bool m_ontapConfigurationHasBeenSet = false; Aws::String m_fileSystemTypeVersion; bool m_fileSystemTypeVersionHasBeenSet = false; OpenZFSFileSystemConfiguration m_openZFSConfiguration; bool m_openZFSConfigurationHasBeenSet = false; }; } // namespace Model } // namespace FSx } // namespace Aws