/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The configuration object for the Microsoft Windows file system used in
* CreateFileSystem and CreateFileSystemFromBackup
* operations.See Also:
AWS
* API Reference
The ID for an existing AWS Managed Microsoft Active Directory (AD) instance * that the file system should join when it's created.
*/ inline const Aws::String& GetActiveDirectoryId() const{ return m_activeDirectoryId; } /** *The ID for an existing AWS Managed Microsoft Active Directory (AD) instance * that the file system should join when it's created.
*/ inline bool ActiveDirectoryIdHasBeenSet() const { return m_activeDirectoryIdHasBeenSet; } /** *The ID for an existing AWS Managed Microsoft Active Directory (AD) instance * that the file system should join when it's created.
*/ inline void SetActiveDirectoryId(const Aws::String& value) { m_activeDirectoryIdHasBeenSet = true; m_activeDirectoryId = value; } /** *The ID for an existing AWS Managed Microsoft Active Directory (AD) instance * that the file system should join when it's created.
*/ inline void SetActiveDirectoryId(Aws::String&& value) { m_activeDirectoryIdHasBeenSet = true; m_activeDirectoryId = std::move(value); } /** *The ID for an existing AWS Managed Microsoft Active Directory (AD) instance * that the file system should join when it's created.
*/ inline void SetActiveDirectoryId(const char* value) { m_activeDirectoryIdHasBeenSet = true; m_activeDirectoryId.assign(value); } /** *The ID for an existing AWS Managed Microsoft Active Directory (AD) instance * that the file system should join when it's created.
*/ inline CreateFileSystemWindowsConfiguration& WithActiveDirectoryId(const Aws::String& value) { SetActiveDirectoryId(value); return *this;} /** *The ID for an existing AWS Managed Microsoft Active Directory (AD) instance * that the file system should join when it's created.
*/ inline CreateFileSystemWindowsConfiguration& WithActiveDirectoryId(Aws::String&& value) { SetActiveDirectoryId(std::move(value)); return *this;} /** *The ID for an existing AWS Managed Microsoft Active Directory (AD) instance * that the file system should join when it's created.
*/ inline CreateFileSystemWindowsConfiguration& WithActiveDirectoryId(const char* value) { SetActiveDirectoryId(value); return *this;} inline const SelfManagedActiveDirectoryConfiguration& GetSelfManagedActiveDirectoryConfiguration() const{ return m_selfManagedActiveDirectoryConfiguration; } inline bool SelfManagedActiveDirectoryConfigurationHasBeenSet() const { return m_selfManagedActiveDirectoryConfigurationHasBeenSet; } inline void SetSelfManagedActiveDirectoryConfiguration(const SelfManagedActiveDirectoryConfiguration& value) { m_selfManagedActiveDirectoryConfigurationHasBeenSet = true; m_selfManagedActiveDirectoryConfiguration = value; } inline void SetSelfManagedActiveDirectoryConfiguration(SelfManagedActiveDirectoryConfiguration&& value) { m_selfManagedActiveDirectoryConfigurationHasBeenSet = true; m_selfManagedActiveDirectoryConfiguration = std::move(value); } inline CreateFileSystemWindowsConfiguration& WithSelfManagedActiveDirectoryConfiguration(const SelfManagedActiveDirectoryConfiguration& value) { SetSelfManagedActiveDirectoryConfiguration(value); return *this;} inline CreateFileSystemWindowsConfiguration& WithSelfManagedActiveDirectoryConfiguration(SelfManagedActiveDirectoryConfiguration&& value) { SetSelfManagedActiveDirectoryConfiguration(std::move(value)); return *this;} /** *Specifies the file system deployment type, valid values are the * following:
MULTI_AZ_1 - Deploys a high
* availability file system that is configured for Multi-AZ redundancy to tolerate
* temporary Availability Zone (AZ) unavailability. You can only deploy a Multi-AZ
* file system in AWS Regions that have a minimum of three Availability Zones. Also
* supports HDD storage type
SINGLE_AZ_1 -
* (Default) Choose to deploy a file system that is configured for single AZ
* redundancy.
SINGLE_AZ_2 - The latest generation
* Single AZ file system. Specifies a file system that is configured for single AZ
* redundancy and supports HDD storage type.
For more * information, see * Availability and Durability: Single-AZ and Multi-AZ File Systems.
*/ inline const WindowsDeploymentType& GetDeploymentType() const{ return m_deploymentType; } /** *Specifies the file system deployment type, valid values are the * following:
MULTI_AZ_1 - Deploys a high
* availability file system that is configured for Multi-AZ redundancy to tolerate
* temporary Availability Zone (AZ) unavailability. You can only deploy a Multi-AZ
* file system in AWS Regions that have a minimum of three Availability Zones. Also
* supports HDD storage type
SINGLE_AZ_1 -
* (Default) Choose to deploy a file system that is configured for single AZ
* redundancy.
SINGLE_AZ_2 - The latest generation
* Single AZ file system. Specifies a file system that is configured for single AZ
* redundancy and supports HDD storage type.
For more * information, see * Availability and Durability: Single-AZ and Multi-AZ File Systems.
*/ inline bool DeploymentTypeHasBeenSet() const { return m_deploymentTypeHasBeenSet; } /** *Specifies the file system deployment type, valid values are the * following:
MULTI_AZ_1 - Deploys a high
* availability file system that is configured for Multi-AZ redundancy to tolerate
* temporary Availability Zone (AZ) unavailability. You can only deploy a Multi-AZ
* file system in AWS Regions that have a minimum of three Availability Zones. Also
* supports HDD storage type
SINGLE_AZ_1 -
* (Default) Choose to deploy a file system that is configured for single AZ
* redundancy.
SINGLE_AZ_2 - The latest generation
* Single AZ file system. Specifies a file system that is configured for single AZ
* redundancy and supports HDD storage type.
For more * information, see * Availability and Durability: Single-AZ and Multi-AZ File Systems.
*/ inline void SetDeploymentType(const WindowsDeploymentType& value) { m_deploymentTypeHasBeenSet = true; m_deploymentType = value; } /** *Specifies the file system deployment type, valid values are the * following:
MULTI_AZ_1 - Deploys a high
* availability file system that is configured for Multi-AZ redundancy to tolerate
* temporary Availability Zone (AZ) unavailability. You can only deploy a Multi-AZ
* file system in AWS Regions that have a minimum of three Availability Zones. Also
* supports HDD storage type
SINGLE_AZ_1 -
* (Default) Choose to deploy a file system that is configured for single AZ
* redundancy.
SINGLE_AZ_2 - The latest generation
* Single AZ file system. Specifies a file system that is configured for single AZ
* redundancy and supports HDD storage type.
For more * information, see * Availability and Durability: Single-AZ and Multi-AZ File Systems.
*/ inline void SetDeploymentType(WindowsDeploymentType&& value) { m_deploymentTypeHasBeenSet = true; m_deploymentType = std::move(value); } /** *Specifies the file system deployment type, valid values are the * following:
MULTI_AZ_1 - Deploys a high
* availability file system that is configured for Multi-AZ redundancy to tolerate
* temporary Availability Zone (AZ) unavailability. You can only deploy a Multi-AZ
* file system in AWS Regions that have a minimum of three Availability Zones. Also
* supports HDD storage type
SINGLE_AZ_1 -
* (Default) Choose to deploy a file system that is configured for single AZ
* redundancy.
SINGLE_AZ_2 - The latest generation
* Single AZ file system. Specifies a file system that is configured for single AZ
* redundancy and supports HDD storage type.
For more * information, see * Availability and Durability: Single-AZ and Multi-AZ File Systems.
*/ inline CreateFileSystemWindowsConfiguration& WithDeploymentType(const WindowsDeploymentType& value) { SetDeploymentType(value); return *this;} /** *Specifies the file system deployment type, valid values are the * following:
MULTI_AZ_1 - Deploys a high
* availability file system that is configured for Multi-AZ redundancy to tolerate
* temporary Availability Zone (AZ) unavailability. You can only deploy a Multi-AZ
* file system in AWS Regions that have a minimum of three Availability Zones. Also
* supports HDD storage type
SINGLE_AZ_1 -
* (Default) Choose to deploy a file system that is configured for single AZ
* redundancy.
SINGLE_AZ_2 - The latest generation
* Single AZ file system. Specifies a file system that is configured for single AZ
* redundancy and supports HDD storage type.
For more * information, see * Availability and Durability: Single-AZ and Multi-AZ File Systems.
*/ inline CreateFileSystemWindowsConfiguration& WithDeploymentType(WindowsDeploymentType&& value) { SetDeploymentType(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. For in-AWS applications, we recommend that you launch your clients in
* the same Availability Zone (AZ) as your preferred file server to reduce cross-AZ
* data transfer costs and minimize latency.
Required when DeploymentType is set to MULTI_AZ_1.
* This specifies the subnet in which you want the preferred file server to be
* located. For in-AWS applications, we recommend that you launch your clients in
* the same Availability Zone (AZ) as your preferred file server to reduce cross-AZ
* data transfer costs and minimize latency.
Required when DeploymentType is set to MULTI_AZ_1.
* This specifies the subnet in which you want the preferred file server to be
* located. For in-AWS applications, we recommend that you launch your clients in
* the same Availability Zone (AZ) as your preferred file server to reduce cross-AZ
* data transfer costs and minimize latency.
Required when DeploymentType is set to MULTI_AZ_1.
* This specifies the subnet in which you want the preferred file server to be
* located. For in-AWS applications, we recommend that you launch your clients in
* the same Availability Zone (AZ) as your preferred file server to reduce cross-AZ
* data transfer costs and minimize latency.
Required when DeploymentType is set to MULTI_AZ_1.
* This specifies the subnet in which you want the preferred file server to be
* located. For in-AWS applications, we recommend that you launch your clients in
* the same Availability Zone (AZ) as your preferred file server to reduce cross-AZ
* data transfer costs and minimize latency.
Required when DeploymentType is set to MULTI_AZ_1.
* This specifies the subnet in which you want the preferred file server to be
* located. For in-AWS applications, we recommend that you launch your clients in
* the same Availability Zone (AZ) as your preferred file server to reduce cross-AZ
* data transfer costs and minimize latency.
Required when DeploymentType is set to MULTI_AZ_1.
* This specifies the subnet in which you want the preferred file server to be
* located. For in-AWS applications, we recommend that you launch your clients in
* the same Availability Zone (AZ) as your preferred file server to reduce cross-AZ
* data transfer costs and minimize latency.
Required when DeploymentType is set to MULTI_AZ_1.
* This specifies the subnet in which you want the preferred file server to be
* located. For in-AWS applications, we recommend that you launch your clients in
* the same Availability Zone (AZ) as your preferred file server to reduce cross-AZ
* data transfer costs and minimize latency.
The throughput of an Amazon FSx file system, measured in megabytes per * second, in 2 to the nth increments, between 2^3 (8) and 2^11 (2048).
*/ inline int GetThroughputCapacity() const{ return m_throughputCapacity; } /** *The throughput of an Amazon FSx file system, measured in megabytes per * second, in 2 to the nth increments, between 2^3 (8) and 2^11 (2048).
*/ inline bool ThroughputCapacityHasBeenSet() const { return m_throughputCapacityHasBeenSet; } /** *The throughput of an Amazon FSx file system, measured in megabytes per * second, in 2 to the nth increments, between 2^3 (8) and 2^11 (2048).
*/ inline void SetThroughputCapacity(int value) { m_throughputCapacityHasBeenSet = true; m_throughputCapacity = value; } /** *The throughput of an Amazon FSx file system, measured in megabytes per * second, in 2 to the nth increments, between 2^3 (8) and 2^11 (2048).
*/ inline CreateFileSystemWindowsConfiguration& WithThroughputCapacity(int value) { SetThroughputCapacity(value); return *this;} /** *The preferred start time to perform weekly maintenance, formatted d:HH:MM in * the UTC time zone, where d is the weekday number, from 1 through 7, beginning * with Monday and ending with Sunday.
*/ inline const Aws::String& GetWeeklyMaintenanceStartTime() const{ return m_weeklyMaintenanceStartTime; } /** *The preferred start time to perform weekly maintenance, formatted d:HH:MM in * the UTC time zone, where d is the weekday number, from 1 through 7, beginning * with Monday and ending with Sunday.
*/ inline bool WeeklyMaintenanceStartTimeHasBeenSet() const { return m_weeklyMaintenanceStartTimeHasBeenSet; } /** *The preferred start time to perform weekly maintenance, formatted d:HH:MM in * the UTC time zone, where d is the weekday number, from 1 through 7, beginning * with Monday and ending with Sunday.
*/ inline void SetWeeklyMaintenanceStartTime(const Aws::String& value) { m_weeklyMaintenanceStartTimeHasBeenSet = true; m_weeklyMaintenanceStartTime = value; } /** *The preferred start time to perform weekly maintenance, formatted d:HH:MM in * the UTC time zone, where d is the weekday number, from 1 through 7, beginning * with Monday and ending with Sunday.
*/ inline void SetWeeklyMaintenanceStartTime(Aws::String&& value) { m_weeklyMaintenanceStartTimeHasBeenSet = true; m_weeklyMaintenanceStartTime = std::move(value); } /** *The preferred start time to perform weekly maintenance, formatted d:HH:MM in * the UTC time zone, where d is the weekday number, from 1 through 7, beginning * with Monday and ending with Sunday.
*/ inline void SetWeeklyMaintenanceStartTime(const char* value) { m_weeklyMaintenanceStartTimeHasBeenSet = true; m_weeklyMaintenanceStartTime.assign(value); } /** *The preferred start time to perform weekly maintenance, formatted d:HH:MM in * the UTC time zone, where d is the weekday number, from 1 through 7, beginning * with Monday and ending with Sunday.
*/ inline CreateFileSystemWindowsConfiguration& WithWeeklyMaintenanceStartTime(const Aws::String& value) { SetWeeklyMaintenanceStartTime(value); return *this;} /** *The preferred start time to perform weekly maintenance, formatted d:HH:MM in * the UTC time zone, where d is the weekday number, from 1 through 7, beginning * with Monday and ending with Sunday.
*/ inline CreateFileSystemWindowsConfiguration& WithWeeklyMaintenanceStartTime(Aws::String&& value) { SetWeeklyMaintenanceStartTime(std::move(value)); return *this;} /** *The preferred start time to perform weekly maintenance, formatted d:HH:MM in * the UTC time zone, where d is the weekday number, from 1 through 7, beginning * with Monday and ending with Sunday.
*/ inline CreateFileSystemWindowsConfiguration& WithWeeklyMaintenanceStartTime(const char* value) { SetWeeklyMaintenanceStartTime(value); return *this;} /** *The preferred time to take daily automatic backups, formatted HH:MM in the * UTC time zone.
*/ inline const Aws::String& GetDailyAutomaticBackupStartTime() const{ return m_dailyAutomaticBackupStartTime; } /** *The preferred time to take daily automatic backups, formatted HH:MM in the * UTC time zone.
*/ inline bool DailyAutomaticBackupStartTimeHasBeenSet() const { return m_dailyAutomaticBackupStartTimeHasBeenSet; } /** *The preferred time to take daily automatic backups, formatted HH:MM in the * UTC time zone.
*/ inline void SetDailyAutomaticBackupStartTime(const Aws::String& value) { m_dailyAutomaticBackupStartTimeHasBeenSet = true; m_dailyAutomaticBackupStartTime = value; } /** *The preferred time to take daily automatic backups, formatted HH:MM in the * UTC time zone.
*/ inline void SetDailyAutomaticBackupStartTime(Aws::String&& value) { m_dailyAutomaticBackupStartTimeHasBeenSet = true; m_dailyAutomaticBackupStartTime = std::move(value); } /** *The preferred time to take daily automatic backups, formatted HH:MM in the * UTC time zone.
*/ inline void SetDailyAutomaticBackupStartTime(const char* value) { m_dailyAutomaticBackupStartTimeHasBeenSet = true; m_dailyAutomaticBackupStartTime.assign(value); } /** *The preferred time to take daily automatic backups, formatted HH:MM in the * UTC time zone.
*/ inline CreateFileSystemWindowsConfiguration& WithDailyAutomaticBackupStartTime(const Aws::String& value) { SetDailyAutomaticBackupStartTime(value); return *this;} /** *The preferred time to take daily automatic backups, formatted HH:MM in the * UTC time zone.
*/ inline CreateFileSystemWindowsConfiguration& WithDailyAutomaticBackupStartTime(Aws::String&& value) { SetDailyAutomaticBackupStartTime(std::move(value)); return *this;} /** *The preferred time to take daily automatic backups, formatted HH:MM in the * UTC time zone.
*/ inline CreateFileSystemWindowsConfiguration& WithDailyAutomaticBackupStartTime(const char* value) { SetDailyAutomaticBackupStartTime(value); return *this;} /** *The number of days to retain automatic backups. The default is to retain * backups for 7 days. Setting this value to 0 disables the creation of automatic * backups. The maximum retention period for backups is 90 days.
*/ inline int GetAutomaticBackupRetentionDays() const{ return m_automaticBackupRetentionDays; } /** *The number of days to retain automatic backups. The default is to retain * backups for 7 days. Setting this value to 0 disables the creation of automatic * backups. The maximum retention period for backups is 90 days.
*/ inline bool AutomaticBackupRetentionDaysHasBeenSet() const { return m_automaticBackupRetentionDaysHasBeenSet; } /** *The number of days to retain automatic backups. The default is to retain * backups for 7 days. Setting this value to 0 disables the creation of automatic * backups. The maximum retention period for backups is 90 days.
*/ inline void SetAutomaticBackupRetentionDays(int value) { m_automaticBackupRetentionDaysHasBeenSet = true; m_automaticBackupRetentionDays = value; } /** *The number of days to retain automatic backups. The default is to retain * backups for 7 days. Setting this value to 0 disables the creation of automatic * backups. The maximum retention period for backups is 90 days.
*/ inline CreateFileSystemWindowsConfiguration& WithAutomaticBackupRetentionDays(int value) { SetAutomaticBackupRetentionDays(value); return *this;} /** *A boolean flag 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.
*/ inline bool GetCopyTagsToBackups() const{ return m_copyTagsToBackups; } /** *A boolean flag 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.
*/ inline bool CopyTagsToBackupsHasBeenSet() const { return m_copyTagsToBackupsHasBeenSet; } /** *A boolean flag 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.
*/ inline void SetCopyTagsToBackups(bool value) { m_copyTagsToBackupsHasBeenSet = true; m_copyTagsToBackups = value; } /** *A boolean flag 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.
*/ inline CreateFileSystemWindowsConfiguration& WithCopyTagsToBackups(bool value) { SetCopyTagsToBackups(value); return *this;} private: Aws::String m_activeDirectoryId; bool m_activeDirectoryIdHasBeenSet; SelfManagedActiveDirectoryConfiguration m_selfManagedActiveDirectoryConfiguration; bool m_selfManagedActiveDirectoryConfigurationHasBeenSet; WindowsDeploymentType m_deploymentType; bool m_deploymentTypeHasBeenSet; Aws::String m_preferredSubnetId; bool m_preferredSubnetIdHasBeenSet; int m_throughputCapacity; bool m_throughputCapacityHasBeenSet; Aws::String m_weeklyMaintenanceStartTime; bool m_weeklyMaintenanceStartTimeHasBeenSet; Aws::String m_dailyAutomaticBackupStartTime; bool m_dailyAutomaticBackupStartTimeHasBeenSet; int m_automaticBackupRetentionDays; bool m_automaticBackupRetentionDaysHasBeenSet; bool m_copyTagsToBackups; bool m_copyTagsToBackupsHasBeenSet; }; } // namespace Model } // namespace FSx } // namespace Aws