/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The options that are available for an instance.See Also:
AWS
* API Reference
The engine type of an instance.
*/ inline const Aws::String& GetEngine() const{ return m_engine; } /** *The engine type of an instance.
*/ inline bool EngineHasBeenSet() const { return m_engineHasBeenSet; } /** *The engine type of an instance.
*/ inline void SetEngine(const Aws::String& value) { m_engineHasBeenSet = true; m_engine = value; } /** *The engine type of an instance.
*/ inline void SetEngine(Aws::String&& value) { m_engineHasBeenSet = true; m_engine = std::move(value); } /** *The engine type of an instance.
*/ inline void SetEngine(const char* value) { m_engineHasBeenSet = true; m_engine.assign(value); } /** *The engine type of an instance.
*/ inline OrderableDBInstanceOption& WithEngine(const Aws::String& value) { SetEngine(value); return *this;} /** *The engine type of an instance.
*/ inline OrderableDBInstanceOption& WithEngine(Aws::String&& value) { SetEngine(std::move(value)); return *this;} /** *The engine type of an instance.
*/ inline OrderableDBInstanceOption& WithEngine(const char* value) { SetEngine(value); return *this;} /** *The engine version of an instance.
*/ inline const Aws::String& GetEngineVersion() const{ return m_engineVersion; } /** *The engine version of an instance.
*/ inline bool EngineVersionHasBeenSet() const { return m_engineVersionHasBeenSet; } /** *The engine version of an instance.
*/ inline void SetEngineVersion(const Aws::String& value) { m_engineVersionHasBeenSet = true; m_engineVersion = value; } /** *The engine version of an instance.
*/ inline void SetEngineVersion(Aws::String&& value) { m_engineVersionHasBeenSet = true; m_engineVersion = std::move(value); } /** *The engine version of an instance.
*/ inline void SetEngineVersion(const char* value) { m_engineVersionHasBeenSet = true; m_engineVersion.assign(value); } /** *The engine version of an instance.
*/ inline OrderableDBInstanceOption& WithEngineVersion(const Aws::String& value) { SetEngineVersion(value); return *this;} /** *The engine version of an instance.
*/ inline OrderableDBInstanceOption& WithEngineVersion(Aws::String&& value) { SetEngineVersion(std::move(value)); return *this;} /** *The engine version of an instance.
*/ inline OrderableDBInstanceOption& WithEngineVersion(const char* value) { SetEngineVersion(value); return *this;} /** *The instance class for an instance.
*/ inline const Aws::String& GetDBInstanceClass() const{ return m_dBInstanceClass; } /** *The instance class for an instance.
*/ inline bool DBInstanceClassHasBeenSet() const { return m_dBInstanceClassHasBeenSet; } /** *The instance class for an instance.
*/ inline void SetDBInstanceClass(const Aws::String& value) { m_dBInstanceClassHasBeenSet = true; m_dBInstanceClass = value; } /** *The instance class for an instance.
*/ inline void SetDBInstanceClass(Aws::String&& value) { m_dBInstanceClassHasBeenSet = true; m_dBInstanceClass = std::move(value); } /** *The instance class for an instance.
*/ inline void SetDBInstanceClass(const char* value) { m_dBInstanceClassHasBeenSet = true; m_dBInstanceClass.assign(value); } /** *The instance class for an instance.
*/ inline OrderableDBInstanceOption& WithDBInstanceClass(const Aws::String& value) { SetDBInstanceClass(value); return *this;} /** *The instance class for an instance.
*/ inline OrderableDBInstanceOption& WithDBInstanceClass(Aws::String&& value) { SetDBInstanceClass(std::move(value)); return *this;} /** *The instance class for an instance.
*/ inline OrderableDBInstanceOption& WithDBInstanceClass(const char* value) { SetDBInstanceClass(value); return *this;} /** *The license model for an instance.
*/ inline const Aws::String& GetLicenseModel() const{ return m_licenseModel; } /** *The license model for an instance.
*/ inline bool LicenseModelHasBeenSet() const { return m_licenseModelHasBeenSet; } /** *The license model for an instance.
*/ inline void SetLicenseModel(const Aws::String& value) { m_licenseModelHasBeenSet = true; m_licenseModel = value; } /** *The license model for an instance.
*/ inline void SetLicenseModel(Aws::String&& value) { m_licenseModelHasBeenSet = true; m_licenseModel = std::move(value); } /** *The license model for an instance.
*/ inline void SetLicenseModel(const char* value) { m_licenseModelHasBeenSet = true; m_licenseModel.assign(value); } /** *The license model for an instance.
*/ inline OrderableDBInstanceOption& WithLicenseModel(const Aws::String& value) { SetLicenseModel(value); return *this;} /** *The license model for an instance.
*/ inline OrderableDBInstanceOption& WithLicenseModel(Aws::String&& value) { SetLicenseModel(std::move(value)); return *this;} /** *The license model for an instance.
*/ inline OrderableDBInstanceOption& WithLicenseModel(const char* value) { SetLicenseModel(value); return *this;} /** *A list of Availability Zones for an instance.
*/ inline const Aws::VectorA list of Availability Zones for an instance.
*/ inline bool AvailabilityZonesHasBeenSet() const { return m_availabilityZonesHasBeenSet; } /** *A list of Availability Zones for an instance.
*/ inline void SetAvailabilityZones(const Aws::VectorA list of Availability Zones for an instance.
*/ inline void SetAvailabilityZones(Aws::VectorA list of Availability Zones for an instance.
*/ inline OrderableDBInstanceOption& WithAvailabilityZones(const Aws::VectorA list of Availability Zones for an instance.
*/ inline OrderableDBInstanceOption& WithAvailabilityZones(Aws::VectorA list of Availability Zones for an instance.
*/ inline OrderableDBInstanceOption& AddAvailabilityZones(const AvailabilityZone& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.push_back(value); return *this; } /** *A list of Availability Zones for an instance.
*/ inline OrderableDBInstanceOption& AddAvailabilityZones(AvailabilityZone&& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.push_back(std::move(value)); return *this; } /** *Indicates whether an instance is in a virtual private cloud (VPC).
*/ inline bool GetVpc() const{ return m_vpc; } /** *Indicates whether an instance is in a virtual private cloud (VPC).
*/ inline bool VpcHasBeenSet() const { return m_vpcHasBeenSet; } /** *Indicates whether an instance is in a virtual private cloud (VPC).
*/ inline void SetVpc(bool value) { m_vpcHasBeenSet = true; m_vpc = value; } /** *Indicates whether an instance is in a virtual private cloud (VPC).
*/ inline OrderableDBInstanceOption& WithVpc(bool value) { SetVpc(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