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

The configuration object for the Microsoft Windows file system used in * CreateFileSystem and CreateFileSystemFromBackup * operations.

See Also:

AWS * API Reference

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

The ID for an existing Amazon Web Services 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 Amazon Web Services 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 Amazon Web Services 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 Amazon Web Services 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 Amazon Web Services 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 Amazon Web Services 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 Amazon Web Services 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 Amazon Web Services 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 Amazon Web Services 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 Amazon Web Services 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 Amazon Web Services 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 Amazon Web Services 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 Amazon Web Services 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 Amazon Web Services 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-Amazon Web Services 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.

*/ inline const Aws::String& GetPreferredSubnetId() const{ return m_preferredSubnetId; } /** *

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-Amazon Web Services 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.

*/ inline bool PreferredSubnetIdHasBeenSet() const { return m_preferredSubnetIdHasBeenSet; } /** *

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-Amazon Web Services 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.

*/ inline void SetPreferredSubnetId(const Aws::String& value) { m_preferredSubnetIdHasBeenSet = true; m_preferredSubnetId = value; } /** *

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-Amazon Web Services 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.

*/ inline void SetPreferredSubnetId(Aws::String&& value) { m_preferredSubnetIdHasBeenSet = true; m_preferredSubnetId = std::move(value); } /** *

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-Amazon Web Services 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.

*/ inline void SetPreferredSubnetId(const char* value) { m_preferredSubnetIdHasBeenSet = true; m_preferredSubnetId.assign(value); } /** *

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-Amazon Web Services 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.

*/ inline CreateFileSystemWindowsConfiguration& WithPreferredSubnetId(const Aws::String& value) { SetPreferredSubnetId(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-Amazon Web Services 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.

*/ inline CreateFileSystemWindowsConfiguration& WithPreferredSubnetId(Aws::String&& value) { SetPreferredSubnetId(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-Amazon Web Services 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.

*/ inline CreateFileSystemWindowsConfiguration& WithPreferredSubnetId(const char* value) { SetPreferredSubnetId(value); return *this;} /** *

Sets the throughput capacity of an Amazon FSx file system, measured in * megabytes per second (MB/s), in 2 to the nth increments, between 2^3 (8) * and 2^11 (2048).

*/ inline int GetThroughputCapacity() const{ return m_throughputCapacity; } /** *

Sets the throughput capacity of an Amazon FSx file system, measured in * megabytes per second (MB/s), in 2 to the nth increments, between 2^3 (8) * and 2^11 (2048).

*/ inline bool ThroughputCapacityHasBeenSet() const { return m_throughputCapacityHasBeenSet; } /** *

Sets the throughput capacity of an Amazon FSx file system, measured in * megabytes per second (MB/s), 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; } /** *

Sets the throughput capacity of an Amazon FSx file system, measured in * megabytes per second (MB/s), 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. Setting this property to * 0 disables automatic backups. You can retain automatic backups for * a maximum of 90 days. The default is 30.

*/ inline int GetAutomaticBackupRetentionDays() const{ return m_automaticBackupRetentionDays; } /** *

The number of days to retain automatic backups. Setting this property to * 0 disables automatic backups. You can retain automatic backups for * a maximum of 90 days. The default is 30.

*/ inline bool AutomaticBackupRetentionDaysHasBeenSet() const { return m_automaticBackupRetentionDaysHasBeenSet; } /** *

The number of days to retain automatic backups. Setting this property to * 0 disables automatic backups. You can retain automatic backups for * a maximum of 90 days. The default is 30.

*/ inline void SetAutomaticBackupRetentionDays(int value) { m_automaticBackupRetentionDaysHasBeenSet = true; m_automaticBackupRetentionDays = value; } /** *

The number of days to retain automatic backups. Setting this property to * 0 disables automatic backups. You can retain automatic backups for * a maximum of 90 days. The default is 30.

*/ 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;} /** *

An array of one or more DNS alias names that you want to associate with the * Amazon FSx file system. Aliases allow you to use existing DNS names to access * the data in your Amazon FSx file system. You can associate up to 50 aliases with * a file system at any time. You can associate additional DNS aliases after you * create the file system using the AssociateFileSystemAliases operation. You can * remove DNS aliases from the file system after it is created using the * DisassociateFileSystemAliases operation. You only need to specify the alias name * in the request payload.

For more information, see Working * with DNS Aliases and Walkthrough * 5: Using DNS aliases to access your file system, including additional steps * you must take to be able to access your file system using a DNS alias.

An * alias name has to meet the following requirements:

  • Formatted as * a fully-qualified domain name (FQDN), hostname.domain, for example, * accounting.example.com.

  • Can contain alphanumeric * characters, the underscore (_), and the hyphen (-).

  • Cannot * start or end with a hyphen.

  • Can start with a numeric.

    *

For DNS alias names, Amazon FSx stores alphabetic characters as * lowercase letters (a-z), regardless of how you specify them: as uppercase * letters, lowercase letters, or the corresponding letters in escape codes.

*/ inline const Aws::Vector& GetAliases() const{ return m_aliases; } /** *

An array of one or more DNS alias names that you want to associate with the * Amazon FSx file system. Aliases allow you to use existing DNS names to access * the data in your Amazon FSx file system. You can associate up to 50 aliases with * a file system at any time. You can associate additional DNS aliases after you * create the file system using the AssociateFileSystemAliases operation. You can * remove DNS aliases from the file system after it is created using the * DisassociateFileSystemAliases operation. You only need to specify the alias name * in the request payload.

For more information, see Working * with DNS Aliases and Walkthrough * 5: Using DNS aliases to access your file system, including additional steps * you must take to be able to access your file system using a DNS alias.

An * alias name has to meet the following requirements:

  • Formatted as * a fully-qualified domain name (FQDN), hostname.domain, for example, * accounting.example.com.

  • Can contain alphanumeric * characters, the underscore (_), and the hyphen (-).

  • Cannot * start or end with a hyphen.

  • Can start with a numeric.

    *

For DNS alias names, Amazon FSx stores alphabetic characters as * lowercase letters (a-z), regardless of how you specify them: as uppercase * letters, lowercase letters, or the corresponding letters in escape codes.

*/ inline bool AliasesHasBeenSet() const { return m_aliasesHasBeenSet; } /** *

An array of one or more DNS alias names that you want to associate with the * Amazon FSx file system. Aliases allow you to use existing DNS names to access * the data in your Amazon FSx file system. You can associate up to 50 aliases with * a file system at any time. You can associate additional DNS aliases after you * create the file system using the AssociateFileSystemAliases operation. You can * remove DNS aliases from the file system after it is created using the * DisassociateFileSystemAliases operation. You only need to specify the alias name * in the request payload.

For more information, see Working * with DNS Aliases and Walkthrough * 5: Using DNS aliases to access your file system, including additional steps * you must take to be able to access your file system using a DNS alias.

An * alias name has to meet the following requirements:

  • Formatted as * a fully-qualified domain name (FQDN), hostname.domain, for example, * accounting.example.com.

  • Can contain alphanumeric * characters, the underscore (_), and the hyphen (-).

  • Cannot * start or end with a hyphen.

  • Can start with a numeric.

    *

For DNS alias names, Amazon FSx stores alphabetic characters as * lowercase letters (a-z), regardless of how you specify them: as uppercase * letters, lowercase letters, or the corresponding letters in escape codes.

*/ inline void SetAliases(const Aws::Vector& value) { m_aliasesHasBeenSet = true; m_aliases = value; } /** *

An array of one or more DNS alias names that you want to associate with the * Amazon FSx file system. Aliases allow you to use existing DNS names to access * the data in your Amazon FSx file system. You can associate up to 50 aliases with * a file system at any time. You can associate additional DNS aliases after you * create the file system using the AssociateFileSystemAliases operation. You can * remove DNS aliases from the file system after it is created using the * DisassociateFileSystemAliases operation. You only need to specify the alias name * in the request payload.

For more information, see Working * with DNS Aliases and Walkthrough * 5: Using DNS aliases to access your file system, including additional steps * you must take to be able to access your file system using a DNS alias.

An * alias name has to meet the following requirements:

  • Formatted as * a fully-qualified domain name (FQDN), hostname.domain, for example, * accounting.example.com.

  • Can contain alphanumeric * characters, the underscore (_), and the hyphen (-).

  • Cannot * start or end with a hyphen.

  • Can start with a numeric.

    *

For DNS alias names, Amazon FSx stores alphabetic characters as * lowercase letters (a-z), regardless of how you specify them: as uppercase * letters, lowercase letters, or the corresponding letters in escape codes.

*/ inline void SetAliases(Aws::Vector&& value) { m_aliasesHasBeenSet = true; m_aliases = std::move(value); } /** *

An array of one or more DNS alias names that you want to associate with the * Amazon FSx file system. Aliases allow you to use existing DNS names to access * the data in your Amazon FSx file system. You can associate up to 50 aliases with * a file system at any time. You can associate additional DNS aliases after you * create the file system using the AssociateFileSystemAliases operation. You can * remove DNS aliases from the file system after it is created using the * DisassociateFileSystemAliases operation. You only need to specify the alias name * in the request payload.

For more information, see Working * with DNS Aliases and Walkthrough * 5: Using DNS aliases to access your file system, including additional steps * you must take to be able to access your file system using a DNS alias.

An * alias name has to meet the following requirements:

  • Formatted as * a fully-qualified domain name (FQDN), hostname.domain, for example, * accounting.example.com.

  • Can contain alphanumeric * characters, the underscore (_), and the hyphen (-).

  • Cannot * start or end with a hyphen.

  • Can start with a numeric.

    *

For DNS alias names, Amazon FSx stores alphabetic characters as * lowercase letters (a-z), regardless of how you specify them: as uppercase * letters, lowercase letters, or the corresponding letters in escape codes.

*/ inline CreateFileSystemWindowsConfiguration& WithAliases(const Aws::Vector& value) { SetAliases(value); return *this;} /** *

An array of one or more DNS alias names that you want to associate with the * Amazon FSx file system. Aliases allow you to use existing DNS names to access * the data in your Amazon FSx file system. You can associate up to 50 aliases with * a file system at any time. You can associate additional DNS aliases after you * create the file system using the AssociateFileSystemAliases operation. You can * remove DNS aliases from the file system after it is created using the * DisassociateFileSystemAliases operation. You only need to specify the alias name * in the request payload.

For more information, see Working * with DNS Aliases and Walkthrough * 5: Using DNS aliases to access your file system, including additional steps * you must take to be able to access your file system using a DNS alias.

An * alias name has to meet the following requirements:

  • Formatted as * a fully-qualified domain name (FQDN), hostname.domain, for example, * accounting.example.com.

  • Can contain alphanumeric * characters, the underscore (_), and the hyphen (-).

  • Cannot * start or end with a hyphen.

  • Can start with a numeric.

    *

For DNS alias names, Amazon FSx stores alphabetic characters as * lowercase letters (a-z), regardless of how you specify them: as uppercase * letters, lowercase letters, or the corresponding letters in escape codes.

*/ inline CreateFileSystemWindowsConfiguration& WithAliases(Aws::Vector&& value) { SetAliases(std::move(value)); return *this;} /** *

An array of one or more DNS alias names that you want to associate with the * Amazon FSx file system. Aliases allow you to use existing DNS names to access * the data in your Amazon FSx file system. You can associate up to 50 aliases with * a file system at any time. You can associate additional DNS aliases after you * create the file system using the AssociateFileSystemAliases operation. You can * remove DNS aliases from the file system after it is created using the * DisassociateFileSystemAliases operation. You only need to specify the alias name * in the request payload.

For more information, see Working * with DNS Aliases and Walkthrough * 5: Using DNS aliases to access your file system, including additional steps * you must take to be able to access your file system using a DNS alias.

An * alias name has to meet the following requirements:

  • Formatted as * a fully-qualified domain name (FQDN), hostname.domain, for example, * accounting.example.com.

  • Can contain alphanumeric * characters, the underscore (_), and the hyphen (-).

  • Cannot * start or end with a hyphen.

  • Can start with a numeric.

    *

For DNS alias names, Amazon FSx stores alphabetic characters as * lowercase letters (a-z), regardless of how you specify them: as uppercase * letters, lowercase letters, or the corresponding letters in escape codes.

*/ inline CreateFileSystemWindowsConfiguration& AddAliases(const Aws::String& value) { m_aliasesHasBeenSet = true; m_aliases.push_back(value); return *this; } /** *

An array of one or more DNS alias names that you want to associate with the * Amazon FSx file system. Aliases allow you to use existing DNS names to access * the data in your Amazon FSx file system. You can associate up to 50 aliases with * a file system at any time. You can associate additional DNS aliases after you * create the file system using the AssociateFileSystemAliases operation. You can * remove DNS aliases from the file system after it is created using the * DisassociateFileSystemAliases operation. You only need to specify the alias name * in the request payload.

For more information, see Working * with DNS Aliases and Walkthrough * 5: Using DNS aliases to access your file system, including additional steps * you must take to be able to access your file system using a DNS alias.

An * alias name has to meet the following requirements:

  • Formatted as * a fully-qualified domain name (FQDN), hostname.domain, for example, * accounting.example.com.

  • Can contain alphanumeric * characters, the underscore (_), and the hyphen (-).

  • Cannot * start or end with a hyphen.

  • Can start with a numeric.

    *

For DNS alias names, Amazon FSx stores alphabetic characters as * lowercase letters (a-z), regardless of how you specify them: as uppercase * letters, lowercase letters, or the corresponding letters in escape codes.

*/ inline CreateFileSystemWindowsConfiguration& AddAliases(Aws::String&& value) { m_aliasesHasBeenSet = true; m_aliases.push_back(std::move(value)); return *this; } /** *

An array of one or more DNS alias names that you want to associate with the * Amazon FSx file system. Aliases allow you to use existing DNS names to access * the data in your Amazon FSx file system. You can associate up to 50 aliases with * a file system at any time. You can associate additional DNS aliases after you * create the file system using the AssociateFileSystemAliases operation. You can * remove DNS aliases from the file system after it is created using the * DisassociateFileSystemAliases operation. You only need to specify the alias name * in the request payload.

For more information, see Working * with DNS Aliases and Walkthrough * 5: Using DNS aliases to access your file system, including additional steps * you must take to be able to access your file system using a DNS alias.

An * alias name has to meet the following requirements:

  • Formatted as * a fully-qualified domain name (FQDN), hostname.domain, for example, * accounting.example.com.

  • Can contain alphanumeric * characters, the underscore (_), and the hyphen (-).

  • Cannot * start or end with a hyphen.

  • Can start with a numeric.

    *

For DNS alias names, Amazon FSx stores alphabetic characters as * lowercase letters (a-z), regardless of how you specify them: as uppercase * letters, lowercase letters, or the corresponding letters in escape codes.

*/ inline CreateFileSystemWindowsConfiguration& AddAliases(const char* value) { m_aliasesHasBeenSet = true; m_aliases.push_back(value); return *this; } /** *

The configuration that Amazon FSx for Windows File Server uses to audit and * log user accesses of files, folders, and file shares on the Amazon FSx for * Windows File Server file system.

*/ inline const WindowsAuditLogCreateConfiguration& GetAuditLogConfiguration() const{ return m_auditLogConfiguration; } /** *

The configuration that Amazon FSx for Windows File Server uses to audit and * log user accesses of files, folders, and file shares on the Amazon FSx for * Windows File Server file system.

*/ inline bool AuditLogConfigurationHasBeenSet() const { return m_auditLogConfigurationHasBeenSet; } /** *

The configuration that Amazon FSx for Windows File Server uses to audit and * log user accesses of files, folders, and file shares on the Amazon FSx for * Windows File Server file system.

*/ inline void SetAuditLogConfiguration(const WindowsAuditLogCreateConfiguration& value) { m_auditLogConfigurationHasBeenSet = true; m_auditLogConfiguration = value; } /** *

The configuration that Amazon FSx for Windows File Server uses to audit and * log user accesses of files, folders, and file shares on the Amazon FSx for * Windows File Server file system.

*/ inline void SetAuditLogConfiguration(WindowsAuditLogCreateConfiguration&& value) { m_auditLogConfigurationHasBeenSet = true; m_auditLogConfiguration = std::move(value); } /** *

The configuration that Amazon FSx for Windows File Server uses to audit and * log user accesses of files, folders, and file shares on the Amazon FSx for * Windows File Server file system.

*/ inline CreateFileSystemWindowsConfiguration& WithAuditLogConfiguration(const WindowsAuditLogCreateConfiguration& value) { SetAuditLogConfiguration(value); return *this;} /** *

The configuration that Amazon FSx for Windows File Server uses to audit and * log user accesses of files, folders, and file shares on the Amazon FSx for * Windows File Server file system.

*/ inline CreateFileSystemWindowsConfiguration& WithAuditLogConfiguration(WindowsAuditLogCreateConfiguration&& value) { SetAuditLogConfiguration(std::move(value)); return *this;} private: Aws::String m_activeDirectoryId; bool m_activeDirectoryIdHasBeenSet = false; SelfManagedActiveDirectoryConfiguration m_selfManagedActiveDirectoryConfiguration; bool m_selfManagedActiveDirectoryConfigurationHasBeenSet = false; WindowsDeploymentType m_deploymentType; bool m_deploymentTypeHasBeenSet = false; Aws::String m_preferredSubnetId; bool m_preferredSubnetIdHasBeenSet = false; int m_throughputCapacity; bool m_throughputCapacityHasBeenSet = false; Aws::String m_weeklyMaintenanceStartTime; bool m_weeklyMaintenanceStartTimeHasBeenSet = false; Aws::String m_dailyAutomaticBackupStartTime; bool m_dailyAutomaticBackupStartTimeHasBeenSet = false; int m_automaticBackupRetentionDays; bool m_automaticBackupRetentionDaysHasBeenSet = false; bool m_copyTagsToBackups; bool m_copyTagsToBackupsHasBeenSet = false; Aws::Vector m_aliases; bool m_aliasesHasBeenSet = false; WindowsAuditLogCreateConfiguration m_auditLogConfiguration; bool m_auditLogConfigurationHasBeenSet = false; }; } // namespace Model } // namespace FSx } // namespace Aws