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>
207 template <
typename OfferingClassT = Aws::String>
209 m_offeringClassHasBeenSet =
true;
210 m_offeringClass = std::forward<OfferingClassT>(value);
212 template <
typename OfferingClassT = Aws::String>
225 template <
typename InstanceFamilyT = Aws::String>
227 m_instanceFamilyHasBeenSet =
true;
228 m_instanceFamily = std::forward<InstanceFamilyT>(value);
230 template <
typename InstanceFamilyT = Aws::String>
243 template <
typename InstanceTypeT = Aws::String>
245 m_instanceTypeHasBeenSet =
true;
246 m_instanceType = std::forward<InstanceTypeT>(value);
248 template <
typename InstanceTypeT = Aws::String>
262 template <
typename CurrentGenerationT = Aws::String>
264 m_currentGenerationHasBeenSet =
true;
265 m_currentGeneration = std::forward<CurrentGenerationT>(value);
267 template <
typename CurrentGenerationT = Aws::String>
281 template <
typename PlatformT = Aws::String>
283 m_platformHasBeenSet =
true;
284 m_platform = std::forward<PlatformT>(value);
286 template <
typename PlatformT = Aws::String>
299 template <
typename TenancyT = Aws::String>
301 m_tenancyHasBeenSet =
true;
302 m_tenancy = std::forward<TenancyT>(value);
304 template <
typename TenancyT = Aws::String>
318 m_sizeFlexEligibleHasBeenSet =
true;
319 m_sizeFlexEligible = value;
357 bool m_sizeFlexEligible{
false};
358 bool m_accountScopeHasBeenSet =
false;
359 bool m_serviceHasBeenSet =
false;
360 bool m_termHasBeenSet =
false;
361 bool m_paymentOptionHasBeenSet =
false;
362 bool m_reservedInstancesRegionHasBeenSet =
false;
363 bool m_upfrontCostHasBeenSet =
false;
364 bool m_monthlyRecurringCostHasBeenSet =
false;
365 bool m_normalizedUnitsToPurchaseHasBeenSet =
false;
366 bool m_numberOfInstancesToPurchaseHasBeenSet =
false;
367 bool m_offeringClassHasBeenSet =
false;
368 bool m_instanceFamilyHasBeenSet =
false;
369 bool m_instanceTypeHasBeenSet =
false;
370 bool m_currentGenerationHasBeenSet =
false;
371 bool m_platformHasBeenSet =
false;
372 bool m_tenancyHasBeenSet =
false;
373 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