/** * 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 DatabaseMigrationService { namespace Model { /** *

In response to the DescribeOrderableReplicationInstances * operation, this object describes an available replication instance. This * description includes the replication instance's type, engine version, and * allocated storage.

See Also:

AWS * API Reference

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

The version of the replication engine.

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

The version of the replication engine.

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

The version of the replication engine.

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

The version of the replication engine.

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

The version of the replication engine.

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

The version of the replication engine.

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

The version of the replication engine.

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

The version of the replication engine.

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

The compute and memory capacity of the replication instance as defined for * the specified replication instance class. For example to specify the instance * class dms.c4.large, set this parameter to "dms.c4.large".

*

For more information on the settings and capacities for the available * replication instance classes, see * Selecting the right DMS replication instance for your migration.

*/ inline const Aws::String& GetReplicationInstanceClass() const{ return m_replicationInstanceClass; } /** *

The compute and memory capacity of the replication instance as defined for * the specified replication instance class. For example to specify the instance * class dms.c4.large, set this parameter to "dms.c4.large".

*

For more information on the settings and capacities for the available * replication instance classes, see * Selecting the right DMS replication instance for your migration.

*/ inline bool ReplicationInstanceClassHasBeenSet() const { return m_replicationInstanceClassHasBeenSet; } /** *

The compute and memory capacity of the replication instance as defined for * the specified replication instance class. For example to specify the instance * class dms.c4.large, set this parameter to "dms.c4.large".

*

For more information on the settings and capacities for the available * replication instance classes, see * Selecting the right DMS replication instance for your migration.

*/ inline void SetReplicationInstanceClass(const Aws::String& value) { m_replicationInstanceClassHasBeenSet = true; m_replicationInstanceClass = value; } /** *

The compute and memory capacity of the replication instance as defined for * the specified replication instance class. For example to specify the instance * class dms.c4.large, set this parameter to "dms.c4.large".

*

For more information on the settings and capacities for the available * replication instance classes, see * Selecting the right DMS replication instance for your migration.

*/ inline void SetReplicationInstanceClass(Aws::String&& value) { m_replicationInstanceClassHasBeenSet = true; m_replicationInstanceClass = std::move(value); } /** *

The compute and memory capacity of the replication instance as defined for * the specified replication instance class. For example to specify the instance * class dms.c4.large, set this parameter to "dms.c4.large".

*

For more information on the settings and capacities for the available * replication instance classes, see * Selecting the right DMS replication instance for your migration.

*/ inline void SetReplicationInstanceClass(const char* value) { m_replicationInstanceClassHasBeenSet = true; m_replicationInstanceClass.assign(value); } /** *

The compute and memory capacity of the replication instance as defined for * the specified replication instance class. For example to specify the instance * class dms.c4.large, set this parameter to "dms.c4.large".

*

For more information on the settings and capacities for the available * replication instance classes, see * Selecting the right DMS replication instance for your migration.

*/ inline OrderableReplicationInstance& WithReplicationInstanceClass(const Aws::String& value) { SetReplicationInstanceClass(value); return *this;} /** *

The compute and memory capacity of the replication instance as defined for * the specified replication instance class. For example to specify the instance * class dms.c4.large, set this parameter to "dms.c4.large".

*

For more information on the settings and capacities for the available * replication instance classes, see * Selecting the right DMS replication instance for your migration.

*/ inline OrderableReplicationInstance& WithReplicationInstanceClass(Aws::String&& value) { SetReplicationInstanceClass(std::move(value)); return *this;} /** *

The compute and memory capacity of the replication instance as defined for * the specified replication instance class. For example to specify the instance * class dms.c4.large, set this parameter to "dms.c4.large".

*

For more information on the settings and capacities for the available * replication instance classes, see * Selecting the right DMS replication instance for your migration.

*/ inline OrderableReplicationInstance& WithReplicationInstanceClass(const char* value) { SetReplicationInstanceClass(value); return *this;} /** *

The type of storage used by the replication instance.

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

The type of storage used by the replication instance.

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

The type of storage used by the replication instance.

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

The type of storage used by the replication instance.

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

The type of storage used by the replication instance.

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

The type of storage used by the replication instance.

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

The type of storage used by the replication instance.

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

The type of storage used by the replication instance.

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

The minimum amount of storage (in gigabytes) that can be allocated for the * replication instance.

*/ inline int GetMinAllocatedStorage() const{ return m_minAllocatedStorage; } /** *

The minimum amount of storage (in gigabytes) that can be allocated for the * replication instance.

*/ inline bool MinAllocatedStorageHasBeenSet() const { return m_minAllocatedStorageHasBeenSet; } /** *

The minimum amount of storage (in gigabytes) that can be allocated for the * replication instance.

*/ inline void SetMinAllocatedStorage(int value) { m_minAllocatedStorageHasBeenSet = true; m_minAllocatedStorage = value; } /** *

The minimum amount of storage (in gigabytes) that can be allocated for the * replication instance.

*/ inline OrderableReplicationInstance& WithMinAllocatedStorage(int value) { SetMinAllocatedStorage(value); return *this;} /** *

The minimum amount of storage (in gigabytes) that can be allocated for the * replication instance.

*/ inline int GetMaxAllocatedStorage() const{ return m_maxAllocatedStorage; } /** *

The minimum amount of storage (in gigabytes) that can be allocated for the * replication instance.

*/ inline bool MaxAllocatedStorageHasBeenSet() const { return m_maxAllocatedStorageHasBeenSet; } /** *

The minimum amount of storage (in gigabytes) that can be allocated for the * replication instance.

*/ inline void SetMaxAllocatedStorage(int value) { m_maxAllocatedStorageHasBeenSet = true; m_maxAllocatedStorage = value; } /** *

The minimum amount of storage (in gigabytes) that can be allocated for the * replication instance.

*/ inline OrderableReplicationInstance& WithMaxAllocatedStorage(int value) { SetMaxAllocatedStorage(value); return *this;} /** *

The default amount of storage (in gigabytes) that is allocated for the * replication instance.

*/ inline int GetDefaultAllocatedStorage() const{ return m_defaultAllocatedStorage; } /** *

The default amount of storage (in gigabytes) that is allocated for the * replication instance.

*/ inline bool DefaultAllocatedStorageHasBeenSet() const { return m_defaultAllocatedStorageHasBeenSet; } /** *

The default amount of storage (in gigabytes) that is allocated for the * replication instance.

*/ inline void SetDefaultAllocatedStorage(int value) { m_defaultAllocatedStorageHasBeenSet = true; m_defaultAllocatedStorage = value; } /** *

The default amount of storage (in gigabytes) that is allocated for the * replication instance.

*/ inline OrderableReplicationInstance& WithDefaultAllocatedStorage(int value) { SetDefaultAllocatedStorage(value); return *this;} /** *

The amount of storage (in gigabytes) that is allocated for the replication * instance.

*/ inline int GetIncludedAllocatedStorage() const{ return m_includedAllocatedStorage; } /** *

The amount of storage (in gigabytes) that is allocated for the replication * instance.

*/ inline bool IncludedAllocatedStorageHasBeenSet() const { return m_includedAllocatedStorageHasBeenSet; } /** *

The amount of storage (in gigabytes) that is allocated for the replication * instance.

*/ inline void SetIncludedAllocatedStorage(int value) { m_includedAllocatedStorageHasBeenSet = true; m_includedAllocatedStorage = value; } /** *

The amount of storage (in gigabytes) that is allocated for the replication * instance.

*/ inline OrderableReplicationInstance& WithIncludedAllocatedStorage(int value) { SetIncludedAllocatedStorage(value); return *this;} /** *

List of Availability Zones for this replication instance.

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

List of Availability Zones for this replication instance.

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

List of Availability Zones for this replication instance.

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

List of Availability Zones for this replication instance.

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

List of Availability Zones for this replication instance.

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

List of Availability Zones for this replication instance.

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

List of Availability Zones for this replication instance.

*/ inline OrderableReplicationInstance& AddAvailabilityZones(const Aws::String& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.push_back(value); return *this; } /** *

List of Availability Zones for this replication instance.

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

List of Availability Zones for this replication instance.

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

The value returned when the specified EngineVersion of the * replication instance is in Beta or test mode. This indicates some features might * not work as expected.

DMS supports the ReleaseStatus * parameter in versions 3.1.4 and later.

*/ inline const ReleaseStatusValues& GetReleaseStatus() const{ return m_releaseStatus; } /** *

The value returned when the specified EngineVersion of the * replication instance is in Beta or test mode. This indicates some features might * not work as expected.

DMS supports the ReleaseStatus * parameter in versions 3.1.4 and later.

*/ inline bool ReleaseStatusHasBeenSet() const { return m_releaseStatusHasBeenSet; } /** *

The value returned when the specified EngineVersion of the * replication instance is in Beta or test mode. This indicates some features might * not work as expected.

DMS supports the ReleaseStatus * parameter in versions 3.1.4 and later.

*/ inline void SetReleaseStatus(const ReleaseStatusValues& value) { m_releaseStatusHasBeenSet = true; m_releaseStatus = value; } /** *

The value returned when the specified EngineVersion of the * replication instance is in Beta or test mode. This indicates some features might * not work as expected.

DMS supports the ReleaseStatus * parameter in versions 3.1.4 and later.

*/ inline void SetReleaseStatus(ReleaseStatusValues&& value) { m_releaseStatusHasBeenSet = true; m_releaseStatus = std::move(value); } /** *

The value returned when the specified EngineVersion of the * replication instance is in Beta or test mode. This indicates some features might * not work as expected.

DMS supports the ReleaseStatus * parameter in versions 3.1.4 and later.

*/ inline OrderableReplicationInstance& WithReleaseStatus(const ReleaseStatusValues& value) { SetReleaseStatus(value); return *this;} /** *

The value returned when the specified EngineVersion of the * replication instance is in Beta or test mode. This indicates some features might * not work as expected.

DMS supports the ReleaseStatus * parameter in versions 3.1.4 and later.

*/ inline OrderableReplicationInstance& WithReleaseStatus(ReleaseStatusValues&& value) { SetReleaseStatus(std::move(value)); return *this;} private: Aws::String m_engineVersion; bool m_engineVersionHasBeenSet = false; Aws::String m_replicationInstanceClass; bool m_replicationInstanceClassHasBeenSet = false; Aws::String m_storageType; bool m_storageTypeHasBeenSet = false; int m_minAllocatedStorage; bool m_minAllocatedStorageHasBeenSet = false; int m_maxAllocatedStorage; bool m_maxAllocatedStorageHasBeenSet = false; int m_defaultAllocatedStorage; bool m_defaultAllocatedStorageHasBeenSet = false; int m_includedAllocatedStorage; bool m_includedAllocatedStorageHasBeenSet = false; Aws::Vector m_availabilityZones; bool m_availabilityZonesHasBeenSet = false; ReleaseStatusValues m_releaseStatus; bool m_releaseStatusHasBeenSet = false; }; } // namespace Model } // namespace DatabaseMigrationService } // namespace Aws