/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #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 a recommendation of a target engine on * Amazon RDS.

See Also:

AWS * API Reference

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

Supplemental information about the requirements to the recommended target * database on Amazon RDS.

*/ inline const RdsRequirements& GetRequirementsToTarget() const{ return m_requirementsToTarget; } /** *

Supplemental information about the requirements to the recommended target * database on Amazon RDS.

*/ inline bool RequirementsToTargetHasBeenSet() const { return m_requirementsToTargetHasBeenSet; } /** *

Supplemental information about the requirements to the recommended target * database on Amazon RDS.

*/ inline void SetRequirementsToTarget(const RdsRequirements& value) { m_requirementsToTargetHasBeenSet = true; m_requirementsToTarget = value; } /** *

Supplemental information about the requirements to the recommended target * database on Amazon RDS.

*/ inline void SetRequirementsToTarget(RdsRequirements&& value) { m_requirementsToTargetHasBeenSet = true; m_requirementsToTarget = std::move(value); } /** *

Supplemental information about the requirements to the recommended target * database on Amazon RDS.

*/ inline RdsRecommendation& WithRequirementsToTarget(const RdsRequirements& value) { SetRequirementsToTarget(value); return *this;} /** *

Supplemental information about the requirements to the recommended target * database on Amazon RDS.

*/ inline RdsRecommendation& WithRequirementsToTarget(RdsRequirements&& value) { SetRequirementsToTarget(std::move(value)); return *this;} /** *

Supplemental information about the configuration of the recommended target * database on Amazon RDS.

*/ inline const RdsConfiguration& GetTargetConfiguration() const{ return m_targetConfiguration; } /** *

Supplemental information about the configuration of the recommended target * database on Amazon RDS.

*/ inline bool TargetConfigurationHasBeenSet() const { return m_targetConfigurationHasBeenSet; } /** *

Supplemental information about the configuration of the recommended target * database on Amazon RDS.

*/ inline void SetTargetConfiguration(const RdsConfiguration& value) { m_targetConfigurationHasBeenSet = true; m_targetConfiguration = value; } /** *

Supplemental information about the configuration of the recommended target * database on Amazon RDS.

*/ inline void SetTargetConfiguration(RdsConfiguration&& value) { m_targetConfigurationHasBeenSet = true; m_targetConfiguration = std::move(value); } /** *

Supplemental information about the configuration of the recommended target * database on Amazon RDS.

*/ inline RdsRecommendation& WithTargetConfiguration(const RdsConfiguration& value) { SetTargetConfiguration(value); return *this;} /** *

Supplemental information about the configuration of the recommended target * database on Amazon RDS.

*/ inline RdsRecommendation& WithTargetConfiguration(RdsConfiguration&& value) { SetTargetConfiguration(std::move(value)); return *this;} private: RdsRequirements m_requirementsToTarget; bool m_requirementsToTargetHasBeenSet = false; RdsConfiguration m_targetConfiguration; bool m_targetConfigurationHasBeenSet = false; }; } // namespace Model } // namespace DatabaseMigrationService } // namespace Aws