/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The Amazon FSx for OpenZFS configuration properties for the file system that
* you are creating.See Also:
AWS
* API Reference
A Boolean value indicating whether tags for the file system should be copied
* to backups. This value defaults to false
. If it's set to
* true
, all tags for the file system are copied to all automatic and
* user-initiated backups where the user doesn't specify tags. If this value is
* true
, and you specify one or more tags, only the specified tags are
* copied to backups. If you specify one or more tags when creating a
* user-initiated backup, no tags are copied from the file system, regardless of
* this value.
A Boolean value indicating whether tags for the file system should be copied
* to backups. This value defaults to false
. If it's set to
* true
, all tags for the file system are copied to all automatic and
* user-initiated backups where the user doesn't specify tags. If this value is
* true
, and you specify one or more tags, only the specified tags are
* copied to backups. If you specify one or more tags when creating a
* user-initiated backup, no tags are copied from the file system, regardless of
* this value.
A Boolean value indicating whether tags for the file system should be copied
* to backups. This value defaults to false
. If it's set to
* true
, all tags for the file system are copied to all automatic and
* user-initiated backups where the user doesn't specify tags. If this value is
* true
, and you specify one or more tags, only the specified tags are
* copied to backups. If you specify one or more tags when creating a
* user-initiated backup, no tags are copied from the file system, regardless of
* this value.
A Boolean value indicating whether tags for the file system should be copied
* to backups. This value defaults to false
. If it's set to
* true
, all tags for the file system are copied to all automatic and
* user-initiated backups where the user doesn't specify tags. If this value is
* true
, and you specify one or more tags, only the specified tags are
* copied to backups. If you specify one or more tags when creating a
* user-initiated backup, no tags are copied from the file system, regardless of
* this value.
A Boolean value indicating whether tags for the file system should be copied
* to volumes. This value defaults to false
. If it's set to
* true
, all tags for the file system are copied to volumes where the
* user doesn't specify tags. If this value is true
, and you specify
* one or more tags, only the specified tags are copied to volumes. If you specify
* one or more tags when creating the volume, no tags are copied from the file
* system, regardless of this value.
A Boolean value indicating whether tags for the file system should be copied
* to volumes. This value defaults to false
. If it's set to
* true
, all tags for the file system are copied to volumes where the
* user doesn't specify tags. If this value is true
, and you specify
* one or more tags, only the specified tags are copied to volumes. If you specify
* one or more tags when creating the volume, no tags are copied from the file
* system, regardless of this value.
A Boolean value indicating whether tags for the file system should be copied
* to volumes. This value defaults to false
. If it's set to
* true
, all tags for the file system are copied to volumes where the
* user doesn't specify tags. If this value is true
, and you specify
* one or more tags, only the specified tags are copied to volumes. If you specify
* one or more tags when creating the volume, no tags are copied from the file
* system, regardless of this value.
A Boolean value indicating whether tags for the file system should be copied
* to volumes. This value defaults to false
. If it's set to
* true
, all tags for the file system are copied to volumes where the
* user doesn't specify tags. If this value is true
, and you specify
* one or more tags, only the specified tags are copied to volumes. If you specify
* one or more tags when creating the volume, no tags are copied from the file
* system, regardless of this value.
Specifies the file system deployment type. Single AZ deployment types are * configured for redundancy within a single Availability Zone in an Amazon Web * Services Region . Valid values are the following:
* SINGLE_AZ_1
- (Default) Creates file systems with throughput
* capacities of 64 - 4,096 MBps. Single_AZ_1
is available in all
* Amazon Web Services Regions where Amazon FSx for OpenZFS is available.
SINGLE_AZ_2
- Creates file systems with throughput
* capacities of 160 - 10,240 MB/s using an NVMe L2ARC cache.
* Single_AZ_2
is available only in the US East (N. Virginia), US East
* (Ohio), US West (Oregon), and Europe (Ireland) Amazon Web Services Regions.
For more information, see: Deployment * type availability and File * system performance in the Amazon FSx for OpenZFS User Guide.
*/ inline const OpenZFSDeploymentType& GetDeploymentType() const{ return m_deploymentType; } /** *Specifies the file system deployment type. Single AZ deployment types are * configured for redundancy within a single Availability Zone in an Amazon Web * Services Region . Valid values are the following:
* SINGLE_AZ_1
- (Default) Creates file systems with throughput
* capacities of 64 - 4,096 MBps. Single_AZ_1
is available in all
* Amazon Web Services Regions where Amazon FSx for OpenZFS is available.
SINGLE_AZ_2
- Creates file systems with throughput
* capacities of 160 - 10,240 MB/s using an NVMe L2ARC cache.
* Single_AZ_2
is available only in the US East (N. Virginia), US East
* (Ohio), US West (Oregon), and Europe (Ireland) Amazon Web Services Regions.
For more information, see: Deployment * type availability and File * system performance in the Amazon FSx for OpenZFS User Guide.
*/ inline bool DeploymentTypeHasBeenSet() const { return m_deploymentTypeHasBeenSet; } /** *Specifies the file system deployment type. Single AZ deployment types are * configured for redundancy within a single Availability Zone in an Amazon Web * Services Region . Valid values are the following:
* SINGLE_AZ_1
- (Default) Creates file systems with throughput
* capacities of 64 - 4,096 MBps. Single_AZ_1
is available in all
* Amazon Web Services Regions where Amazon FSx for OpenZFS is available.
SINGLE_AZ_2
- Creates file systems with throughput
* capacities of 160 - 10,240 MB/s using an NVMe L2ARC cache.
* Single_AZ_2
is available only in the US East (N. Virginia), US East
* (Ohio), US West (Oregon), and Europe (Ireland) Amazon Web Services Regions.
For more information, see: Deployment * type availability and File * system performance in the Amazon FSx for OpenZFS User Guide.
*/ inline void SetDeploymentType(const OpenZFSDeploymentType& value) { m_deploymentTypeHasBeenSet = true; m_deploymentType = value; } /** *Specifies the file system deployment type. Single AZ deployment types are * configured for redundancy within a single Availability Zone in an Amazon Web * Services Region . Valid values are the following:
* SINGLE_AZ_1
- (Default) Creates file systems with throughput
* capacities of 64 - 4,096 MBps. Single_AZ_1
is available in all
* Amazon Web Services Regions where Amazon FSx for OpenZFS is available.
SINGLE_AZ_2
- Creates file systems with throughput
* capacities of 160 - 10,240 MB/s using an NVMe L2ARC cache.
* Single_AZ_2
is available only in the US East (N. Virginia), US East
* (Ohio), US West (Oregon), and Europe (Ireland) Amazon Web Services Regions.
For more information, see: Deployment * type availability and File * system performance in the Amazon FSx for OpenZFS User Guide.
*/ inline void SetDeploymentType(OpenZFSDeploymentType&& value) { m_deploymentTypeHasBeenSet = true; m_deploymentType = std::move(value); } /** *Specifies the file system deployment type. Single AZ deployment types are * configured for redundancy within a single Availability Zone in an Amazon Web * Services Region . Valid values are the following:
* SINGLE_AZ_1
- (Default) Creates file systems with throughput
* capacities of 64 - 4,096 MBps. Single_AZ_1
is available in all
* Amazon Web Services Regions where Amazon FSx for OpenZFS is available.
SINGLE_AZ_2
- Creates file systems with throughput
* capacities of 160 - 10,240 MB/s using an NVMe L2ARC cache.
* Single_AZ_2
is available only in the US East (N. Virginia), US East
* (Ohio), US West (Oregon), and Europe (Ireland) Amazon Web Services Regions.
For more information, see: Deployment * type availability and File * system performance in the Amazon FSx for OpenZFS User Guide.
*/ inline CreateFileSystemOpenZFSConfiguration& WithDeploymentType(const OpenZFSDeploymentType& value) { SetDeploymentType(value); return *this;} /** *Specifies the file system deployment type. Single AZ deployment types are * configured for redundancy within a single Availability Zone in an Amazon Web * Services Region . Valid values are the following:
* SINGLE_AZ_1
- (Default) Creates file systems with throughput
* capacities of 64 - 4,096 MBps. Single_AZ_1
is available in all
* Amazon Web Services Regions where Amazon FSx for OpenZFS is available.
SINGLE_AZ_2
- Creates file systems with throughput
* capacities of 160 - 10,240 MB/s using an NVMe L2ARC cache.
* Single_AZ_2
is available only in the US East (N. Virginia), US East
* (Ohio), US West (Oregon), and Europe (Ireland) Amazon Web Services Regions.
For more information, see: Deployment * type availability and File * system performance in the Amazon FSx for OpenZFS User Guide.
*/ inline CreateFileSystemOpenZFSConfiguration& WithDeploymentType(OpenZFSDeploymentType&& value) { SetDeploymentType(std::move(value)); return *this;} /** *Specifies the throughput of an Amazon FSx for OpenZFS file system, measured * in megabytes per second (MBps). Valid values depend on the DeploymentType you * choose, as follows:
For SINGLE_AZ_1
, valid values
* are 64, 128, 256, 512, 1024, 2048, 3072, or 4096 MBps.
For
* SINGLE_AZ_2
, valid values are 160, 320, 640, 1280, 2560, 3840,
* 5120, 7680, or 10240 MBps.
You pay for additional throughput * capacity that you provision.
*/ inline int GetThroughputCapacity() const{ return m_throughputCapacity; } /** *Specifies the throughput of an Amazon FSx for OpenZFS file system, measured * in megabytes per second (MBps). Valid values depend on the DeploymentType you * choose, as follows:
For SINGLE_AZ_1
, valid values
* are 64, 128, 256, 512, 1024, 2048, 3072, or 4096 MBps.
For
* SINGLE_AZ_2
, valid values are 160, 320, 640, 1280, 2560, 3840,
* 5120, 7680, or 10240 MBps.
You pay for additional throughput * capacity that you provision.
*/ inline bool ThroughputCapacityHasBeenSet() const { return m_throughputCapacityHasBeenSet; } /** *Specifies the throughput of an Amazon FSx for OpenZFS file system, measured * in megabytes per second (MBps). Valid values depend on the DeploymentType you * choose, as follows:
For SINGLE_AZ_1
, valid values
* are 64, 128, 256, 512, 1024, 2048, 3072, or 4096 MBps.
For
* SINGLE_AZ_2
, valid values are 160, 320, 640, 1280, 2560, 3840,
* 5120, 7680, or 10240 MBps.
You pay for additional throughput * capacity that you provision.
*/ inline void SetThroughputCapacity(int value) { m_throughputCapacityHasBeenSet = true; m_throughputCapacity = value; } /** *Specifies the throughput of an Amazon FSx for OpenZFS file system, measured * in megabytes per second (MBps). Valid values depend on the DeploymentType you * choose, as follows:
For SINGLE_AZ_1
, valid values
* are 64, 128, 256, 512, 1024, 2048, 3072, or 4096 MBps.
For
* SINGLE_AZ_2
, valid values are 160, 320, 640, 1280, 2560, 3840,
* 5120, 7680, or 10240 MBps.
You pay for additional throughput * capacity that you provision.
*/ inline CreateFileSystemOpenZFSConfiguration& 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 CreateFileSystemOpenZFSConfiguration& WithWeeklyMaintenanceStartTime(const Aws::String& value) { SetWeeklyMaintenanceStartTime(value); return *this;} inline CreateFileSystemOpenZFSConfiguration& WithWeeklyMaintenanceStartTime(Aws::String&& value) { SetWeeklyMaintenanceStartTime(std::move(value)); return *this;} inline CreateFileSystemOpenZFSConfiguration& WithWeeklyMaintenanceStartTime(const char* value) { SetWeeklyMaintenanceStartTime(value); return *this;} inline const DiskIopsConfiguration& GetDiskIopsConfiguration() const{ return m_diskIopsConfiguration; } inline bool DiskIopsConfigurationHasBeenSet() const { return m_diskIopsConfigurationHasBeenSet; } inline void SetDiskIopsConfiguration(const DiskIopsConfiguration& value) { m_diskIopsConfigurationHasBeenSet = true; m_diskIopsConfiguration = value; } inline void SetDiskIopsConfiguration(DiskIopsConfiguration&& value) { m_diskIopsConfigurationHasBeenSet = true; m_diskIopsConfiguration = std::move(value); } inline CreateFileSystemOpenZFSConfiguration& WithDiskIopsConfiguration(const DiskIopsConfiguration& value) { SetDiskIopsConfiguration(value); return *this;} inline CreateFileSystemOpenZFSConfiguration& WithDiskIopsConfiguration(DiskIopsConfiguration&& value) { SetDiskIopsConfiguration(std::move(value)); return *this;} /** *The configuration Amazon FSx uses when creating the root value of the Amazon * FSx for OpenZFS file system. All volumes are children of the root volume.
*/ inline const OpenZFSCreateRootVolumeConfiguration& GetRootVolumeConfiguration() const{ return m_rootVolumeConfiguration; } /** *The configuration Amazon FSx uses when creating the root value of the Amazon * FSx for OpenZFS file system. All volumes are children of the root volume.
*/ inline bool RootVolumeConfigurationHasBeenSet() const { return m_rootVolumeConfigurationHasBeenSet; } /** *The configuration Amazon FSx uses when creating the root value of the Amazon * FSx for OpenZFS file system. All volumes are children of the root volume.
*/ inline void SetRootVolumeConfiguration(const OpenZFSCreateRootVolumeConfiguration& value) { m_rootVolumeConfigurationHasBeenSet = true; m_rootVolumeConfiguration = value; } /** *The configuration Amazon FSx uses when creating the root value of the Amazon * FSx for OpenZFS file system. All volumes are children of the root volume.
*/ inline void SetRootVolumeConfiguration(OpenZFSCreateRootVolumeConfiguration&& value) { m_rootVolumeConfigurationHasBeenSet = true; m_rootVolumeConfiguration = std::move(value); } /** *The configuration Amazon FSx uses when creating the root value of the Amazon * FSx for OpenZFS file system. All volumes are children of the root volume.
*/ inline CreateFileSystemOpenZFSConfiguration& WithRootVolumeConfiguration(const OpenZFSCreateRootVolumeConfiguration& value) { SetRootVolumeConfiguration(value); return *this;} /** *The configuration Amazon FSx uses when creating the root value of the Amazon * FSx for OpenZFS file system. All volumes are children of the root volume.
*/ inline CreateFileSystemOpenZFSConfiguration& WithRootVolumeConfiguration(OpenZFSCreateRootVolumeConfiguration&& value) { SetRootVolumeConfiguration(std::move(value)); return *this;} private: int m_automaticBackupRetentionDays; bool m_automaticBackupRetentionDaysHasBeenSet = false; bool m_copyTagsToBackups; bool m_copyTagsToBackupsHasBeenSet = false; bool m_copyTagsToVolumes; bool m_copyTagsToVolumesHasBeenSet = false; Aws::String m_dailyAutomaticBackupStartTime; bool m_dailyAutomaticBackupStartTimeHasBeenSet = false; OpenZFSDeploymentType m_deploymentType; bool m_deploymentTypeHasBeenSet = false; int m_throughputCapacity; bool m_throughputCapacityHasBeenSet = false; Aws::String m_weeklyMaintenanceStartTime; bool m_weeklyMaintenanceStartTimeHasBeenSet = false; DiskIopsConfiguration m_diskIopsConfiguration; bool m_diskIopsConfigurationHasBeenSet = false; OpenZFSCreateRootVolumeConfiguration m_rootVolumeConfiguration; bool m_rootVolumeConfigurationHasBeenSet = false; }; } // namespace Model } // namespace FSx } // namespace Aws