7#include <aws/billing/Billing_EXPORTS.h>
8#include <aws/billing/model/EnterpriseSupportTimePeriod.h>
9#include <aws/billing/model/ServiceLevelAccountUsage.h>
10#include <aws/core/utils/memory/stl/AWSString.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
44 template <
typename AccountIdT = Aws::String>
46 m_accountIdHasBeenSet =
true;
47 m_accountId = std::forward<AccountIdT>(value);
49 template <
typename AccountIdT = Aws::String>
63 template <
typename PayerAccountIdT = Aws::String>
65 m_payerAccountIdHasBeenSet =
true;
66 m_payerAccountId = std::forward<PayerAccountIdT>(value);
68 template <
typename PayerAccountIdT = Aws::String>
81 template <
typename AccountTypeT = Aws::String>
83 m_accountTypeHasBeenSet =
true;
84 m_accountType = std::forward<AccountTypeT>(value);
86 template <
typename AccountTypeT = Aws::String>
101 m_billableSecondsHasBeenSet =
true;
102 m_billableSeconds = value;
117 m_totalSecondsHasBeenSet =
true;
118 m_totalSeconds = value;
132 template <
typename TotalSupportEligibleSpendT = Aws::String>
134 m_totalSupportEligibleSpendHasBeenSet =
true;
135 m_totalSupportEligibleSpend = std::forward<TotalSupportEligibleSpendT>(value);
137 template <
typename TotalSupportEligibleSpendT = Aws::String>
151 template <
typename ProratedTotalSupportEligibleSpendT = Aws::String>
153 m_proratedTotalSupportEligibleSpendHasBeenSet =
true;
154 m_proratedTotalSupportEligibleSpend = std::forward<ProratedTotalSupportEligibleSpendT>(value);
156 template <
typename ProratedTotalSupportEligibleSpendT = Aws::String>
169 template <
typename LinkedTimePeriodsT = Aws::Vector<EnterpriseSupportTimePeriod>>
171 m_linkedTimePeriodsHasBeenSet =
true;
172 m_linkedTimePeriods = std::forward<LinkedTimePeriodsT>(value);
174 template <
typename LinkedTimePeriodsT = Aws::Vector<EnterpriseSupportTimePeriod>>
179 template <
typename LinkedTimePeriodsT = EnterpriseSupportTimePeriod>
181 m_linkedTimePeriodsHasBeenSet =
true;
182 m_linkedTimePeriods.emplace_back(std::forward<LinkedTimePeriodsT>(value));
193 template <
typename SubscriptionTimePeriodsT = Aws::Vector<EnterpriseSupportTimePeriod>>
195 m_subscriptionTimePeriodsHasBeenSet =
true;
196 m_subscriptionTimePeriods = std::forward<SubscriptionTimePeriodsT>(value);
198 template <
typename SubscriptionTimePeriodsT = Aws::Vector<EnterpriseSupportTimePeriod>>
203 template <
typename SubscriptionTimePeriodsT = EnterpriseSupportTimePeriod>
205 m_subscriptionTimePeriodsHasBeenSet =
true;
206 m_subscriptionTimePeriods.emplace_back(std::forward<SubscriptionTimePeriodsT>(value));
217 template <
typename TotalSupportEligibleReservedInstanceSpendT = Aws::String>
219 m_totalSupportEligibleReservedInstanceSpendHasBeenSet =
true;
220 m_totalSupportEligibleReservedInstanceSpend = std::forward<TotalSupportEligibleReservedInstanceSpendT>(value);
222 template <
typename TotalSupportEligibleReservedInstanceSpendT = Aws::String>
235 template <
typename TotalSupportEligibleSavingsPlanSpendT = Aws::String>
237 m_totalSupportEligibleSavingsPlanSpendHasBeenSet =
true;
238 m_totalSupportEligibleSavingsPlanSpend = std::forward<TotalSupportEligibleSavingsPlanSpendT>(value);
240 template <
typename TotalSupportEligibleSavingsPlanSpendT = Aws::String>
253 template <
typename SupportEligibleSpendByServiceT = Aws::Vector<ServiceLevelAccountUsage>>
255 m_supportEligibleSpendByServiceHasBeenSet =
true;
256 m_supportEligibleSpendByService = std::forward<SupportEligibleSpendByServiceT>(value);
258 template <
typename SupportEligibleSpendByServiceT = Aws::Vector<ServiceLevelAccountUsage>>
263 template <
typename SupportEligibleSpendByServiceT = ServiceLevelAccountUsage>
265 m_supportEligibleSpendByServiceHasBeenSet =
true;
266 m_supportEligibleSpendByService.emplace_back(std::forward<SupportEligibleSpendByServiceT>(value));
277 long long m_billableSeconds{0};
279 long long m_totalSeconds{0};
289 Aws::String m_totalSupportEligibleReservedInstanceSpend;
291 Aws::String m_totalSupportEligibleSavingsPlanSpend;
294 bool m_accountIdHasBeenSet =
false;
295 bool m_payerAccountIdHasBeenSet =
false;
296 bool m_accountTypeHasBeenSet =
false;
297 bool m_billableSecondsHasBeenSet =
false;
298 bool m_totalSecondsHasBeenSet =
false;
299 bool m_totalSupportEligibleSpendHasBeenSet =
false;
300 bool m_proratedTotalSupportEligibleSpendHasBeenSet =
false;
301 bool m_linkedTimePeriodsHasBeenSet =
false;
302 bool m_subscriptionTimePeriodsHasBeenSet =
false;
303 bool m_totalSupportEligibleReservedInstanceSpendHasBeenSet =
false;
304 bool m_totalSupportEligibleSavingsPlanSpendHasBeenSet =
false;
305 bool m_supportEligibleSpendByServiceHasBeenSet =
false;
void SetTotalSeconds(long long value)
void SetAccountType(AccountTypeT &&value)
bool AccountTypeHasBeenSet() const
void SetTotalSupportEligibleReservedInstanceSpend(TotalSupportEligibleReservedInstanceSpendT &&value)
void SetTotalSupportEligibleSavingsPlanSpend(TotalSupportEligibleSavingsPlanSpendT &&value)
LinkedAccountCharge & WithAccountType(AccountTypeT &&value)
const Aws::String & GetTotalSupportEligibleSpend() const
bool TotalSupportEligibleSavingsPlanSpendHasBeenSet() const
const Aws::String & GetProratedTotalSupportEligibleSpend() const
LinkedAccountCharge & WithAccountId(AccountIdT &&value)
bool SupportEligibleSpendByServiceHasBeenSet() const
bool PayerAccountIdHasBeenSet() const
void SetSubscriptionTimePeriods(SubscriptionTimePeriodsT &&value)
LinkedAccountCharge & WithPayerAccountId(PayerAccountIdT &&value)
const Aws::String & GetTotalSupportEligibleReservedInstanceSpend() const
const Aws::Vector< EnterpriseSupportTimePeriod > & GetSubscriptionTimePeriods() const
long long GetBillableSeconds() const
AWS_BILLING_API LinkedAccountCharge & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::String & GetPayerAccountId() const
void SetPayerAccountId(PayerAccountIdT &&value)
bool LinkedTimePeriodsHasBeenSet() const
bool TotalSecondsHasBeenSet() const
LinkedAccountCharge & WithLinkedTimePeriods(LinkedTimePeriodsT &&value)
const Aws::String & GetAccountId() const
void SetAccountId(AccountIdT &&value)
const Aws::Vector< ServiceLevelAccountUsage > & GetSupportEligibleSpendByService() const
LinkedAccountCharge & WithTotalSupportEligibleReservedInstanceSpend(TotalSupportEligibleReservedInstanceSpendT &&value)
void SetTotalSupportEligibleSpend(TotalSupportEligibleSpendT &&value)
LinkedAccountCharge & WithTotalSupportEligibleSpend(TotalSupportEligibleSpendT &&value)
bool TotalSupportEligibleReservedInstanceSpendHasBeenSet() const
void SetProratedTotalSupportEligibleSpend(ProratedTotalSupportEligibleSpendT &&value)
void SetSupportEligibleSpendByService(SupportEligibleSpendByServiceT &&value)
bool SubscriptionTimePeriodsHasBeenSet() const
LinkedAccountCharge & WithSupportEligibleSpendByService(SupportEligibleSpendByServiceT &&value)
LinkedAccountCharge & WithTotalSeconds(long long value)
LinkedAccountCharge & AddLinkedTimePeriods(LinkedTimePeriodsT &&value)
bool ProratedTotalSupportEligibleSpendHasBeenSet() const
bool AccountIdHasBeenSet() const
AWS_BILLING_API Aws::Utils::Json::JsonValue Jsonize() const
LinkedAccountCharge & WithTotalSupportEligibleSavingsPlanSpend(TotalSupportEligibleSavingsPlanSpendT &&value)
bool TotalSupportEligibleSpendHasBeenSet() const
void SetBillableSeconds(long long value)
bool BillableSecondsHasBeenSet() const
long long GetTotalSeconds() const
AWS_BILLING_API LinkedAccountCharge()=default
const Aws::String & GetTotalSupportEligibleSavingsPlanSpend() const
LinkedAccountCharge & WithProratedTotalSupportEligibleSpend(ProratedTotalSupportEligibleSpendT &&value)
LinkedAccountCharge & AddSubscriptionTimePeriods(SubscriptionTimePeriodsT &&value)
void SetLinkedTimePeriods(LinkedTimePeriodsT &&value)
const Aws::Vector< EnterpriseSupportTimePeriod > & GetLinkedTimePeriods() const
LinkedAccountCharge & WithBillableSeconds(long long value)
LinkedAccountCharge & AddSupportEligibleSpendByService(SupportEligibleSpendByServiceT &&value)
const Aws::String & GetAccountType() const
AWS_BILLING_API LinkedAccountCharge(Aws::Utils::Json::JsonView jsonValue)
LinkedAccountCharge & WithSubscriptionTimePeriods(SubscriptionTimePeriodsT &&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