AWS SDK for C++

AWS SDK for C++ Version 1.11.860

Loading...
Searching...
No Matches
LinkedAccountCharge.h
1
6#pragma once
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>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace Billing {
23namespace Model {
24
32 public:
33 AWS_BILLING_API LinkedAccountCharge() = default;
36 AWS_BILLING_API Aws::Utils::Json::JsonValue Jsonize() const;
37
39
42 inline const Aws::String& GetAccountId() const { return m_accountId; }
43 inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; }
44 template <typename AccountIdT = Aws::String>
45 void SetAccountId(AccountIdT&& value) {
46 m_accountIdHasBeenSet = true;
47 m_accountId = std::forward<AccountIdT>(value);
48 }
49 template <typename AccountIdT = Aws::String>
50 LinkedAccountCharge& WithAccountId(AccountIdT&& value) {
51 SetAccountId(std::forward<AccountIdT>(value));
52 return *this;
53 }
55
57
61 inline const Aws::String& GetPayerAccountId() const { return m_payerAccountId; }
62 inline bool PayerAccountIdHasBeenSet() const { return m_payerAccountIdHasBeenSet; }
63 template <typename PayerAccountIdT = Aws::String>
64 void SetPayerAccountId(PayerAccountIdT&& value) {
65 m_payerAccountIdHasBeenSet = true;
66 m_payerAccountId = std::forward<PayerAccountIdT>(value);
67 }
68 template <typename PayerAccountIdT = Aws::String>
69 LinkedAccountCharge& WithPayerAccountId(PayerAccountIdT&& value) {
70 SetPayerAccountId(std::forward<PayerAccountIdT>(value));
71 return *this;
72 }
74
76
79 inline const Aws::String& GetAccountType() const { return m_accountType; }
80 inline bool AccountTypeHasBeenSet() const { return m_accountTypeHasBeenSet; }
81 template <typename AccountTypeT = Aws::String>
82 void SetAccountType(AccountTypeT&& value) {
83 m_accountTypeHasBeenSet = true;
84 m_accountType = std::forward<AccountTypeT>(value);
85 }
86 template <typename AccountTypeT = Aws::String>
87 LinkedAccountCharge& WithAccountType(AccountTypeT&& value) {
88 SetAccountType(std::forward<AccountTypeT>(value));
89 return *this;
90 }
92
94
98 inline long long GetBillableSeconds() const { return m_billableSeconds; }
99 inline bool BillableSecondsHasBeenSet() const { return m_billableSecondsHasBeenSet; }
100 inline void SetBillableSeconds(long long value) {
101 m_billableSecondsHasBeenSet = true;
102 m_billableSeconds = value;
103 }
104 inline LinkedAccountCharge& WithBillableSeconds(long long value) {
105 SetBillableSeconds(value);
106 return *this;
107 }
109
111
114 inline long long GetTotalSeconds() const { return m_totalSeconds; }
115 inline bool TotalSecondsHasBeenSet() const { return m_totalSecondsHasBeenSet; }
116 inline void SetTotalSeconds(long long value) {
117 m_totalSecondsHasBeenSet = true;
118 m_totalSeconds = value;
119 }
120 inline LinkedAccountCharge& WithTotalSeconds(long long value) {
121 SetTotalSeconds(value);
122 return *this;
123 }
125
127
130 inline const Aws::String& GetTotalSupportEligibleSpend() const { return m_totalSupportEligibleSpend; }
131 inline bool TotalSupportEligibleSpendHasBeenSet() const { return m_totalSupportEligibleSpendHasBeenSet; }
132 template <typename TotalSupportEligibleSpendT = Aws::String>
133 void SetTotalSupportEligibleSpend(TotalSupportEligibleSpendT&& value) {
134 m_totalSupportEligibleSpendHasBeenSet = true;
135 m_totalSupportEligibleSpend = std::forward<TotalSupportEligibleSpendT>(value);
136 }
137 template <typename TotalSupportEligibleSpendT = Aws::String>
138 LinkedAccountCharge& WithTotalSupportEligibleSpend(TotalSupportEligibleSpendT&& value) {
139 SetTotalSupportEligibleSpend(std::forward<TotalSupportEligibleSpendT>(value));
140 return *this;
141 }
143
145
149 inline const Aws::String& GetProratedTotalSupportEligibleSpend() const { return m_proratedTotalSupportEligibleSpend; }
150 inline bool ProratedTotalSupportEligibleSpendHasBeenSet() const { return m_proratedTotalSupportEligibleSpendHasBeenSet; }
151 template <typename ProratedTotalSupportEligibleSpendT = Aws::String>
152 void SetProratedTotalSupportEligibleSpend(ProratedTotalSupportEligibleSpendT&& value) {
153 m_proratedTotalSupportEligibleSpendHasBeenSet = true;
154 m_proratedTotalSupportEligibleSpend = std::forward<ProratedTotalSupportEligibleSpendT>(value);
155 }
156 template <typename ProratedTotalSupportEligibleSpendT = Aws::String>
157 LinkedAccountCharge& WithProratedTotalSupportEligibleSpend(ProratedTotalSupportEligibleSpendT&& value) {
158 SetProratedTotalSupportEligibleSpend(std::forward<ProratedTotalSupportEligibleSpendT>(value));
159 return *this;
160 }
162
164
167 inline const Aws::Vector<EnterpriseSupportTimePeriod>& GetLinkedTimePeriods() const { return m_linkedTimePeriods; }
168 inline bool LinkedTimePeriodsHasBeenSet() const { return m_linkedTimePeriodsHasBeenSet; }
169 template <typename LinkedTimePeriodsT = Aws::Vector<EnterpriseSupportTimePeriod>>
170 void SetLinkedTimePeriods(LinkedTimePeriodsT&& value) {
171 m_linkedTimePeriodsHasBeenSet = true;
172 m_linkedTimePeriods = std::forward<LinkedTimePeriodsT>(value);
173 }
174 template <typename LinkedTimePeriodsT = Aws::Vector<EnterpriseSupportTimePeriod>>
175 LinkedAccountCharge& WithLinkedTimePeriods(LinkedTimePeriodsT&& value) {
176 SetLinkedTimePeriods(std::forward<LinkedTimePeriodsT>(value));
177 return *this;
178 }
179 template <typename LinkedTimePeriodsT = EnterpriseSupportTimePeriod>
180 LinkedAccountCharge& AddLinkedTimePeriods(LinkedTimePeriodsT&& value) {
181 m_linkedTimePeriodsHasBeenSet = true;
182 m_linkedTimePeriods.emplace_back(std::forward<LinkedTimePeriodsT>(value));
183 return *this;
184 }
186
188
191 inline const Aws::Vector<EnterpriseSupportTimePeriod>& GetSubscriptionTimePeriods() const { return m_subscriptionTimePeriods; }
192 inline bool SubscriptionTimePeriodsHasBeenSet() const { return m_subscriptionTimePeriodsHasBeenSet; }
193 template <typename SubscriptionTimePeriodsT = Aws::Vector<EnterpriseSupportTimePeriod>>
194 void SetSubscriptionTimePeriods(SubscriptionTimePeriodsT&& value) {
195 m_subscriptionTimePeriodsHasBeenSet = true;
196 m_subscriptionTimePeriods = std::forward<SubscriptionTimePeriodsT>(value);
197 }
198 template <typename SubscriptionTimePeriodsT = Aws::Vector<EnterpriseSupportTimePeriod>>
199 LinkedAccountCharge& WithSubscriptionTimePeriods(SubscriptionTimePeriodsT&& value) {
200 SetSubscriptionTimePeriods(std::forward<SubscriptionTimePeriodsT>(value));
201 return *this;
202 }
203 template <typename SubscriptionTimePeriodsT = EnterpriseSupportTimePeriod>
204 LinkedAccountCharge& AddSubscriptionTimePeriods(SubscriptionTimePeriodsT&& value) {
205 m_subscriptionTimePeriodsHasBeenSet = true;
206 m_subscriptionTimePeriods.emplace_back(std::forward<SubscriptionTimePeriodsT>(value));
207 return *this;
208 }
210
212
215 inline const Aws::String& GetTotalSupportEligibleReservedInstanceSpend() const { return m_totalSupportEligibleReservedInstanceSpend; }
216 inline bool TotalSupportEligibleReservedInstanceSpendHasBeenSet() const { return m_totalSupportEligibleReservedInstanceSpendHasBeenSet; }
217 template <typename TotalSupportEligibleReservedInstanceSpendT = Aws::String>
218 void SetTotalSupportEligibleReservedInstanceSpend(TotalSupportEligibleReservedInstanceSpendT&& value) {
219 m_totalSupportEligibleReservedInstanceSpendHasBeenSet = true;
220 m_totalSupportEligibleReservedInstanceSpend = std::forward<TotalSupportEligibleReservedInstanceSpendT>(value);
221 }
222 template <typename TotalSupportEligibleReservedInstanceSpendT = Aws::String>
223 LinkedAccountCharge& WithTotalSupportEligibleReservedInstanceSpend(TotalSupportEligibleReservedInstanceSpendT&& value) {
224 SetTotalSupportEligibleReservedInstanceSpend(std::forward<TotalSupportEligibleReservedInstanceSpendT>(value));
225 return *this;
226 }
228
230
233 inline const Aws::String& GetTotalSupportEligibleSavingsPlanSpend() const { return m_totalSupportEligibleSavingsPlanSpend; }
234 inline bool TotalSupportEligibleSavingsPlanSpendHasBeenSet() const { return m_totalSupportEligibleSavingsPlanSpendHasBeenSet; }
235 template <typename TotalSupportEligibleSavingsPlanSpendT = Aws::String>
236 void SetTotalSupportEligibleSavingsPlanSpend(TotalSupportEligibleSavingsPlanSpendT&& value) {
237 m_totalSupportEligibleSavingsPlanSpendHasBeenSet = true;
238 m_totalSupportEligibleSavingsPlanSpend = std::forward<TotalSupportEligibleSavingsPlanSpendT>(value);
239 }
240 template <typename TotalSupportEligibleSavingsPlanSpendT = Aws::String>
241 LinkedAccountCharge& WithTotalSupportEligibleSavingsPlanSpend(TotalSupportEligibleSavingsPlanSpendT&& value) {
242 SetTotalSupportEligibleSavingsPlanSpend(std::forward<TotalSupportEligibleSavingsPlanSpendT>(value));
243 return *this;
244 }
246
248
251 inline const Aws::Vector<ServiceLevelAccountUsage>& GetSupportEligibleSpendByService() const { return m_supportEligibleSpendByService; }
252 inline bool SupportEligibleSpendByServiceHasBeenSet() const { return m_supportEligibleSpendByServiceHasBeenSet; }
253 template <typename SupportEligibleSpendByServiceT = Aws::Vector<ServiceLevelAccountUsage>>
254 void SetSupportEligibleSpendByService(SupportEligibleSpendByServiceT&& value) {
255 m_supportEligibleSpendByServiceHasBeenSet = true;
256 m_supportEligibleSpendByService = std::forward<SupportEligibleSpendByServiceT>(value);
257 }
258 template <typename SupportEligibleSpendByServiceT = Aws::Vector<ServiceLevelAccountUsage>>
259 LinkedAccountCharge& WithSupportEligibleSpendByService(SupportEligibleSpendByServiceT&& value) {
260 SetSupportEligibleSpendByService(std::forward<SupportEligibleSpendByServiceT>(value));
261 return *this;
262 }
263 template <typename SupportEligibleSpendByServiceT = ServiceLevelAccountUsage>
264 LinkedAccountCharge& AddSupportEligibleSpendByService(SupportEligibleSpendByServiceT&& value) {
265 m_supportEligibleSpendByServiceHasBeenSet = true;
266 m_supportEligibleSpendByService.emplace_back(std::forward<SupportEligibleSpendByServiceT>(value));
267 return *this;
268 }
270 private:
271 Aws::String m_accountId;
272
273 Aws::String m_payerAccountId;
274
275 Aws::String m_accountType;
276
277 long long m_billableSeconds{0};
278
279 long long m_totalSeconds{0};
280
281 Aws::String m_totalSupportEligibleSpend;
282
283 Aws::String m_proratedTotalSupportEligibleSpend;
284
286
287 Aws::Vector<EnterpriseSupportTimePeriod> m_subscriptionTimePeriods;
288
289 Aws::String m_totalSupportEligibleReservedInstanceSpend;
290
291 Aws::String m_totalSupportEligibleSavingsPlanSpend;
292
293 Aws::Vector<ServiceLevelAccountUsage> m_supportEligibleSpendByService;
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;
306};
307
308} // namespace Model
309} // namespace Billing
310} // namespace Aws
void SetTotalSupportEligibleReservedInstanceSpend(TotalSupportEligibleReservedInstanceSpendT &&value)
void SetTotalSupportEligibleSavingsPlanSpend(TotalSupportEligibleSavingsPlanSpendT &&value)
LinkedAccountCharge & WithAccountType(AccountTypeT &&value)
const Aws::String & GetTotalSupportEligibleSpend() const
const Aws::String & GetProratedTotalSupportEligibleSpend() const
LinkedAccountCharge & WithAccountId(AccountIdT &&value)
void SetSubscriptionTimePeriods(SubscriptionTimePeriodsT &&value)
LinkedAccountCharge & WithPayerAccountId(PayerAccountIdT &&value)
const Aws::String & GetTotalSupportEligibleReservedInstanceSpend() const
const Aws::Vector< EnterpriseSupportTimePeriod > & GetSubscriptionTimePeriods() const
AWS_BILLING_API LinkedAccountCharge & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::String & GetPayerAccountId() const
void SetPayerAccountId(PayerAccountIdT &&value)
LinkedAccountCharge & WithLinkedTimePeriods(LinkedTimePeriodsT &&value)
const Aws::Vector< ServiceLevelAccountUsage > & GetSupportEligibleSpendByService() const
LinkedAccountCharge & WithTotalSupportEligibleReservedInstanceSpend(TotalSupportEligibleReservedInstanceSpendT &&value)
void SetTotalSupportEligibleSpend(TotalSupportEligibleSpendT &&value)
LinkedAccountCharge & WithTotalSupportEligibleSpend(TotalSupportEligibleSpendT &&value)
void SetProratedTotalSupportEligibleSpend(ProratedTotalSupportEligibleSpendT &&value)
void SetSupportEligibleSpendByService(SupportEligibleSpendByServiceT &&value)
LinkedAccountCharge & WithSupportEligibleSpendByService(SupportEligibleSpendByServiceT &&value)
LinkedAccountCharge & WithTotalSeconds(long long value)
LinkedAccountCharge & AddLinkedTimePeriods(LinkedTimePeriodsT &&value)
AWS_BILLING_API Aws::Utils::Json::JsonValue Jsonize() const
LinkedAccountCharge & WithTotalSupportEligibleSavingsPlanSpend(TotalSupportEligibleSavingsPlanSpendT &&value)
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)
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