7#include <aws/savingsplans/SavingsPlans_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/savingsplans/model/SavingsPlanState.h>
10#include <aws/savingsplans/model/SavingsPlanType.h>
11#include <aws/savingsplans/model/SavingsPlanPaymentOption.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13#include <aws/savingsplans/model/CurrencyCode.h>
14#include <aws/core/utils/memory/stl/AWSMap.h>
15#include <aws/savingsplans/model/SavingsPlanProductType.h>
53 template<
typename OfferingIdT = Aws::String>
54 void SetOfferingId(OfferingIdT&& value) { m_offeringIdHasBeenSet =
true; m_offeringId = std::forward<OfferingIdT>(value); }
55 template<
typename OfferingIdT = Aws::String>
65 template<
typename SavingsPlanIdT = Aws::String>
66 void SetSavingsPlanId(SavingsPlanIdT&& value) { m_savingsPlanIdHasBeenSet =
true; m_savingsPlanId = std::forward<SavingsPlanIdT>(value); }
67 template<
typename SavingsPlanIdT = Aws::String>
77 template<
typename SavingsPlanArnT = Aws::String>
78 void SetSavingsPlanArn(SavingsPlanArnT&& value) { m_savingsPlanArnHasBeenSet =
true; m_savingsPlanArn = std::forward<SavingsPlanArnT>(value); }
79 template<
typename SavingsPlanArnT = Aws::String>
89 template<
typename DescriptionT = Aws::String>
90 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet =
true; m_description = std::forward<DescriptionT>(value); }
91 template<
typename DescriptionT = Aws::String>
101 template<
typename StartT = Aws::String>
102 void SetStart(StartT&& value) { m_startHasBeenSet =
true; m_start = std::forward<StartT>(value); }
103 template<
typename StartT = Aws::String>
113 template<
typename EndT = Aws::String>
114 void SetEnd(EndT&& value) { m_endHasBeenSet =
true; m_end = std::forward<EndT>(value); }
115 template<
typename EndT = Aws::String>
135 template<
typename RegionT = Aws::String>
136 void SetRegion(RegionT&& value) { m_regionHasBeenSet =
true; m_region = std::forward<RegionT>(value); }
137 template<
typename RegionT = Aws::String>
147 template<
typename Ec2InstanceFamilyT = Aws::String>
148 void SetEc2InstanceFamily(Ec2InstanceFamilyT&& value) { m_ec2InstanceFamilyHasBeenSet =
true; m_ec2InstanceFamily = std::forward<Ec2InstanceFamilyT>(value); }
149 template<
typename Ec2InstanceFamilyT = Aws::String>
179 template<
typename ProductTypesT = Aws::Vector<SavingsPlanProductType>>
180 void SetProductTypes(ProductTypesT&& value) { m_productTypesHasBeenSet =
true; m_productTypes = std::forward<ProductTypesT>(value); }
181 template<
typename ProductTypesT = Aws::Vector<SavingsPlanProductType>>
202 template<
typename CommitmentT = Aws::String>
203 void SetCommitment(CommitmentT&& value) { m_commitmentHasBeenSet =
true; m_commitment = std::forward<CommitmentT>(value); }
204 template<
typename CommitmentT = Aws::String>
214 template<
typename UpfrontPaymentAmountT = Aws::String>
215 void SetUpfrontPaymentAmount(UpfrontPaymentAmountT&& value) { m_upfrontPaymentAmountHasBeenSet =
true; m_upfrontPaymentAmount = std::forward<UpfrontPaymentAmountT>(value); }
216 template<
typename UpfrontPaymentAmountT = Aws::String>
226 template<
typename RecurringPaymentAmountT = Aws::String>
227 void SetRecurringPaymentAmount(RecurringPaymentAmountT&& value) { m_recurringPaymentAmountHasBeenSet =
true; m_recurringPaymentAmount = std::forward<RecurringPaymentAmountT>(value); }
228 template<
typename RecurringPaymentAmountT = Aws::String>
238 inline void SetTermDurationInSeconds(
long long value) { m_termDurationInSecondsHasBeenSet =
true; m_termDurationInSeconds = value; }
248 template<
typename TagsT = Aws::Map<Aws::String, Aws::String>>
249 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
250 template<
typename TagsT = Aws::Map<Aws::String, Aws::String>>
252 template<
typename TagsKeyT = Aws::String,
typename TagsValueT = Aws::String>
254 m_tagsHasBeenSet =
true; m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
return *
this;
266 template<
typename ReturnableUntilT = Aws::String>
267 void SetReturnableUntil(ReturnableUntilT&& value) { m_returnableUntilHasBeenSet =
true; m_returnableUntil = std::forward<ReturnableUntilT>(value); }
268 template<
typename ReturnableUntilT = Aws::String>
274 bool m_offeringIdHasBeenSet =
false;
277 bool m_savingsPlanIdHasBeenSet =
false;
280 bool m_savingsPlanArnHasBeenSet =
false;
283 bool m_descriptionHasBeenSet =
false;
286 bool m_startHasBeenSet =
false;
289 bool m_endHasBeenSet =
false;
292 bool m_stateHasBeenSet =
false;
295 bool m_regionHasBeenSet =
false;
298 bool m_ec2InstanceFamilyHasBeenSet =
false;
301 bool m_savingsPlanTypeHasBeenSet =
false;
304 bool m_paymentOptionHasBeenSet =
false;
307 bool m_productTypesHasBeenSet =
false;
310 bool m_currencyHasBeenSet =
false;
313 bool m_commitmentHasBeenSet =
false;
316 bool m_upfrontPaymentAmountHasBeenSet =
false;
319 bool m_recurringPaymentAmountHasBeenSet =
false;
321 long long m_termDurationInSeconds{0};
322 bool m_termDurationInSecondsHasBeenSet =
false;
325 bool m_tagsHasBeenSet =
false;
328 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