/** * 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 { /** *

The configuration updates for an Amazon FSx for NetApp ONTAP file * system.

See Also:

AWS * API Reference

*/ class UpdateFileSystemOntapConfiguration { public: AWS_FSX_API UpdateFileSystemOntapConfiguration(); AWS_FSX_API UpdateFileSystemOntapConfiguration(Aws::Utils::Json::JsonView jsonValue); AWS_FSX_API UpdateFileSystemOntapConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_FSX_API Aws::Utils::Json::JsonValue Jsonize() const; inline int GetAutomaticBackupRetentionDays() const{ return m_automaticBackupRetentionDays; } inline bool AutomaticBackupRetentionDaysHasBeenSet() const { return m_automaticBackupRetentionDaysHasBeenSet; } inline void SetAutomaticBackupRetentionDays(int value) { m_automaticBackupRetentionDaysHasBeenSet = true; m_automaticBackupRetentionDays = value; } inline UpdateFileSystemOntapConfiguration& WithAutomaticBackupRetentionDays(int value) { SetAutomaticBackupRetentionDays(value); return *this;} inline const Aws::String& GetDailyAutomaticBackupStartTime() const{ return m_dailyAutomaticBackupStartTime; } inline bool DailyAutomaticBackupStartTimeHasBeenSet() const { return m_dailyAutomaticBackupStartTimeHasBeenSet; } inline void SetDailyAutomaticBackupStartTime(const Aws::String& value) { m_dailyAutomaticBackupStartTimeHasBeenSet = true; m_dailyAutomaticBackupStartTime = value; } inline void SetDailyAutomaticBackupStartTime(Aws::String&& value) { m_dailyAutomaticBackupStartTimeHasBeenSet = true; m_dailyAutomaticBackupStartTime = std::move(value); } inline void SetDailyAutomaticBackupStartTime(const char* value) { m_dailyAutomaticBackupStartTimeHasBeenSet = true; m_dailyAutomaticBackupStartTime.assign(value); } inline UpdateFileSystemOntapConfiguration& WithDailyAutomaticBackupStartTime(const Aws::String& value) { SetDailyAutomaticBackupStartTime(value); return *this;} inline UpdateFileSystemOntapConfiguration& WithDailyAutomaticBackupStartTime(Aws::String&& value) { SetDailyAutomaticBackupStartTime(std::move(value)); return *this;} inline UpdateFileSystemOntapConfiguration& WithDailyAutomaticBackupStartTime(const char* value) { SetDailyAutomaticBackupStartTime(value); return *this;} /** *

Update the password for the fsxadmin user by entering a new * password. You use the fsxadmin user to access the NetApp ONTAP CLI * and REST API to manage your file system resources. For more information, see Managing * resources using NetApp Applicaton.

*/ inline const Aws::String& GetFsxAdminPassword() const{ return m_fsxAdminPassword; } /** *

Update the password for the fsxadmin user by entering a new * password. You use the fsxadmin user to access the NetApp ONTAP CLI * and REST API to manage your file system resources. For more information, see Managing * resources using NetApp Applicaton.

*/ inline bool FsxAdminPasswordHasBeenSet() const { return m_fsxAdminPasswordHasBeenSet; } /** *

Update the password for the fsxadmin user by entering a new * password. You use the fsxadmin user to access the NetApp ONTAP CLI * and REST API to manage your file system resources. For more information, see Managing * resources using NetApp Applicaton.

*/ inline void SetFsxAdminPassword(const Aws::String& value) { m_fsxAdminPasswordHasBeenSet = true; m_fsxAdminPassword = value; } /** *

Update the password for the fsxadmin user by entering a new * password. You use the fsxadmin user to access the NetApp ONTAP CLI * and REST API to manage your file system resources. For more information, see Managing * resources using NetApp Applicaton.

*/ inline void SetFsxAdminPassword(Aws::String&& value) { m_fsxAdminPasswordHasBeenSet = true; m_fsxAdminPassword = std::move(value); } /** *

Update the password for the fsxadmin user by entering a new * password. You use the fsxadmin user to access the NetApp ONTAP CLI * and REST API to manage your file system resources. For more information, see Managing * resources using NetApp Applicaton.

*/ inline void SetFsxAdminPassword(const char* value) { m_fsxAdminPasswordHasBeenSet = true; m_fsxAdminPassword.assign(value); } /** *

Update the password for the fsxadmin user by entering a new * password. You use the fsxadmin user to access the NetApp ONTAP CLI * and REST API to manage your file system resources. For more information, see Managing * resources using NetApp Applicaton.

*/ inline UpdateFileSystemOntapConfiguration& WithFsxAdminPassword(const Aws::String& value) { SetFsxAdminPassword(value); return *this;} /** *

Update the password for the fsxadmin user by entering a new * password. You use the fsxadmin user to access the NetApp ONTAP CLI * and REST API to manage your file system resources. For more information, see Managing * resources using NetApp Applicaton.

*/ inline UpdateFileSystemOntapConfiguration& WithFsxAdminPassword(Aws::String&& value) { SetFsxAdminPassword(std::move(value)); return *this;} /** *

Update the password for the fsxadmin user by entering a new * password. You use the fsxadmin user to access the NetApp ONTAP CLI * and REST API to manage your file system resources. For more information, see Managing * resources using NetApp Applicaton.

*/ inline UpdateFileSystemOntapConfiguration& WithFsxAdminPassword(const char* value) { SetFsxAdminPassword(value); return *this;} inline const Aws::String& GetWeeklyMaintenanceStartTime() const{ return m_weeklyMaintenanceStartTime; } inline bool WeeklyMaintenanceStartTimeHasBeenSet() const { return m_weeklyMaintenanceStartTimeHasBeenSet; } inline void SetWeeklyMaintenanceStartTime(const Aws::String& value) { m_weeklyMaintenanceStartTimeHasBeenSet = true; m_weeklyMaintenanceStartTime = value; } inline void SetWeeklyMaintenanceStartTime(Aws::String&& value) { m_weeklyMaintenanceStartTimeHasBeenSet = true; m_weeklyMaintenanceStartTime = std::move(value); } inline void SetWeeklyMaintenanceStartTime(const char* value) { m_weeklyMaintenanceStartTimeHasBeenSet = true; m_weeklyMaintenanceStartTime.assign(value); } inline UpdateFileSystemOntapConfiguration& WithWeeklyMaintenanceStartTime(const Aws::String& value) { SetWeeklyMaintenanceStartTime(value); return *this;} inline UpdateFileSystemOntapConfiguration& WithWeeklyMaintenanceStartTime(Aws::String&& value) { SetWeeklyMaintenanceStartTime(std::move(value)); return *this;} inline UpdateFileSystemOntapConfiguration& WithWeeklyMaintenanceStartTime(const char* value) { SetWeeklyMaintenanceStartTime(value); return *this;} /** *

The SSD IOPS (input output operations per second) configuration for an Amazon * FSx for NetApp ONTAP file system. The default is 3 IOPS per GB of storage * capacity, but you can provision additional IOPS per GB of storage. The * configuration consists of an IOPS mode (AUTOMATIC or * USER_PROVISIONED), and in the case of USER_PROVISIONED * IOPS, the total number of SSD IOPS provisioned. For more information, see Updating * SSD storage capacity and IOPS.

*/ inline const DiskIopsConfiguration& GetDiskIopsConfiguration() const{ return m_diskIopsConfiguration; } /** *

The SSD IOPS (input output operations per second) configuration for an Amazon * FSx for NetApp ONTAP file system. The default is 3 IOPS per GB of storage * capacity, but you can provision additional IOPS per GB of storage. The * configuration consists of an IOPS mode (AUTOMATIC or * USER_PROVISIONED), and in the case of USER_PROVISIONED * IOPS, the total number of SSD IOPS provisioned. For more information, see Updating * SSD storage capacity and IOPS.

*/ inline bool DiskIopsConfigurationHasBeenSet() const { return m_diskIopsConfigurationHasBeenSet; } /** *

The SSD IOPS (input output operations per second) configuration for an Amazon * FSx for NetApp ONTAP file system. The default is 3 IOPS per GB of storage * capacity, but you can provision additional IOPS per GB of storage. The * configuration consists of an IOPS mode (AUTOMATIC or * USER_PROVISIONED), and in the case of USER_PROVISIONED * IOPS, the total number of SSD IOPS provisioned. For more information, see Updating * SSD storage capacity and IOPS.

*/ inline void SetDiskIopsConfiguration(const DiskIopsConfiguration& value) { m_diskIopsConfigurationHasBeenSet = true; m_diskIopsConfiguration = value; } /** *

The SSD IOPS (input output operations per second) configuration for an Amazon * FSx for NetApp ONTAP file system. The default is 3 IOPS per GB of storage * capacity, but you can provision additional IOPS per GB of storage. The * configuration consists of an IOPS mode (AUTOMATIC or * USER_PROVISIONED), and in the case of USER_PROVISIONED * IOPS, the total number of SSD IOPS provisioned. For more information, see Updating * SSD storage capacity and IOPS.

*/ inline void SetDiskIopsConfiguration(DiskIopsConfiguration&& value) { m_diskIopsConfigurationHasBeenSet = true; m_diskIopsConfiguration = std::move(value); } /** *

The SSD IOPS (input output operations per second) configuration for an Amazon * FSx for NetApp ONTAP file system. The default is 3 IOPS per GB of storage * capacity, but you can provision additional IOPS per GB of storage. The * configuration consists of an IOPS mode (AUTOMATIC or * USER_PROVISIONED), and in the case of USER_PROVISIONED * IOPS, the total number of SSD IOPS provisioned. For more information, see Updating * SSD storage capacity and IOPS.

*/ inline UpdateFileSystemOntapConfiguration& WithDiskIopsConfiguration(const DiskIopsConfiguration& value) { SetDiskIopsConfiguration(value); return *this;} /** *

The SSD IOPS (input output operations per second) configuration for an Amazon * FSx for NetApp ONTAP file system. The default is 3 IOPS per GB of storage * capacity, but you can provision additional IOPS per GB of storage. The * configuration consists of an IOPS mode (AUTOMATIC or * USER_PROVISIONED), and in the case of USER_PROVISIONED * IOPS, the total number of SSD IOPS provisioned. For more information, see Updating * SSD storage capacity and IOPS.

*/ inline UpdateFileSystemOntapConfiguration& WithDiskIopsConfiguration(DiskIopsConfiguration&& value) { SetDiskIopsConfiguration(std::move(value)); return *this;} /** *

Enter a new value to change the amount of throughput capacity for the file * system. Throughput capacity is measured in megabytes per second (MBps). Valid * values are 128, 256, 512, 1024, 2048, and 4096 MBps. For more information, see * Managing * throughput capacity in the FSx for ONTAP User Guide.

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

Enter a new value to change the amount of throughput capacity for the file * system. Throughput capacity is measured in megabytes per second (MBps). Valid * values are 128, 256, 512, 1024, 2048, and 4096 MBps. For more information, see * Managing * throughput capacity in the FSx for ONTAP User Guide.

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

Enter a new value to change the amount of throughput capacity for the file * system. Throughput capacity is measured in megabytes per second (MBps). Valid * values are 128, 256, 512, 1024, 2048, and 4096 MBps. For more information, see * Managing * throughput capacity in the FSx for ONTAP User Guide.

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

Enter a new value to change the amount of throughput capacity for the file * system. Throughput capacity is measured in megabytes per second (MBps). Valid * values are 128, 256, 512, 1024, 2048, and 4096 MBps. For more information, see * Managing * throughput capacity in the FSx for ONTAP User Guide.

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

(Multi-AZ only) A list of IDs of new virtual private cloud (VPC) route tables * to associate (add) with your Amazon FSx for NetApp ONTAP file system.

*/ inline const Aws::Vector& GetAddRouteTableIds() const{ return m_addRouteTableIds; } /** *

(Multi-AZ only) A list of IDs of new virtual private cloud (VPC) route tables * to associate (add) with your Amazon FSx for NetApp ONTAP file system.

*/ inline bool AddRouteTableIdsHasBeenSet() const { return m_addRouteTableIdsHasBeenSet; } /** *

(Multi-AZ only) A list of IDs of new virtual private cloud (VPC) route tables * to associate (add) with your Amazon FSx for NetApp ONTAP file system.

*/ inline void SetAddRouteTableIds(const Aws::Vector& value) { m_addRouteTableIdsHasBeenSet = true; m_addRouteTableIds = value; } /** *

(Multi-AZ only) A list of IDs of new virtual private cloud (VPC) route tables * to associate (add) with your Amazon FSx for NetApp ONTAP file system.

*/ inline void SetAddRouteTableIds(Aws::Vector&& value) { m_addRouteTableIdsHasBeenSet = true; m_addRouteTableIds = std::move(value); } /** *

(Multi-AZ only) A list of IDs of new virtual private cloud (VPC) route tables * to associate (add) with your Amazon FSx for NetApp ONTAP file system.

*/ inline UpdateFileSystemOntapConfiguration& WithAddRouteTableIds(const Aws::Vector& value) { SetAddRouteTableIds(value); return *this;} /** *

(Multi-AZ only) A list of IDs of new virtual private cloud (VPC) route tables * to associate (add) with your Amazon FSx for NetApp ONTAP file system.

*/ inline UpdateFileSystemOntapConfiguration& WithAddRouteTableIds(Aws::Vector&& value) { SetAddRouteTableIds(std::move(value)); return *this;} /** *

(Multi-AZ only) A list of IDs of new virtual private cloud (VPC) route tables * to associate (add) with your Amazon FSx for NetApp ONTAP file system.

*/ inline UpdateFileSystemOntapConfiguration& AddAddRouteTableIds(const Aws::String& value) { m_addRouteTableIdsHasBeenSet = true; m_addRouteTableIds.push_back(value); return *this; } /** *

(Multi-AZ only) A list of IDs of new virtual private cloud (VPC) route tables * to associate (add) with your Amazon FSx for NetApp ONTAP file system.

*/ inline UpdateFileSystemOntapConfiguration& AddAddRouteTableIds(Aws::String&& value) { m_addRouteTableIdsHasBeenSet = true; m_addRouteTableIds.push_back(std::move(value)); return *this; } /** *

(Multi-AZ only) A list of IDs of new virtual private cloud (VPC) route tables * to associate (add) with your Amazon FSx for NetApp ONTAP file system.

*/ inline UpdateFileSystemOntapConfiguration& AddAddRouteTableIds(const char* value) { m_addRouteTableIdsHasBeenSet = true; m_addRouteTableIds.push_back(value); return *this; } /** *

(Multi-AZ only) A list of IDs of existing virtual private cloud (VPC) route * tables to disassociate (remove) from your Amazon FSx for NetApp ONTAP file * system. You can use the API operation to retrieve the list of VPC route table * IDs for a file system.

*/ inline const Aws::Vector& GetRemoveRouteTableIds() const{ return m_removeRouteTableIds; } /** *

(Multi-AZ only) A list of IDs of existing virtual private cloud (VPC) route * tables to disassociate (remove) from your Amazon FSx for NetApp ONTAP file * system. You can use the API operation to retrieve the list of VPC route table * IDs for a file system.

*/ inline bool RemoveRouteTableIdsHasBeenSet() const { return m_removeRouteTableIdsHasBeenSet; } /** *

(Multi-AZ only) A list of IDs of existing virtual private cloud (VPC) route * tables to disassociate (remove) from your Amazon FSx for NetApp ONTAP file * system. You can use the API operation to retrieve the list of VPC route table * IDs for a file system.

*/ inline void SetRemoveRouteTableIds(const Aws::Vector& value) { m_removeRouteTableIdsHasBeenSet = true; m_removeRouteTableIds = value; } /** *

(Multi-AZ only) A list of IDs of existing virtual private cloud (VPC) route * tables to disassociate (remove) from your Amazon FSx for NetApp ONTAP file * system. You can use the API operation to retrieve the list of VPC route table * IDs for a file system.

*/ inline void SetRemoveRouteTableIds(Aws::Vector&& value) { m_removeRouteTableIdsHasBeenSet = true; m_removeRouteTableIds = std::move(value); } /** *

(Multi-AZ only) A list of IDs of existing virtual private cloud (VPC) route * tables to disassociate (remove) from your Amazon FSx for NetApp ONTAP file * system. You can use the API operation to retrieve the list of VPC route table * IDs for a file system.

*/ inline UpdateFileSystemOntapConfiguration& WithRemoveRouteTableIds(const Aws::Vector& value) { SetRemoveRouteTableIds(value); return *this;} /** *

(Multi-AZ only) A list of IDs of existing virtual private cloud (VPC) route * tables to disassociate (remove) from your Amazon FSx for NetApp ONTAP file * system. You can use the API operation to retrieve the list of VPC route table * IDs for a file system.

*/ inline UpdateFileSystemOntapConfiguration& WithRemoveRouteTableIds(Aws::Vector&& value) { SetRemoveRouteTableIds(std::move(value)); return *this;} /** *

(Multi-AZ only) A list of IDs of existing virtual private cloud (VPC) route * tables to disassociate (remove) from your Amazon FSx for NetApp ONTAP file * system. You can use the API operation to retrieve the list of VPC route table * IDs for a file system.

*/ inline UpdateFileSystemOntapConfiguration& AddRemoveRouteTableIds(const Aws::String& value) { m_removeRouteTableIdsHasBeenSet = true; m_removeRouteTableIds.push_back(value); return *this; } /** *

(Multi-AZ only) A list of IDs of existing virtual private cloud (VPC) route * tables to disassociate (remove) from your Amazon FSx for NetApp ONTAP file * system. You can use the API operation to retrieve the list of VPC route table * IDs for a file system.

*/ inline UpdateFileSystemOntapConfiguration& AddRemoveRouteTableIds(Aws::String&& value) { m_removeRouteTableIdsHasBeenSet = true; m_removeRouteTableIds.push_back(std::move(value)); return *this; } /** *

(Multi-AZ only) A list of IDs of existing virtual private cloud (VPC) route * tables to disassociate (remove) from your Amazon FSx for NetApp ONTAP file * system. You can use the API operation to retrieve the list of VPC route table * IDs for a file system.

*/ inline UpdateFileSystemOntapConfiguration& AddRemoveRouteTableIds(const char* value) { m_removeRouteTableIdsHasBeenSet = true; m_removeRouteTableIds.push_back(value); return *this; } private: int m_automaticBackupRetentionDays; bool m_automaticBackupRetentionDaysHasBeenSet = false; Aws::String m_dailyAutomaticBackupStartTime; bool m_dailyAutomaticBackupStartTimeHasBeenSet = false; Aws::String m_fsxAdminPassword; bool m_fsxAdminPasswordHasBeenSet = false; Aws::String m_weeklyMaintenanceStartTime; bool m_weeklyMaintenanceStartTimeHasBeenSet = false; DiskIopsConfiguration m_diskIopsConfiguration; bool m_diskIopsConfigurationHasBeenSet = false; int m_throughputCapacity; bool m_throughputCapacityHasBeenSet = false; Aws::Vector m_addRouteTableIds; bool m_addRouteTableIdsHasBeenSet = false; Aws::Vector m_removeRouteTableIds; bool m_removeRouteTableIdsHasBeenSet = false; }; } // namespace Model } // namespace FSx } // namespace Aws