/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include <aws/dms/DatabaseMigrationService_EXPORTS.h> #include <aws/core/utils/memory/stl/AWSString.h> #include <utility> namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace DatabaseMigrationService { namespace Model { /** * <p>Provides information that describes the requirements to the target engine on * Amazon RDS.</p><p><h3>See Also:</h3> <a * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/RdsRequirements">AWS * API Reference</a></p> */ class RdsRequirements { public: AWS_DATABASEMIGRATIONSERVICE_API RdsRequirements(); AWS_DATABASEMIGRATIONSERVICE_API RdsRequirements(Aws::Utils::Json::JsonView jsonValue); AWS_DATABASEMIGRATIONSERVICE_API RdsRequirements& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_DATABASEMIGRATIONSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const; /** * <p>The required target Amazon RDS engine edition.</p> */ inline const Aws::String& GetEngineEdition() const{ return m_engineEdition; } /** * <p>The required target Amazon RDS engine edition.</p> */ inline bool EngineEditionHasBeenSet() const { return m_engineEditionHasBeenSet; } /** * <p>The required target Amazon RDS engine edition.</p> */ inline void SetEngineEdition(const Aws::String& value) { m_engineEditionHasBeenSet = true; m_engineEdition = value; } /** * <p>The required target Amazon RDS engine edition.</p> */ inline void SetEngineEdition(Aws::String&& value) { m_engineEditionHasBeenSet = true; m_engineEdition = std::move(value); } /** * <p>The required target Amazon RDS engine edition.</p> */ inline void SetEngineEdition(const char* value) { m_engineEditionHasBeenSet = true; m_engineEdition.assign(value); } /** * <p>The required target Amazon RDS engine edition.</p> */ inline RdsRequirements& WithEngineEdition(const Aws::String& value) { SetEngineEdition(value); return *this;} /** * <p>The required target Amazon RDS engine edition.</p> */ inline RdsRequirements& WithEngineEdition(Aws::String&& value) { SetEngineEdition(std::move(value)); return *this;} /** * <p>The required target Amazon RDS engine edition.</p> */ inline RdsRequirements& WithEngineEdition(const char* value) { SetEngineEdition(value); return *this;} /** * <p>The required number of virtual CPUs (vCPU) on the Amazon RDS DB instance.</p> */ inline double GetInstanceVcpu() const{ return m_instanceVcpu; } /** * <p>The required number of virtual CPUs (vCPU) on the Amazon RDS DB instance.</p> */ inline bool InstanceVcpuHasBeenSet() const { return m_instanceVcpuHasBeenSet; } /** * <p>The required number of virtual CPUs (vCPU) on the Amazon RDS DB instance.</p> */ inline void SetInstanceVcpu(double value) { m_instanceVcpuHasBeenSet = true; m_instanceVcpu = value; } /** * <p>The required number of virtual CPUs (vCPU) on the Amazon RDS DB instance.</p> */ inline RdsRequirements& WithInstanceVcpu(double value) { SetInstanceVcpu(value); return *this;} /** * <p>The required memory on the Amazon RDS DB instance.</p> */ inline double GetInstanceMemory() const{ return m_instanceMemory; } /** * <p>The required memory on the Amazon RDS DB instance.</p> */ inline bool InstanceMemoryHasBeenSet() const { return m_instanceMemoryHasBeenSet; } /** * <p>The required memory on the Amazon RDS DB instance.</p> */ inline void SetInstanceMemory(double value) { m_instanceMemoryHasBeenSet = true; m_instanceMemory = value; } /** * <p>The required memory on the Amazon RDS DB instance.</p> */ inline RdsRequirements& WithInstanceMemory(double value) { SetInstanceMemory(value); return *this;} /** * <p>The required Amazon RDS DB instance storage size.</p> */ inline int GetStorageSize() const{ return m_storageSize; } /** * <p>The required Amazon RDS DB instance storage size.</p> */ inline bool StorageSizeHasBeenSet() const { return m_storageSizeHasBeenSet; } /** * <p>The required Amazon RDS DB instance storage size.</p> */ inline void SetStorageSize(int value) { m_storageSizeHasBeenSet = true; m_storageSize = value; } /** * <p>The required Amazon RDS DB instance storage size.</p> */ inline RdsRequirements& WithStorageSize(int value) { SetStorageSize(value); return *this;} /** * <p>The required number of I/O operations completed each second (IOPS) on your * Amazon RDS DB instance.</p> */ inline int GetStorageIops() const{ return m_storageIops; } /** * <p>The required number of I/O operations completed each second (IOPS) on your * Amazon RDS DB instance.</p> */ inline bool StorageIopsHasBeenSet() const { return m_storageIopsHasBeenSet; } /** * <p>The required number of I/O operations completed each second (IOPS) on your * Amazon RDS DB instance.</p> */ inline void SetStorageIops(int value) { m_storageIopsHasBeenSet = true; m_storageIops = value; } /** * <p>The required number of I/O operations completed each second (IOPS) on your * Amazon RDS DB instance.</p> */ inline RdsRequirements& WithStorageIops(int value) { SetStorageIops(value); return *this;} /** * <p>The required deployment option for the Amazon RDS DB instance. Valid values * include <code>"MULTI_AZ"</code> for Multi-AZ deployments and * <code>"SINGLE_AZ"</code> for Single-AZ deployments.</p> */ inline const Aws::String& GetDeploymentOption() const{ return m_deploymentOption; } /** * <p>The required deployment option for the Amazon RDS DB instance. Valid values * include <code>"MULTI_AZ"</code> for Multi-AZ deployments and * <code>"SINGLE_AZ"</code> for Single-AZ deployments.</p> */ inline bool DeploymentOptionHasBeenSet() const { return m_deploymentOptionHasBeenSet; } /** * <p>The required deployment option for the Amazon RDS DB instance. Valid values * include <code>"MULTI_AZ"</code> for Multi-AZ deployments and * <code>"SINGLE_AZ"</code> for Single-AZ deployments.</p> */ inline void SetDeploymentOption(const Aws::String& value) { m_deploymentOptionHasBeenSet = true; m_deploymentOption = value; } /** * <p>The required deployment option for the Amazon RDS DB instance. Valid values * include <code>"MULTI_AZ"</code> for Multi-AZ deployments and * <code>"SINGLE_AZ"</code> for Single-AZ deployments.</p> */ inline void SetDeploymentOption(Aws::String&& value) { m_deploymentOptionHasBeenSet = true; m_deploymentOption = std::move(value); } /** * <p>The required deployment option for the Amazon RDS DB instance. Valid values * include <code>"MULTI_AZ"</code> for Multi-AZ deployments and * <code>"SINGLE_AZ"</code> for Single-AZ deployments.</p> */ inline void SetDeploymentOption(const char* value) { m_deploymentOptionHasBeenSet = true; m_deploymentOption.assign(value); } /** * <p>The required deployment option for the Amazon RDS DB instance. Valid values * include <code>"MULTI_AZ"</code> for Multi-AZ deployments and * <code>"SINGLE_AZ"</code> for Single-AZ deployments.</p> */ inline RdsRequirements& WithDeploymentOption(const Aws::String& value) { SetDeploymentOption(value); return *this;} /** * <p>The required deployment option for the Amazon RDS DB instance. Valid values * include <code>"MULTI_AZ"</code> for Multi-AZ deployments and * <code>"SINGLE_AZ"</code> for Single-AZ deployments.</p> */ inline RdsRequirements& WithDeploymentOption(Aws::String&& value) { SetDeploymentOption(std::move(value)); return *this;} /** * <p>The required deployment option for the Amazon RDS DB instance. Valid values * include <code>"MULTI_AZ"</code> for Multi-AZ deployments and * <code>"SINGLE_AZ"</code> for Single-AZ deployments.</p> */ inline RdsRequirements& WithDeploymentOption(const char* value) { SetDeploymentOption(value); return *this;} /** * <p>The required target Amazon RDS engine version.</p> */ inline const Aws::String& GetEngineVersion() const{ return m_engineVersion; } /** * <p>The required target Amazon RDS engine version.</p> */ inline bool EngineVersionHasBeenSet() const { return m_engineVersionHasBeenSet; } /** * <p>The required target Amazon RDS engine version.</p> */ inline void SetEngineVersion(const Aws::String& value) { m_engineVersionHasBeenSet = true; m_engineVersion = value; } /** * <p>The required target Amazon RDS engine version.</p> */ inline void SetEngineVersion(Aws::String&& value) { m_engineVersionHasBeenSet = true; m_engineVersion = std::move(value); } /** * <p>The required target Amazon RDS engine version.</p> */ inline void SetEngineVersion(const char* value) { m_engineVersionHasBeenSet = true; m_engineVersion.assign(value); } /** * <p>The required target Amazon RDS engine version.</p> */ inline RdsRequirements& WithEngineVersion(const Aws::String& value) { SetEngineVersion(value); return *this;} /** * <p>The required target Amazon RDS engine version.</p> */ inline RdsRequirements& WithEngineVersion(Aws::String&& value) { SetEngineVersion(std::move(value)); return *this;} /** * <p>The required target Amazon RDS engine version.</p> */ inline RdsRequirements& WithEngineVersion(const char* value) { SetEngineVersion(value); return *this;} private: Aws::String m_engineEdition; bool m_engineEditionHasBeenSet = false; double m_instanceVcpu; bool m_instanceVcpuHasBeenSet = false; double m_instanceMemory; bool m_instanceMemoryHasBeenSet = 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