/**
 * 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