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>
159 template<
typename OfferingClassT = Aws::String>
160 void SetOfferingClass(OfferingClassT&& value) { m_offeringClassHasBeenSet =
true; m_offeringClass = std::forward<OfferingClassT>(value); }
161 template<
typename OfferingClassT = Aws::String>
171 template<
typename InstanceFamilyT = Aws::String>
172 void SetInstanceFamily(InstanceFamilyT&& value) { m_instanceFamilyHasBeenSet =
true; m_instanceFamily = std::forward<InstanceFamilyT>(value); }
173 template<
typename InstanceFamilyT = Aws::String>
183 template<
typename InstanceTypeT = Aws::String>
184 void SetInstanceType(InstanceTypeT&& value) { m_instanceTypeHasBeenSet =
true; m_instanceType = std::forward<InstanceTypeT>(value); }
185 template<
typename InstanceTypeT = Aws::String>
196 template<
typename CurrentGenerationT = Aws::String>
197 void SetCurrentGeneration(CurrentGenerationT&& value) { m_currentGenerationHasBeenSet =
true; m_currentGeneration = std::forward<CurrentGenerationT>(value); }
198 template<
typename CurrentGenerationT = Aws::String>
209 template<
typename PlatformT = Aws::String>
210 void SetPlatform(PlatformT&& value) { m_platformHasBeenSet =
true; m_platform = std::forward<PlatformT>(value); }
211 template<
typename PlatformT = Aws::String>
221 template<
typename TenancyT = Aws::String>
222 void SetTenancy(TenancyT&& value) { m_tenancyHasBeenSet =
true; m_tenancy = std::forward<TenancyT>(value); }
223 template<
typename TenancyT = Aws::String>
233 inline void SetSizeFlexEligible(
bool value) { m_sizeFlexEligibleHasBeenSet =
true; m_sizeFlexEligible = value; }
239 bool m_accountScopeHasBeenSet =
false;
242 bool m_serviceHasBeenSet =
false;
245 bool m_termHasBeenSet =
false;
248 bool m_paymentOptionHasBeenSet =
false;
251 bool m_reservedInstancesRegionHasBeenSet =
false;
254 bool m_upfrontCostHasBeenSet =
false;
257 bool m_monthlyRecurringCostHasBeenSet =
false;
260 bool m_normalizedUnitsToPurchaseHasBeenSet =
false;
263 bool m_numberOfInstancesToPurchaseHasBeenSet =
false;
266 bool m_offeringClassHasBeenSet =
false;
269 bool m_instanceFamilyHasBeenSet =
false;
272 bool m_instanceTypeHasBeenSet =
false;
275 bool m_currentGenerationHasBeenSet =
false;
278 bool m_platformHasBeenSet =
false;
281 bool m_tenancyHasBeenSet =
false;
283 bool m_sizeFlexEligible{
false};
284 bool m_sizeFlexEligibleHasBeenSet =
false;
Ec2ReservedInstancesConfiguration & WithInstanceType(InstanceTypeT &&value)
Ec2ReservedInstancesConfiguration & WithAccountScope(AccountScopeT &&value)
void SetReservedInstancesRegion(ReservedInstancesRegionT &&value)
Ec2ReservedInstancesConfiguration & WithUpfrontCost(UpfrontCostT &&value)
bool CurrentGenerationHasBeenSet() const
bool MonthlyRecurringCostHasBeenSet() const
AWS_COSTOPTIMIZATIONHUB_API Aws::Utils::Json::JsonValue Jsonize() const
bool SizeFlexEligibleHasBeenSet() const
Ec2ReservedInstancesConfiguration & WithInstanceFamily(InstanceFamilyT &&value)
void SetTenancy(TenancyT &&value)
void SetUpfrontCost(UpfrontCostT &&value)
void SetNumberOfInstancesToPurchase(NumberOfInstancesToPurchaseT &&value)
const Aws::String & GetReservedInstancesRegion() const
Ec2ReservedInstancesConfiguration & WithMonthlyRecurringCost(MonthlyRecurringCostT &&value)
bool UpfrontCostHasBeenSet() const
Ec2ReservedInstancesConfiguration & WithSizeFlexEligible(bool value)
void SetOfferingClass(OfferingClassT &&value)
bool ReservedInstancesRegionHasBeenSet() const
Ec2ReservedInstancesConfiguration & WithService(ServiceT &&value)
Ec2ReservedInstancesConfiguration & WithTenancy(TenancyT &&value)
void SetPaymentOption(PaymentOptionT &&value)
void SetTerm(TermT &&value)
Ec2ReservedInstancesConfiguration & WithOfferingClass(OfferingClassT &&value)
bool TermHasBeenSet() const
const Aws::String & GetPaymentOption() const
const Aws::String & GetCurrentGeneration() const
void SetService(ServiceT &&value)
void SetPlatform(PlatformT &&value)
AWS_COSTOPTIMIZATIONHUB_API Ec2ReservedInstancesConfiguration(Aws::Utils::Json::JsonView jsonValue)
AWS_COSTOPTIMIZATIONHUB_API Ec2ReservedInstancesConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
bool PlatformHasBeenSet() const
bool AccountScopeHasBeenSet() const
void SetAccountScope(AccountScopeT &&value)
const Aws::String & GetService() const
bool OfferingClassHasBeenSet() const
const Aws::String & GetTenancy() const
const Aws::String & GetInstanceFamily() const
void SetInstanceFamily(InstanceFamilyT &&value)
void SetMonthlyRecurringCost(MonthlyRecurringCostT &&value)
const Aws::String & GetMonthlyRecurringCost() const
Ec2ReservedInstancesConfiguration & WithCurrentGeneration(CurrentGenerationT &&value)
bool GetSizeFlexEligible() const
const Aws::String & GetInstanceType() const
Ec2ReservedInstancesConfiguration & WithNumberOfInstancesToPurchase(NumberOfInstancesToPurchaseT &&value)
bool ServiceHasBeenSet() const
bool TenancyHasBeenSet() const
bool PaymentOptionHasBeenSet() const
bool NormalizedUnitsToPurchaseHasBeenSet() const
const Aws::String & GetNormalizedUnitsToPurchase() const
bool InstanceTypeHasBeenSet() const
bool NumberOfInstancesToPurchaseHasBeenSet() const
void SetInstanceType(InstanceTypeT &&value)
bool InstanceFamilyHasBeenSet() const
Ec2ReservedInstancesConfiguration & WithPaymentOption(PaymentOptionT &&value)
Ec2ReservedInstancesConfiguration & WithNormalizedUnitsToPurchase(NormalizedUnitsToPurchaseT &&value)
const Aws::String & GetPlatform() const
const Aws::String & GetOfferingClass() const
Ec2ReservedInstancesConfiguration & WithTerm(TermT &&value)
void SetNormalizedUnitsToPurchase(NormalizedUnitsToPurchaseT &&value)
void SetCurrentGeneration(CurrentGenerationT &&value)
const Aws::String & GetUpfrontCost() const
Ec2ReservedInstancesConfiguration & WithReservedInstancesRegion(ReservedInstancesRegionT &&value)
Ec2ReservedInstancesConfiguration & WithPlatform(PlatformT &&value)
AWS_COSTOPTIMIZATIONHUB_API Ec2ReservedInstancesConfiguration()=default
const Aws::String & GetAccountScope() const
void SetSizeFlexEligible(bool value)
const Aws::String & GetTerm() const
const Aws::String & GetNumberOfInstancesToPurchase() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue