AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
SavingsPlansPurchaseRecommendation.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/SavingsPlansPurchaseRecommendationDetail.h>
12#include <aws/ce/model/SavingsPlansPurchaseRecommendationSummary.h>
13#include <aws/ce/model/SupportedSavingsPlansType.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 SavingsPlansPurchaseRecommendation() = default;
40 AWS_COSTEXPLORER_API Aws::Utils::Json::JsonValue Jsonize() const;
41
43
50 inline AccountScope GetAccountScope() const { return m_accountScope; }
51 inline bool AccountScopeHasBeenSet() const { return m_accountScopeHasBeenSet; }
52 inline void SetAccountScope(AccountScope value) {
53 m_accountScopeHasBeenSet = true;
54 m_accountScope = value;
55 }
57 SetAccountScope(value);
58 return *this;
59 }
61
63
66 inline SupportedSavingsPlansType GetSavingsPlansType() const { return m_savingsPlansType; }
67 inline bool SavingsPlansTypeHasBeenSet() const { return m_savingsPlansTypeHasBeenSet; }
69 m_savingsPlansTypeHasBeenSet = true;
70 m_savingsPlansType = value;
71 }
74 return *this;
75 }
77
79
83 inline TermInYears GetTermInYears() const { return m_termInYears; }
84 inline bool TermInYearsHasBeenSet() const { return m_termInYearsHasBeenSet; }
85 inline void SetTermInYears(TermInYears value) {
86 m_termInYearsHasBeenSet = true;
87 m_termInYears = value;
88 }
90 SetTermInYears(value);
91 return *this;
92 }
94
96
99 inline PaymentOption GetPaymentOption() const { return m_paymentOption; }
100 inline bool PaymentOptionHasBeenSet() const { return m_paymentOptionHasBeenSet; }
101 inline void SetPaymentOption(PaymentOption value) {
102 m_paymentOptionHasBeenSet = true;
103 m_paymentOption = value;
104 }
106 SetPaymentOption(value);
107 return *this;
108 }
110
112
115 inline LookbackPeriodInDays GetLookbackPeriodInDays() const { return m_lookbackPeriodInDays; }
116 inline bool LookbackPeriodInDaysHasBeenSet() const { return m_lookbackPeriodInDaysHasBeenSet; }
118 m_lookbackPeriodInDaysHasBeenSet = true;
119 m_lookbackPeriodInDays = value;
120 }
123 return *this;
124 }
126
128
133 return m_savingsPlansPurchaseRecommendationDetails;
134 }
135 inline bool SavingsPlansPurchaseRecommendationDetailsHasBeenSet() const { return m_savingsPlansPurchaseRecommendationDetailsHasBeenSet; }
136 template <typename SavingsPlansPurchaseRecommendationDetailsT = Aws::Vector<SavingsPlansPurchaseRecommendationDetail>>
137 void SetSavingsPlansPurchaseRecommendationDetails(SavingsPlansPurchaseRecommendationDetailsT&& value) {
138 m_savingsPlansPurchaseRecommendationDetailsHasBeenSet = true;
139 m_savingsPlansPurchaseRecommendationDetails = std::forward<SavingsPlansPurchaseRecommendationDetailsT>(value);
140 }
141 template <typename SavingsPlansPurchaseRecommendationDetailsT = Aws::Vector<SavingsPlansPurchaseRecommendationDetail>>
142 SavingsPlansPurchaseRecommendation& WithSavingsPlansPurchaseRecommendationDetails(SavingsPlansPurchaseRecommendationDetailsT&& value) {
143 SetSavingsPlansPurchaseRecommendationDetails(std::forward<SavingsPlansPurchaseRecommendationDetailsT>(value));
144 return *this;
145 }
146 template <typename SavingsPlansPurchaseRecommendationDetailsT = SavingsPlansPurchaseRecommendationDetail>
147 SavingsPlansPurchaseRecommendation& AddSavingsPlansPurchaseRecommendationDetails(SavingsPlansPurchaseRecommendationDetailsT&& value) {
148 m_savingsPlansPurchaseRecommendationDetailsHasBeenSet = true;
149 m_savingsPlansPurchaseRecommendationDetails.emplace_back(std::forward<SavingsPlansPurchaseRecommendationDetailsT>(value));
150 return *this;
151 }
153
155
159 return m_savingsPlansPurchaseRecommendationSummary;
160 }
161 inline bool SavingsPlansPurchaseRecommendationSummaryHasBeenSet() const { return m_savingsPlansPurchaseRecommendationSummaryHasBeenSet; }
162 template <typename SavingsPlansPurchaseRecommendationSummaryT = SavingsPlansPurchaseRecommendationSummary>
163 void SetSavingsPlansPurchaseRecommendationSummary(SavingsPlansPurchaseRecommendationSummaryT&& value) {
164 m_savingsPlansPurchaseRecommendationSummaryHasBeenSet = true;
165 m_savingsPlansPurchaseRecommendationSummary = std::forward<SavingsPlansPurchaseRecommendationSummaryT>(value);
166 }
167 template <typename SavingsPlansPurchaseRecommendationSummaryT = SavingsPlansPurchaseRecommendationSummary>
168 SavingsPlansPurchaseRecommendation& WithSavingsPlansPurchaseRecommendationSummary(SavingsPlansPurchaseRecommendationSummaryT&& value) {
169 SetSavingsPlansPurchaseRecommendationSummary(std::forward<SavingsPlansPurchaseRecommendationSummaryT>(value));
170 return *this;
171 }
173 private:
174 AccountScope m_accountScope{AccountScope::NOT_SET};
175
177
178 TermInYears m_termInYears{TermInYears::NOT_SET};
179
180 PaymentOption m_paymentOption{PaymentOption::NOT_SET};
181
183
184 Aws::Vector<SavingsPlansPurchaseRecommendationDetail> m_savingsPlansPurchaseRecommendationDetails;
185
186 SavingsPlansPurchaseRecommendationSummary m_savingsPlansPurchaseRecommendationSummary;
187 bool m_accountScopeHasBeenSet = false;
188 bool m_savingsPlansTypeHasBeenSet = false;
189 bool m_termInYearsHasBeenSet = false;
190 bool m_paymentOptionHasBeenSet = false;
191 bool m_lookbackPeriodInDaysHasBeenSet = false;
192 bool m_savingsPlansPurchaseRecommendationDetailsHasBeenSet = false;
193 bool m_savingsPlansPurchaseRecommendationSummaryHasBeenSet = false;
194};
195
196} // namespace Model
197} // namespace CostExplorer
198} // namespace Aws
AWS_COSTEXPLORER_API SavingsPlansPurchaseRecommendation(Aws::Utils::Json::JsonView jsonValue)
SavingsPlansPurchaseRecommendation & WithTermInYears(TermInYears value)
void SetSavingsPlansPurchaseRecommendationSummary(SavingsPlansPurchaseRecommendationSummaryT &&value)
SavingsPlansPurchaseRecommendation & WithLookbackPeriodInDays(LookbackPeriodInDays value)
void SetSavingsPlansPurchaseRecommendationDetails(SavingsPlansPurchaseRecommendationDetailsT &&value)
const Aws::Vector< SavingsPlansPurchaseRecommendationDetail > & GetSavingsPlansPurchaseRecommendationDetails() const
SavingsPlansPurchaseRecommendation & WithSavingsPlansPurchaseRecommendationSummary(SavingsPlansPurchaseRecommendationSummaryT &&value)
SavingsPlansPurchaseRecommendation & WithSavingsPlansType(SupportedSavingsPlansType value)
SavingsPlansPurchaseRecommendation & AddSavingsPlansPurchaseRecommendationDetails(SavingsPlansPurchaseRecommendationDetailsT &&value)
SavingsPlansPurchaseRecommendation & WithSavingsPlansPurchaseRecommendationDetails(SavingsPlansPurchaseRecommendationDetailsT &&value)
AWS_COSTEXPLORER_API SavingsPlansPurchaseRecommendation & operator=(Aws::Utils::Json::JsonView jsonValue)
const SavingsPlansPurchaseRecommendationSummary & GetSavingsPlansPurchaseRecommendationSummary() const
AWS_COSTEXPLORER_API SavingsPlansPurchaseRecommendation()=default
SavingsPlansPurchaseRecommendation & WithPaymentOption(PaymentOption value)
AWS_COSTEXPLORER_API Aws::Utils::Json::JsonValue Jsonize() const
SavingsPlansPurchaseRecommendation & WithAccountScope(AccountScope value)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue