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/SavingsPlanProductType.h>
12#include <aws/savingsplans/model/SavingsPlanRateProperty.h>
13#include <aws/savingsplans/model/SavingsPlanRateServiceCode.h>
14#include <aws/savingsplans/model/SavingsPlanRateUnit.h>
25namespace SavingsPlans {
46 template <
typename RateT = Aws::String>
48 m_rateHasBeenSet =
true;
49 m_rate = std::forward<RateT>(value);
51 template <
typename RateT = Aws::String>
53 SetRate(std::forward<RateT>(value));
65 m_currencyHasBeenSet =
true;
81 m_unitHasBeenSet =
true;
97 m_productTypeHasBeenSet =
true;
98 m_productType = value;
113 m_serviceCodeHasBeenSet =
true;
114 m_serviceCode = value;
128 template <
typename UsageTypeT = Aws::String>
130 m_usageTypeHasBeenSet =
true;
131 m_usageType = std::forward<UsageTypeT>(value);
133 template <
typename UsageTypeT = Aws::String>
147 template <
typename OperationT = Aws::String>
149 m_operationHasBeenSet =
true;
150 m_operation = std::forward<OperationT>(value);
152 template <
typename OperationT = Aws::String>
165 template <
typename PropertiesT = Aws::Vector<SavingsPlanRateProperty>>
167 m_propertiesHasBeenSet =
true;
168 m_properties = std::forward<PropertiesT>(value);
170 template <
typename PropertiesT = Aws::Vector<SavingsPlanRateProperty>>
175 template <
typename PropertiesT = SavingsPlanRateProperty>
177 m_propertiesHasBeenSet =
true;
178 m_properties.emplace_back(std::forward<PropertiesT>(value));
198 bool m_rateHasBeenSet =
false;
199 bool m_currencyHasBeenSet =
false;
200 bool m_unitHasBeenSet =
false;
201 bool m_productTypeHasBeenSet =
false;
202 bool m_serviceCodeHasBeenSet =
false;
203 bool m_usageTypeHasBeenSet =
false;
204 bool m_operationHasBeenSet =
false;
205 bool m_propertiesHasBeenSet =
false;
bool RateHasBeenSet() const
SavingsPlanProductType GetProductType() const
AWS_SAVINGSPLANS_API SavingsPlanRate(Aws::Utils::Json::JsonView jsonValue)
SavingsPlanRate & WithCurrency(CurrencyCode value)
bool OperationHasBeenSet() const
bool ProductTypeHasBeenSet() const
bool UnitHasBeenSet() const
SavingsPlanRate & WithProperties(PropertiesT &&value)
bool CurrencyHasBeenSet() const
void SetCurrency(CurrencyCode value)
bool PropertiesHasBeenSet() const
SavingsPlanRate & WithOperation(OperationT &&value)
AWS_SAVINGSPLANS_API SavingsPlanRate()=default
CurrencyCode GetCurrency() const
const Aws::String & GetRate() const
AWS_SAVINGSPLANS_API SavingsPlanRate & operator=(Aws::Utils::Json::JsonView jsonValue)
bool UsageTypeHasBeenSet() const
SavingsPlanRate & WithUsageType(UsageTypeT &&value)
SavingsPlanRate & WithRate(RateT &&value)
SavingsPlanRate & WithServiceCode(SavingsPlanRateServiceCode value)
AWS_SAVINGSPLANS_API Aws::Utils::Json::JsonValue Jsonize() const
void SetProperties(PropertiesT &&value)
void SetUnit(SavingsPlanRateUnit value)
const Aws::String & GetOperation() const
bool ServiceCodeHasBeenSet() const
SavingsPlanRateUnit GetUnit() const
SavingsPlanRate & AddProperties(PropertiesT &&value)
void SetUsageType(UsageTypeT &&value)
SavingsPlanRate & WithUnit(SavingsPlanRateUnit value)
void SetRate(RateT &&value)
void SetProductType(SavingsPlanProductType value)
void SetOperation(OperationT &&value)
void SetServiceCode(SavingsPlanRateServiceCode value)
SavingsPlanRateServiceCode GetServiceCode() const
SavingsPlanRate & WithProductType(SavingsPlanProductType value)
const Aws::String & GetUsageType() const
const Aws::Vector< SavingsPlanRateProperty > & GetProperties() const
SavingsPlanRateServiceCode
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue