7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/cost-optimization-hub/CostOptimizationHub_EXPORTS.h>
19namespace CostOptimizationHub {
41 template <
typename AccountScopeT = Aws::String>
43 m_accountScopeHasBeenSet =
true;
44 m_accountScope = std::forward<AccountScopeT>(value);
46 template <
typename AccountScopeT = Aws::String>
59 template <
typename ServiceT = Aws::String>
61 m_serviceHasBeenSet =
true;
62 m_service = std::forward<ServiceT>(value);
64 template <
typename ServiceT = Aws::String>
77 template <
typename TermT = Aws::String>
79 m_termHasBeenSet =
true;
80 m_term = std::forward<TermT>(value);
82 template <
typename TermT = Aws::String>
84 SetTerm(std::forward<TermT>(value));
95 template <
typename PaymentOptionT = Aws::String>
97 m_paymentOptionHasBeenSet =
true;
98 m_paymentOption = std::forward<PaymentOptionT>(value);
100 template <
typename PaymentOptionT = Aws::String>
113 template <
typename ReservedInstancesRegionT = Aws::String>
115 m_reservedInstancesRegionHasBeenSet =
true;
116 m_reservedInstancesRegion = std::forward<ReservedInstancesRegionT>(value);
118 template <
typename ReservedInstancesRegionT = Aws::String>
131 template <
typename UpfrontCostT = Aws::String>
133 m_upfrontCostHasBeenSet =
true;
134 m_upfrontCost = std::forward<UpfrontCostT>(value);
136 template <
typename UpfrontCostT = Aws::String>
150 template <
typename MonthlyRecurringCostT = Aws::String>
152 m_monthlyRecurringCostHasBeenSet =
true;
153 m_monthlyRecurringCost = std::forward<MonthlyRecurringCostT>(value);
155 template <
typename MonthlyRecurringCostT = Aws::String>
169 template <
typename NormalizedUnitsToPurchaseT = Aws::String>
171 m_normalizedUnitsToPurchaseHasBeenSet =
true;
172 m_normalizedUnitsToPurchase = std::forward<NormalizedUnitsToPurchaseT>(value);
174 template <
typename NormalizedUnitsToPurchaseT = Aws::String>
188 template <
typename NumberOfInstancesToPurchaseT = Aws::String>
190 m_numberOfInstancesToPurchaseHasBeenSet =
true;
191 m_numberOfInstancesToPurchase = std::forward<NumberOfInstancesToPurchaseT>(value);
193 template <
typename NumberOfInstancesToPurchaseT = Aws::String>
206 template <
typename InstanceFamilyT = Aws::String>
208 m_instanceFamilyHasBeenSet =
true;
209 m_instanceFamily = std::forward<InstanceFamilyT>(value);
211 template <
typename InstanceFamilyT = Aws::String>
224 template <
typename InstanceTypeT = Aws::String>
226 m_instanceTypeHasBeenSet =
true;
227 m_instanceType = std::forward<InstanceTypeT>(value);
229 template <
typename InstanceTypeT = Aws::String>
243 template <
typename CurrentGenerationT = Aws::String>
245 m_currentGenerationHasBeenSet =
true;
246 m_currentGeneration = std::forward<CurrentGenerationT>(value);
248 template <
typename CurrentGenerationT = Aws::String>
262 m_sizeFlexEligibleHasBeenSet =
true;
263 m_sizeFlexEligible = value;
295 bool m_sizeFlexEligible{
false};
296 bool m_accountScopeHasBeenSet =
false;
297 bool m_serviceHasBeenSet =
false;
298 bool m_termHasBeenSet =
false;
299 bool m_paymentOptionHasBeenSet =
false;
300 bool m_reservedInstancesRegionHasBeenSet =
false;
301 bool m_upfrontCostHasBeenSet =
false;
302 bool m_monthlyRecurringCostHasBeenSet =
false;
303 bool m_normalizedUnitsToPurchaseHasBeenSet =
false;
304 bool m_numberOfInstancesToPurchaseHasBeenSet =
false;
305 bool m_instanceFamilyHasBeenSet =
false;
306 bool m_instanceTypeHasBeenSet =
false;
307 bool m_currentGenerationHasBeenSet =
false;
308 bool m_sizeFlexEligibleHasBeenSet =
false;
bool InstanceFamilyHasBeenSet() const
bool TermHasBeenSet() const
ElastiCacheReservedInstancesConfiguration & WithNormalizedUnitsToPurchase(NormalizedUnitsToPurchaseT &&value)
bool ServiceHasBeenSet() const
bool MonthlyRecurringCostHasBeenSet() const
const Aws::String & GetCurrentGeneration() const
ElastiCacheReservedInstancesConfiguration & WithReservedInstancesRegion(ReservedInstancesRegionT &&value)
bool NumberOfInstancesToPurchaseHasBeenSet() const
bool GetSizeFlexEligible() const
ElastiCacheReservedInstancesConfiguration & WithInstanceType(InstanceTypeT &&value)
void SetNumberOfInstancesToPurchase(NumberOfInstancesToPurchaseT &&value)
void SetInstanceType(InstanceTypeT &&value)
AWS_COSTOPTIMIZATIONHUB_API ElastiCacheReservedInstancesConfiguration()=default
void SetNormalizedUnitsToPurchase(NormalizedUnitsToPurchaseT &&value)
const Aws::String & GetNormalizedUnitsToPurchase() const
ElastiCacheReservedInstancesConfiguration & WithAccountScope(AccountScopeT &&value)
ElastiCacheReservedInstancesConfiguration & WithSizeFlexEligible(bool value)
ElastiCacheReservedInstancesConfiguration & WithPaymentOption(PaymentOptionT &&value)
void SetTerm(TermT &&value)
void SetService(ServiceT &&value)
bool NormalizedUnitsToPurchaseHasBeenSet() const
AWS_COSTOPTIMIZATIONHUB_API ElastiCacheReservedInstancesConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
bool InstanceTypeHasBeenSet() const
AWS_COSTOPTIMIZATIONHUB_API Aws::Utils::Json::JsonValue Jsonize() const
const Aws::String & GetUpfrontCost() const
const Aws::String & GetPaymentOption() const
ElastiCacheReservedInstancesConfiguration & WithNumberOfInstancesToPurchase(NumberOfInstancesToPurchaseT &&value)
ElastiCacheReservedInstancesConfiguration & WithMonthlyRecurringCost(MonthlyRecurringCostT &&value)
const Aws::String & GetInstanceFamily() const
ElastiCacheReservedInstancesConfiguration & WithCurrentGeneration(CurrentGenerationT &&value)
ElastiCacheReservedInstancesConfiguration & WithService(ServiceT &&value)
const Aws::String & GetAccountScope() const
bool ReservedInstancesRegionHasBeenSet() const
bool CurrentGenerationHasBeenSet() const
ElastiCacheReservedInstancesConfiguration & WithTerm(TermT &&value)
void SetInstanceFamily(InstanceFamilyT &&value)
AWS_COSTOPTIMIZATIONHUB_API ElastiCacheReservedInstancesConfiguration(Aws::Utils::Json::JsonView jsonValue)
const Aws::String & GetService() const
ElastiCacheReservedInstancesConfiguration & WithUpfrontCost(UpfrontCostT &&value)
void SetCurrentGeneration(CurrentGenerationT &&value)
const Aws::String & GetInstanceType() const
void SetSizeFlexEligible(bool value)
void SetAccountScope(AccountScopeT &&value)
bool SizeFlexEligibleHasBeenSet() const
const Aws::String & GetReservedInstancesRegion() const
ElastiCacheReservedInstancesConfiguration & WithInstanceFamily(InstanceFamilyT &&value)
void SetPaymentOption(PaymentOptionT &&value)
const Aws::String & GetMonthlyRecurringCost() const
bool AccountScopeHasBeenSet() const
bool PaymentOptionHasBeenSet() const
bool UpfrontCostHasBeenSet() const
const Aws::String & GetTerm() const
void SetMonthlyRecurringCost(MonthlyRecurringCostT &&value)
void SetReservedInstancesRegion(ReservedInstancesRegionT &&value)
void SetUpfrontCost(UpfrontCostT &&value)
const Aws::String & GetNumberOfInstancesToPurchase() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue