/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include A specific reservation that Amazon Web Services recommends for
* purchase.See Also:
AWS
* API Reference
The account scope that Amazon Web Services recommends that you purchase this * instance for. For example, you can purchase this reservation for an entire * organization in Amazon Web Services Organizations.
*/ inline const AccountScope& GetAccountScope() const{ return m_accountScope; } /** *The account scope that Amazon Web Services recommends that you purchase this * instance for. For example, you can purchase this reservation for an entire * organization in Amazon Web Services Organizations.
*/ inline bool AccountScopeHasBeenSet() const { return m_accountScopeHasBeenSet; } /** *The account scope that Amazon Web Services recommends that you purchase this * instance for. For example, you can purchase this reservation for an entire * organization in Amazon Web Services Organizations.
*/ inline void SetAccountScope(const AccountScope& value) { m_accountScopeHasBeenSet = true; m_accountScope = value; } /** *The account scope that Amazon Web Services recommends that you purchase this * instance for. For example, you can purchase this reservation for an entire * organization in Amazon Web Services Organizations.
*/ inline void SetAccountScope(AccountScope&& value) { m_accountScopeHasBeenSet = true; m_accountScope = std::move(value); } /** *The account scope that Amazon Web Services recommends that you purchase this * instance for. For example, you can purchase this reservation for an entire * organization in Amazon Web Services Organizations.
*/ inline ReservationPurchaseRecommendation& WithAccountScope(const AccountScope& value) { SetAccountScope(value); return *this;} /** *The account scope that Amazon Web Services recommends that you purchase this * instance for. For example, you can purchase this reservation for an entire * organization in Amazon Web Services Organizations.
*/ inline ReservationPurchaseRecommendation& WithAccountScope(AccountScope&& value) { SetAccountScope(std::move(value)); return *this;} /** *How many days of previous usage that Amazon Web Services considers when * making this recommendation.
*/ inline const LookbackPeriodInDays& GetLookbackPeriodInDays() const{ return m_lookbackPeriodInDays; } /** *How many days of previous usage that Amazon Web Services considers when * making this recommendation.
*/ inline bool LookbackPeriodInDaysHasBeenSet() const { return m_lookbackPeriodInDaysHasBeenSet; } /** *How many days of previous usage that Amazon Web Services considers when * making this recommendation.
*/ inline void SetLookbackPeriodInDays(const LookbackPeriodInDays& value) { m_lookbackPeriodInDaysHasBeenSet = true; m_lookbackPeriodInDays = value; } /** *How many days of previous usage that Amazon Web Services considers when * making this recommendation.
*/ inline void SetLookbackPeriodInDays(LookbackPeriodInDays&& value) { m_lookbackPeriodInDaysHasBeenSet = true; m_lookbackPeriodInDays = std::move(value); } /** *How many days of previous usage that Amazon Web Services considers when * making this recommendation.
*/ inline ReservationPurchaseRecommendation& WithLookbackPeriodInDays(const LookbackPeriodInDays& value) { SetLookbackPeriodInDays(value); return *this;} /** *How many days of previous usage that Amazon Web Services considers when * making this recommendation.
*/ inline ReservationPurchaseRecommendation& WithLookbackPeriodInDays(LookbackPeriodInDays&& value) { SetLookbackPeriodInDays(std::move(value)); return *this;} /** *The term of the reservation that you want recommendations for, in years.
*/ inline const TermInYears& GetTermInYears() const{ return m_termInYears; } /** *The term of the reservation that you want recommendations for, in years.
*/ inline bool TermInYearsHasBeenSet() const { return m_termInYearsHasBeenSet; } /** *The term of the reservation that you want recommendations for, in years.
*/ inline void SetTermInYears(const TermInYears& value) { m_termInYearsHasBeenSet = true; m_termInYears = value; } /** *The term of the reservation that you want recommendations for, in years.
*/ inline void SetTermInYears(TermInYears&& value) { m_termInYearsHasBeenSet = true; m_termInYears = std::move(value); } /** *The term of the reservation that you want recommendations for, in years.
*/ inline ReservationPurchaseRecommendation& WithTermInYears(const TermInYears& value) { SetTermInYears(value); return *this;} /** *The term of the reservation that you want recommendations for, in years.
*/ inline ReservationPurchaseRecommendation& WithTermInYears(TermInYears&& value) { SetTermInYears(std::move(value)); return *this;} /** *The payment option for the reservation (for example, AllUpfront
* or NoUpfront
).
The payment option for the reservation (for example, AllUpfront
* or NoUpfront
).
The payment option for the reservation (for example, AllUpfront
* or NoUpfront
).
The payment option for the reservation (for example, AllUpfront
* or NoUpfront
).
The payment option for the reservation (for example, AllUpfront
* or NoUpfront
).
The payment option for the reservation (for example, AllUpfront
* or NoUpfront
).
Hardware specifications for the service that you want recommendations * for.
*/ inline const ServiceSpecification& GetServiceSpecification() const{ return m_serviceSpecification; } /** *Hardware specifications for the service that you want recommendations * for.
*/ inline bool ServiceSpecificationHasBeenSet() const { return m_serviceSpecificationHasBeenSet; } /** *Hardware specifications for the service that you want recommendations * for.
*/ inline void SetServiceSpecification(const ServiceSpecification& value) { m_serviceSpecificationHasBeenSet = true; m_serviceSpecification = value; } /** *Hardware specifications for the service that you want recommendations * for.
*/ inline void SetServiceSpecification(ServiceSpecification&& value) { m_serviceSpecificationHasBeenSet = true; m_serviceSpecification = std::move(value); } /** *Hardware specifications for the service that you want recommendations * for.
*/ inline ReservationPurchaseRecommendation& WithServiceSpecification(const ServiceSpecification& value) { SetServiceSpecification(value); return *this;} /** *Hardware specifications for the service that you want recommendations * for.
*/ inline ReservationPurchaseRecommendation& WithServiceSpecification(ServiceSpecification&& value) { SetServiceSpecification(std::move(value)); return *this;} /** *Details about the recommended purchases.
*/ inline const Aws::VectorDetails about the recommended purchases.
*/ inline bool RecommendationDetailsHasBeenSet() const { return m_recommendationDetailsHasBeenSet; } /** *Details about the recommended purchases.
*/ inline void SetRecommendationDetails(const Aws::VectorDetails about the recommended purchases.
*/ inline void SetRecommendationDetails(Aws::VectorDetails about the recommended purchases.
*/ inline ReservationPurchaseRecommendation& WithRecommendationDetails(const Aws::VectorDetails about the recommended purchases.
*/ inline ReservationPurchaseRecommendation& WithRecommendationDetails(Aws::VectorDetails about the recommended purchases.
*/ inline ReservationPurchaseRecommendation& AddRecommendationDetails(const ReservationPurchaseRecommendationDetail& value) { m_recommendationDetailsHasBeenSet = true; m_recommendationDetails.push_back(value); return *this; } /** *Details about the recommended purchases.
*/ inline ReservationPurchaseRecommendation& AddRecommendationDetails(ReservationPurchaseRecommendationDetail&& value) { m_recommendationDetailsHasBeenSet = true; m_recommendationDetails.push_back(std::move(value)); return *this; } /** *A summary about the recommended purchase.
*/ inline const ReservationPurchaseRecommendationSummary& GetRecommendationSummary() const{ return m_recommendationSummary; } /** *A summary about the recommended purchase.
*/ inline bool RecommendationSummaryHasBeenSet() const { return m_recommendationSummaryHasBeenSet; } /** *A summary about the recommended purchase.
*/ inline void SetRecommendationSummary(const ReservationPurchaseRecommendationSummary& value) { m_recommendationSummaryHasBeenSet = true; m_recommendationSummary = value; } /** *A summary about the recommended purchase.
*/ inline void SetRecommendationSummary(ReservationPurchaseRecommendationSummary&& value) { m_recommendationSummaryHasBeenSet = true; m_recommendationSummary = std::move(value); } /** *A summary about the recommended purchase.
*/ inline ReservationPurchaseRecommendation& WithRecommendationSummary(const ReservationPurchaseRecommendationSummary& value) { SetRecommendationSummary(value); return *this;} /** *A summary about the recommended purchase.
*/ inline ReservationPurchaseRecommendation& WithRecommendationSummary(ReservationPurchaseRecommendationSummary&& value) { SetRecommendationSummary(std::move(value)); return *this;} private: AccountScope m_accountScope; bool m_accountScopeHasBeenSet = false; LookbackPeriodInDays m_lookbackPeriodInDays; bool m_lookbackPeriodInDaysHasBeenSet = false; TermInYears m_termInYears; bool m_termInYearsHasBeenSet = false; PaymentOption m_paymentOption; bool m_paymentOptionHasBeenSet = false; ServiceSpecification m_serviceSpecification; bool m_serviceSpecificationHasBeenSet = false; Aws::Vector