7#include <aws/cost-optimization-hub/CostOptimizationHub_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
21namespace CostOptimizationHub
47 template<
typename AccountScopeT = Aws::String>
48 void SetAccountScope(AccountScopeT&& value) { m_accountScopeHasBeenSet =
true; m_accountScope = std::forward<AccountScopeT>(value); }
49 template<
typename AccountScopeT = Aws::String>
59 template<
typename ServiceT = Aws::String>
60 void SetService(ServiceT&& value) { m_serviceHasBeenSet =
true; m_service = std::forward<ServiceT>(value); }
61 template<
typename ServiceT = Aws::String>
71 template<
typename TermT = Aws::String>
72 void SetTerm(TermT&& value) { m_termHasBeenSet =
true; m_term = std::forward<TermT>(value); }
73 template<
typename TermT = Aws::String>
83 template<
typename PaymentOptionT = Aws::String>
84 void SetPaymentOption(PaymentOptionT&& value) { m_paymentOptionHasBeenSet =
true; m_paymentOption = std::forward<PaymentOptionT>(value); }
85 template<
typename PaymentOptionT = Aws::String>
95 template<
typename ReservedInstancesRegionT = Aws::String>
96 void SetReservedInstancesRegion(ReservedInstancesRegionT&& value) { m_reservedInstancesRegionHasBeenSet =
true; m_reservedInstancesRegion = std::forward<ReservedInstancesRegionT>(value); }
97 template<
typename ReservedInstancesRegionT = Aws::String>
107 template<
typename UpfrontCostT = Aws::String>
108 void SetUpfrontCost(UpfrontCostT&& value) { m_upfrontCostHasBeenSet =
true; m_upfrontCost = std::forward<UpfrontCostT>(value); }
109 template<
typename UpfrontCostT = Aws::String>
120 template<
typename MonthlyRecurringCostT = Aws::String>
121 void SetMonthlyRecurringCost(MonthlyRecurringCostT&& value) { m_monthlyRecurringCostHasBeenSet =
true; m_monthlyRecurringCost = std::forward<MonthlyRecurringCostT>(value); }
122 template<
typename MonthlyRecurringCostT = Aws::String>
133 template<
typename NormalizedUnitsToPurchaseT = Aws::String>
134 void SetNormalizedUnitsToPurchase(NormalizedUnitsToPurchaseT&& value) { m_normalizedUnitsToPurchaseHasBeenSet =
true; m_normalizedUnitsToPurchase = std::forward<NormalizedUnitsToPurchaseT>(value); }
135 template<
typename NormalizedUnitsToPurchaseT = Aws::String>
146 template<
typename NumberOfInstancesToPurchaseT = Aws::String>
147 void SetNumberOfInstancesToPurchase(NumberOfInstancesToPurchaseT&& value) { m_numberOfInstancesToPurchaseHasBeenSet =
true; m_numberOfInstancesToPurchase = std::forward<NumberOfInstancesToPurchaseT>(value); }
148 template<
typename NumberOfInstancesToPurchaseT = Aws::String>
158 template<
typename InstanceFamilyT = Aws::String>
159 void SetInstanceFamily(InstanceFamilyT&& value) { m_instanceFamilyHasBeenSet =
true; m_instanceFamily = std::forward<InstanceFamilyT>(value); }
160 template<
typename InstanceFamilyT = Aws::String>
170 template<
typename InstanceTypeT = Aws::String>
171 void SetInstanceType(InstanceTypeT&& value) { m_instanceTypeHasBeenSet =
true; m_instanceType = std::forward<InstanceTypeT>(value); }
172 template<
typename InstanceTypeT = Aws::String>
183 template<
typename CurrentGenerationT = Aws::String>
184 void SetCurrentGeneration(CurrentGenerationT&& value) { m_currentGenerationHasBeenSet =
true; m_currentGeneration = std::forward<CurrentGenerationT>(value); }
185 template<
typename CurrentGenerationT = Aws::String>
195 inline void SetSizeFlexEligible(
bool value) { m_sizeFlexEligibleHasBeenSet =
true; m_sizeFlexEligible = value; }
201 bool m_accountScopeHasBeenSet =
false;
204 bool m_serviceHasBeenSet =
false;
207 bool m_termHasBeenSet =
false;
210 bool m_paymentOptionHasBeenSet =
false;
213 bool m_reservedInstancesRegionHasBeenSet =
false;
216 bool m_upfrontCostHasBeenSet =
false;
219 bool m_monthlyRecurringCostHasBeenSet =
false;
222 bool m_normalizedUnitsToPurchaseHasBeenSet =
false;
225 bool m_numberOfInstancesToPurchaseHasBeenSet =
false;
228 bool m_instanceFamilyHasBeenSet =
false;
231 bool m_instanceTypeHasBeenSet =
false;
234 bool m_currentGenerationHasBeenSet =
false;
236 bool m_sizeFlexEligible{
false};
237 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