AWS SDK for C++

AWS SDK for C++ Version 1.11.852

Loading...
Searching...
No Matches
CreditData.h
1
6#pragma once
7#include <aws/billing/Billing_EXPORTS.h>
8#include <aws/billing/model/Amount.h>
9#include <aws/billing/model/ApplicationType.h>
10#include <aws/billing/model/CreditSharingType.h>
11#include <aws/billing/model/CreditStatus.h>
12#include <aws/core/utils/DateTime.h>
13#include <aws/core/utils/memory/stl/AWSString.h>
14#include <aws/core/utils/memory/stl/AWSVector.h>
15
16#include <utility>
17
18namespace Aws {
19namespace Utils {
20namespace Json {
21class JsonValue;
22class JsonView;
23} // namespace Json
24} // namespace Utils
25namespace Billing {
26namespace Model {
27
36 public:
37 AWS_BILLING_API CreditData() = default;
38 AWS_BILLING_API CreditData(Aws::Utils::Json::JsonView jsonValue);
39 AWS_BILLING_API CreditData& operator=(Aws::Utils::Json::JsonView jsonValue);
40 AWS_BILLING_API Aws::Utils::Json::JsonValue Jsonize() const;
41
43
46 inline const Aws::String& GetCreditId() const { return m_creditId; }
47 inline bool CreditIdHasBeenSet() const { return m_creditIdHasBeenSet; }
48 template <typename CreditIdT = Aws::String>
49 void SetCreditId(CreditIdT&& value) {
50 m_creditIdHasBeenSet = true;
51 m_creditId = std::forward<CreditIdT>(value);
52 }
53 template <typename CreditIdT = Aws::String>
54 CreditData& WithCreditId(CreditIdT&& value) {
55 SetCreditId(std::forward<CreditIdT>(value));
56 return *this;
57 }
59
61
64 inline const Aws::String& GetAccountId() const { return m_accountId; }
65 inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; }
66 template <typename AccountIdT = Aws::String>
67 void SetAccountId(AccountIdT&& value) {
68 m_accountIdHasBeenSet = true;
69 m_accountId = std::forward<AccountIdT>(value);
70 }
71 template <typename AccountIdT = Aws::String>
72 CreditData& WithAccountId(AccountIdT&& value) {
73 SetAccountId(std::forward<AccountIdT>(value));
74 return *this;
75 }
77
79
83 inline const Aws::String& GetCreditType() const { return m_creditType; }
84 inline bool CreditTypeHasBeenSet() const { return m_creditTypeHasBeenSet; }
85 template <typename CreditTypeT = Aws::String>
86 void SetCreditType(CreditTypeT&& value) {
87 m_creditTypeHasBeenSet = true;
88 m_creditType = std::forward<CreditTypeT>(value);
89 }
90 template <typename CreditTypeT = Aws::String>
91 CreditData& WithCreditType(CreditTypeT&& value) {
92 SetCreditType(std::forward<CreditTypeT>(value));
93 return *this;
94 }
96
98
101 inline const Amount& GetInitialAmount() const { return m_initialAmount; }
102 inline bool InitialAmountHasBeenSet() const { return m_initialAmountHasBeenSet; }
103 template <typename InitialAmountT = Amount>
104 void SetInitialAmount(InitialAmountT&& value) {
105 m_initialAmountHasBeenSet = true;
106 m_initialAmount = std::forward<InitialAmountT>(value);
107 }
108 template <typename InitialAmountT = Amount>
109 CreditData& WithInitialAmount(InitialAmountT&& value) {
110 SetInitialAmount(std::forward<InitialAmountT>(value));
111 return *this;
112 }
114
116
119 inline const Amount& GetRemainingAmount() const { return m_remainingAmount; }
120 inline bool RemainingAmountHasBeenSet() const { return m_remainingAmountHasBeenSet; }
121 template <typename RemainingAmountT = Amount>
122 void SetRemainingAmount(RemainingAmountT&& value) {
123 m_remainingAmountHasBeenSet = true;
124 m_remainingAmount = std::forward<RemainingAmountT>(value);
125 }
126 template <typename RemainingAmountT = Amount>
127 CreditData& WithRemainingAmount(RemainingAmountT&& value) {
128 SetRemainingAmount(std::forward<RemainingAmountT>(value));
129 return *this;
130 }
132
134
138 inline const Amount& GetEstimatedAmount() const { return m_estimatedAmount; }
139 inline bool EstimatedAmountHasBeenSet() const { return m_estimatedAmountHasBeenSet; }
140 template <typename EstimatedAmountT = Amount>
141 void SetEstimatedAmount(EstimatedAmountT&& value) {
142 m_estimatedAmountHasBeenSet = true;
143 m_estimatedAmount = std::forward<EstimatedAmountT>(value);
144 }
145 template <typename EstimatedAmountT = Amount>
146 CreditData& WithEstimatedAmount(EstimatedAmountT&& value) {
147 SetEstimatedAmount(std::forward<EstimatedAmountT>(value));
148 return *this;
149 }
151
153
156 inline const Aws::Vector<Aws::String>& GetApplicableProductNames() const { return m_applicableProductNames; }
157 inline bool ApplicableProductNamesHasBeenSet() const { return m_applicableProductNamesHasBeenSet; }
158 template <typename ApplicableProductNamesT = Aws::Vector<Aws::String>>
159 void SetApplicableProductNames(ApplicableProductNamesT&& value) {
160 m_applicableProductNamesHasBeenSet = true;
161 m_applicableProductNames = std::forward<ApplicableProductNamesT>(value);
162 }
163 template <typename ApplicableProductNamesT = Aws::Vector<Aws::String>>
164 CreditData& WithApplicableProductNames(ApplicableProductNamesT&& value) {
165 SetApplicableProductNames(std::forward<ApplicableProductNamesT>(value));
166 return *this;
167 }
168 template <typename ApplicableProductNamesT = Aws::String>
169 CreditData& AddApplicableProductNames(ApplicableProductNamesT&& value) {
170 m_applicableProductNamesHasBeenSet = true;
171 m_applicableProductNames.emplace_back(std::forward<ApplicableProductNamesT>(value));
172 return *this;
173 }
175
177
180 inline const Aws::String& GetDescription() const { return m_description; }
181 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
182 template <typename DescriptionT = Aws::String>
183 void SetDescription(DescriptionT&& value) {
184 m_descriptionHasBeenSet = true;
185 m_description = std::forward<DescriptionT>(value);
186 }
187 template <typename DescriptionT = Aws::String>
188 CreditData& WithDescription(DescriptionT&& value) {
189 SetDescription(std::forward<DescriptionT>(value));
190 return *this;
191 }
193
195
198 inline const Aws::Utils::DateTime& GetStartDate() const { return m_startDate; }
199 inline bool StartDateHasBeenSet() const { return m_startDateHasBeenSet; }
200 template <typename StartDateT = Aws::Utils::DateTime>
201 void SetStartDate(StartDateT&& value) {
202 m_startDateHasBeenSet = true;
203 m_startDate = std::forward<StartDateT>(value);
204 }
205 template <typename StartDateT = Aws::Utils::DateTime>
206 CreditData& WithStartDate(StartDateT&& value) {
207 SetStartDate(std::forward<StartDateT>(value));
208 return *this;
209 }
211
213
216 inline const Aws::Utils::DateTime& GetEndDate() const { return m_endDate; }
217 inline bool EndDateHasBeenSet() const { return m_endDateHasBeenSet; }
218 template <typename EndDateT = Aws::Utils::DateTime>
219 void SetEndDate(EndDateT&& value) {
220 m_endDateHasBeenSet = true;
221 m_endDate = std::forward<EndDateT>(value);
222 }
223 template <typename EndDateT = Aws::Utils::DateTime>
224 CreditData& WithEndDate(EndDateT&& value) {
225 SetEndDate(std::forward<EndDateT>(value));
226 return *this;
227 }
229
231
234 inline const Aws::Utils::DateTime& GetExhaustDate() const { return m_exhaustDate; }
235 inline bool ExhaustDateHasBeenSet() const { return m_exhaustDateHasBeenSet; }
236 template <typename ExhaustDateT = Aws::Utils::DateTime>
237 void SetExhaustDate(ExhaustDateT&& value) {
238 m_exhaustDateHasBeenSet = true;
239 m_exhaustDate = std::forward<ExhaustDateT>(value);
240 }
241 template <typename ExhaustDateT = Aws::Utils::DateTime>
242 CreditData& WithExhaustDate(ExhaustDateT&& value) {
243 SetExhaustDate(std::forward<ExhaustDateT>(value));
244 return *this;
245 }
247
249
253 inline ApplicationType GetApplicationType() const { return m_applicationType; }
254 inline bool ApplicationTypeHasBeenSet() const { return m_applicationTypeHasBeenSet; }
256 m_applicationTypeHasBeenSet = true;
257 m_applicationType = value;
258 }
260 SetApplicationType(value);
261 return *this;
262 }
264
266
269 inline const Aws::Vector<Aws::String>& GetShareableAccounts() const { return m_shareableAccounts; }
270 inline bool ShareableAccountsHasBeenSet() const { return m_shareableAccountsHasBeenSet; }
271 template <typename ShareableAccountsT = Aws::Vector<Aws::String>>
272 void SetShareableAccounts(ShareableAccountsT&& value) {
273 m_shareableAccountsHasBeenSet = true;
274 m_shareableAccounts = std::forward<ShareableAccountsT>(value);
275 }
276 template <typename ShareableAccountsT = Aws::Vector<Aws::String>>
277 CreditData& WithShareableAccounts(ShareableAccountsT&& value) {
278 SetShareableAccounts(std::forward<ShareableAccountsT>(value));
279 return *this;
280 }
281 template <typename ShareableAccountsT = Aws::String>
282 CreditData& AddShareableAccounts(ShareableAccountsT&& value) {
283 m_shareableAccountsHasBeenSet = true;
284 m_shareableAccounts.emplace_back(std::forward<ShareableAccountsT>(value));
285 return *this;
286 }
288
290
293 inline bool GetAccountHasCreditSharingEnabled() const { return m_accountHasCreditSharingEnabled; }
294 inline bool AccountHasCreditSharingEnabledHasBeenSet() const { return m_accountHasCreditSharingEnabledHasBeenSet; }
295 inline void SetAccountHasCreditSharingEnabled(bool value) {
296 m_accountHasCreditSharingEnabledHasBeenSet = true;
297 m_accountHasCreditSharingEnabled = value;
298 }
301 return *this;
302 }
304
306
310 inline const Aws::String& GetCreditConsoleVisibility() const { return m_creditConsoleVisibility; }
311 inline bool CreditConsoleVisibilityHasBeenSet() const { return m_creditConsoleVisibilityHasBeenSet; }
312 template <typename CreditConsoleVisibilityT = Aws::String>
313 void SetCreditConsoleVisibility(CreditConsoleVisibilityT&& value) {
314 m_creditConsoleVisibilityHasBeenSet = true;
315 m_creditConsoleVisibility = std::forward<CreditConsoleVisibilityT>(value);
316 }
317 template <typename CreditConsoleVisibilityT = Aws::String>
318 CreditData& WithCreditConsoleVisibility(CreditConsoleVisibilityT&& value) {
319 SetCreditConsoleVisibility(std::forward<CreditConsoleVisibilityT>(value));
320 return *this;
321 }
323
325
329 inline CreditSharingType GetCreditSharingType() const { return m_creditSharingType; }
330 inline bool CreditSharingTypeHasBeenSet() const { return m_creditSharingTypeHasBeenSet; }
332 m_creditSharingTypeHasBeenSet = true;
333 m_creditSharingType = value;
334 }
337 return *this;
338 }
340
342
347 inline const Aws::String& GetCostCategoryArn() const { return m_costCategoryArn; }
348 inline bool CostCategoryArnHasBeenSet() const { return m_costCategoryArnHasBeenSet; }
349 template <typename CostCategoryArnT = Aws::String>
350 void SetCostCategoryArn(CostCategoryArnT&& value) {
351 m_costCategoryArnHasBeenSet = true;
352 m_costCategoryArn = std::forward<CostCategoryArnT>(value);
353 }
354 template <typename CostCategoryArnT = Aws::String>
355 CreditData& WithCostCategoryArn(CostCategoryArnT&& value) {
356 SetCostCategoryArn(std::forward<CostCategoryArnT>(value));
357 return *this;
358 }
360
362
366 inline const Aws::String& GetRuleName() const { return m_ruleName; }
367 inline bool RuleNameHasBeenSet() const { return m_ruleNameHasBeenSet; }
368 template <typename RuleNameT = Aws::String>
369 void SetRuleName(RuleNameT&& value) {
370 m_ruleNameHasBeenSet = true;
371 m_ruleName = std::forward<RuleNameT>(value);
372 }
373 template <typename RuleNameT = Aws::String>
374 CreditData& WithRuleName(RuleNameT&& value) {
375 SetRuleName(std::forward<RuleNameT>(value));
376 return *this;
377 }
379
381
385 inline CreditStatus GetCreditStatus() const { return m_creditStatus; }
386 inline bool CreditStatusHasBeenSet() const { return m_creditStatusHasBeenSet; }
387 inline void SetCreditStatus(CreditStatus value) {
388 m_creditStatusHasBeenSet = true;
389 m_creditStatus = value;
390 }
392 SetCreditStatus(value);
393 return *this;
394 }
396
398
402 inline const Aws::Vector<Aws::String>& GetPurchaseTypeApplications() const { return m_purchaseTypeApplications; }
403 inline bool PurchaseTypeApplicationsHasBeenSet() const { return m_purchaseTypeApplicationsHasBeenSet; }
404 template <typename PurchaseTypeApplicationsT = Aws::Vector<Aws::String>>
405 void SetPurchaseTypeApplications(PurchaseTypeApplicationsT&& value) {
406 m_purchaseTypeApplicationsHasBeenSet = true;
407 m_purchaseTypeApplications = std::forward<PurchaseTypeApplicationsT>(value);
408 }
409 template <typename PurchaseTypeApplicationsT = Aws::Vector<Aws::String>>
410 CreditData& WithPurchaseTypeApplications(PurchaseTypeApplicationsT&& value) {
411 SetPurchaseTypeApplications(std::forward<PurchaseTypeApplicationsT>(value));
412 return *this;
413 }
414 template <typename PurchaseTypeApplicationsT = Aws::String>
415 CreditData& AddPurchaseTypeApplications(PurchaseTypeApplicationsT&& value) {
416 m_purchaseTypeApplicationsHasBeenSet = true;
417 m_purchaseTypeApplications.emplace_back(std::forward<PurchaseTypeApplicationsT>(value));
418 return *this;
419 }
421 private:
422 Aws::String m_creditId;
423
424 Aws::String m_accountId;
425
426 Aws::String m_creditType;
427
428 Amount m_initialAmount;
429
430 Amount m_remainingAmount;
431
432 Amount m_estimatedAmount;
433
434 Aws::Vector<Aws::String> m_applicableProductNames;
435
436 Aws::String m_description;
437
438 Aws::Utils::DateTime m_startDate{};
439
440 Aws::Utils::DateTime m_endDate{};
441
442 Aws::Utils::DateTime m_exhaustDate{};
443
444 ApplicationType m_applicationType{ApplicationType::NOT_SET};
445
446 Aws::Vector<Aws::String> m_shareableAccounts;
447
448 bool m_accountHasCreditSharingEnabled{false};
449
450 Aws::String m_creditConsoleVisibility;
451
453
454 Aws::String m_costCategoryArn;
455
456 Aws::String m_ruleName;
457
458 CreditStatus m_creditStatus{CreditStatus::NOT_SET};
459
460 Aws::Vector<Aws::String> m_purchaseTypeApplications;
461 bool m_creditIdHasBeenSet = false;
462 bool m_accountIdHasBeenSet = false;
463 bool m_creditTypeHasBeenSet = false;
464 bool m_initialAmountHasBeenSet = false;
465 bool m_remainingAmountHasBeenSet = false;
466 bool m_estimatedAmountHasBeenSet = false;
467 bool m_applicableProductNamesHasBeenSet = false;
468 bool m_descriptionHasBeenSet = false;
469 bool m_startDateHasBeenSet = false;
470 bool m_endDateHasBeenSet = false;
471 bool m_exhaustDateHasBeenSet = false;
472 bool m_applicationTypeHasBeenSet = false;
473 bool m_shareableAccountsHasBeenSet = false;
474 bool m_accountHasCreditSharingEnabledHasBeenSet = false;
475 bool m_creditConsoleVisibilityHasBeenSet = false;
476 bool m_creditSharingTypeHasBeenSet = false;
477 bool m_costCategoryArnHasBeenSet = false;
478 bool m_ruleNameHasBeenSet = false;
479 bool m_creditStatusHasBeenSet = false;
480 bool m_purchaseTypeApplicationsHasBeenSet = false;
481};
482
483} // namespace Model
484} // namespace Billing
485} // namespace Aws
const Aws::String & GetCostCategoryArn() const
Definition CreditData.h:347
AWS_BILLING_API Aws::Utils::Json::JsonValue Jsonize() const
void SetCreditStatus(CreditStatus value)
Definition CreditData.h:387
CreditData & WithApplicableProductNames(ApplicableProductNamesT &&value)
Definition CreditData.h:164
bool ApplicableProductNamesHasBeenSet() const
Definition CreditData.h:157
void SetAccountHasCreditSharingEnabled(bool value)
Definition CreditData.h:295
CreditData & WithCreditId(CreditIdT &&value)
Definition CreditData.h:54
CreditData & AddPurchaseTypeApplications(PurchaseTypeApplicationsT &&value)
Definition CreditData.h:415
bool ShareableAccountsHasBeenSet() const
Definition CreditData.h:270
void SetPurchaseTypeApplications(PurchaseTypeApplicationsT &&value)
Definition CreditData.h:405
const Aws::Vector< Aws::String > & GetPurchaseTypeApplications() const
Definition CreditData.h:402
CreditData & AddShareableAccounts(ShareableAccountsT &&value)
Definition CreditData.h:282
AWS_BILLING_API CreditData & operator=(Aws::Utils::Json::JsonView jsonValue)
const Amount & GetInitialAmount() const
Definition CreditData.h:101
void SetCreditId(CreditIdT &&value)
Definition CreditData.h:49
AWS_BILLING_API CreditData(Aws::Utils::Json::JsonView jsonValue)
CreditStatus GetCreditStatus() const
Definition CreditData.h:385
CreditData & WithCreditType(CreditTypeT &&value)
Definition CreditData.h:91
bool AccountHasCreditSharingEnabledHasBeenSet() const
Definition CreditData.h:294
const Aws::Utils::DateTime & GetExhaustDate() const
Definition CreditData.h:234
CreditData & WithEstimatedAmount(EstimatedAmountT &&value)
Definition CreditData.h:146
void SetCreditType(CreditTypeT &&value)
Definition CreditData.h:86
bool GetAccountHasCreditSharingEnabled() const
Definition CreditData.h:293
CreditData & WithStartDate(StartDateT &&value)
Definition CreditData.h:206
CreditData & WithShareableAccounts(ShareableAccountsT &&value)
Definition CreditData.h:277
AWS_BILLING_API CreditData()=default
void SetCostCategoryArn(CostCategoryArnT &&value)
Definition CreditData.h:350
const Amount & GetEstimatedAmount() const
Definition CreditData.h:138
const Amount & GetRemainingAmount() const
Definition CreditData.h:119
void SetStartDate(StartDateT &&value)
Definition CreditData.h:201
bool CreditConsoleVisibilityHasBeenSet() const
Definition CreditData.h:311
CreditData & WithExhaustDate(ExhaustDateT &&value)
Definition CreditData.h:242
CreditData & WithPurchaseTypeApplications(PurchaseTypeApplicationsT &&value)
Definition CreditData.h:410
void SetApplicableProductNames(ApplicableProductNamesT &&value)
Definition CreditData.h:159
const Aws::Utils::DateTime & GetEndDate() const
Definition CreditData.h:216
const Aws::Vector< Aws::String > & GetApplicableProductNames() const
Definition CreditData.h:156
CreditData & WithRuleName(RuleNameT &&value)
Definition CreditData.h:374
void SetShareableAccounts(ShareableAccountsT &&value)
Definition CreditData.h:272
void SetCreditConsoleVisibility(CreditConsoleVisibilityT &&value)
Definition CreditData.h:313
CreditData & AddApplicableProductNames(ApplicableProductNamesT &&value)
Definition CreditData.h:169
void SetRemainingAmount(RemainingAmountT &&value)
Definition CreditData.h:122
CreditData & WithCreditStatus(CreditStatus value)
Definition CreditData.h:391
CreditData & WithCreditConsoleVisibility(CreditConsoleVisibilityT &&value)
Definition CreditData.h:318
void SetExhaustDate(ExhaustDateT &&value)
Definition CreditData.h:237
const Aws::String & GetDescription() const
Definition CreditData.h:180
CreditData & WithDescription(DescriptionT &&value)
Definition CreditData.h:188
void SetApplicationType(ApplicationType value)
Definition CreditData.h:255
CreditData & WithCreditSharingType(CreditSharingType value)
Definition CreditData.h:335
void SetAccountId(AccountIdT &&value)
Definition CreditData.h:67
bool PurchaseTypeApplicationsHasBeenSet() const
Definition CreditData.h:403
const Aws::Utils::DateTime & GetStartDate() const
Definition CreditData.h:198
CreditData & WithApplicationType(ApplicationType value)
Definition CreditData.h:259
CreditData & WithRemainingAmount(RemainingAmountT &&value)
Definition CreditData.h:127
CreditData & WithAccountId(AccountIdT &&value)
Definition CreditData.h:72
const Aws::String & GetRuleName() const
Definition CreditData.h:366
const Aws::String & GetAccountId() const
Definition CreditData.h:64
const Aws::Vector< Aws::String > & GetShareableAccounts() const
Definition CreditData.h:269
void SetEstimatedAmount(EstimatedAmountT &&value)
Definition CreditData.h:141
const Aws::String & GetCreditType() const
Definition CreditData.h:83
bool CreditSharingTypeHasBeenSet() const
Definition CreditData.h:330
void SetInitialAmount(InitialAmountT &&value)
Definition CreditData.h:104
ApplicationType GetApplicationType() const
Definition CreditData.h:253
void SetCreditSharingType(CreditSharingType value)
Definition CreditData.h:331
const Aws::String & GetCreditId() const
Definition CreditData.h:46
void SetDescription(DescriptionT &&value)
Definition CreditData.h:183
void SetRuleName(RuleNameT &&value)
Definition CreditData.h:369
CreditData & WithEndDate(EndDateT &&value)
Definition CreditData.h:224
CreditData & WithAccountHasCreditSharingEnabled(bool value)
Definition CreditData.h:299
CreditSharingType GetCreditSharingType() const
Definition CreditData.h:329
const Aws::String & GetCreditConsoleVisibility() const
Definition CreditData.h:310
CreditData & WithInitialAmount(InitialAmountT &&value)
Definition CreditData.h:109
CreditData & WithCostCategoryArn(CostCategoryArnT &&value)
Definition CreditData.h:355
void SetEndDate(EndDateT &&value)
Definition CreditData.h:219
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue