AWS SDK for C++

AWS SDK for C++ Version 1.11.608

Loading...
Searching...
No Matches
ReservationPurchaseRecommendation.h
1
6#pragma once
7#include <aws/ce/CostExplorer_EXPORTS.h>
8#include <aws/ce/model/AccountScope.h>
9#include <aws/ce/model/LookbackPeriodInDays.h>
10#include <aws/ce/model/TermInYears.h>
11#include <aws/ce/model/PaymentOption.h>
12#include <aws/ce/model/ServiceSpecification.h>
13#include <aws/core/utils/memory/stl/AWSVector.h>
14#include <aws/ce/model/ReservationPurchaseRecommendationSummary.h>
15#include <aws/ce/model/ReservationPurchaseRecommendationDetail.h>
16#include <utility>
17
18namespace Aws
19{
20namespace Utils
21{
22namespace Json
23{
24 class JsonValue;
25 class JsonView;
26} // namespace Json
27} // namespace Utils
28namespace CostExplorer
29{
30namespace Model
31{
32
40 {
41 public:
42 AWS_COSTEXPLORER_API ReservationPurchaseRecommendation() = default;
45 AWS_COSTEXPLORER_API Aws::Utils::Json::JsonValue Jsonize() const;
46
47
49
54 inline AccountScope GetAccountScope() const { return m_accountScope; }
55 inline bool AccountScopeHasBeenSet() const { return m_accountScopeHasBeenSet; }
56 inline void SetAccountScope(AccountScope value) { m_accountScopeHasBeenSet = true; m_accountScope = value; }
59
61
65 inline LookbackPeriodInDays GetLookbackPeriodInDays() const { return m_lookbackPeriodInDays; }
66 inline bool LookbackPeriodInDaysHasBeenSet() const { return m_lookbackPeriodInDaysHasBeenSet; }
67 inline void SetLookbackPeriodInDays(LookbackPeriodInDays value) { m_lookbackPeriodInDaysHasBeenSet = true; m_lookbackPeriodInDays = value; }
70
72
75 inline TermInYears GetTermInYears() const { return m_termInYears; }
76 inline bool TermInYearsHasBeenSet() const { return m_termInYearsHasBeenSet; }
77 inline void SetTermInYears(TermInYears value) { m_termInYearsHasBeenSet = true; m_termInYears = value; }
80
82
86 inline PaymentOption GetPaymentOption() const { return m_paymentOption; }
87 inline bool PaymentOptionHasBeenSet() const { return m_paymentOptionHasBeenSet; }
88 inline void SetPaymentOption(PaymentOption value) { m_paymentOptionHasBeenSet = true; m_paymentOption = value; }
91
93
97 inline const ServiceSpecification& GetServiceSpecification() const { return m_serviceSpecification; }
98 inline bool ServiceSpecificationHasBeenSet() const { return m_serviceSpecificationHasBeenSet; }
99 template<typename ServiceSpecificationT = ServiceSpecification>
100 void SetServiceSpecification(ServiceSpecificationT&& value) { m_serviceSpecificationHasBeenSet = true; m_serviceSpecification = std::forward<ServiceSpecificationT>(value); }
101 template<typename ServiceSpecificationT = ServiceSpecification>
102 ReservationPurchaseRecommendation& WithServiceSpecification(ServiceSpecificationT&& value) { SetServiceSpecification(std::forward<ServiceSpecificationT>(value)); return *this;}
104
106
109 inline const Aws::Vector<ReservationPurchaseRecommendationDetail>& GetRecommendationDetails() const { return m_recommendationDetails; }
110 inline bool RecommendationDetailsHasBeenSet() const { return m_recommendationDetailsHasBeenSet; }
111 template<typename RecommendationDetailsT = Aws::Vector<ReservationPurchaseRecommendationDetail>>
112 void SetRecommendationDetails(RecommendationDetailsT&& value) { m_recommendationDetailsHasBeenSet = true; m_recommendationDetails = std::forward<RecommendationDetailsT>(value); }
113 template<typename RecommendationDetailsT = Aws::Vector<ReservationPurchaseRecommendationDetail>>
114 ReservationPurchaseRecommendation& WithRecommendationDetails(RecommendationDetailsT&& value) { SetRecommendationDetails(std::forward<RecommendationDetailsT>(value)); return *this;}
115 template<typename RecommendationDetailsT = ReservationPurchaseRecommendationDetail>
116 ReservationPurchaseRecommendation& AddRecommendationDetails(RecommendationDetailsT&& value) { m_recommendationDetailsHasBeenSet = true; m_recommendationDetails.emplace_back(std::forward<RecommendationDetailsT>(value)); return *this; }
118
120
123 inline const ReservationPurchaseRecommendationSummary& GetRecommendationSummary() const { return m_recommendationSummary; }
124 inline bool RecommendationSummaryHasBeenSet() const { return m_recommendationSummaryHasBeenSet; }
125 template<typename RecommendationSummaryT = ReservationPurchaseRecommendationSummary>
126 void SetRecommendationSummary(RecommendationSummaryT&& value) { m_recommendationSummaryHasBeenSet = true; m_recommendationSummary = std::forward<RecommendationSummaryT>(value); }
127 template<typename RecommendationSummaryT = ReservationPurchaseRecommendationSummary>
128 ReservationPurchaseRecommendation& WithRecommendationSummary(RecommendationSummaryT&& value) { SetRecommendationSummary(std::forward<RecommendationSummaryT>(value)); return *this;}
130 private:
131
132 AccountScope m_accountScope{AccountScope::NOT_SET};
133 bool m_accountScopeHasBeenSet = false;
134
136 bool m_lookbackPeriodInDaysHasBeenSet = false;
137
138 TermInYears m_termInYears{TermInYears::NOT_SET};
139 bool m_termInYearsHasBeenSet = false;
140
141 PaymentOption m_paymentOption{PaymentOption::NOT_SET};
142 bool m_paymentOptionHasBeenSet = false;
143
144 ServiceSpecification m_serviceSpecification;
145 bool m_serviceSpecificationHasBeenSet = false;
146
148 bool m_recommendationDetailsHasBeenSet = false;
149
150 ReservationPurchaseRecommendationSummary m_recommendationSummary;
151 bool m_recommendationSummaryHasBeenSet = false;
152 };
153
154} // namespace Model
155} // namespace CostExplorer
156} // namespace Aws
AWS_COSTEXPLORER_API ReservationPurchaseRecommendation & operator=(Aws::Utils::Json::JsonView jsonValue)
ReservationPurchaseRecommendation & AddRecommendationDetails(RecommendationDetailsT &&value)
AWS_COSTEXPLORER_API ReservationPurchaseRecommendation(Aws::Utils::Json::JsonView jsonValue)
ReservationPurchaseRecommendation & WithPaymentOption(PaymentOption value)
AWS_COSTEXPLORER_API Aws::Utils::Json::JsonValue Jsonize() const
ReservationPurchaseRecommendation & WithAccountScope(AccountScope value)
const ReservationPurchaseRecommendationSummary & GetRecommendationSummary() const
const Aws::Vector< ReservationPurchaseRecommendationDetail > & GetRecommendationDetails() const
ReservationPurchaseRecommendation & WithRecommendationSummary(RecommendationSummaryT &&value)
ReservationPurchaseRecommendation & WithServiceSpecification(ServiceSpecificationT &&value)
ReservationPurchaseRecommendation & WithTermInYears(TermInYears value)
ReservationPurchaseRecommendation & WithRecommendationDetails(RecommendationDetailsT &&value)
AWS_COSTEXPLORER_API ReservationPurchaseRecommendation()=default
ReservationPurchaseRecommendation & WithLookbackPeriodInDays(LookbackPeriodInDays value)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue