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

You can use RightsizingRecommendationConfiguration to customize * recommendations across two attributes. You can choose to view recommendations * for instances within the same instance families or across different instance * families. You can also choose to view your estimated savings that are associated * with recommendations with consideration of existing Savings Plans or Reserved * Instance (RI) benefits, or neither.

See Also:

AWS * API Reference

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

The option to see recommendations within the same instance family or * recommendations for instances across other families. The default value is * SAME_INSTANCE_FAMILY.

*/ inline const RecommendationTarget& GetRecommendationTarget() const{ return m_recommendationTarget; } /** *

The option to see recommendations within the same instance family or * recommendations for instances across other families. The default value is * SAME_INSTANCE_FAMILY.

*/ inline bool RecommendationTargetHasBeenSet() const { return m_recommendationTargetHasBeenSet; } /** *

The option to see recommendations within the same instance family or * recommendations for instances across other families. The default value is * SAME_INSTANCE_FAMILY.

*/ inline void SetRecommendationTarget(const RecommendationTarget& value) { m_recommendationTargetHasBeenSet = true; m_recommendationTarget = value; } /** *

The option to see recommendations within the same instance family or * recommendations for instances across other families. The default value is * SAME_INSTANCE_FAMILY.

*/ inline void SetRecommendationTarget(RecommendationTarget&& value) { m_recommendationTargetHasBeenSet = true; m_recommendationTarget = std::move(value); } /** *

The option to see recommendations within the same instance family or * recommendations for instances across other families. The default value is * SAME_INSTANCE_FAMILY.

*/ inline RightsizingRecommendationConfiguration& WithRecommendationTarget(const RecommendationTarget& value) { SetRecommendationTarget(value); return *this;} /** *

The option to see recommendations within the same instance family or * recommendations for instances across other families. The default value is * SAME_INSTANCE_FAMILY.

*/ inline RightsizingRecommendationConfiguration& WithRecommendationTarget(RecommendationTarget&& value) { SetRecommendationTarget(std::move(value)); return *this;} /** *

The option to consider RI or Savings Plans discount benefits in your savings * calculation. The default value is TRUE.

*/ inline bool GetBenefitsConsidered() const{ return m_benefitsConsidered; } /** *

The option to consider RI or Savings Plans discount benefits in your savings * calculation. The default value is TRUE.

*/ inline bool BenefitsConsideredHasBeenSet() const { return m_benefitsConsideredHasBeenSet; } /** *

The option to consider RI or Savings Plans discount benefits in your savings * calculation. The default value is TRUE.

*/ inline void SetBenefitsConsidered(bool value) { m_benefitsConsideredHasBeenSet = true; m_benefitsConsidered = value; } /** *

The option to consider RI or Savings Plans discount benefits in your savings * calculation. The default value is TRUE.

*/ inline RightsizingRecommendationConfiguration& WithBenefitsConsidered(bool value) { SetBenefitsConsidered(value); return *this;} private: RecommendationTarget m_recommendationTarget; bool m_recommendationTargetHasBeenSet = false; bool m_benefitsConsidered; bool m_benefitsConsideredHasBeenSet = false; }; } // namespace Model } // namespace CostExplorer } // namespace Aws