/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Describes the savings opportunity for recommendations of a given resource
* type or for the recommendation option of an individual resource. Savings
* opportunity represents the estimated monthly savings you can achieve by
* implementing a given Compute Optimizer recommendation. Savings opportunity data requires that you opt in to Cost Explorer, as well
* as activate Receive Amazon EC2 resource recommendations in the Cost
* Explorer preferences page. That creates a connection between Cost Explorer and
* Compute Optimizer. With this connection, Cost Explorer generates savings
* estimates considering the price of existing resources, the price of recommended
* resources, and historical usage data. Estimated monthly savings reflects the
* projected dollar savings associated with each of the recommendations generated.
* For more information, see Enabling
* Cost Explorer and Optimizing
* your cost with Rightsizing Recommendations in the Cost Management User
* Guide.See Also:
AWS
* API Reference
The estimated monthly savings possible as a percentage of monthly cost by * adopting Compute Optimizer recommendations for a given resource.
*/ inline double GetSavingsOpportunityPercentage() const{ return m_savingsOpportunityPercentage; } /** *The estimated monthly savings possible as a percentage of monthly cost by * adopting Compute Optimizer recommendations for a given resource.
*/ inline bool SavingsOpportunityPercentageHasBeenSet() const { return m_savingsOpportunityPercentageHasBeenSet; } /** *The estimated monthly savings possible as a percentage of monthly cost by * adopting Compute Optimizer recommendations for a given resource.
*/ inline void SetSavingsOpportunityPercentage(double value) { m_savingsOpportunityPercentageHasBeenSet = true; m_savingsOpportunityPercentage = value; } /** *The estimated monthly savings possible as a percentage of monthly cost by * adopting Compute Optimizer recommendations for a given resource.
*/ inline SavingsOpportunity& WithSavingsOpportunityPercentage(double value) { SetSavingsOpportunityPercentage(value); return *this;} /** *An object that describes the estimated monthly savings amount possible by * adopting Compute Optimizer recommendations for a given resource. This is based * on the On-Demand instance pricing..
*/ inline const EstimatedMonthlySavings& GetEstimatedMonthlySavings() const{ return m_estimatedMonthlySavings; } /** *An object that describes the estimated monthly savings amount possible by * adopting Compute Optimizer recommendations for a given resource. This is based * on the On-Demand instance pricing..
*/ inline bool EstimatedMonthlySavingsHasBeenSet() const { return m_estimatedMonthlySavingsHasBeenSet; } /** *An object that describes the estimated monthly savings amount possible by * adopting Compute Optimizer recommendations for a given resource. This is based * on the On-Demand instance pricing..
*/ inline void SetEstimatedMonthlySavings(const EstimatedMonthlySavings& value) { m_estimatedMonthlySavingsHasBeenSet = true; m_estimatedMonthlySavings = value; } /** *An object that describes the estimated monthly savings amount possible by * adopting Compute Optimizer recommendations for a given resource. This is based * on the On-Demand instance pricing..
*/ inline void SetEstimatedMonthlySavings(EstimatedMonthlySavings&& value) { m_estimatedMonthlySavingsHasBeenSet = true; m_estimatedMonthlySavings = std::move(value); } /** *An object that describes the estimated monthly savings amount possible by * adopting Compute Optimizer recommendations for a given resource. This is based * on the On-Demand instance pricing..
*/ inline SavingsOpportunity& WithEstimatedMonthlySavings(const EstimatedMonthlySavings& value) { SetEstimatedMonthlySavings(value); return *this;} /** *An object that describes the estimated monthly savings amount possible by * adopting Compute Optimizer recommendations for a given resource. This is based * on the On-Demand instance pricing..
*/ inline SavingsOpportunity& WithEstimatedMonthlySavings(EstimatedMonthlySavings&& value) { SetEstimatedMonthlySavings(std::move(value)); return *this;} private: double m_savingsOpportunityPercentage; bool m_savingsOpportunityPercentageHasBeenSet = false; EstimatedMonthlySavings m_estimatedMonthlySavings; bool m_estimatedMonthlySavingsHasBeenSet = false; }; } // namespace Model } // namespace ComputeOptimizer } // namespace Aws