7#include <aws/core/utils/memory/stl/AWSMap.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/savingsplans/SavingsPlans_EXPORTS.h>
11#include <aws/savingsplans/model/CurrencyCode.h>
12#include <aws/savingsplans/model/SavingsPlanPaymentOption.h>
13#include <aws/savingsplans/model/SavingsPlanProductType.h>
14#include <aws/savingsplans/model/SavingsPlanState.h>
15#include <aws/savingsplans/model/SavingsPlanType.h>
26namespace SavingsPlans {
47 template <
typename OfferingIdT = Aws::String>
49 m_offeringIdHasBeenSet =
true;
50 m_offeringId = std::forward<OfferingIdT>(value);
52 template <
typename OfferingIdT = Aws::String>
65 template <
typename SavingsPlanIdT = Aws::String>
67 m_savingsPlanIdHasBeenSet =
true;
68 m_savingsPlanId = std::forward<SavingsPlanIdT>(value);
70 template <
typename SavingsPlanIdT = Aws::String>
83 template <
typename SavingsPlanArnT = Aws::String>
85 m_savingsPlanArnHasBeenSet =
true;
86 m_savingsPlanArn = std::forward<SavingsPlanArnT>(value);
88 template <
typename SavingsPlanArnT = Aws::String>
101 template <
typename DescriptionT = Aws::String>
103 m_descriptionHasBeenSet =
true;
104 m_description = std::forward<DescriptionT>(value);
106 template <
typename DescriptionT = Aws::String>
119 template <
typename StartT = Aws::String>
121 m_startHasBeenSet =
true;
122 m_start = std::forward<StartT>(value);
124 template <
typename StartT = Aws::String>
126 SetStart(std::forward<StartT>(value));
137 template <
typename EndT = Aws::String>
139 m_endHasBeenSet =
true;
140 m_end = std::forward<EndT>(value);
142 template <
typename EndT = Aws::String>
144 SetEnd(std::forward<EndT>(value));
156 m_stateHasBeenSet =
true;
171 template <
typename RegionT = Aws::String>
173 m_regionHasBeenSet =
true;
174 m_region = std::forward<RegionT>(value);
176 template <
typename RegionT = Aws::String>
189 template <
typename Ec2InstanceFamilyT = Aws::String>
191 m_ec2InstanceFamilyHasBeenSet =
true;
192 m_ec2InstanceFamily = std::forward<Ec2InstanceFamilyT>(value);
194 template <
typename Ec2InstanceFamilyT = Aws::String>
208 m_savingsPlanTypeHasBeenSet =
true;
209 m_savingsPlanType = value;
224 m_paymentOptionHasBeenSet =
true;
225 m_paymentOption = value;
239 template <
typename ProductTypesT = Aws::Vector<SavingsPlanProductType>>
241 m_productTypesHasBeenSet =
true;
242 m_productTypes = std::forward<ProductTypesT>(value);
244 template <
typename ProductTypesT = Aws::Vector<SavingsPlanProductType>>
250 m_productTypesHasBeenSet =
true;
251 m_productTypes.push_back(value);
263 m_currencyHasBeenSet =
true;
278 template <
typename CommitmentT = Aws::String>
280 m_commitmentHasBeenSet =
true;
281 m_commitment = std::forward<CommitmentT>(value);
283 template <
typename CommitmentT = Aws::String>
296 template <
typename UpfrontPaymentAmountT = Aws::String>
298 m_upfrontPaymentAmountHasBeenSet =
true;
299 m_upfrontPaymentAmount = std::forward<UpfrontPaymentAmountT>(value);
301 template <
typename UpfrontPaymentAmountT = Aws::String>
314 template <
typename RecurringPaymentAmountT = Aws::String>
316 m_recurringPaymentAmountHasBeenSet =
true;
317 m_recurringPaymentAmount = std::forward<RecurringPaymentAmountT>(value);
319 template <
typename RecurringPaymentAmountT = Aws::String>
333 m_termDurationInSecondsHasBeenSet =
true;
334 m_termDurationInSeconds = value;
348 template <
typename TagsT = Aws::Map<Aws::String, Aws::String>>
350 m_tagsHasBeenSet =
true;
351 m_tags = std::forward<TagsT>(value);
353 template <
typename TagsT = Aws::Map<Aws::String, Aws::String>>
355 SetTags(std::forward<TagsT>(value));
358 template <
typename TagsKeyT = Aws::String,
typename TagsValueT = Aws::String>
360 m_tagsHasBeenSet =
true;
361 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
374 template <
typename ReturnableUntilT = Aws::String>
376 m_returnableUntilHasBeenSet =
true;
377 m_returnableUntil = std::forward<ReturnableUntilT>(value);
379 template <
typename ReturnableUntilT = Aws::String>
418 long long m_termDurationInSeconds{0};
423 bool m_offeringIdHasBeenSet =
false;
424 bool m_savingsPlanIdHasBeenSet =
false;
425 bool m_savingsPlanArnHasBeenSet =
false;
426 bool m_descriptionHasBeenSet =
false;
427 bool m_startHasBeenSet =
false;
428 bool m_endHasBeenSet =
false;
429 bool m_stateHasBeenSet =
false;
430 bool m_regionHasBeenSet =
false;
431 bool m_ec2InstanceFamilyHasBeenSet =
false;
432 bool m_savingsPlanTypeHasBeenSet =
false;
433 bool m_paymentOptionHasBeenSet =
false;
434 bool m_productTypesHasBeenSet =
false;
435 bool m_currencyHasBeenSet =
false;
436 bool m_commitmentHasBeenSet =
false;
437 bool m_upfrontPaymentAmountHasBeenSet =
false;
438 bool m_recurringPaymentAmountHasBeenSet =
false;
439 bool m_termDurationInSecondsHasBeenSet =
false;
440 bool m_tagsHasBeenSet =
false;
441 bool m_returnableUntilHasBeenSet =
false;
bool SavingsPlanTypeHasBeenSet() const
SavingsPlan & WithTermDurationInSeconds(long long value)
bool ProductTypesHasBeenSet() const
SavingsPlan & WithTags(TagsT &&value)
SavingsPlan & WithEc2InstanceFamily(Ec2InstanceFamilyT &&value)
AWS_SAVINGSPLANS_API SavingsPlan & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetProductTypes(ProductTypesT &&value)
const Aws::Vector< SavingsPlanProductType > & GetProductTypes() const
bool UpfrontPaymentAmountHasBeenSet() const
const Aws::String & GetSavingsPlanId() const
AWS_SAVINGSPLANS_API SavingsPlan(Aws::Utils::Json::JsonView jsonValue)
SavingsPlanType GetSavingsPlanType() const
const Aws::Map< Aws::String, Aws::String > & GetTags() const
bool StateHasBeenSet() const
SavingsPlan & WithStart(StartT &&value)
void SetSavingsPlanId(SavingsPlanIdT &&value)
void SetSavingsPlanArn(SavingsPlanArnT &&value)
void SetCurrency(CurrencyCode value)
SavingsPlan & WithReturnableUntil(ReturnableUntilT &&value)
void SetSavingsPlanType(SavingsPlanType value)
bool TagsHasBeenSet() const
bool DescriptionHasBeenSet() const
SavingsPlan & WithUpfrontPaymentAmount(UpfrontPaymentAmountT &&value)
bool CurrencyHasBeenSet() const
SavingsPlan & WithProductTypes(ProductTypesT &&value)
const Aws::String & GetOfferingId() const
SavingsPlanPaymentOption GetPaymentOption() const
void SetDescription(DescriptionT &&value)
const Aws::String & GetStart() const
CurrencyCode GetCurrency() const
bool ReturnableUntilHasBeenSet() const
SavingsPlan & WithDescription(DescriptionT &&value)
SavingsPlan & WithCommitment(CommitmentT &&value)
SavingsPlan & WithSavingsPlanType(SavingsPlanType value)
SavingsPlanState GetState() const
void SetCommitment(CommitmentT &&value)
const Aws::String & GetRecurringPaymentAmount() const
bool SavingsPlanIdHasBeenSet() const
void SetRecurringPaymentAmount(RecurringPaymentAmountT &&value)
void SetReturnableUntil(ReturnableUntilT &&value)
bool TermDurationInSecondsHasBeenSet() const
void SetUpfrontPaymentAmount(UpfrontPaymentAmountT &&value)
void SetOfferingId(OfferingIdT &&value)
bool EndHasBeenSet() const
const Aws::String & GetRegion() const
SavingsPlan & WithRecurringPaymentAmount(RecurringPaymentAmountT &&value)
SavingsPlan & WithOfferingId(OfferingIdT &&value)
void SetEnd(EndT &&value)
const Aws::String & GetSavingsPlanArn() const
AWS_SAVINGSPLANS_API Aws::Utils::Json::JsonValue Jsonize() const
void SetStart(StartT &&value)
void SetEc2InstanceFamily(Ec2InstanceFamilyT &&value)
void SetTermDurationInSeconds(long long value)
const Aws::String & GetReturnableUntil() const
void SetTags(TagsT &&value)
void SetRegion(RegionT &&value)
const Aws::String & GetDescription() const
bool SavingsPlanArnHasBeenSet() const
const Aws::String & GetUpfrontPaymentAmount() const
bool StartHasBeenSet() const
AWS_SAVINGSPLANS_API SavingsPlan()=default
bool Ec2InstanceFamilyHasBeenSet() const
SavingsPlan & WithCurrency(CurrencyCode value)
const Aws::String & GetCommitment() const
long long GetTermDurationInSeconds() const
SavingsPlan & WithRegion(RegionT &&value)
const Aws::String & GetEc2InstanceFamily() const
SavingsPlan & AddTags(TagsKeyT &&key, TagsValueT &&value)
SavingsPlan & AddProductTypes(SavingsPlanProductType value)
bool PaymentOptionHasBeenSet() const
SavingsPlan & WithPaymentOption(SavingsPlanPaymentOption value)
SavingsPlan & WithState(SavingsPlanState value)
SavingsPlan & WithEnd(EndT &&value)
bool RegionHasBeenSet() const
bool OfferingIdHasBeenSet() const
bool CommitmentHasBeenSet() const
SavingsPlan & WithSavingsPlanArn(SavingsPlanArnT &&value)
SavingsPlan & WithSavingsPlanId(SavingsPlanIdT &&value)
void SetPaymentOption(SavingsPlanPaymentOption value)
void SetState(SavingsPlanState value)
const Aws::String & GetEnd() const
bool RecurringPaymentAmountHasBeenSet() const
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue