/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace DatabaseMigrationService { namespace Model { /** *

Provides information that describes the configuration of the recommended * target engine on Amazon RDS.

See Also:

AWS * API Reference

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

Describes the recommended target Amazon RDS engine edition.

*/ inline const Aws::String& GetEngineEdition() const{ return m_engineEdition; } /** *

Describes the recommended target Amazon RDS engine edition.

*/ inline bool EngineEditionHasBeenSet() const { return m_engineEditionHasBeenSet; } /** *

Describes the recommended target Amazon RDS engine edition.

*/ inline void SetEngineEdition(const Aws::String& value) { m_engineEditionHasBeenSet = true; m_engineEdition = value; } /** *

Describes the recommended target Amazon RDS engine edition.

*/ inline void SetEngineEdition(Aws::String&& value) { m_engineEditionHasBeenSet = true; m_engineEdition = std::move(value); } /** *

Describes the recommended target Amazon RDS engine edition.

*/ inline void SetEngineEdition(const char* value) { m_engineEditionHasBeenSet = true; m_engineEdition.assign(value); } /** *

Describes the recommended target Amazon RDS engine edition.

*/ inline RdsConfiguration& WithEngineEdition(const Aws::String& value) { SetEngineEdition(value); return *this;} /** *

Describes the recommended target Amazon RDS engine edition.

*/ inline RdsConfiguration& WithEngineEdition(Aws::String&& value) { SetEngineEdition(std::move(value)); return *this;} /** *

Describes the recommended target Amazon RDS engine edition.

*/ inline RdsConfiguration& WithEngineEdition(const char* value) { SetEngineEdition(value); return *this;} /** *

Describes the recommended target Amazon RDS instance type.

*/ inline const Aws::String& GetInstanceType() const{ return m_instanceType; } /** *

Describes the recommended target Amazon RDS instance type.

*/ inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; } /** *

Describes the recommended target Amazon RDS instance type.

*/ inline void SetInstanceType(const Aws::String& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; } /** *

Describes the recommended target Amazon RDS instance type.

*/ inline void SetInstanceType(Aws::String&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::move(value); } /** *

Describes the recommended target Amazon RDS instance type.

*/ inline void SetInstanceType(const char* value) { m_instanceTypeHasBeenSet = true; m_instanceType.assign(value); } /** *

Describes the recommended target Amazon RDS instance type.

*/ inline RdsConfiguration& WithInstanceType(const Aws::String& value) { SetInstanceType(value); return *this;} /** *

Describes the recommended target Amazon RDS instance type.

*/ inline RdsConfiguration& WithInstanceType(Aws::String&& value) { SetInstanceType(std::move(value)); return *this;} /** *

Describes the recommended target Amazon RDS instance type.

*/ inline RdsConfiguration& WithInstanceType(const char* value) { SetInstanceType(value); return *this;} /** *

Describes the number of virtual CPUs (vCPU) on the recommended Amazon RDS DB * instance that meets your requirements.

*/ inline double GetInstanceVcpu() const{ return m_instanceVcpu; } /** *

Describes the number of virtual CPUs (vCPU) on the recommended Amazon RDS DB * instance that meets your requirements.

*/ inline bool InstanceVcpuHasBeenSet() const { return m_instanceVcpuHasBeenSet; } /** *

Describes the number of virtual CPUs (vCPU) on the recommended Amazon RDS DB * instance that meets your requirements.

*/ inline void SetInstanceVcpu(double value) { m_instanceVcpuHasBeenSet = true; m_instanceVcpu = value; } /** *

Describes the number of virtual CPUs (vCPU) on the recommended Amazon RDS DB * instance that meets your requirements.

*/ inline RdsConfiguration& WithInstanceVcpu(double value) { SetInstanceVcpu(value); return *this;} /** *

Describes the memory on the recommended Amazon RDS DB instance that meets * your requirements.

*/ inline double GetInstanceMemory() const{ return m_instanceMemory; } /** *

Describes the memory on the recommended Amazon RDS DB instance that meets * your requirements.

*/ inline bool InstanceMemoryHasBeenSet() const { return m_instanceMemoryHasBeenSet; } /** *

Describes the memory on the recommended Amazon RDS DB instance that meets * your requirements.

*/ inline void SetInstanceMemory(double value) { m_instanceMemoryHasBeenSet = true; m_instanceMemory = value; } /** *

Describes the memory on the recommended Amazon RDS DB instance that meets * your requirements.

*/ inline RdsConfiguration& WithInstanceMemory(double value) { SetInstanceMemory(value); return *this;} /** *

Describes the storage type of the recommended Amazon RDS DB instance that * meets your requirements.

Amazon RDS provides three storage types: General * Purpose SSD (also known as gp2 and gp3), Provisioned IOPS SSD (also known as * io1), and magnetic (also known as standard).

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

Describes the storage type of the recommended Amazon RDS DB instance that * meets your requirements.

Amazon RDS provides three storage types: General * Purpose SSD (also known as gp2 and gp3), Provisioned IOPS SSD (also known as * io1), and magnetic (also known as standard).

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

Describes the storage type of the recommended Amazon RDS DB instance that * meets your requirements.

Amazon RDS provides three storage types: General * Purpose SSD (also known as gp2 and gp3), Provisioned IOPS SSD (also known as * io1), and magnetic (also known as standard).

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

Describes the storage type of the recommended Amazon RDS DB instance that * meets your requirements.

Amazon RDS provides three storage types: General * Purpose SSD (also known as gp2 and gp3), Provisioned IOPS SSD (also known as * io1), and magnetic (also known as standard).

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

Describes the storage type of the recommended Amazon RDS DB instance that * meets your requirements.

Amazon RDS provides three storage types: General * Purpose SSD (also known as gp2 and gp3), Provisioned IOPS SSD (also known as * io1), and magnetic (also known as standard).

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

Describes the storage type of the recommended Amazon RDS DB instance that * meets your requirements.

Amazon RDS provides three storage types: General * Purpose SSD (also known as gp2 and gp3), Provisioned IOPS SSD (also known as * io1), and magnetic (also known as standard).

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

Describes the storage type of the recommended Amazon RDS DB instance that * meets your requirements.

Amazon RDS provides three storage types: General * Purpose SSD (also known as gp2 and gp3), Provisioned IOPS SSD (also known as * io1), and magnetic (also known as standard).

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

Describes the storage type of the recommended Amazon RDS DB instance that * meets your requirements.

Amazon RDS provides three storage types: General * Purpose SSD (also known as gp2 and gp3), Provisioned IOPS SSD (also known as * io1), and magnetic (also known as standard).

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

Describes the storage size of the recommended Amazon RDS DB instance that * meets your requirements.

*/ inline int GetStorageSize() const{ return m_storageSize; } /** *

Describes the storage size of the recommended Amazon RDS DB instance that * meets your requirements.

*/ inline bool StorageSizeHasBeenSet() const { return m_storageSizeHasBeenSet; } /** *

Describes the storage size of the recommended Amazon RDS DB instance that * meets your requirements.

*/ inline void SetStorageSize(int value) { m_storageSizeHasBeenSet = true; m_storageSize = value; } /** *

Describes the storage size of the recommended Amazon RDS DB instance that * meets your requirements.

*/ inline RdsConfiguration& WithStorageSize(int value) { SetStorageSize(value); return *this;} /** *

Describes the number of I/O operations completed each second (IOPS) on the * recommended Amazon RDS DB instance that meets your requirements.

*/ inline int GetStorageIops() const{ return m_storageIops; } /** *

Describes the number of I/O operations completed each second (IOPS) on the * recommended Amazon RDS DB instance that meets your requirements.

*/ inline bool StorageIopsHasBeenSet() const { return m_storageIopsHasBeenSet; } /** *

Describes the number of I/O operations completed each second (IOPS) on the * recommended Amazon RDS DB instance that meets your requirements.

*/ inline void SetStorageIops(int value) { m_storageIopsHasBeenSet = true; m_storageIops = value; } /** *

Describes the number of I/O operations completed each second (IOPS) on the * recommended Amazon RDS DB instance that meets your requirements.

*/ inline RdsConfiguration& WithStorageIops(int value) { SetStorageIops(value); return *this;} /** *

Describes the deployment option for the recommended Amazon RDS DB instance. * The deployment options include Multi-AZ and Single-AZ deployments. Valid values * include "MULTI_AZ" and "SINGLE_AZ".

*/ inline const Aws::String& GetDeploymentOption() const{ return m_deploymentOption; } /** *

Describes the deployment option for the recommended Amazon RDS DB instance. * The deployment options include Multi-AZ and Single-AZ deployments. Valid values * include "MULTI_AZ" and "SINGLE_AZ".

*/ inline bool DeploymentOptionHasBeenSet() const { return m_deploymentOptionHasBeenSet; } /** *

Describes the deployment option for the recommended Amazon RDS DB instance. * The deployment options include Multi-AZ and Single-AZ deployments. Valid values * include "MULTI_AZ" and "SINGLE_AZ".

*/ inline void SetDeploymentOption(const Aws::String& value) { m_deploymentOptionHasBeenSet = true; m_deploymentOption = value; } /** *

Describes the deployment option for the recommended Amazon RDS DB instance. * The deployment options include Multi-AZ and Single-AZ deployments. Valid values * include "MULTI_AZ" and "SINGLE_AZ".

*/ inline void SetDeploymentOption(Aws::String&& value) { m_deploymentOptionHasBeenSet = true; m_deploymentOption = std::move(value); } /** *

Describes the deployment option for the recommended Amazon RDS DB instance. * The deployment options include Multi-AZ and Single-AZ deployments. Valid values * include "MULTI_AZ" and "SINGLE_AZ".

*/ inline void SetDeploymentOption(const char* value) { m_deploymentOptionHasBeenSet = true; m_deploymentOption.assign(value); } /** *

Describes the deployment option for the recommended Amazon RDS DB instance. * The deployment options include Multi-AZ and Single-AZ deployments. Valid values * include "MULTI_AZ" and "SINGLE_AZ".

*/ inline RdsConfiguration& WithDeploymentOption(const Aws::String& value) { SetDeploymentOption(value); return *this;} /** *

Describes the deployment option for the recommended Amazon RDS DB instance. * The deployment options include Multi-AZ and Single-AZ deployments. Valid values * include "MULTI_AZ" and "SINGLE_AZ".

*/ inline RdsConfiguration& WithDeploymentOption(Aws::String&& value) { SetDeploymentOption(std::move(value)); return *this;} /** *

Describes the deployment option for the recommended Amazon RDS DB instance. * The deployment options include Multi-AZ and Single-AZ deployments. Valid values * include "MULTI_AZ" and "SINGLE_AZ".

*/ inline RdsConfiguration& WithDeploymentOption(const char* value) { SetDeploymentOption(value); return *this;} /** *

Describes the recommended target Amazon RDS engine version.

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

Describes the recommended target Amazon RDS engine version.

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

Describes the recommended target Amazon RDS engine version.

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

Describes the recommended target Amazon RDS engine version.

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

Describes the recommended target Amazon RDS engine version.

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

Describes the recommended target Amazon RDS engine version.

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

Describes the recommended target Amazon RDS engine version.

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

Describes the recommended target Amazon RDS engine version.

*/ inline RdsConfiguration& WithEngineVersion(const char* value) { SetEngineVersion(value); return *this;} private: Aws::String m_engineEdition; bool m_engineEditionHasBeenSet = false; Aws::String m_instanceType; bool m_instanceTypeHasBeenSet = false; double m_instanceVcpu; bool m_instanceVcpuHasBeenSet = false; double m_instanceMemory; bool m_instanceMemoryHasBeenSet = false; Aws::String m_storageType; bool m_storageTypeHasBeenSet = false; int m_storageSize; bool m_storageSizeHasBeenSet = false; int m_storageIops; bool m_storageIopsHasBeenSet = false; Aws::String m_deploymentOption; bool m_deploymentOptionHasBeenSet = false; Aws::String m_engineVersion; bool m_engineVersionHasBeenSet = false; }; } // namespace Model } // namespace DatabaseMigrationService } // namespace Aws