AWS SDK for C++

AWS SDK for C++ Version 1.11.719

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/PaymentOption.h>
11#include <aws/ce/model/ReservationPurchaseRecommendationDetail.h>
12#include <aws/ce/model/ReservationPurchaseRecommendationSummary.h>
13#include <aws/ce/model/ServiceSpecification.h>
14#include <aws/ce/model/TermInYears.h>
15#include <aws/core/utils/memory/stl/AWSVector.h>
16
17#include <utility>
18
19namespace Aws {
20namespace Utils {
21namespace Json {
22class JsonValue;
23class JsonView;
24} // namespace Json
25} // namespace Utils
26namespace CostExplorer {
27namespace Model {
28
36 public:
37 AWS_COSTEXPLORER_API ReservationPurchaseRecommendation() = default;
40 AWS_COSTEXPLORER_API Aws::Utils::Json::JsonValue Jsonize() const;
41
43
48 inline AccountScope GetAccountScope() const { return m_accountScope; }
49 inline bool AccountScopeHasBeenSet() const { return m_accountScopeHasBeenSet; }
50 inline void SetAccountScope(AccountScope value) {
51 m_accountScopeHasBeenSet = true;
52 m_accountScope = value;
53 }
55 SetAccountScope(value);
56 return *this;
57 }
59
61
65 inline LookbackPeriodInDays GetLookbackPeriodInDays() const { return m_lookbackPeriodInDays; }
66 inline bool LookbackPeriodInDaysHasBeenSet() const { return m_lookbackPeriodInDaysHasBeenSet; }
68 m_lookbackPeriodInDaysHasBeenSet = true;
69 m_lookbackPeriodInDays = value;
70 }
73 return *this;
74 }
76
78
81 inline TermInYears GetTermInYears() const { return m_termInYears; }
82 inline bool TermInYearsHasBeenSet() const { return m_termInYearsHasBeenSet; }
83 inline void SetTermInYears(TermInYears value) {
84 m_termInYearsHasBeenSet = true;
85 m_termInYears = value;
86 }
88 SetTermInYears(value);
89 return *this;
90 }
92
94
98 inline PaymentOption GetPaymentOption() const { return m_paymentOption; }
99 inline bool PaymentOptionHasBeenSet() const { return m_paymentOptionHasBeenSet; }
100 inline void SetPaymentOption(PaymentOption value) {
101 m_paymentOptionHasBeenSet = true;
102 m_paymentOption = value;
103 }
105 SetPaymentOption(value);
106 return *this;
107 }
109
111
115 inline const ServiceSpecification& GetServiceSpecification() const { return m_serviceSpecification; }
116 inline bool ServiceSpecificationHasBeenSet() const { return m_serviceSpecificationHasBeenSet; }
117 template <typename ServiceSpecificationT = ServiceSpecification>
118 void SetServiceSpecification(ServiceSpecificationT&& value) {
119 m_serviceSpecificationHasBeenSet = true;
120 m_serviceSpecification = std::forward<ServiceSpecificationT>(value);
121 }
122 template <typename ServiceSpecificationT = ServiceSpecification>
124 SetServiceSpecification(std::forward<ServiceSpecificationT>(value));
125 return *this;
126 }
128
130
133 inline const Aws::Vector<ReservationPurchaseRecommendationDetail>& GetRecommendationDetails() const { return m_recommendationDetails; }
134 inline bool RecommendationDetailsHasBeenSet() const { return m_recommendationDetailsHasBeenSet; }
135 template <typename RecommendationDetailsT = Aws::Vector<ReservationPurchaseRecommendationDetail>>
136 void SetRecommendationDetails(RecommendationDetailsT&& value) {
137 m_recommendationDetailsHasBeenSet = true;
138 m_recommendationDetails = std::forward<RecommendationDetailsT>(value);
139 }
140 template <typename RecommendationDetailsT = Aws::Vector<ReservationPurchaseRecommendationDetail>>
142 SetRecommendationDetails(std::forward<RecommendationDetailsT>(value));
143 return *this;
144 }
145 template <typename RecommendationDetailsT = ReservationPurchaseRecommendationDetail>
147 m_recommendationDetailsHasBeenSet = true;
148 m_recommendationDetails.emplace_back(std::forward<RecommendationDetailsT>(value));
149 return *this;
150 }
152
154
157 inline const ReservationPurchaseRecommendationSummary& GetRecommendationSummary() const { return m_recommendationSummary; }
158 inline bool RecommendationSummaryHasBeenSet() const { return m_recommendationSummaryHasBeenSet; }
159 template <typename RecommendationSummaryT = ReservationPurchaseRecommendationSummary>
160 void SetRecommendationSummary(RecommendationSummaryT&& value) {
161 m_recommendationSummaryHasBeenSet = true;
162 m_recommendationSummary = std::forward<RecommendationSummaryT>(value);
163 }
164 template <typename RecommendationSummaryT = ReservationPurchaseRecommendationSummary>
166 SetRecommendationSummary(std::forward<RecommendationSummaryT>(value));
167 return *this;
168 }
170 private:
171 AccountScope m_accountScope{AccountScope::NOT_SET};
172
174
175 TermInYears m_termInYears{TermInYears::NOT_SET};
176
177 PaymentOption m_paymentOption{PaymentOption::NOT_SET};
178
179 ServiceSpecification m_serviceSpecification;
180
182
183 ReservationPurchaseRecommendationSummary m_recommendationSummary;
184 bool m_accountScopeHasBeenSet = false;
185 bool m_lookbackPeriodInDaysHasBeenSet = false;
186 bool m_termInYearsHasBeenSet = false;
187 bool m_paymentOptionHasBeenSet = false;
188 bool m_serviceSpecificationHasBeenSet = false;
189 bool m_recommendationDetailsHasBeenSet = false;
190 bool m_recommendationSummaryHasBeenSet = false;
191};
192
193} // namespace Model
194} // namespace CostExplorer
195} // 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