/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The ONTAP configuration properties of the FSx for ONTAP file system that you
* are creating.See Also:
AWS
* API Reference
Specifies the FSx for ONTAP file system deployment type to use in creating * the file system.
MULTI_AZ_1
- (Default) A high
* availability file system configured for Multi-AZ redundancy to tolerate
* temporary Availability Zone (AZ) unavailability.
* SINGLE_AZ_1
- A file system configured for Single-AZ
* redundancy.
For information about the use cases for Multi-AZ * and Single-AZ deployments, refer to Choosing * a file system deployment type.
*/ inline const OntapDeploymentType& GetDeploymentType() const{ return m_deploymentType; } /** *Specifies the FSx for ONTAP file system deployment type to use in creating * the file system.
MULTI_AZ_1
- (Default) A high
* availability file system configured for Multi-AZ redundancy to tolerate
* temporary Availability Zone (AZ) unavailability.
* SINGLE_AZ_1
- A file system configured for Single-AZ
* redundancy.
For information about the use cases for Multi-AZ * and Single-AZ deployments, refer to Choosing * a file system deployment type.
*/ inline bool DeploymentTypeHasBeenSet() const { return m_deploymentTypeHasBeenSet; } /** *Specifies the FSx for ONTAP file system deployment type to use in creating * the file system.
MULTI_AZ_1
- (Default) A high
* availability file system configured for Multi-AZ redundancy to tolerate
* temporary Availability Zone (AZ) unavailability.
* SINGLE_AZ_1
- A file system configured for Single-AZ
* redundancy.
For information about the use cases for Multi-AZ * and Single-AZ deployments, refer to Choosing * a file system deployment type.
*/ inline void SetDeploymentType(const OntapDeploymentType& value) { m_deploymentTypeHasBeenSet = true; m_deploymentType = value; } /** *Specifies the FSx for ONTAP file system deployment type to use in creating * the file system.
MULTI_AZ_1
- (Default) A high
* availability file system configured for Multi-AZ redundancy to tolerate
* temporary Availability Zone (AZ) unavailability.
* SINGLE_AZ_1
- A file system configured for Single-AZ
* redundancy.
For information about the use cases for Multi-AZ * and Single-AZ deployments, refer to Choosing * a file system deployment type.
*/ inline void SetDeploymentType(OntapDeploymentType&& value) { m_deploymentTypeHasBeenSet = true; m_deploymentType = std::move(value); } /** *Specifies the FSx for ONTAP file system deployment type to use in creating * the file system.
MULTI_AZ_1
- (Default) A high
* availability file system configured for Multi-AZ redundancy to tolerate
* temporary Availability Zone (AZ) unavailability.
* SINGLE_AZ_1
- A file system configured for Single-AZ
* redundancy.
For information about the use cases for Multi-AZ * and Single-AZ deployments, refer to Choosing * a file system deployment type.
*/ inline CreateFileSystemOntapConfiguration& WithDeploymentType(const OntapDeploymentType& value) { SetDeploymentType(value); return *this;} /** *Specifies the FSx for ONTAP file system deployment type to use in creating * the file system.
MULTI_AZ_1
- (Default) A high
* availability file system configured for Multi-AZ redundancy to tolerate
* temporary Availability Zone (AZ) unavailability.
* SINGLE_AZ_1
- A file system configured for Single-AZ
* redundancy.
For information about the use cases for Multi-AZ * and Single-AZ deployments, refer to Choosing * a file system deployment type.
*/ inline CreateFileSystemOntapConfiguration& WithDeploymentType(OntapDeploymentType&& value) { SetDeploymentType(std::move(value)); return *this;} /** *(Multi-AZ only) Specifies the IP address range in which the endpoints to * access your file system will be created. By default in the Amazon FSx API, * Amazon FSx selects an unused IP address range for you from the 198.19.* range. * By default in the Amazon FSx console, Amazon FSx chooses the last 64 IP * addresses from the VPC’s primary CIDR range to use as the endpoint IP address * range for the file system. You can have overlapping endpoint IP addresses for * file systems deployed in the same VPC/route tables, as long as they don't * overlap with any subnet.
*/ inline const Aws::String& GetEndpointIpAddressRange() const{ return m_endpointIpAddressRange; } /** *(Multi-AZ only) Specifies the IP address range in which the endpoints to * access your file system will be created. By default in the Amazon FSx API, * Amazon FSx selects an unused IP address range for you from the 198.19.* range. * By default in the Amazon FSx console, Amazon FSx chooses the last 64 IP * addresses from the VPC’s primary CIDR range to use as the endpoint IP address * range for the file system. You can have overlapping endpoint IP addresses for * file systems deployed in the same VPC/route tables, as long as they don't * overlap with any subnet.
*/ inline bool EndpointIpAddressRangeHasBeenSet() const { return m_endpointIpAddressRangeHasBeenSet; } /** *(Multi-AZ only) Specifies the IP address range in which the endpoints to * access your file system will be created. By default in the Amazon FSx API, * Amazon FSx selects an unused IP address range for you from the 198.19.* range. * By default in the Amazon FSx console, Amazon FSx chooses the last 64 IP * addresses from the VPC’s primary CIDR range to use as the endpoint IP address * range for the file system. You can have overlapping endpoint IP addresses for * file systems deployed in the same VPC/route tables, as long as they don't * overlap with any subnet.
*/ inline void SetEndpointIpAddressRange(const Aws::String& value) { m_endpointIpAddressRangeHasBeenSet = true; m_endpointIpAddressRange = value; } /** *(Multi-AZ only) Specifies the IP address range in which the endpoints to * access your file system will be created. By default in the Amazon FSx API, * Amazon FSx selects an unused IP address range for you from the 198.19.* range. * By default in the Amazon FSx console, Amazon FSx chooses the last 64 IP * addresses from the VPC’s primary CIDR range to use as the endpoint IP address * range for the file system. You can have overlapping endpoint IP addresses for * file systems deployed in the same VPC/route tables, as long as they don't * overlap with any subnet.
*/ inline void SetEndpointIpAddressRange(Aws::String&& value) { m_endpointIpAddressRangeHasBeenSet = true; m_endpointIpAddressRange = std::move(value); } /** *(Multi-AZ only) Specifies the IP address range in which the endpoints to * access your file system will be created. By default in the Amazon FSx API, * Amazon FSx selects an unused IP address range for you from the 198.19.* range. * By default in the Amazon FSx console, Amazon FSx chooses the last 64 IP * addresses from the VPC’s primary CIDR range to use as the endpoint IP address * range for the file system. You can have overlapping endpoint IP addresses for * file systems deployed in the same VPC/route tables, as long as they don't * overlap with any subnet.
*/ inline void SetEndpointIpAddressRange(const char* value) { m_endpointIpAddressRangeHasBeenSet = true; m_endpointIpAddressRange.assign(value); } /** *(Multi-AZ only) Specifies the IP address range in which the endpoints to * access your file system will be created. By default in the Amazon FSx API, * Amazon FSx selects an unused IP address range for you from the 198.19.* range. * By default in the Amazon FSx console, Amazon FSx chooses the last 64 IP * addresses from the VPC’s primary CIDR range to use as the endpoint IP address * range for the file system. You can have overlapping endpoint IP addresses for * file systems deployed in the same VPC/route tables, as long as they don't * overlap with any subnet.
*/ inline CreateFileSystemOntapConfiguration& WithEndpointIpAddressRange(const Aws::String& value) { SetEndpointIpAddressRange(value); return *this;} /** *(Multi-AZ only) Specifies the IP address range in which the endpoints to * access your file system will be created. By default in the Amazon FSx API, * Amazon FSx selects an unused IP address range for you from the 198.19.* range. * By default in the Amazon FSx console, Amazon FSx chooses the last 64 IP * addresses from the VPC’s primary CIDR range to use as the endpoint IP address * range for the file system. You can have overlapping endpoint IP addresses for * file systems deployed in the same VPC/route tables, as long as they don't * overlap with any subnet.
*/ inline CreateFileSystemOntapConfiguration& WithEndpointIpAddressRange(Aws::String&& value) { SetEndpointIpAddressRange(std::move(value)); return *this;} /** *(Multi-AZ only) Specifies the IP address range in which the endpoints to * access your file system will be created. By default in the Amazon FSx API, * Amazon FSx selects an unused IP address range for you from the 198.19.* range. * By default in the Amazon FSx console, Amazon FSx chooses the last 64 IP * addresses from the VPC’s primary CIDR range to use as the endpoint IP address * range for the file system. You can have overlapping endpoint IP addresses for * file systems deployed in the same VPC/route tables, as long as they don't * overlap with any subnet.
*/ inline CreateFileSystemOntapConfiguration& WithEndpointIpAddressRange(const char* value) { SetEndpointIpAddressRange(value); return *this;} /** *The ONTAP administrative password for the fsxadmin
user with
* which you administer your file system using the NetApp ONTAP CLI and REST
* API.
The ONTAP administrative password for the fsxadmin
user with
* which you administer your file system using the NetApp ONTAP CLI and REST
* API.
The ONTAP administrative password for the fsxadmin
user with
* which you administer your file system using the NetApp ONTAP CLI and REST
* API.
The ONTAP administrative password for the fsxadmin
user with
* which you administer your file system using the NetApp ONTAP CLI and REST
* API.
The ONTAP administrative password for the fsxadmin
user with
* which you administer your file system using the NetApp ONTAP CLI and REST
* API.
The ONTAP administrative password for the fsxadmin
user with
* which you administer your file system using the NetApp ONTAP CLI and REST
* API.
The ONTAP administrative password for the fsxadmin
user with
* which you administer your file system using the NetApp ONTAP CLI and REST
* API.
The ONTAP administrative password for the fsxadmin
user with
* which you administer your file system using the NetApp ONTAP CLI and REST
* API.
The SSD IOPS configuration for the FSx for ONTAP file system.
*/ inline const DiskIopsConfiguration& GetDiskIopsConfiguration() const{ return m_diskIopsConfiguration; } /** *The SSD IOPS configuration for the FSx for ONTAP file system.
*/ inline bool DiskIopsConfigurationHasBeenSet() const { return m_diskIopsConfigurationHasBeenSet; } /** *The SSD IOPS configuration for the FSx for ONTAP file system.
*/ inline void SetDiskIopsConfiguration(const DiskIopsConfiguration& value) { m_diskIopsConfigurationHasBeenSet = true; m_diskIopsConfiguration = value; } /** *The SSD IOPS configuration for the FSx for ONTAP file system.
*/ inline void SetDiskIopsConfiguration(DiskIopsConfiguration&& value) { m_diskIopsConfigurationHasBeenSet = true; m_diskIopsConfiguration = std::move(value); } /** *The SSD IOPS configuration for the FSx for ONTAP file system.
*/ inline CreateFileSystemOntapConfiguration& WithDiskIopsConfiguration(const DiskIopsConfiguration& value) { SetDiskIopsConfiguration(value); return *this;} /** *The SSD IOPS configuration for the FSx for ONTAP file system.
*/ inline CreateFileSystemOntapConfiguration& WithDiskIopsConfiguration(DiskIopsConfiguration&& value) { SetDiskIopsConfiguration(std::move(value)); return *this;} /** *Required when DeploymentType
is set to MULTI_AZ_1
.
* This specifies the subnet in which you want the preferred file server to be
* located.
Required when DeploymentType
is set to MULTI_AZ_1
.
* This specifies the subnet in which you want the preferred file server to be
* located.
Required when DeploymentType
is set to MULTI_AZ_1
.
* This specifies the subnet in which you want the preferred file server to be
* located.
Required when DeploymentType
is set to MULTI_AZ_1
.
* This specifies the subnet in which you want the preferred file server to be
* located.
Required when DeploymentType
is set to MULTI_AZ_1
.
* This specifies the subnet in which you want the preferred file server to be
* located.
Required when DeploymentType
is set to MULTI_AZ_1
.
* This specifies the subnet in which you want the preferred file server to be
* located.
Required when DeploymentType
is set to MULTI_AZ_1
.
* This specifies the subnet in which you want the preferred file server to be
* located.
Required when DeploymentType
is set to MULTI_AZ_1
.
* This specifies the subnet in which you want the preferred file server to be
* located.
(Multi-AZ only) Specifies the virtual private cloud (VPC) route tables in * which your file system's endpoints will be created. You should specify all VPC * route tables associated with the subnets in which your clients are located. By * default, Amazon FSx selects your VPC's default route table.
*/ inline const Aws::Vector(Multi-AZ only) Specifies the virtual private cloud (VPC) route tables in * which your file system's endpoints will be created. You should specify all VPC * route tables associated with the subnets in which your clients are located. By * default, Amazon FSx selects your VPC's default route table.
*/ inline bool RouteTableIdsHasBeenSet() const { return m_routeTableIdsHasBeenSet; } /** *(Multi-AZ only) Specifies the virtual private cloud (VPC) route tables in * which your file system's endpoints will be created. You should specify all VPC * route tables associated with the subnets in which your clients are located. By * default, Amazon FSx selects your VPC's default route table.
*/ inline void SetRouteTableIds(const Aws::Vector(Multi-AZ only) Specifies the virtual private cloud (VPC) route tables in * which your file system's endpoints will be created. You should specify all VPC * route tables associated with the subnets in which your clients are located. By * default, Amazon FSx selects your VPC's default route table.
*/ inline void SetRouteTableIds(Aws::Vector(Multi-AZ only) Specifies the virtual private cloud (VPC) route tables in * which your file system's endpoints will be created. You should specify all VPC * route tables associated with the subnets in which your clients are located. By * default, Amazon FSx selects your VPC's default route table.
*/ inline CreateFileSystemOntapConfiguration& WithRouteTableIds(const Aws::Vector(Multi-AZ only) Specifies the virtual private cloud (VPC) route tables in * which your file system's endpoints will be created. You should specify all VPC * route tables associated with the subnets in which your clients are located. By * default, Amazon FSx selects your VPC's default route table.
*/ inline CreateFileSystemOntapConfiguration& WithRouteTableIds(Aws::Vector(Multi-AZ only) Specifies the virtual private cloud (VPC) route tables in * which your file system's endpoints will be created. You should specify all VPC * route tables associated with the subnets in which your clients are located. By * default, Amazon FSx selects your VPC's default route table.
*/ inline CreateFileSystemOntapConfiguration& AddRouteTableIds(const Aws::String& value) { m_routeTableIdsHasBeenSet = true; m_routeTableIds.push_back(value); return *this; } /** *(Multi-AZ only) Specifies the virtual private cloud (VPC) route tables in * which your file system's endpoints will be created. You should specify all VPC * route tables associated with the subnets in which your clients are located. By * default, Amazon FSx selects your VPC's default route table.
*/ inline CreateFileSystemOntapConfiguration& AddRouteTableIds(Aws::String&& value) { m_routeTableIdsHasBeenSet = true; m_routeTableIds.push_back(std::move(value)); return *this; } /** *(Multi-AZ only) Specifies the virtual private cloud (VPC) route tables in * which your file system's endpoints will be created. You should specify all VPC * route tables associated with the subnets in which your clients are located. By * default, Amazon FSx selects your VPC's default route table.
*/ inline CreateFileSystemOntapConfiguration& AddRouteTableIds(const char* value) { m_routeTableIdsHasBeenSet = true; m_routeTableIds.push_back(value); return *this; } /** *Sets the throughput capacity for the file system that you're creating. Valid * values are 128, 256, 512, 1024, 2048, and 4096 MBps.
*/ inline int GetThroughputCapacity() const{ return m_throughputCapacity; } /** *Sets the throughput capacity for the file system that you're creating. Valid * values are 128, 256, 512, 1024, 2048, and 4096 MBps.
*/ inline bool ThroughputCapacityHasBeenSet() const { return m_throughputCapacityHasBeenSet; } /** *Sets the throughput capacity for the file system that you're creating. Valid * values are 128, 256, 512, 1024, 2048, and 4096 MBps.
*/ inline void SetThroughputCapacity(int value) { m_throughputCapacityHasBeenSet = true; m_throughputCapacity = value; } /** *Sets the throughput capacity for the file system that you're creating. Valid * values are 128, 256, 512, 1024, 2048, and 4096 MBps.
*/ inline CreateFileSystemOntapConfiguration& WithThroughputCapacity(int value) { SetThroughputCapacity(value); return *this;} inline const Aws::String& GetWeeklyMaintenanceStartTime() const{ return m_weeklyMaintenanceStartTime; } inline bool WeeklyMaintenanceStartTimeHasBeenSet() const { return m_weeklyMaintenanceStartTimeHasBeenSet; } inline void SetWeeklyMaintenanceStartTime(const Aws::String& value) { m_weeklyMaintenanceStartTimeHasBeenSet = true; m_weeklyMaintenanceStartTime = value; } inline void SetWeeklyMaintenanceStartTime(Aws::String&& value) { m_weeklyMaintenanceStartTimeHasBeenSet = true; m_weeklyMaintenanceStartTime = std::move(value); } inline void SetWeeklyMaintenanceStartTime(const char* value) { m_weeklyMaintenanceStartTimeHasBeenSet = true; m_weeklyMaintenanceStartTime.assign(value); } inline CreateFileSystemOntapConfiguration& WithWeeklyMaintenanceStartTime(const Aws::String& value) { SetWeeklyMaintenanceStartTime(value); return *this;} inline CreateFileSystemOntapConfiguration& WithWeeklyMaintenanceStartTime(Aws::String&& value) { SetWeeklyMaintenanceStartTime(std::move(value)); return *this;} inline CreateFileSystemOntapConfiguration& WithWeeklyMaintenanceStartTime(const char* value) { SetWeeklyMaintenanceStartTime(value); return *this;} private: int m_automaticBackupRetentionDays; bool m_automaticBackupRetentionDaysHasBeenSet = false; Aws::String m_dailyAutomaticBackupStartTime; bool m_dailyAutomaticBackupStartTimeHasBeenSet = false; OntapDeploymentType m_deploymentType; bool m_deploymentTypeHasBeenSet = false; Aws::String m_endpointIpAddressRange; bool m_endpointIpAddressRangeHasBeenSet = false; Aws::String m_fsxAdminPassword; bool m_fsxAdminPasswordHasBeenSet = false; DiskIopsConfiguration m_diskIopsConfiguration; bool m_diskIopsConfigurationHasBeenSet = false; Aws::String m_preferredSubnetId; bool m_preferredSubnetIdHasBeenSet = false; Aws::Vector