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

Contains a recommendation set.

See Also:

AWS * API Reference

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

The recommended strategy.

*/ inline const Strategy& GetStrategy() const{ return m_strategy; } /** *

The recommended strategy.

*/ inline bool StrategyHasBeenSet() const { return m_strategyHasBeenSet; } /** *

The recommended strategy.

*/ inline void SetStrategy(const Strategy& value) { m_strategyHasBeenSet = true; m_strategy = value; } /** *

The recommended strategy.

*/ inline void SetStrategy(Strategy&& value) { m_strategyHasBeenSet = true; m_strategy = std::move(value); } /** *

The recommended strategy.

*/ inline RecommendationSet& WithStrategy(const Strategy& value) { SetStrategy(value); return *this;} /** *

The recommended strategy.

*/ inline RecommendationSet& WithStrategy(Strategy&& value) { SetStrategy(std::move(value)); return *this;} /** *

The recommended target destination.

*/ inline const TargetDestination& GetTargetDestination() const{ return m_targetDestination; } /** *

The recommended target destination.

*/ inline bool TargetDestinationHasBeenSet() const { return m_targetDestinationHasBeenSet; } /** *

The recommended target destination.

*/ inline void SetTargetDestination(const TargetDestination& value) { m_targetDestinationHasBeenSet = true; m_targetDestination = value; } /** *

The recommended target destination.

*/ inline void SetTargetDestination(TargetDestination&& value) { m_targetDestinationHasBeenSet = true; m_targetDestination = std::move(value); } /** *

The recommended target destination.

*/ inline RecommendationSet& WithTargetDestination(const TargetDestination& value) { SetTargetDestination(value); return *this;} /** *

The recommended target destination.

*/ inline RecommendationSet& WithTargetDestination(TargetDestination&& value) { SetTargetDestination(std::move(value)); return *this;} /** *

The target destination for the recommendation set.

*/ inline const TransformationTool& GetTransformationTool() const{ return m_transformationTool; } /** *

The target destination for the recommendation set.

*/ inline bool TransformationToolHasBeenSet() const { return m_transformationToolHasBeenSet; } /** *

The target destination for the recommendation set.

*/ inline void SetTransformationTool(const TransformationTool& value) { m_transformationToolHasBeenSet = true; m_transformationTool = value; } /** *

The target destination for the recommendation set.

*/ inline void SetTransformationTool(TransformationTool&& value) { m_transformationToolHasBeenSet = true; m_transformationTool = std::move(value); } /** *

The target destination for the recommendation set.

*/ inline RecommendationSet& WithTransformationTool(const TransformationTool& value) { SetTransformationTool(value); return *this;} /** *

The target destination for the recommendation set.

*/ inline RecommendationSet& WithTransformationTool(TransformationTool&& value) { SetTransformationTool(std::move(value)); return *this;} private: Strategy m_strategy; bool m_strategyHasBeenSet = false; TargetDestination m_targetDestination; bool m_targetDestinationHasBeenSet = false; TransformationTool m_transformationTool; bool m_transformationToolHasBeenSet = false; }; } // namespace Model } // namespace MigrationHubStrategyRecommendations } // namespace Aws