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>
48 template <
typename CreditIdT = Aws::String>
50 m_creditIdHasBeenSet =
true;
51 m_creditId = std::forward<CreditIdT>(value);
53 template <
typename CreditIdT = Aws::String>
66 template <
typename AccountIdT = Aws::String>
68 m_accountIdHasBeenSet =
true;
69 m_accountId = std::forward<AccountIdT>(value);
71 template <
typename AccountIdT = Aws::String>
85 template <
typename CreditTypeT = Aws::String>
87 m_creditTypeHasBeenSet =
true;
88 m_creditType = std::forward<CreditTypeT>(value);
90 template <
typename CreditTypeT = Aws::String>
103 template <
typename InitialAmountT = Amount>
105 m_initialAmountHasBeenSet =
true;
106 m_initialAmount = std::forward<InitialAmountT>(value);
108 template <
typename InitialAmountT = Amount>
121 template <
typename RemainingAmountT = Amount>
123 m_remainingAmountHasBeenSet =
true;
124 m_remainingAmount = std::forward<RemainingAmountT>(value);
126 template <
typename RemainingAmountT = Amount>
140 template <
typename EstimatedAmountT = Amount>
142 m_estimatedAmountHasBeenSet =
true;
143 m_estimatedAmount = std::forward<EstimatedAmountT>(value);
145 template <
typename EstimatedAmountT = Amount>
158 template <
typename ApplicableProductNamesT = Aws::Vector<Aws::String>>
160 m_applicableProductNamesHasBeenSet =
true;
161 m_applicableProductNames = std::forward<ApplicableProductNamesT>(value);
163 template <
typename ApplicableProductNamesT = Aws::Vector<Aws::String>>
168 template <
typename ApplicableProductNamesT = Aws::String>
170 m_applicableProductNamesHasBeenSet =
true;
171 m_applicableProductNames.emplace_back(std::forward<ApplicableProductNamesT>(value));
182 template <
typename DescriptionT = Aws::String>
184 m_descriptionHasBeenSet =
true;
185 m_description = std::forward<DescriptionT>(value);
187 template <
typename DescriptionT = Aws::String>
200 template <
typename StartDateT = Aws::Utils::DateTime>
202 m_startDateHasBeenSet =
true;
203 m_startDate = std::forward<StartDateT>(value);
205 template <
typename StartDateT = Aws::Utils::DateTime>
218 template <
typename EndDateT = Aws::Utils::DateTime>
220 m_endDateHasBeenSet =
true;
221 m_endDate = std::forward<EndDateT>(value);
223 template <
typename EndDateT = Aws::Utils::DateTime>
236 template <
typename ExhaustDateT = Aws::Utils::DateTime>
238 m_exhaustDateHasBeenSet =
true;
239 m_exhaustDate = std::forward<ExhaustDateT>(value);
241 template <
typename ExhaustDateT = Aws::Utils::DateTime>
256 m_applicationTypeHasBeenSet =
true;
257 m_applicationType = value;
271 template <
typename ShareableAccountsT = Aws::Vector<Aws::String>>
273 m_shareableAccountsHasBeenSet =
true;
274 m_shareableAccounts = std::forward<ShareableAccountsT>(value);
276 template <
typename ShareableAccountsT = Aws::Vector<Aws::String>>
281 template <
typename ShareableAccountsT = Aws::String>
283 m_shareableAccountsHasBeenSet =
true;
284 m_shareableAccounts.emplace_back(std::forward<ShareableAccountsT>(value));
296 m_accountHasCreditSharingEnabledHasBeenSet =
true;
297 m_accountHasCreditSharingEnabled = value;
312 template <
typename CreditConsoleVisibilityT = Aws::String>
314 m_creditConsoleVisibilityHasBeenSet =
true;
315 m_creditConsoleVisibility = std::forward<CreditConsoleVisibilityT>(value);
317 template <
typename CreditConsoleVisibilityT = Aws::String>
332 m_creditSharingTypeHasBeenSet =
true;
333 m_creditSharingType = value;
349 template <
typename CostCategoryArnT = Aws::String>
351 m_costCategoryArnHasBeenSet =
true;
352 m_costCategoryArn = std::forward<CostCategoryArnT>(value);
354 template <
typename CostCategoryArnT = Aws::String>
368 template <
typename RuleNameT = Aws::String>
370 m_ruleNameHasBeenSet =
true;
371 m_ruleName = std::forward<RuleNameT>(value);
373 template <
typename RuleNameT = Aws::String>
388 m_creditStatusHasBeenSet =
true;
389 m_creditStatus = value;
404 template <
typename PurchaseTypeApplicationsT = Aws::Vector<Aws::String>>
406 m_purchaseTypeApplicationsHasBeenSet =
true;
407 m_purchaseTypeApplications = std::forward<PurchaseTypeApplicationsT>(value);
409 template <
typename PurchaseTypeApplicationsT = Aws::Vector<Aws::String>>
414 template <
typename PurchaseTypeApplicationsT = Aws::String>
416 m_purchaseTypeApplicationsHasBeenSet =
true;
417 m_purchaseTypeApplications.emplace_back(std::forward<PurchaseTypeApplicationsT>(value));
448 bool m_accountHasCreditSharingEnabled{
false};
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;
bool InitialAmountHasBeenSet() const
const Aws::String & GetCostCategoryArn() const
AWS_BILLING_API Aws::Utils::Json::JsonValue Jsonize() const
void SetCreditStatus(CreditStatus value)
CreditData & WithApplicableProductNames(ApplicableProductNamesT &&value)
bool ApplicableProductNamesHasBeenSet() const
void SetAccountHasCreditSharingEnabled(bool value)
bool ApplicationTypeHasBeenSet() const
CreditData & WithCreditId(CreditIdT &&value)
CreditData & AddPurchaseTypeApplications(PurchaseTypeApplicationsT &&value)
bool ShareableAccountsHasBeenSet() const
void SetPurchaseTypeApplications(PurchaseTypeApplicationsT &&value)
const Aws::Vector< Aws::String > & GetPurchaseTypeApplications() const
CreditData & AddShareableAccounts(ShareableAccountsT &&value)
AWS_BILLING_API CreditData & operator=(Aws::Utils::Json::JsonView jsonValue)
const Amount & GetInitialAmount() const
void SetCreditId(CreditIdT &&value)
bool CreditIdHasBeenSet() const
AWS_BILLING_API CreditData(Aws::Utils::Json::JsonView jsonValue)
CreditStatus GetCreditStatus() const
CreditData & WithCreditType(CreditTypeT &&value)
bool AccountHasCreditSharingEnabledHasBeenSet() const
const Aws::Utils::DateTime & GetExhaustDate() const
CreditData & WithEstimatedAmount(EstimatedAmountT &&value)
void SetCreditType(CreditTypeT &&value)
bool GetAccountHasCreditSharingEnabled() const
CreditData & WithStartDate(StartDateT &&value)
CreditData & WithShareableAccounts(ShareableAccountsT &&value)
bool CostCategoryArnHasBeenSet() const
bool RuleNameHasBeenSet() const
AWS_BILLING_API CreditData()=default
void SetCostCategoryArn(CostCategoryArnT &&value)
const Amount & GetEstimatedAmount() const
const Amount & GetRemainingAmount() const
void SetStartDate(StartDateT &&value)
bool CreditStatusHasBeenSet() const
bool CreditConsoleVisibilityHasBeenSet() const
CreditData & WithExhaustDate(ExhaustDateT &&value)
CreditData & WithPurchaseTypeApplications(PurchaseTypeApplicationsT &&value)
void SetApplicableProductNames(ApplicableProductNamesT &&value)
const Aws::Utils::DateTime & GetEndDate() const
const Aws::Vector< Aws::String > & GetApplicableProductNames() const
CreditData & WithRuleName(RuleNameT &&value)
void SetShareableAccounts(ShareableAccountsT &&value)
void SetCreditConsoleVisibility(CreditConsoleVisibilityT &&value)
CreditData & AddApplicableProductNames(ApplicableProductNamesT &&value)
void SetRemainingAmount(RemainingAmountT &&value)
CreditData & WithCreditStatus(CreditStatus value)
CreditData & WithCreditConsoleVisibility(CreditConsoleVisibilityT &&value)
void SetExhaustDate(ExhaustDateT &&value)
bool EstimatedAmountHasBeenSet() const
const Aws::String & GetDescription() const
CreditData & WithDescription(DescriptionT &&value)
void SetApplicationType(ApplicationType value)
CreditData & WithCreditSharingType(CreditSharingType value)
void SetAccountId(AccountIdT &&value)
bool PurchaseTypeApplicationsHasBeenSet() const
const Aws::Utils::DateTime & GetStartDate() const
CreditData & WithApplicationType(ApplicationType value)
CreditData & WithRemainingAmount(RemainingAmountT &&value)
CreditData & WithAccountId(AccountIdT &&value)
bool StartDateHasBeenSet() const
const Aws::String & GetRuleName() const
const Aws::String & GetAccountId() const
bool EndDateHasBeenSet() const
const Aws::Vector< Aws::String > & GetShareableAccounts() const
void SetEstimatedAmount(EstimatedAmountT &&value)
bool CreditTypeHasBeenSet() const
const Aws::String & GetCreditType() const
bool CreditSharingTypeHasBeenSet() const
bool DescriptionHasBeenSet() const
void SetInitialAmount(InitialAmountT &&value)
ApplicationType GetApplicationType() const
void SetCreditSharingType(CreditSharingType value)
const Aws::String & GetCreditId() const
void SetDescription(DescriptionT &&value)
bool AccountIdHasBeenSet() const
void SetRuleName(RuleNameT &&value)
CreditData & WithEndDate(EndDateT &&value)
CreditData & WithAccountHasCreditSharingEnabled(bool value)
bool ExhaustDateHasBeenSet() const
bool RemainingAmountHasBeenSet() const
CreditSharingType GetCreditSharingType() const
const Aws::String & GetCreditConsoleVisibility() const
CreditData & WithInitialAmount(InitialAmountT &&value)
CreditData & WithCostCategoryArn(CostCategoryArnT &&value)
void SetEndDate(EndDateT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue