/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Contains your request parameters, Savings Plan Recommendations Summary, and
* Details.See Also:
AWS
* API Reference
The account scope that you want your recommendations for. Amazon Web Services
* calculates recommendations that include the management account and member
* accounts if the value is set to PAYER
. If the value is
* LINKED
, recommendations are calculated for individual member
* accounts only.
The account scope that you want your recommendations for. Amazon Web Services
* calculates recommendations that include the management account and member
* accounts if the value is set to PAYER
. If the value is
* LINKED
, recommendations are calculated for individual member
* accounts only.
The account scope that you want your recommendations for. Amazon Web Services
* calculates recommendations that include the management account and member
* accounts if the value is set to PAYER
. If the value is
* LINKED
, recommendations are calculated for individual member
* accounts only.
The account scope that you want your recommendations for. Amazon Web Services
* calculates recommendations that include the management account and member
* accounts if the value is set to PAYER
. If the value is
* LINKED
, recommendations are calculated for individual member
* accounts only.
The account scope that you want your recommendations for. Amazon Web Services
* calculates recommendations that include the management account and member
* accounts if the value is set to PAYER
. If the value is
* LINKED
, recommendations are calculated for individual member
* accounts only.
The account scope that you want your recommendations for. Amazon Web Services
* calculates recommendations that include the management account and member
* accounts if the value is set to PAYER
. If the value is
* LINKED
, recommendations are calculated for individual member
* accounts only.
The requested Savings Plans recommendation type.
*/ inline const SupportedSavingsPlansType& GetSavingsPlansType() const{ return m_savingsPlansType; } /** *The requested Savings Plans recommendation type.
*/ inline bool SavingsPlansTypeHasBeenSet() const { return m_savingsPlansTypeHasBeenSet; } /** *The requested Savings Plans recommendation type.
*/ inline void SetSavingsPlansType(const SupportedSavingsPlansType& value) { m_savingsPlansTypeHasBeenSet = true; m_savingsPlansType = value; } /** *The requested Savings Plans recommendation type.
*/ inline void SetSavingsPlansType(SupportedSavingsPlansType&& value) { m_savingsPlansTypeHasBeenSet = true; m_savingsPlansType = std::move(value); } /** *The requested Savings Plans recommendation type.
*/ inline SavingsPlansPurchaseRecommendation& WithSavingsPlansType(const SupportedSavingsPlansType& value) { SetSavingsPlansType(value); return *this;} /** *The requested Savings Plans recommendation type.
*/ inline SavingsPlansPurchaseRecommendation& WithSavingsPlansType(SupportedSavingsPlansType&& value) { SetSavingsPlansType(std::move(value)); return *this;} /** *The Savings Plans recommendation term in years. It's used to generate the * recommendation.
*/ inline const TermInYears& GetTermInYears() const{ return m_termInYears; } /** *The Savings Plans recommendation term in years. It's used to generate the * recommendation.
*/ inline bool TermInYearsHasBeenSet() const { return m_termInYearsHasBeenSet; } /** *The Savings Plans recommendation term in years. It's used to generate the * recommendation.
*/ inline void SetTermInYears(const TermInYears& value) { m_termInYearsHasBeenSet = true; m_termInYears = value; } /** *The Savings Plans recommendation term in years. It's used to generate the * recommendation.
*/ inline void SetTermInYears(TermInYears&& value) { m_termInYearsHasBeenSet = true; m_termInYears = std::move(value); } /** *The Savings Plans recommendation term in years. It's used to generate the * recommendation.
*/ inline SavingsPlansPurchaseRecommendation& WithTermInYears(const TermInYears& value) { SetTermInYears(value); return *this;} /** *The Savings Plans recommendation term in years. It's used to generate the * recommendation.
*/ inline SavingsPlansPurchaseRecommendation& WithTermInYears(TermInYears&& value) { SetTermInYears(std::move(value)); return *this;} /** *The payment option that's used to generate the recommendation.
*/ inline const PaymentOption& GetPaymentOption() const{ return m_paymentOption; } /** *The payment option that's used to generate the recommendation.
*/ inline bool PaymentOptionHasBeenSet() const { return m_paymentOptionHasBeenSet; } /** *The payment option that's used to generate the recommendation.
*/ inline void SetPaymentOption(const PaymentOption& value) { m_paymentOptionHasBeenSet = true; m_paymentOption = value; } /** *The payment option that's used to generate the recommendation.
*/ inline void SetPaymentOption(PaymentOption&& value) { m_paymentOptionHasBeenSet = true; m_paymentOption = std::move(value); } /** *The payment option that's used to generate the recommendation.
*/ inline SavingsPlansPurchaseRecommendation& WithPaymentOption(const PaymentOption& value) { SetPaymentOption(value); return *this;} /** *The payment option that's used to generate the recommendation.
*/ inline SavingsPlansPurchaseRecommendation& WithPaymentOption(PaymentOption&& value) { SetPaymentOption(std::move(value)); return *this;} /** *The lookback period in days that's used to generate the recommendation.
*/ inline const LookbackPeriodInDays& GetLookbackPeriodInDays() const{ return m_lookbackPeriodInDays; } /** *The lookback period in days that's used to generate the recommendation.
*/ inline bool LookbackPeriodInDaysHasBeenSet() const { return m_lookbackPeriodInDaysHasBeenSet; } /** *The lookback period in days that's used to generate the recommendation.
*/ inline void SetLookbackPeriodInDays(const LookbackPeriodInDays& value) { m_lookbackPeriodInDaysHasBeenSet = true; m_lookbackPeriodInDays = value; } /** *The lookback period in days that's used to generate the recommendation.
*/ inline void SetLookbackPeriodInDays(LookbackPeriodInDays&& value) { m_lookbackPeriodInDaysHasBeenSet = true; m_lookbackPeriodInDays = std::move(value); } /** *The lookback period in days that's used to generate the recommendation.
*/ inline SavingsPlansPurchaseRecommendation& WithLookbackPeriodInDays(const LookbackPeriodInDays& value) { SetLookbackPeriodInDays(value); return *this;} /** *The lookback period in days that's used to generate the recommendation.
*/ inline SavingsPlansPurchaseRecommendation& WithLookbackPeriodInDays(LookbackPeriodInDays&& value) { SetLookbackPeriodInDays(std::move(value)); return *this;} /** *Details for the Savings Plans that we recommend that you purchase to cover * existing Savings Plans eligible workloads.
*/ inline const Aws::VectorDetails for the Savings Plans that we recommend that you purchase to cover * existing Savings Plans eligible workloads.
*/ inline bool SavingsPlansPurchaseRecommendationDetailsHasBeenSet() const { return m_savingsPlansPurchaseRecommendationDetailsHasBeenSet; } /** *Details for the Savings Plans that we recommend that you purchase to cover * existing Savings Plans eligible workloads.
*/ inline void SetSavingsPlansPurchaseRecommendationDetails(const Aws::VectorDetails for the Savings Plans that we recommend that you purchase to cover * existing Savings Plans eligible workloads.
*/ inline void SetSavingsPlansPurchaseRecommendationDetails(Aws::VectorDetails for the Savings Plans that we recommend that you purchase to cover * existing Savings Plans eligible workloads.
*/ inline SavingsPlansPurchaseRecommendation& WithSavingsPlansPurchaseRecommendationDetails(const Aws::VectorDetails for the Savings Plans that we recommend that you purchase to cover * existing Savings Plans eligible workloads.
*/ inline SavingsPlansPurchaseRecommendation& WithSavingsPlansPurchaseRecommendationDetails(Aws::VectorDetails for the Savings Plans that we recommend that you purchase to cover * existing Savings Plans eligible workloads.
*/ inline SavingsPlansPurchaseRecommendation& AddSavingsPlansPurchaseRecommendationDetails(const SavingsPlansPurchaseRecommendationDetail& value) { m_savingsPlansPurchaseRecommendationDetailsHasBeenSet = true; m_savingsPlansPurchaseRecommendationDetails.push_back(value); return *this; } /** *Details for the Savings Plans that we recommend that you purchase to cover * existing Savings Plans eligible workloads.
*/ inline SavingsPlansPurchaseRecommendation& AddSavingsPlansPurchaseRecommendationDetails(SavingsPlansPurchaseRecommendationDetail&& value) { m_savingsPlansPurchaseRecommendationDetailsHasBeenSet = true; m_savingsPlansPurchaseRecommendationDetails.push_back(std::move(value)); return *this; } /** *Summary metrics for your Savings Plans Recommendations.
*/ inline const SavingsPlansPurchaseRecommendationSummary& GetSavingsPlansPurchaseRecommendationSummary() const{ return m_savingsPlansPurchaseRecommendationSummary; } /** *Summary metrics for your Savings Plans Recommendations.
*/ inline bool SavingsPlansPurchaseRecommendationSummaryHasBeenSet() const { return m_savingsPlansPurchaseRecommendationSummaryHasBeenSet; } /** *Summary metrics for your Savings Plans Recommendations.
*/ inline void SetSavingsPlansPurchaseRecommendationSummary(const SavingsPlansPurchaseRecommendationSummary& value) { m_savingsPlansPurchaseRecommendationSummaryHasBeenSet = true; m_savingsPlansPurchaseRecommendationSummary = value; } /** *Summary metrics for your Savings Plans Recommendations.
*/ inline void SetSavingsPlansPurchaseRecommendationSummary(SavingsPlansPurchaseRecommendationSummary&& value) { m_savingsPlansPurchaseRecommendationSummaryHasBeenSet = true; m_savingsPlansPurchaseRecommendationSummary = std::move(value); } /** *Summary metrics for your Savings Plans Recommendations.
*/ inline SavingsPlansPurchaseRecommendation& WithSavingsPlansPurchaseRecommendationSummary(const SavingsPlansPurchaseRecommendationSummary& value) { SetSavingsPlansPurchaseRecommendationSummary(value); return *this;} /** *Summary metrics for your Savings Plans Recommendations.
*/ inline SavingsPlansPurchaseRecommendation& WithSavingsPlansPurchaseRecommendationSummary(SavingsPlansPurchaseRecommendationSummary&& value) { SetSavingsPlansPurchaseRecommendationSummary(std::move(value)); return *this;} private: AccountScope m_accountScope; bool m_accountScopeHasBeenSet = false; SupportedSavingsPlansType m_savingsPlansType; bool m_savingsPlansTypeHasBeenSet = false; TermInYears m_termInYears; bool m_termInYearsHasBeenSet = false; PaymentOption m_paymentOption; bool m_paymentOptionHasBeenSet = false; LookbackPeriodInDays m_lookbackPeriodInDays; bool m_lookbackPeriodInDaysHasBeenSet = false; Aws::Vector