7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/savingsplans/SavingsPlans_EXPORTS.h>
10#include <aws/savingsplans/model/CurrencyCode.h>
11#include <aws/savingsplans/model/SavingsPlanOfferingProperty.h>
12#include <aws/savingsplans/model/SavingsPlanPaymentOption.h>
13#include <aws/savingsplans/model/SavingsPlanProductType.h>
14#include <aws/savingsplans/model/SavingsPlanType.h>
25namespace SavingsPlans {
46 template <
typename OfferingIdT = Aws::String>
48 m_offeringIdHasBeenSet =
true;
49 m_offeringId = std::forward<OfferingIdT>(value);
51 template <
typename OfferingIdT = Aws::String>
64 template <
typename ProductTypesT = Aws::Vector<SavingsPlanProductType>>
66 m_productTypesHasBeenSet =
true;
67 m_productTypes = std::forward<ProductTypesT>(value);
69 template <
typename ProductTypesT = Aws::Vector<SavingsPlanProductType>>
75 m_productTypesHasBeenSet =
true;
76 m_productTypes.push_back(value);
88 m_planTypeHasBeenSet =
true;
103 template <
typename DescriptionT = Aws::String>
105 m_descriptionHasBeenSet =
true;
106 m_description = std::forward<DescriptionT>(value);
108 template <
typename DescriptionT = Aws::String>
122 m_paymentOptionHasBeenSet =
true;
123 m_paymentOption = value;
138 m_durationSecondsHasBeenSet =
true;
139 m_durationSeconds = value;
154 m_currencyHasBeenSet =
true;
169 template <
typename ServiceCodeT = Aws::String>
171 m_serviceCodeHasBeenSet =
true;
172 m_serviceCode = std::forward<ServiceCodeT>(value);
174 template <
typename ServiceCodeT = Aws::String>
187 template <
typename UsageTypeT = Aws::String>
189 m_usageTypeHasBeenSet =
true;
190 m_usageType = std::forward<UsageTypeT>(value);
192 template <
typename UsageTypeT = Aws::String>
206 template <
typename OperationT = Aws::String>
208 m_operationHasBeenSet =
true;
209 m_operation = std::forward<OperationT>(value);
211 template <
typename OperationT = Aws::String>
224 template <
typename PropertiesT = Aws::Vector<SavingsPlanOfferingProperty>>
226 m_propertiesHasBeenSet =
true;
227 m_properties = std::forward<PropertiesT>(value);
229 template <
typename PropertiesT = Aws::Vector<SavingsPlanOfferingProperty>>
234 template <
typename PropertiesT = SavingsPlanOfferingProperty>
236 m_propertiesHasBeenSet =
true;
237 m_properties.emplace_back(std::forward<PropertiesT>(value));
252 long long m_durationSeconds{0};
263 bool m_offeringIdHasBeenSet =
false;
264 bool m_productTypesHasBeenSet =
false;
265 bool m_planTypeHasBeenSet =
false;
266 bool m_descriptionHasBeenSet =
false;
267 bool m_paymentOptionHasBeenSet =
false;
268 bool m_durationSecondsHasBeenSet =
false;
269 bool m_currencyHasBeenSet =
false;
270 bool m_serviceCodeHasBeenSet =
false;
271 bool m_usageTypeHasBeenSet =
false;
272 bool m_operationHasBeenSet =
false;
273 bool m_propertiesHasBeenSet =
false;
SavingsPlanOffering & WithOperation(OperationT &&value)
bool OperationHasBeenSet() const
SavingsPlanOffering & WithCurrency(CurrencyCode value)
void SetOperation(OperationT &&value)
bool PaymentOptionHasBeenSet() const
AWS_SAVINGSPLANS_API Aws::Utils::Json::JsonValue Jsonize() const
bool ProductTypesHasBeenSet() const
void SetOfferingId(OfferingIdT &&value)
CurrencyCode GetCurrency() const
const Aws::Vector< SavingsPlanProductType > & GetProductTypes() const
long long GetDurationSeconds() const
AWS_SAVINGSPLANS_API SavingsPlanOffering(Aws::Utils::Json::JsonView jsonValue)
void SetDurationSeconds(long long value)
const Aws::String & GetOfferingId() const
SavingsPlanOffering & WithServiceCode(ServiceCodeT &&value)
SavingsPlanOffering & AddProperties(PropertiesT &&value)
SavingsPlanOffering & WithProductTypes(ProductTypesT &&value)
void SetServiceCode(ServiceCodeT &&value)
SavingsPlanType GetPlanType() const
bool OfferingIdHasBeenSet() const
SavingsPlanOffering & WithDescription(DescriptionT &&value)
void SetDescription(DescriptionT &&value)
SavingsPlanOffering & WithPaymentOption(SavingsPlanPaymentOption value)
const Aws::String & GetOperation() const
SavingsPlanOffering & WithOfferingId(OfferingIdT &&value)
void SetCurrency(CurrencyCode value)
const Aws::String & GetDescription() const
AWS_SAVINGSPLANS_API SavingsPlanOffering()=default
SavingsPlanOffering & WithDurationSeconds(long long value)
void SetPaymentOption(SavingsPlanPaymentOption value)
bool ServiceCodeHasBeenSet() const
SavingsPlanOffering & WithProperties(PropertiesT &&value)
const Aws::Vector< SavingsPlanOfferingProperty > & GetProperties() const
bool DescriptionHasBeenSet() const
SavingsPlanOffering & WithPlanType(SavingsPlanType value)
bool PropertiesHasBeenSet() const
SavingsPlanOffering & AddProductTypes(SavingsPlanProductType value)
bool DurationSecondsHasBeenSet() const
SavingsPlanOffering & WithUsageType(UsageTypeT &&value)
const Aws::String & GetServiceCode() const
SavingsPlanPaymentOption GetPaymentOption() const
void SetPlanType(SavingsPlanType value)
const Aws::String & GetUsageType() const
bool PlanTypeHasBeenSet() const
void SetProductTypes(ProductTypesT &&value)
bool UsageTypeHasBeenSet() const
bool CurrencyHasBeenSet() const
AWS_SAVINGSPLANS_API SavingsPlanOffering & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetUsageType(UsageTypeT &&value)
void SetProperties(PropertiesT &&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