/** * 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 #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 WindowsFileSystemConfiguration { public: AWS_FSX_API WindowsFileSystemConfiguration(); AWS_FSX_API WindowsFileSystemConfiguration(Aws::Utils::Json::JsonView jsonValue); AWS_FSX_API WindowsFileSystemConfiguration& 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 * instance that the file system is joined to.

*/ inline const Aws::String& GetActiveDirectoryId() const{ return m_activeDirectoryId; } /** *

The ID for an existing Amazon Web Services Managed Microsoft Active Directory * instance that the file system is joined to.

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

The ID for an existing Amazon Web Services Managed Microsoft Active Directory * instance that the file system is joined to.

*/ 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 * instance that the file system is joined to.

*/ 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 * instance that the file system is joined to.

*/ 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 * instance that the file system is joined to.

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

The ID for an existing Amazon Web Services Managed Microsoft Active Directory * instance that the file system is joined to.

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

The ID for an existing Amazon Web Services Managed Microsoft Active Directory * instance that the file system is joined to.

*/ 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 the Amazon FSx file system, measured in megabytes per * second.

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

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

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

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

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

The throughput of the 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;} inline const Aws::Vector& GetAliases() const{ return m_aliases; } inline bool AliasesHasBeenSet() const { return m_aliasesHasBeenSet; } inline void SetAliases(const Aws::Vector& value) { m_aliasesHasBeenSet = true; m_aliases = value; } inline void SetAliases(Aws::Vector&& value) { m_aliasesHasBeenSet = true; m_aliases = std::move(value); } inline WindowsFileSystemConfiguration& WithAliases(const Aws::Vector& value) { SetAliases(value); return *this;} inline WindowsFileSystemConfiguration& WithAliases(Aws::Vector&& value) { SetAliases(std::move(value)); return *this;} inline WindowsFileSystemConfiguration& AddAliases(const Alias& value) { m_aliasesHasBeenSet = true; m_aliases.push_back(value); return *this; } inline WindowsFileSystemConfiguration& AddAliases(Alias&& value) { m_aliasesHasBeenSet = true; m_aliases.push_back(std::move(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 WindowsAuditLogConfiguration& 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 WindowsAuditLogConfiguration& 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(WindowsAuditLogConfiguration&& 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 WindowsFileSystemConfiguration& WithAuditLogConfiguration(const WindowsAuditLogConfiguration& 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 WindowsFileSystemConfiguration& WithAuditLogConfiguration(WindowsAuditLogConfiguration&& value) { SetAuditLogConfiguration(std::move(value)); return *this;} private: Aws::String m_activeDirectoryId; bool m_activeDirectoryIdHasBeenSet = false; SelfManagedActiveDirectoryAttributes m_selfManagedActiveDirectoryConfiguration; bool m_selfManagedActiveDirectoryConfigurationHasBeenSet = false; WindowsDeploymentType m_deploymentType; bool m_deploymentTypeHasBeenSet = false; Aws::String m_remoteAdministrationEndpoint; bool m_remoteAdministrationEndpointHasBeenSet = false; Aws::String m_preferredSubnetId; bool m_preferredSubnetIdHasBeenSet = false; Aws::String m_preferredFileServerIp; bool m_preferredFileServerIpHasBeenSet = false; int m_throughputCapacity; bool m_throughputCapacityHasBeenSet = false; Aws::Vector m_maintenanceOperationsInProgress; bool m_maintenanceOperationsInProgressHasBeenSet = 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; WindowsAuditLogConfiguration m_auditLogConfiguration; bool m_auditLogConfigurationHasBeenSet = false; }; } // namespace Model } // namespace FSx } // namespace Aws