7#include <aws/savingsplans/SavingsPlans_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/savingsplans/model/SavingsPlanType.h>
11#include <aws/savingsplans/model/SavingsPlanPaymentOption.h>
12#include <aws/savingsplans/model/CurrencyCode.h>
13#include <aws/savingsplans/model/SavingsPlanProductType.h>
14#include <aws/savingsplans/model/SavingsPlanOfferingProperty.h>
52 template<
typename OfferingIdT = Aws::String>
53 void SetOfferingId(OfferingIdT&& value) { m_offeringIdHasBeenSet =
true; m_offeringId = std::forward<OfferingIdT>(value); }
54 template<
typename OfferingIdT = Aws::String>
64 template<
typename ProductTypesT = Aws::Vector<SavingsPlanProductType>>
65 void SetProductTypes(ProductTypesT&& value) { m_productTypesHasBeenSet =
true; m_productTypes = std::forward<ProductTypesT>(value); }
66 template<
typename ProductTypesT = Aws::Vector<SavingsPlanProductType>>
87 template<
typename DescriptionT = Aws::String>
88 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet =
true; m_description = std::forward<DescriptionT>(value); }
89 template<
typename DescriptionT = Aws::String>
109 inline void SetDurationSeconds(
long long value) { m_durationSecondsHasBeenSet =
true; m_durationSeconds = value; }
129 template<
typename ServiceCodeT = Aws::String>
130 void SetServiceCode(ServiceCodeT&& value) { m_serviceCodeHasBeenSet =
true; m_serviceCode = std::forward<ServiceCodeT>(value); }
131 template<
typename ServiceCodeT = Aws::String>
141 template<
typename UsageTypeT = Aws::String>
142 void SetUsageType(UsageTypeT&& value) { m_usageTypeHasBeenSet =
true; m_usageType = std::forward<UsageTypeT>(value); }
143 template<
typename UsageTypeT = Aws::String>
154 template<
typename OperationT = Aws::String>
155 void SetOperation(OperationT&& value) { m_operationHasBeenSet =
true; m_operation = std::forward<OperationT>(value); }
156 template<
typename OperationT = Aws::String>
166 template<
typename PropertiesT = Aws::Vector<SavingsPlanOfferingProperty>>
167 void SetProperties(PropertiesT&& value) { m_propertiesHasBeenSet =
true; m_properties = std::forward<PropertiesT>(value); }
168 template<
typename PropertiesT = Aws::Vector<SavingsPlanOfferingProperty>>
170 template<
typename PropertiesT = SavingsPlanOfferingProperty>
176 bool m_offeringIdHasBeenSet =
false;
179 bool m_productTypesHasBeenSet =
false;
182 bool m_planTypeHasBeenSet =
false;
185 bool m_descriptionHasBeenSet =
false;
188 bool m_paymentOptionHasBeenSet =
false;
190 long long m_durationSeconds{0};
191 bool m_durationSecondsHasBeenSet =
false;
194 bool m_currencyHasBeenSet =
false;
197 bool m_serviceCodeHasBeenSet =
false;
200 bool m_usageTypeHasBeenSet =
false;
203 bool m_operationHasBeenSet =
false;
206 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