/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include 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
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;} /** *A list of Availability Zones for a DB instance.
*/ inline const Aws::VectorA 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::VectorA list of Availability Zones for a DB instance.
*/ inline void SetAvailabilityZones(Aws::VectorA list of Availability Zones for a DB instance.
*/ inline OrderableDBInstanceOption& WithAvailabilityZones(const Aws::VectorA list of Availability Zones for a DB instance.
*/ inline OrderableDBInstanceOption& WithAvailabilityZones(Aws::VectorA 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;} /** *(Not supported by Neptune)
*/ inline bool GetSupportsPerformanceInsights() const{ return m_supportsPerformanceInsights; } /** *(Not supported by Neptune)
*/ inline bool SupportsPerformanceInsightsHasBeenSet() const { return m_supportsPerformanceInsightsHasBeenSet; } /** *(Not supported by Neptune)
*/ inline void SetSupportsPerformanceInsights(bool value) { m_supportsPerformanceInsightsHasBeenSet = true; m_supportsPerformanceInsights = value; } /** *(Not supported by Neptune)
*/ 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 value that indicates whether you can use Neptune 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 Neptune 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 Neptune 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 Neptune 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 = false; Aws::String m_engineVersion; bool m_engineVersionHasBeenSet = false; Aws::String m_dBInstanceClass; bool m_dBInstanceClassHasBeenSet = false; Aws::String m_licenseModel; bool m_licenseModelHasBeenSet = false; Aws::Vector