/** * 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 for this Microsoft Windows file system.

See * Also:

AWS * API Reference

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

The ID for an existing Microsoft Active Directory 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 Microsoft Active Directory instance that the file * system should join when it's created.

*/ inline bool ActiveDirectoryIdHasBeenSet() const { return m_activeDirectoryIdHasBeenSet; } /** *

The ID for an existing Microsoft Active Directory 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 Microsoft Active Directory 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 Microsoft Active Directory 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 Microsoft Active Directory instance that the file * system should join when it's created.

*/ inline WindowsFileSystemConfiguration& WithActiveDirectoryId(const Aws::String& value) { SetActiveDirectoryId(value); return *this;} /** *

The ID for an existing Microsoft Active Directory instance that the file * system should join when it's created.

*/ inline WindowsFileSystemConfiguration& WithActiveDirectoryId(Aws::String&& value) { SetActiveDirectoryId(std::move(value)); return *this;} /** *

The ID for an existing Microsoft Active Directory instance that the file * system should join when it's created.

*/ inline WindowsFileSystemConfiguration& WithActiveDirectoryId(const char* value) { SetActiveDirectoryId(value); return *this;} inline const SelfManagedActiveDirectoryAttributes& GetSelfManagedActiveDirectoryConfiguration() const{ return m_selfManagedActiveDirectoryConfiguration; } inline bool SelfManagedActiveDirectoryConfigurationHasBeenSet() const { return m_selfManagedActiveDirectoryConfigurationHasBeenSet; } inline void SetSelfManagedActiveDirectoryConfiguration(const SelfManagedActiveDirectoryAttributes& value) { m_selfManagedActiveDirectoryConfigurationHasBeenSet = true; m_selfManagedActiveDirectoryConfiguration = value; } inline void SetSelfManagedActiveDirectoryConfiguration(SelfManagedActiveDirectoryAttributes&& value) { m_selfManagedActiveDirectoryConfigurationHasBeenSet = true; m_selfManagedActiveDirectoryConfiguration = std::move(value); } inline WindowsFileSystemConfiguration& WithSelfManagedActiveDirectoryConfiguration(const SelfManagedActiveDirectoryAttributes& value) { SetSelfManagedActiveDirectoryConfiguration(value); return *this;} inline WindowsFileSystemConfiguration& WithSelfManagedActiveDirectoryConfiguration(SelfManagedActiveDirectoryAttributes&& value) { SetSelfManagedActiveDirectoryConfiguration(std::move(value)); return *this;} /** *

Specifies the file system deployment type, valid values are the * following:

  • MULTI_AZ_1 - Specifies a high * availability file system that is configured for Multi-AZ redundancy to tolerate * temporary Availability Zone (AZ) unavailability, and supports SSD and HDD * storage.

  • SINGLE_AZ_1 - (Default) Specifies a * file system that is configured for single AZ redundancy, only supports SSD * storage.

  • SINGLE_AZ_2 - Latest generation Single * AZ file system. Specifies a file system that is configured for single AZ * redundancy and supports SSD and HDD storage.

For more * information, see 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 - Specifies a high * availability file system that is configured for Multi-AZ redundancy to tolerate * temporary Availability Zone (AZ) unavailability, and supports SSD and HDD * storage.

  • SINGLE_AZ_1 - (Default) Specifies a * file system that is configured for single AZ redundancy, only supports SSD * storage.

  • SINGLE_AZ_2 - Latest generation Single * AZ file system. Specifies a file system that is configured for single AZ * redundancy and supports SSD and HDD storage.

For more * information, see 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 - Specifies a high * availability file system that is configured for Multi-AZ redundancy to tolerate * temporary Availability Zone (AZ) unavailability, and supports SSD and HDD * storage.

  • SINGLE_AZ_1 - (Default) Specifies a * file system that is configured for single AZ redundancy, only supports SSD * storage.

  • SINGLE_AZ_2 - Latest generation Single * AZ file system. Specifies a file system that is configured for single AZ * redundancy and supports SSD and HDD storage.

For more * information, see 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 - Specifies a high * availability file system that is configured for Multi-AZ redundancy to tolerate * temporary Availability Zone (AZ) unavailability, and supports SSD and HDD * storage.

  • SINGLE_AZ_1 - (Default) Specifies a * file system that is configured for single AZ redundancy, only supports SSD * storage.

  • SINGLE_AZ_2 - Latest generation Single * AZ file system. Specifies a file system that is configured for single AZ * redundancy and supports SSD and HDD storage.

For more * information, see 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 - Specifies a high * availability file system that is configured for Multi-AZ redundancy to tolerate * temporary Availability Zone (AZ) unavailability, and supports SSD and HDD * storage.

  • SINGLE_AZ_1 - (Default) Specifies a * file system that is configured for single AZ redundancy, only supports SSD * storage.

  • SINGLE_AZ_2 - Latest generation Single * AZ file system. Specifies a file system that is configured for single AZ * redundancy and supports SSD and HDD storage.

For more * information, see Single-AZ * and Multi-AZ File Systems.

*/ inline WindowsFileSystemConfiguration& WithDeploymentType(const WindowsDeploymentType& value) { SetDeploymentType(value); return *this;} /** *

Specifies the file system deployment type, valid values are the * following:

  • MULTI_AZ_1 - Specifies a high * availability file system that is configured for Multi-AZ redundancy to tolerate * temporary Availability Zone (AZ) unavailability, and supports SSD and HDD * storage.

  • SINGLE_AZ_1 - (Default) Specifies a * file system that is configured for single AZ redundancy, only supports SSD * storage.

  • SINGLE_AZ_2 - Latest generation Single * AZ file system. Specifies a file system that is configured for single AZ * redundancy and supports SSD and HDD storage.

For more * information, see Single-AZ * and Multi-AZ File Systems.

*/ inline WindowsFileSystemConfiguration& WithDeploymentType(WindowsDeploymentType&& value) { SetDeploymentType(std::move(value)); return *this;} /** *

For MULTI_AZ_1 deployment types, use this endpoint when * performing administrative tasks on the file system using Amazon FSx Remote * PowerShell.

For SINGLE_AZ_1 and SINGLE_AZ_2 * deployment types, this is the DNS name of the file system.

This endpoint * is temporarily unavailable when the file system is undergoing maintenance.

*/ inline const Aws::String& GetRemoteAdministrationEndpoint() const{ return m_remoteAdministrationEndpoint; } /** *

For MULTI_AZ_1 deployment types, use this endpoint when * performing administrative tasks on the file system using Amazon FSx Remote * PowerShell.

For SINGLE_AZ_1 and SINGLE_AZ_2 * deployment types, this is the DNS name of the file system.

This endpoint * is temporarily unavailable when the file system is undergoing maintenance.

*/ inline bool RemoteAdministrationEndpointHasBeenSet() const { return m_remoteAdministrationEndpointHasBeenSet; } /** *

For MULTI_AZ_1 deployment types, use this endpoint when * performing administrative tasks on the file system using Amazon FSx Remote * PowerShell.

For SINGLE_AZ_1 and SINGLE_AZ_2 * deployment types, this is the DNS name of the file system.

This endpoint * is temporarily unavailable when the file system is undergoing maintenance.

*/ inline void SetRemoteAdministrationEndpoint(const Aws::String& value) { m_remoteAdministrationEndpointHasBeenSet = true; m_remoteAdministrationEndpoint = value; } /** *

For MULTI_AZ_1 deployment types, use this endpoint when * performing administrative tasks on the file system using Amazon FSx Remote * PowerShell.

For SINGLE_AZ_1 and SINGLE_AZ_2 * deployment types, this is the DNS name of the file system.

This endpoint * is temporarily unavailable when the file system is undergoing maintenance.

*/ inline void SetRemoteAdministrationEndpoint(Aws::String&& value) { m_remoteAdministrationEndpointHasBeenSet = true; m_remoteAdministrationEndpoint = std::move(value); } /** *

For MULTI_AZ_1 deployment types, use this endpoint when * performing administrative tasks on the file system using Amazon FSx Remote * PowerShell.

For SINGLE_AZ_1 and SINGLE_AZ_2 * deployment types, this is the DNS name of the file system.

This endpoint * is temporarily unavailable when the file system is undergoing maintenance.

*/ inline void SetRemoteAdministrationEndpoint(const char* value) { m_remoteAdministrationEndpointHasBeenSet = true; m_remoteAdministrationEndpoint.assign(value); } /** *

For MULTI_AZ_1 deployment types, use this endpoint when * performing administrative tasks on the file system using Amazon FSx Remote * PowerShell.

For SINGLE_AZ_1 and SINGLE_AZ_2 * deployment types, this is the DNS name of the file system.

This endpoint * is temporarily unavailable when the file system is undergoing maintenance.

*/ inline WindowsFileSystemConfiguration& WithRemoteAdministrationEndpoint(const Aws::String& value) { SetRemoteAdministrationEndpoint(value); return *this;} /** *

For MULTI_AZ_1 deployment types, use this endpoint when * performing administrative tasks on the file system using Amazon FSx Remote * PowerShell.

For SINGLE_AZ_1 and SINGLE_AZ_2 * deployment types, this is the DNS name of the file system.

This endpoint * is temporarily unavailable when the file system is undergoing maintenance.

*/ inline WindowsFileSystemConfiguration& WithRemoteAdministrationEndpoint(Aws::String&& value) { SetRemoteAdministrationEndpoint(std::move(value)); return *this;} /** *

For MULTI_AZ_1 deployment types, use this endpoint when * performing administrative tasks on the file system using Amazon FSx Remote * PowerShell.

For SINGLE_AZ_1 and SINGLE_AZ_2 * deployment types, this is the DNS name of the file system.

This endpoint * is temporarily unavailable when the file system is undergoing maintenance.

*/ inline WindowsFileSystemConfiguration& WithRemoteAdministrationEndpoint(const char* value) { SetRemoteAdministrationEndpoint(value); return *this;} /** *

For MULTI_AZ_1 deployment types, it specifies the ID of the * subnet where the preferred file server is located. Must be one of the two subnet * IDs specified in SubnetIds property. Amazon FSx serves traffic from * this subnet except in the event of a failover to the secondary file server.

*

For SINGLE_AZ_1 and SINGLE_AZ_2 deployment types, * this value is the same as that for SubnetIDs. For more information, * see Availability * and Durability: Single-AZ and Multi-AZ File Systems

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

For MULTI_AZ_1 deployment types, it specifies the ID of the * subnet where the preferred file server is located. Must be one of the two subnet * IDs specified in SubnetIds property. Amazon FSx serves traffic from * this subnet except in the event of a failover to the secondary file server.

*

For SINGLE_AZ_1 and SINGLE_AZ_2 deployment types, * this value is the same as that for SubnetIDs. For more information, * see Availability * and Durability: Single-AZ and Multi-AZ File Systems

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

For MULTI_AZ_1 deployment types, it specifies the ID of the * subnet where the preferred file server is located. Must be one of the two subnet * IDs specified in SubnetIds property. Amazon FSx serves traffic from * this subnet except in the event of a failover to the secondary file server.

*

For SINGLE_AZ_1 and SINGLE_AZ_2 deployment types, * this value is the same as that for SubnetIDs. For more information, * see Availability * and Durability: Single-AZ and Multi-AZ File Systems

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

For MULTI_AZ_1 deployment types, it specifies the ID of the * subnet where the preferred file server is located. Must be one of the two subnet * IDs specified in SubnetIds property. Amazon FSx serves traffic from * this subnet except in the event of a failover to the secondary file server.

*

For SINGLE_AZ_1 and SINGLE_AZ_2 deployment types, * this value is the same as that for SubnetIDs. For more information, * see Availability * and Durability: Single-AZ and Multi-AZ File Systems

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

For MULTI_AZ_1 deployment types, it specifies the ID of the * subnet where the preferred file server is located. Must be one of the two subnet * IDs specified in SubnetIds property. Amazon FSx serves traffic from * this subnet except in the event of a failover to the secondary file server.

*

For SINGLE_AZ_1 and SINGLE_AZ_2 deployment types, * this value is the same as that for SubnetIDs. For more information, * see Availability * and Durability: Single-AZ and Multi-AZ File Systems

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

For MULTI_AZ_1 deployment types, it specifies the ID of the * subnet where the preferred file server is located. Must be one of the two subnet * IDs specified in SubnetIds property. Amazon FSx serves traffic from * this subnet except in the event of a failover to the secondary file server.

*

For SINGLE_AZ_1 and SINGLE_AZ_2 deployment types, * this value is the same as that for SubnetIDs. For more information, * see Availability * and Durability: Single-AZ and Multi-AZ File Systems

*/ inline WindowsFileSystemConfiguration& WithPreferredSubnetId(const Aws::String& value) { SetPreferredSubnetId(value); return *this;} /** *

For MULTI_AZ_1 deployment types, it specifies the ID of the * subnet where the preferred file server is located. Must be one of the two subnet * IDs specified in SubnetIds property. Amazon FSx serves traffic from * this subnet except in the event of a failover to the secondary file server.

*

For SINGLE_AZ_1 and SINGLE_AZ_2 deployment types, * this value is the same as that for SubnetIDs. For more information, * see Availability * and Durability: Single-AZ and Multi-AZ File Systems

*/ inline WindowsFileSystemConfiguration& WithPreferredSubnetId(Aws::String&& value) { SetPreferredSubnetId(std::move(value)); return *this;} /** *

For MULTI_AZ_1 deployment types, it specifies the ID of the * subnet where the preferred file server is located. Must be one of the two subnet * IDs specified in SubnetIds property. Amazon FSx serves traffic from * this subnet except in the event of a failover to the secondary file server.

*

For SINGLE_AZ_1 and SINGLE_AZ_2 deployment types, * this value is the same as that for SubnetIDs. For more information, * see Availability * and Durability: Single-AZ and Multi-AZ File Systems

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

For MULTI_AZ_1 deployment types, the IP address of the primary, * or preferred, file server.

Use this IP address when mounting the file * system on Linux SMB clients or Windows SMB clients that are not joined to a * Microsoft Active Directory. Applicable for all Windows file system deployment * types. This IP address is temporarily unavailable when the file system is * undergoing maintenance. For Linux and Windows SMB clients that are joined to an * Active Directory, use the file system's DNSName instead. For more information on * mapping and mounting file shares, see Accessing * File Shares.

*/ inline const Aws::String& GetPreferredFileServerIp() const{ return m_preferredFileServerIp; } /** *

For MULTI_AZ_1 deployment types, the IP address of the primary, * or preferred, file server.

Use this IP address when mounting the file * system on Linux SMB clients or Windows SMB clients that are not joined to a * Microsoft Active Directory. Applicable for all Windows file system deployment * types. This IP address is temporarily unavailable when the file system is * undergoing maintenance. For Linux and Windows SMB clients that are joined to an * Active Directory, use the file system's DNSName instead. For more information on * mapping and mounting file shares, see Accessing * File Shares.

*/ inline bool PreferredFileServerIpHasBeenSet() const { return m_preferredFileServerIpHasBeenSet; } /** *

For MULTI_AZ_1 deployment types, the IP address of the primary, * or preferred, file server.

Use this IP address when mounting the file * system on Linux SMB clients or Windows SMB clients that are not joined to a * Microsoft Active Directory. Applicable for all Windows file system deployment * types. This IP address is temporarily unavailable when the file system is * undergoing maintenance. For Linux and Windows SMB clients that are joined to an * Active Directory, use the file system's DNSName instead. For more information on * mapping and mounting file shares, see Accessing * File Shares.

*/ inline void SetPreferredFileServerIp(const Aws::String& value) { m_preferredFileServerIpHasBeenSet = true; m_preferredFileServerIp = value; } /** *

For MULTI_AZ_1 deployment types, the IP address of the primary, * or preferred, file server.

Use this IP address when mounting the file * system on Linux SMB clients or Windows SMB clients that are not joined to a * Microsoft Active Directory. Applicable for all Windows file system deployment * types. This IP address is temporarily unavailable when the file system is * undergoing maintenance. For Linux and Windows SMB clients that are joined to an * Active Directory, use the file system's DNSName instead. For more information on * mapping and mounting file shares, see Accessing * File Shares.

*/ inline void SetPreferredFileServerIp(Aws::String&& value) { m_preferredFileServerIpHasBeenSet = true; m_preferredFileServerIp = std::move(value); } /** *

For MULTI_AZ_1 deployment types, the IP address of the primary, * or preferred, file server.

Use this IP address when mounting the file * system on Linux SMB clients or Windows SMB clients that are not joined to a * Microsoft Active Directory. Applicable for all Windows file system deployment * types. This IP address is temporarily unavailable when the file system is * undergoing maintenance. For Linux and Windows SMB clients that are joined to an * Active Directory, use the file system's DNSName instead. For more information on * mapping and mounting file shares, see Accessing * File Shares.

*/ inline void SetPreferredFileServerIp(const char* value) { m_preferredFileServerIpHasBeenSet = true; m_preferredFileServerIp.assign(value); } /** *

For MULTI_AZ_1 deployment types, the IP address of the primary, * or preferred, file server.

Use this IP address when mounting the file * system on Linux SMB clients or Windows SMB clients that are not joined to a * Microsoft Active Directory. Applicable for all Windows file system deployment * types. This IP address is temporarily unavailable when the file system is * undergoing maintenance. For Linux and Windows SMB clients that are joined to an * Active Directory, use the file system's DNSName instead. For more information on * mapping and mounting file shares, see Accessing * File Shares.

*/ inline WindowsFileSystemConfiguration& WithPreferredFileServerIp(const Aws::String& value) { SetPreferredFileServerIp(value); return *this;} /** *

For MULTI_AZ_1 deployment types, the IP address of the primary, * or preferred, file server.

Use this IP address when mounting the file * system on Linux SMB clients or Windows SMB clients that are not joined to a * Microsoft Active Directory. Applicable for all Windows file system deployment * types. This IP address is temporarily unavailable when the file system is * undergoing maintenance. For Linux and Windows SMB clients that are joined to an * Active Directory, use the file system's DNSName instead. For more information on * mapping and mounting file shares, see Accessing * File Shares.

*/ inline WindowsFileSystemConfiguration& WithPreferredFileServerIp(Aws::String&& value) { SetPreferredFileServerIp(std::move(value)); return *this;} /** *

For MULTI_AZ_1 deployment types, the IP address of the primary, * or preferred, file server.

Use this IP address when mounting the file * system on Linux SMB clients or Windows SMB clients that are not joined to a * Microsoft Active Directory. Applicable for all Windows file system deployment * types. This IP address is temporarily unavailable when the file system is * undergoing maintenance. For Linux and Windows SMB clients that are joined to an * Active Directory, use the file system's DNSName instead. For more information on * mapping and mounting file shares, see Accessing * File Shares.

*/ inline WindowsFileSystemConfiguration& WithPreferredFileServerIp(const char* value) { SetPreferredFileServerIp(value); return *this;} /** *

The throughput of an Amazon FSx file system, measured in megabytes per * second.

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

The throughput of an Amazon FSx file system, measured in megabytes per * second.

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

The throughput of an Amazon FSx file system, measured in megabytes per * second.

*/ inline void SetThroughputCapacity(int value) { m_throughputCapacityHasBeenSet = true; m_throughputCapacity = value; } /** *

The throughput of an Amazon FSx file system, measured in megabytes per * second.

*/ inline WindowsFileSystemConfiguration& WithThroughputCapacity(int value) { SetThroughputCapacity(value); return *this;} /** *

The list of maintenance operations in progress for this file system.

*/ inline const Aws::Vector& GetMaintenanceOperationsInProgress() const{ return m_maintenanceOperationsInProgress; } /** *

The list of maintenance operations in progress for this file system.

*/ inline bool MaintenanceOperationsInProgressHasBeenSet() const { return m_maintenanceOperationsInProgressHasBeenSet; } /** *

The list of maintenance operations in progress for this file system.

*/ inline void SetMaintenanceOperationsInProgress(const Aws::Vector& value) { m_maintenanceOperationsInProgressHasBeenSet = true; m_maintenanceOperationsInProgress = value; } /** *

The list of maintenance operations in progress for this file system.

*/ inline void SetMaintenanceOperationsInProgress(Aws::Vector&& value) { m_maintenanceOperationsInProgressHasBeenSet = true; m_maintenanceOperationsInProgress = std::move(value); } /** *

The list of maintenance operations in progress for this file system.

*/ inline WindowsFileSystemConfiguration& WithMaintenanceOperationsInProgress(const Aws::Vector& value) { SetMaintenanceOperationsInProgress(value); return *this;} /** *

The list of maintenance operations in progress for this file system.

*/ inline WindowsFileSystemConfiguration& WithMaintenanceOperationsInProgress(Aws::Vector&& value) { SetMaintenanceOperationsInProgress(std::move(value)); return *this;} /** *

The list of maintenance operations in progress for this file system.

*/ inline WindowsFileSystemConfiguration& AddMaintenanceOperationsInProgress(const FileSystemMaintenanceOperation& value) { m_maintenanceOperationsInProgressHasBeenSet = true; m_maintenanceOperationsInProgress.push_back(value); return *this; } /** *

The list of maintenance operations in progress for this file system.

*/ inline WindowsFileSystemConfiguration& AddMaintenanceOperationsInProgress(FileSystemMaintenanceOperation&& value) { m_maintenanceOperationsInProgressHasBeenSet = true; m_maintenanceOperationsInProgress.push_back(std::move(value)); return *this; } /** *

The preferred start time to perform weekly maintenance, formatted d:HH:MM in * the UTC time zone. 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. 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. 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. 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. 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. d is the weekday number, from 1 through 7, beginning with * Monday and ending with Sunday.

*/ inline WindowsFileSystemConfiguration& 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. d is the weekday number, from 1 through 7, beginning with * Monday and ending with Sunday.

*/ inline WindowsFileSystemConfiguration& 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. d is the weekday number, from 1 through 7, beginning with * Monday and ending with Sunday.

*/ inline WindowsFileSystemConfiguration& WithWeeklyMaintenanceStartTime(const char* value) { SetWeeklyMaintenanceStartTime(value); return *this;} /** *

The preferred time to take daily automatic backups, in the UTC time zone.

*/ inline const Aws::String& GetDailyAutomaticBackupStartTime() const{ return m_dailyAutomaticBackupStartTime; } /** *

The preferred time to take daily automatic backups, in the UTC time zone.

*/ inline bool DailyAutomaticBackupStartTimeHasBeenSet() const { return m_dailyAutomaticBackupStartTimeHasBeenSet; } /** *

The preferred time to take daily automatic backups, 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, 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, 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, in the UTC time zone.

*/ inline WindowsFileSystemConfiguration& WithDailyAutomaticBackupStartTime(const Aws::String& value) { SetDailyAutomaticBackupStartTime(value); return *this;} /** *

The preferred time to take daily automatic backups, in the UTC time zone.

*/ inline WindowsFileSystemConfiguration& WithDailyAutomaticBackupStartTime(Aws::String&& value) { SetDailyAutomaticBackupStartTime(std::move(value)); return *this;} /** *

The preferred time to take daily automatic backups, in the UTC time zone.

*/ inline WindowsFileSystemConfiguration& WithDailyAutomaticBackupStartTime(const char* value) { SetDailyAutomaticBackupStartTime(value); return *this;} /** *

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

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

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

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

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

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

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

*/ inline WindowsFileSystemConfiguration& WithAutomaticBackupRetentionDays(int value) { SetAutomaticBackupRetentionDays(value); return *this;} /** *

A boolean flag indicating whether tags on the file system should be copied to * backups. This value defaults to false. If it's set to true, all tags on the file * system are copied to all automatic backups and any user-initiated backups where * the user doesn't specify any 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 on the file system should be copied to * backups. This value defaults to false. If it's set to true, all tags on the file * system are copied to all automatic backups and any user-initiated backups where * the user doesn't specify any 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 on the file system should be copied to * backups. This value defaults to false. If it's set to true, all tags on the file * system are copied to all automatic backups and any user-initiated backups where * the user doesn't specify any 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 on the file system should be copied to * backups. This value defaults to false. If it's set to true, all tags on the file * system are copied to all automatic backups and any user-initiated backups where * the user doesn't specify any 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 WindowsFileSystemConfiguration& WithCopyTagsToBackups(bool value) { SetCopyTagsToBackups(value); return *this;} private: Aws::String m_activeDirectoryId; bool m_activeDirectoryIdHasBeenSet; SelfManagedActiveDirectoryAttributes m_selfManagedActiveDirectoryConfiguration; bool m_selfManagedActiveDirectoryConfigurationHasBeenSet; WindowsDeploymentType m_deploymentType; bool m_deploymentTypeHasBeenSet; Aws::String m_remoteAdministrationEndpoint; bool m_remoteAdministrationEndpointHasBeenSet; Aws::String m_preferredSubnetId; bool m_preferredSubnetIdHasBeenSet; Aws::String m_preferredFileServerIp; bool m_preferredFileServerIpHasBeenSet; int m_throughputCapacity; bool m_throughputCapacityHasBeenSet; Aws::Vector m_maintenanceOperationsInProgress; bool m_maintenanceOperationsInProgressHasBeenSet; 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