/** * 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 Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace RDS { namespace Model { /** *

Contains a list of available options for a DB instance.

This data * type is used as a response element in the * DescribeOrderableDBInstanceOptions action.

See * Also:

AWS * API Reference

*/ class AWS_RDS_API OrderableDBInstanceOption { public: OrderableDBInstanceOption(); OrderableDBInstanceOption(const Aws::Utils::Xml::XmlNode& xmlNode); OrderableDBInstanceOption& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

The engine type of a DB instance.

*/ inline const Aws::String& GetEngine() const{ return m_engine; } /** *

The engine type of a DB instance.

*/ inline bool EngineHasBeenSet() const { return m_engineHasBeenSet; } /** *

The engine type of a DB instance.

*/ inline void SetEngine(const Aws::String& value) { m_engineHasBeenSet = true; m_engine = value; } /** *

The engine type of a DB instance.

*/ inline void SetEngine(Aws::String&& value) { m_engineHasBeenSet = true; m_engine = std::move(value); } /** *

The engine type of a DB instance.

*/ inline void SetEngine(const char* value) { m_engineHasBeenSet = true; m_engine.assign(value); } /** *

The engine type of a DB instance.

*/ inline OrderableDBInstanceOption& WithEngine(const Aws::String& value) { SetEngine(value); return *this;} /** *

The engine type of a DB instance.

*/ inline OrderableDBInstanceOption& WithEngine(Aws::String&& value) { SetEngine(std::move(value)); return *this;} /** *

The engine type of a DB instance.

*/ inline OrderableDBInstanceOption& WithEngine(const char* value) { SetEngine(value); return *this;} /** *

The engine version of a DB instance.

*/ inline const Aws::String& GetEngineVersion() const{ return m_engineVersion; } /** *

The engine version of a DB instance.

*/ inline bool EngineVersionHasBeenSet() const { return m_engineVersionHasBeenSet; } /** *

The engine version of a DB instance.

*/ inline void SetEngineVersion(const Aws::String& value) { m_engineVersionHasBeenSet = true; m_engineVersion = value; } /** *

The engine version of a DB instance.

*/ inline void SetEngineVersion(Aws::String&& value) { m_engineVersionHasBeenSet = true; m_engineVersion = std::move(value); } /** *

The engine version of a DB instance.

*/ inline void SetEngineVersion(const char* value) { m_engineVersionHasBeenSet = true; m_engineVersion.assign(value); } /** *

The engine version of a DB instance.

*/ inline OrderableDBInstanceOption& WithEngineVersion(const Aws::String& value) { SetEngineVersion(value); return *this;} /** *

The engine version of a DB instance.

*/ inline OrderableDBInstanceOption& WithEngineVersion(Aws::String&& value) { SetEngineVersion(std::move(value)); return *this;} /** *

The engine version of a DB instance.

*/ inline OrderableDBInstanceOption& WithEngineVersion(const char* value) { SetEngineVersion(value); return *this;} /** *

The DB instance class for a DB instance.

*/ inline const Aws::String& GetDBInstanceClass() const{ return m_dBInstanceClass; } /** *

The DB instance class for a DB instance.

*/ inline bool DBInstanceClassHasBeenSet() const { return m_dBInstanceClassHasBeenSet; } /** *

The DB instance class for a DB instance.

*/ inline void SetDBInstanceClass(const Aws::String& value) { m_dBInstanceClassHasBeenSet = true; m_dBInstanceClass = value; } /** *

The DB instance class for a DB instance.

*/ inline void SetDBInstanceClass(Aws::String&& value) { m_dBInstanceClassHasBeenSet = true; m_dBInstanceClass = std::move(value); } /** *

The DB instance class for a DB instance.

*/ inline void SetDBInstanceClass(const char* value) { m_dBInstanceClassHasBeenSet = true; m_dBInstanceClass.assign(value); } /** *

The DB instance class for a DB instance.

*/ inline OrderableDBInstanceOption& WithDBInstanceClass(const Aws::String& value) { SetDBInstanceClass(value); return *this;} /** *

The DB instance class for a DB instance.

*/ inline OrderableDBInstanceOption& WithDBInstanceClass(Aws::String&& value) { SetDBInstanceClass(std::move(value)); return *this;} /** *

The DB instance class for a DB instance.

*/ inline OrderableDBInstanceOption& WithDBInstanceClass(const char* value) { SetDBInstanceClass(value); return *this;} /** *

The license model for a DB instance.

*/ inline const Aws::String& GetLicenseModel() const{ return m_licenseModel; } /** *

The license model for a DB instance.

*/ inline bool LicenseModelHasBeenSet() const { return m_licenseModelHasBeenSet; } /** *

The license model for a DB instance.

*/ inline void SetLicenseModel(const Aws::String& value) { m_licenseModelHasBeenSet = true; m_licenseModel = value; } /** *

The license model for a DB instance.

*/ inline void SetLicenseModel(Aws::String&& value) { m_licenseModelHasBeenSet = true; m_licenseModel = std::move(value); } /** *

The license model for a DB instance.

*/ inline void SetLicenseModel(const char* value) { m_licenseModelHasBeenSet = true; m_licenseModel.assign(value); } /** *

The license model for a DB instance.

*/ inline OrderableDBInstanceOption& WithLicenseModel(const Aws::String& value) { SetLicenseModel(value); return *this;} /** *

The license model for a DB instance.

*/ inline OrderableDBInstanceOption& WithLicenseModel(Aws::String&& value) { SetLicenseModel(std::move(value)); return *this;} /** *

The license model for a DB instance.

*/ inline OrderableDBInstanceOption& WithLicenseModel(const char* value) { SetLicenseModel(value); return *this;} /** *

The Availability Zone group for a DB instance.

*/ inline const Aws::String& GetAvailabilityZoneGroup() const{ return m_availabilityZoneGroup; } /** *

The Availability Zone group for a DB instance.

*/ inline bool AvailabilityZoneGroupHasBeenSet() const { return m_availabilityZoneGroupHasBeenSet; } /** *

The Availability Zone group for a DB instance.

*/ inline void SetAvailabilityZoneGroup(const Aws::String& value) { m_availabilityZoneGroupHasBeenSet = true; m_availabilityZoneGroup = value; } /** *

The Availability Zone group for a DB instance.

*/ inline void SetAvailabilityZoneGroup(Aws::String&& value) { m_availabilityZoneGroupHasBeenSet = true; m_availabilityZoneGroup = std::move(value); } /** *

The Availability Zone group for a DB instance.

*/ inline void SetAvailabilityZoneGroup(const char* value) { m_availabilityZoneGroupHasBeenSet = true; m_availabilityZoneGroup.assign(value); } /** *

The Availability Zone group for a DB instance.

*/ inline OrderableDBInstanceOption& WithAvailabilityZoneGroup(const Aws::String& value) { SetAvailabilityZoneGroup(value); return *this;} /** *

The Availability Zone group for a DB instance.

*/ inline OrderableDBInstanceOption& WithAvailabilityZoneGroup(Aws::String&& value) { SetAvailabilityZoneGroup(std::move(value)); return *this;} /** *

The Availability Zone group for a DB instance.

*/ inline OrderableDBInstanceOption& WithAvailabilityZoneGroup(const char* value) { SetAvailabilityZoneGroup(value); return *this;} /** *

A list of Availability Zones for a DB instance.

*/ inline const Aws::Vector& GetAvailabilityZones() const{ return m_availabilityZones; } /** *

A list of Availability Zones for a DB instance.

*/ inline bool AvailabilityZonesHasBeenSet() const { return m_availabilityZonesHasBeenSet; } /** *

A list of Availability Zones for a DB instance.

*/ inline void SetAvailabilityZones(const Aws::Vector& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones = value; } /** *

A list of Availability Zones for a DB instance.

*/ inline void SetAvailabilityZones(Aws::Vector&& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones = std::move(value); } /** *

A list of Availability Zones for a DB instance.

*/ inline OrderableDBInstanceOption& WithAvailabilityZones(const Aws::Vector& value) { SetAvailabilityZones(value); return *this;} /** *

A list of Availability Zones for a DB instance.

*/ inline OrderableDBInstanceOption& WithAvailabilityZones(Aws::Vector&& value) { SetAvailabilityZones(std::move(value)); return *this;} /** *

A list of Availability Zones for a DB instance.

*/ inline OrderableDBInstanceOption& AddAvailabilityZones(const AvailabilityZone& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.push_back(value); return *this; } /** *

A list of Availability Zones for a DB instance.

*/ inline OrderableDBInstanceOption& AddAvailabilityZones(AvailabilityZone&& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.push_back(std::move(value)); return *this; } /** *

Indicates whether a DB instance is Multi-AZ capable.

*/ inline bool GetMultiAZCapable() const{ return m_multiAZCapable; } /** *

Indicates whether a DB instance is Multi-AZ capable.

*/ inline bool MultiAZCapableHasBeenSet() const { return m_multiAZCapableHasBeenSet; } /** *

Indicates whether a DB instance is Multi-AZ capable.

*/ inline void SetMultiAZCapable(bool value) { m_multiAZCapableHasBeenSet = true; m_multiAZCapable = value; } /** *

Indicates whether a DB instance is Multi-AZ capable.

*/ inline OrderableDBInstanceOption& WithMultiAZCapable(bool value) { SetMultiAZCapable(value); return *this;} /** *

Indicates whether a DB instance can have a read replica.

*/ inline bool GetReadReplicaCapable() const{ return m_readReplicaCapable; } /** *

Indicates whether a DB instance can have a read replica.

*/ inline bool ReadReplicaCapableHasBeenSet() const { return m_readReplicaCapableHasBeenSet; } /** *

Indicates whether a DB instance can have a read replica.

*/ inline void SetReadReplicaCapable(bool value) { m_readReplicaCapableHasBeenSet = true; m_readReplicaCapable = value; } /** *

Indicates whether a DB instance can have a read replica.

*/ inline OrderableDBInstanceOption& WithReadReplicaCapable(bool value) { SetReadReplicaCapable(value); return *this;} /** *

Indicates whether a DB instance is in a VPC.

*/ inline bool GetVpc() const{ return m_vpc; } /** *

Indicates whether a DB instance is in a VPC.

*/ inline bool VpcHasBeenSet() const { return m_vpcHasBeenSet; } /** *

Indicates whether a DB instance is in a VPC.

*/ inline void SetVpc(bool value) { m_vpcHasBeenSet = true; m_vpc = value; } /** *

Indicates whether a DB instance is in a VPC.

*/ inline OrderableDBInstanceOption& WithVpc(bool value) { SetVpc(value); return *this;} /** *

Indicates whether a DB instance supports encrypted storage.

*/ inline bool GetSupportsStorageEncryption() const{ return m_supportsStorageEncryption; } /** *

Indicates whether a DB instance supports encrypted storage.

*/ inline bool SupportsStorageEncryptionHasBeenSet() const { return m_supportsStorageEncryptionHasBeenSet; } /** *

Indicates whether a DB instance supports encrypted storage.

*/ inline void SetSupportsStorageEncryption(bool value) { m_supportsStorageEncryptionHasBeenSet = true; m_supportsStorageEncryption = value; } /** *

Indicates whether a DB instance supports encrypted storage.

*/ inline OrderableDBInstanceOption& WithSupportsStorageEncryption(bool value) { SetSupportsStorageEncryption(value); return *this;} /** *

Indicates the storage type for a DB instance.

*/ inline const Aws::String& GetStorageType() const{ return m_storageType; } /** *

Indicates the storage type for a DB instance.

*/ inline bool StorageTypeHasBeenSet() const { return m_storageTypeHasBeenSet; } /** *

Indicates the storage type for a DB instance.

*/ inline void SetStorageType(const Aws::String& value) { m_storageTypeHasBeenSet = true; m_storageType = value; } /** *

Indicates the storage type for a DB instance.

*/ inline void SetStorageType(Aws::String&& value) { m_storageTypeHasBeenSet = true; m_storageType = std::move(value); } /** *

Indicates the storage type for a DB instance.

*/ inline void SetStorageType(const char* value) { m_storageTypeHasBeenSet = true; m_storageType.assign(value); } /** *

Indicates the storage type for a DB instance.

*/ inline OrderableDBInstanceOption& WithStorageType(const Aws::String& value) { SetStorageType(value); return *this;} /** *

Indicates the storage type for a DB instance.

*/ inline OrderableDBInstanceOption& WithStorageType(Aws::String&& value) { SetStorageType(std::move(value)); return *this;} /** *

Indicates the storage type for a DB instance.

*/ inline OrderableDBInstanceOption& WithStorageType(const char* value) { SetStorageType(value); return *this;} /** *

Indicates whether a DB instance supports provisioned IOPS.

*/ inline bool GetSupportsIops() const{ return m_supportsIops; } /** *

Indicates whether a DB instance supports provisioned IOPS.

*/ inline bool SupportsIopsHasBeenSet() const { return m_supportsIopsHasBeenSet; } /** *

Indicates whether a DB instance supports provisioned IOPS.

*/ inline void SetSupportsIops(bool value) { m_supportsIopsHasBeenSet = true; m_supportsIops = value; } /** *

Indicates whether a DB instance supports provisioned IOPS.

*/ inline OrderableDBInstanceOption& WithSupportsIops(bool value) { SetSupportsIops(value); return *this;} /** *

Indicates whether a DB instance supports Enhanced Monitoring at intervals * from 1 to 60 seconds.

*/ inline bool GetSupportsEnhancedMonitoring() const{ return m_supportsEnhancedMonitoring; } /** *

Indicates whether a DB instance supports Enhanced Monitoring at intervals * from 1 to 60 seconds.

*/ inline bool SupportsEnhancedMonitoringHasBeenSet() const { return m_supportsEnhancedMonitoringHasBeenSet; } /** *

Indicates whether a DB instance supports Enhanced Monitoring at intervals * from 1 to 60 seconds.

*/ inline void SetSupportsEnhancedMonitoring(bool value) { m_supportsEnhancedMonitoringHasBeenSet = true; m_supportsEnhancedMonitoring = value; } /** *

Indicates whether a DB instance supports Enhanced Monitoring at intervals * from 1 to 60 seconds.

*/ inline OrderableDBInstanceOption& WithSupportsEnhancedMonitoring(bool value) { SetSupportsEnhancedMonitoring(value); return *this;} /** *

Indicates whether a DB instance supports IAM database authentication.

*/ inline bool GetSupportsIAMDatabaseAuthentication() const{ return m_supportsIAMDatabaseAuthentication; } /** *

Indicates whether a DB instance supports IAM database authentication.

*/ inline bool SupportsIAMDatabaseAuthenticationHasBeenSet() const { return m_supportsIAMDatabaseAuthenticationHasBeenSet; } /** *

Indicates whether a DB instance supports IAM database authentication.

*/ inline void SetSupportsIAMDatabaseAuthentication(bool value) { m_supportsIAMDatabaseAuthenticationHasBeenSet = true; m_supportsIAMDatabaseAuthentication = value; } /** *

Indicates whether a DB instance supports IAM database authentication.

*/ inline OrderableDBInstanceOption& WithSupportsIAMDatabaseAuthentication(bool value) { SetSupportsIAMDatabaseAuthentication(value); return *this;} /** *

True if a DB instance supports Performance Insights, otherwise false.

*/ inline bool GetSupportsPerformanceInsights() const{ return m_supportsPerformanceInsights; } /** *

True if a DB instance supports Performance Insights, otherwise false.

*/ inline bool SupportsPerformanceInsightsHasBeenSet() const { return m_supportsPerformanceInsightsHasBeenSet; } /** *

True if a DB instance supports Performance Insights, otherwise false.

*/ inline void SetSupportsPerformanceInsights(bool value) { m_supportsPerformanceInsightsHasBeenSet = true; m_supportsPerformanceInsights = value; } /** *

True if a DB instance supports Performance Insights, otherwise false.

*/ inline OrderableDBInstanceOption& WithSupportsPerformanceInsights(bool value) { SetSupportsPerformanceInsights(value); return *this;} /** *

Minimum storage size for a DB instance.

*/ inline int GetMinStorageSize() const{ return m_minStorageSize; } /** *

Minimum storage size for a DB instance.

*/ inline bool MinStorageSizeHasBeenSet() const { return m_minStorageSizeHasBeenSet; } /** *

Minimum storage size for a DB instance.

*/ inline void SetMinStorageSize(int value) { m_minStorageSizeHasBeenSet = true; m_minStorageSize = value; } /** *

Minimum storage size for a DB instance.

*/ inline OrderableDBInstanceOption& WithMinStorageSize(int value) { SetMinStorageSize(value); return *this;} /** *

Maximum storage size for a DB instance.

*/ inline int GetMaxStorageSize() const{ return m_maxStorageSize; } /** *

Maximum storage size for a DB instance.

*/ inline bool MaxStorageSizeHasBeenSet() const { return m_maxStorageSizeHasBeenSet; } /** *

Maximum storage size for a DB instance.

*/ inline void SetMaxStorageSize(int value) { m_maxStorageSizeHasBeenSet = true; m_maxStorageSize = value; } /** *

Maximum storage size for a DB instance.

*/ inline OrderableDBInstanceOption& WithMaxStorageSize(int value) { SetMaxStorageSize(value); return *this;} /** *

Minimum total provisioned IOPS for a DB instance.

*/ inline int GetMinIopsPerDbInstance() const{ return m_minIopsPerDbInstance; } /** *

Minimum total provisioned IOPS for a DB instance.

*/ inline bool MinIopsPerDbInstanceHasBeenSet() const { return m_minIopsPerDbInstanceHasBeenSet; } /** *

Minimum total provisioned IOPS for a DB instance.

*/ inline void SetMinIopsPerDbInstance(int value) { m_minIopsPerDbInstanceHasBeenSet = true; m_minIopsPerDbInstance = value; } /** *

Minimum total provisioned IOPS for a DB instance.

*/ inline OrderableDBInstanceOption& WithMinIopsPerDbInstance(int value) { SetMinIopsPerDbInstance(value); return *this;} /** *

Maximum total provisioned IOPS for a DB instance.

*/ inline int GetMaxIopsPerDbInstance() const{ return m_maxIopsPerDbInstance; } /** *

Maximum total provisioned IOPS for a DB instance.

*/ inline bool MaxIopsPerDbInstanceHasBeenSet() const { return m_maxIopsPerDbInstanceHasBeenSet; } /** *

Maximum total provisioned IOPS for a DB instance.

*/ inline void SetMaxIopsPerDbInstance(int value) { m_maxIopsPerDbInstanceHasBeenSet = true; m_maxIopsPerDbInstance = value; } /** *

Maximum total provisioned IOPS for a DB instance.

*/ inline OrderableDBInstanceOption& WithMaxIopsPerDbInstance(int value) { SetMaxIopsPerDbInstance(value); return *this;} /** *

Minimum provisioned IOPS per GiB for a DB instance.

*/ inline double GetMinIopsPerGib() const{ return m_minIopsPerGib; } /** *

Minimum provisioned IOPS per GiB for a DB instance.

*/ inline bool MinIopsPerGibHasBeenSet() const { return m_minIopsPerGibHasBeenSet; } /** *

Minimum provisioned IOPS per GiB for a DB instance.

*/ inline void SetMinIopsPerGib(double value) { m_minIopsPerGibHasBeenSet = true; m_minIopsPerGib = value; } /** *

Minimum provisioned IOPS per GiB for a DB instance.

*/ inline OrderableDBInstanceOption& WithMinIopsPerGib(double value) { SetMinIopsPerGib(value); return *this;} /** *

Maximum provisioned IOPS per GiB for a DB instance.

*/ inline double GetMaxIopsPerGib() const{ return m_maxIopsPerGib; } /** *

Maximum provisioned IOPS per GiB for a DB instance.

*/ inline bool MaxIopsPerGibHasBeenSet() const { return m_maxIopsPerGibHasBeenSet; } /** *

Maximum provisioned IOPS per GiB for a DB instance.

*/ inline void SetMaxIopsPerGib(double value) { m_maxIopsPerGibHasBeenSet = true; m_maxIopsPerGib = value; } /** *

Maximum provisioned IOPS per GiB for a DB instance.

*/ inline OrderableDBInstanceOption& WithMaxIopsPerGib(double value) { SetMaxIopsPerGib(value); return *this;} /** *

A list of the available processor features for the DB instance class of a DB * instance.

*/ inline const Aws::Vector& GetAvailableProcessorFeatures() const{ return m_availableProcessorFeatures; } /** *

A list of the available processor features for the DB instance class of a DB * instance.

*/ inline bool AvailableProcessorFeaturesHasBeenSet() const { return m_availableProcessorFeaturesHasBeenSet; } /** *

A list of the available processor features for the DB instance class of a DB * instance.

*/ inline void SetAvailableProcessorFeatures(const Aws::Vector& value) { m_availableProcessorFeaturesHasBeenSet = true; m_availableProcessorFeatures = value; } /** *

A list of the available processor features for the DB instance class of a DB * instance.

*/ inline void SetAvailableProcessorFeatures(Aws::Vector&& value) { m_availableProcessorFeaturesHasBeenSet = true; m_availableProcessorFeatures = std::move(value); } /** *

A list of the available processor features for the DB instance class of a DB * instance.

*/ inline OrderableDBInstanceOption& WithAvailableProcessorFeatures(const Aws::Vector& value) { SetAvailableProcessorFeatures(value); return *this;} /** *

A list of the available processor features for the DB instance class of a DB * instance.

*/ inline OrderableDBInstanceOption& WithAvailableProcessorFeatures(Aws::Vector&& value) { SetAvailableProcessorFeatures(std::move(value)); return *this;} /** *

A list of the available processor features for the DB instance class of a DB * instance.

*/ inline OrderableDBInstanceOption& AddAvailableProcessorFeatures(const AvailableProcessorFeature& value) { m_availableProcessorFeaturesHasBeenSet = true; m_availableProcessorFeatures.push_back(value); return *this; } /** *

A list of the available processor features for the DB instance class of a DB * instance.

*/ inline OrderableDBInstanceOption& AddAvailableProcessorFeatures(AvailableProcessorFeature&& value) { m_availableProcessorFeaturesHasBeenSet = true; m_availableProcessorFeatures.push_back(std::move(value)); return *this; } /** *

A list of the supported DB engine modes.

global * engine mode only applies for global database clusters created with Aurora MySQL * version 5.6.10a. For higher Aurora MySQL versions, the clusters in a global * database use provisioned engine mode.

*/ inline const Aws::Vector& GetSupportedEngineModes() const{ return m_supportedEngineModes; } /** *

A list of the supported DB engine modes.

global * engine mode only applies for global database clusters created with Aurora MySQL * version 5.6.10a. For higher Aurora MySQL versions, the clusters in a global * database use provisioned engine mode.

*/ inline bool SupportedEngineModesHasBeenSet() const { return m_supportedEngineModesHasBeenSet; } /** *

A list of the supported DB engine modes.

global * engine mode only applies for global database clusters created with Aurora MySQL * version 5.6.10a. For higher Aurora MySQL versions, the clusters in a global * database use provisioned engine mode.

*/ inline void SetSupportedEngineModes(const Aws::Vector& value) { m_supportedEngineModesHasBeenSet = true; m_supportedEngineModes = value; } /** *

A list of the supported DB engine modes.

global * engine mode only applies for global database clusters created with Aurora MySQL * version 5.6.10a. For higher Aurora MySQL versions, the clusters in a global * database use provisioned engine mode.

*/ inline void SetSupportedEngineModes(Aws::Vector&& value) { m_supportedEngineModesHasBeenSet = true; m_supportedEngineModes = std::move(value); } /** *

A list of the supported DB engine modes.

global * engine mode only applies for global database clusters created with Aurora MySQL * version 5.6.10a. For higher Aurora MySQL versions, the clusters in a global * database use provisioned engine mode.

*/ inline OrderableDBInstanceOption& WithSupportedEngineModes(const Aws::Vector& value) { SetSupportedEngineModes(value); return *this;} /** *

A list of the supported DB engine modes.

global * engine mode only applies for global database clusters created with Aurora MySQL * version 5.6.10a. For higher Aurora MySQL versions, the clusters in a global * database use provisioned engine mode.

*/ inline OrderableDBInstanceOption& WithSupportedEngineModes(Aws::Vector&& value) { SetSupportedEngineModes(std::move(value)); return *this;} /** *

A list of the supported DB engine modes.

global * engine mode only applies for global database clusters created with Aurora MySQL * version 5.6.10a. For higher Aurora MySQL versions, the clusters in a global * database use provisioned engine mode.

*/ inline OrderableDBInstanceOption& AddSupportedEngineModes(const Aws::String& value) { m_supportedEngineModesHasBeenSet = true; m_supportedEngineModes.push_back(value); return *this; } /** *

A list of the supported DB engine modes.

global * engine mode only applies for global database clusters created with Aurora MySQL * version 5.6.10a. For higher Aurora MySQL versions, the clusters in a global * database use provisioned engine mode.

*/ inline OrderableDBInstanceOption& AddSupportedEngineModes(Aws::String&& value) { m_supportedEngineModesHasBeenSet = true; m_supportedEngineModes.push_back(std::move(value)); return *this; } /** *

A list of the supported DB engine modes.

global * engine mode only applies for global database clusters created with Aurora MySQL * version 5.6.10a. For higher Aurora MySQL versions, the clusters in a global * database use provisioned engine mode.

*/ inline OrderableDBInstanceOption& AddSupportedEngineModes(const char* value) { m_supportedEngineModesHasBeenSet = true; m_supportedEngineModes.push_back(value); return *this; } /** *

Whether Amazon RDS can automatically scale storage for DB instances that use * the specified DB instance class.

*/ inline bool GetSupportsStorageAutoscaling() const{ return m_supportsStorageAutoscaling; } /** *

Whether Amazon RDS can automatically scale storage for DB instances that use * the specified DB instance class.

*/ inline bool SupportsStorageAutoscalingHasBeenSet() const { return m_supportsStorageAutoscalingHasBeenSet; } /** *

Whether Amazon RDS can automatically scale storage for DB instances that use * the specified DB instance class.

*/ inline void SetSupportsStorageAutoscaling(bool value) { m_supportsStorageAutoscalingHasBeenSet = true; m_supportsStorageAutoscaling = value; } /** *

Whether Amazon RDS can automatically scale storage for DB instances that use * the specified DB instance class.

*/ inline OrderableDBInstanceOption& WithSupportsStorageAutoscaling(bool value) { SetSupportsStorageAutoscaling(value); return *this;} /** *

Whether a DB instance supports Kerberos Authentication.

*/ inline bool GetSupportsKerberosAuthentication() const{ return m_supportsKerberosAuthentication; } /** *

Whether a DB instance supports Kerberos Authentication.

*/ inline bool SupportsKerberosAuthenticationHasBeenSet() const { return m_supportsKerberosAuthenticationHasBeenSet; } /** *

Whether a DB instance supports Kerberos Authentication.

*/ inline void SetSupportsKerberosAuthentication(bool value) { m_supportsKerberosAuthenticationHasBeenSet = true; m_supportsKerberosAuthentication = value; } /** *

Whether a DB instance supports Kerberos Authentication.

*/ inline OrderableDBInstanceOption& WithSupportsKerberosAuthentication(bool value) { SetSupportsKerberosAuthentication(value); return *this;} /** *

Whether a DB instance supports RDS on Outposts.

For more information * about RDS on Outposts, see Amazon * RDS on AWS Outposts in the Amazon RDS User Guide.

*/ inline bool GetOutpostCapable() const{ return m_outpostCapable; } /** *

Whether a DB instance supports RDS on Outposts.

For more information * about RDS on Outposts, see Amazon * RDS on AWS Outposts in the Amazon RDS User Guide.

*/ inline bool OutpostCapableHasBeenSet() const { return m_outpostCapableHasBeenSet; } /** *

Whether a DB instance supports RDS on Outposts.

For more information * about RDS on Outposts, see Amazon * RDS on AWS Outposts in the Amazon RDS User Guide.

*/ inline void SetOutpostCapable(bool value) { m_outpostCapableHasBeenSet = true; m_outpostCapable = value; } /** *

Whether a DB instance supports RDS on Outposts.

For more information * about RDS on Outposts, see Amazon * RDS on AWS Outposts in the Amazon RDS User Guide.

*/ inline OrderableDBInstanceOption& WithOutpostCapable(bool value) { SetOutpostCapable(value); return *this;} /** *

A value that indicates whether you can use Aurora global databases with a * specific combination of other DB engine attributes.

*/ inline bool GetSupportsGlobalDatabases() const{ return m_supportsGlobalDatabases; } /** *

A value that indicates whether you can use Aurora global databases with a * specific combination of other DB engine attributes.

*/ inline bool SupportsGlobalDatabasesHasBeenSet() const { return m_supportsGlobalDatabasesHasBeenSet; } /** *

A value that indicates whether you can use Aurora global databases with a * specific combination of other DB engine attributes.

*/ inline void SetSupportsGlobalDatabases(bool value) { m_supportsGlobalDatabasesHasBeenSet = true; m_supportsGlobalDatabases = value; } /** *

A value that indicates whether you can use Aurora global databases with a * specific combination of other DB engine attributes.

*/ inline OrderableDBInstanceOption& WithSupportsGlobalDatabases(bool value) { SetSupportsGlobalDatabases(value); return *this;} private: Aws::String m_engine; bool m_engineHasBeenSet; Aws::String m_engineVersion; bool m_engineVersionHasBeenSet; Aws::String m_dBInstanceClass; bool m_dBInstanceClassHasBeenSet; Aws::String m_licenseModel; bool m_licenseModelHasBeenSet; Aws::String m_availabilityZoneGroup; bool m_availabilityZoneGroupHasBeenSet; Aws::Vector m_availabilityZones; bool m_availabilityZonesHasBeenSet; bool m_multiAZCapable; bool m_multiAZCapableHasBeenSet; bool m_readReplicaCapable; bool m_readReplicaCapableHasBeenSet; bool m_vpc; bool m_vpcHasBeenSet; bool m_supportsStorageEncryption; bool m_supportsStorageEncryptionHasBeenSet; Aws::String m_storageType; bool m_storageTypeHasBeenSet; bool m_supportsIops; bool m_supportsIopsHasBeenSet; bool m_supportsEnhancedMonitoring; bool m_supportsEnhancedMonitoringHasBeenSet; bool m_supportsIAMDatabaseAuthentication; bool m_supportsIAMDatabaseAuthenticationHasBeenSet; bool m_supportsPerformanceInsights; bool m_supportsPerformanceInsightsHasBeenSet; int m_minStorageSize; bool m_minStorageSizeHasBeenSet; int m_maxStorageSize; bool m_maxStorageSizeHasBeenSet; int m_minIopsPerDbInstance; bool m_minIopsPerDbInstanceHasBeenSet; int m_maxIopsPerDbInstance; bool m_maxIopsPerDbInstanceHasBeenSet; double m_minIopsPerGib; bool m_minIopsPerGibHasBeenSet; double m_maxIopsPerGib; bool m_maxIopsPerGibHasBeenSet; Aws::Vector m_availableProcessorFeatures; bool m_availableProcessorFeaturesHasBeenSet; Aws::Vector m_supportedEngineModes; bool m_supportedEngineModesHasBeenSet; bool m_supportsStorageAutoscaling; bool m_supportsStorageAutoscalingHasBeenSet; bool m_supportsKerberosAuthentication; bool m_supportsKerberosAuthenticationHasBeenSet; bool m_outpostCapable; bool m_outpostCapableHasBeenSet; bool m_supportsGlobalDatabases; bool m_supportsGlobalDatabasesHasBeenSet; }; } // namespace Model } // namespace RDS } // namespace Aws