/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace FSx { namespace Model { /** *

Updates the configuration for an existing Amazon FSx for Windows File Server * file system. Amazon FSx only overwrites existing properties with non-null values * provided in the request.

See Also:

AWS * API Reference

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

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, with 1 = * Monday and 7 = 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, with 1 = * Monday and 7 = 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, with 1 = * Monday and 7 = 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, with 1 = * Monday and 7 = 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, with 1 = * Monday and 7 = 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, with 1 = * Monday and 7 = Sunday.

*/ inline UpdateFileSystemWindowsConfiguration& 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, with 1 = * Monday and 7 = Sunday.

*/ inline UpdateFileSystemWindowsConfiguration& 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, with 1 = * Monday and 7 = Sunday.

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

The preferred time to start the daily automatic backup, in the UTC time zone, * for example, 02:00

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

The preferred time to start the daily automatic backup, in the UTC time zone, * for example, 02:00

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

The preferred time to start the daily automatic backup, in the UTC time zone, * for example, 02:00

*/ inline void SetDailyAutomaticBackupStartTime(const Aws::String& value) { m_dailyAutomaticBackupStartTimeHasBeenSet = true; m_dailyAutomaticBackupStartTime = value; } /** *

The preferred time to start the daily automatic backup, in the UTC time zone, * for example, 02:00

*/ inline void SetDailyAutomaticBackupStartTime(Aws::String&& value) { m_dailyAutomaticBackupStartTimeHasBeenSet = true; m_dailyAutomaticBackupStartTime = std::move(value); } /** *

The preferred time to start the daily automatic backup, in the UTC time zone, * for example, 02:00

*/ inline void SetDailyAutomaticBackupStartTime(const char* value) { m_dailyAutomaticBackupStartTimeHasBeenSet = true; m_dailyAutomaticBackupStartTime.assign(value); } /** *

The preferred time to start the daily automatic backup, in the UTC time zone, * for example, 02:00

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

The preferred time to start the daily automatic backup, in the UTC time zone, * for example, 02:00

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

The preferred time to start the daily automatic backup, in the UTC time zone, * for example, 02:00

*/ inline UpdateFileSystemWindowsConfiguration& 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. For more information, see * Working * with Automatic Daily Backups.

*/ 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. For more information, see * Working * with Automatic Daily Backups.

*/ 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. For more information, see * Working * with Automatic Daily Backups.

*/ 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. For more information, see * Working * with Automatic Daily Backups.

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

Sets the target value for a file system's throughput capacity, in MB/s, that * you are updating the file system to. Valid values are 8, 16, 32, 64, 128, 256, * 512, 1024, 2048. You cannot make a throughput capacity update request if there * is an existing throughput capacity update request in progress. For more * information, see Managing * Throughput Capacity.

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

Sets the target value for a file system's throughput capacity, in MB/s, that * you are updating the file system to. Valid values are 8, 16, 32, 64, 128, 256, * 512, 1024, 2048. You cannot make a throughput capacity update request if there * is an existing throughput capacity update request in progress. For more * information, see Managing * Throughput Capacity.

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

Sets the target value for a file system's throughput capacity, in MB/s, that * you are updating the file system to. Valid values are 8, 16, 32, 64, 128, 256, * 512, 1024, 2048. You cannot make a throughput capacity update request if there * is an existing throughput capacity update request in progress. For more * information, see Managing * Throughput Capacity.

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

Sets the target value for a file system's throughput capacity, in MB/s, that * you are updating the file system to. Valid values are 8, 16, 32, 64, 128, 256, * 512, 1024, 2048. You cannot make a throughput capacity update request if there * is an existing throughput capacity update request in progress. For more * information, see Managing * Throughput Capacity.

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

The configuration Amazon FSx uses to join the Windows File Server instance to * the self-managed Microsoft AD directory. You cannot make a self-managed * Microsoft AD update request if there is an existing self-managed Microsoft AD * update request in progress.

*/ inline const SelfManagedActiveDirectoryConfigurationUpdates& GetSelfManagedActiveDirectoryConfiguration() const{ return m_selfManagedActiveDirectoryConfiguration; } /** *

The configuration Amazon FSx uses to join the Windows File Server instance to * the self-managed Microsoft AD directory. You cannot make a self-managed * Microsoft AD update request if there is an existing self-managed Microsoft AD * update request in progress.

*/ inline bool SelfManagedActiveDirectoryConfigurationHasBeenSet() const { return m_selfManagedActiveDirectoryConfigurationHasBeenSet; } /** *

The configuration Amazon FSx uses to join the Windows File Server instance to * the self-managed Microsoft AD directory. You cannot make a self-managed * Microsoft AD update request if there is an existing self-managed Microsoft AD * update request in progress.

*/ inline void SetSelfManagedActiveDirectoryConfiguration(const SelfManagedActiveDirectoryConfigurationUpdates& value) { m_selfManagedActiveDirectoryConfigurationHasBeenSet = true; m_selfManagedActiveDirectoryConfiguration = value; } /** *

The configuration Amazon FSx uses to join the Windows File Server instance to * the self-managed Microsoft AD directory. You cannot make a self-managed * Microsoft AD update request if there is an existing self-managed Microsoft AD * update request in progress.

*/ inline void SetSelfManagedActiveDirectoryConfiguration(SelfManagedActiveDirectoryConfigurationUpdates&& value) { m_selfManagedActiveDirectoryConfigurationHasBeenSet = true; m_selfManagedActiveDirectoryConfiguration = std::move(value); } /** *

The configuration Amazon FSx uses to join the Windows File Server instance to * the self-managed Microsoft AD directory. You cannot make a self-managed * Microsoft AD update request if there is an existing self-managed Microsoft AD * update request in progress.

*/ inline UpdateFileSystemWindowsConfiguration& WithSelfManagedActiveDirectoryConfiguration(const SelfManagedActiveDirectoryConfigurationUpdates& value) { SetSelfManagedActiveDirectoryConfiguration(value); return *this;} /** *

The configuration Amazon FSx uses to join the Windows File Server instance to * the self-managed Microsoft AD directory. You cannot make a self-managed * Microsoft AD update request if there is an existing self-managed Microsoft AD * update request in progress.

*/ inline UpdateFileSystemWindowsConfiguration& WithSelfManagedActiveDirectoryConfiguration(SelfManagedActiveDirectoryConfigurationUpdates&& value) { SetSelfManagedActiveDirectoryConfiguration(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 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 UpdateFileSystemWindowsConfiguration& 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 UpdateFileSystemWindowsConfiguration& WithAuditLogConfiguration(WindowsAuditLogCreateConfiguration&& value) { SetAuditLogConfiguration(std::move(value)); return *this;} private: Aws::String m_weeklyMaintenanceStartTime; bool m_weeklyMaintenanceStartTimeHasBeenSet = false; Aws::String m_dailyAutomaticBackupStartTime; bool m_dailyAutomaticBackupStartTimeHasBeenSet = false; int m_automaticBackupRetentionDays; bool m_automaticBackupRetentionDaysHasBeenSet = false; int m_throughputCapacity; bool m_throughputCapacityHasBeenSet = false; SelfManagedActiveDirectoryConfigurationUpdates m_selfManagedActiveDirectoryConfiguration; bool m_selfManagedActiveDirectoryConfigurationHasBeenSet = false; WindowsAuditLogCreateConfiguration m_auditLogConfiguration; bool m_auditLogConfigurationHasBeenSet = false; }; } // namespace Model } // namespace FSx } // namespace Aws