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 TermT = Aws::String>
61 m_termHasBeenSet =
true;
62 m_term = std::forward<TermT>(value);
64 template <
typename TermT = Aws::String>
66 SetTerm(std::forward<TermT>(value));
77 template <
typename PaymentOptionT = Aws::String>
79 m_paymentOptionHasBeenSet =
true;
80 m_paymentOption = std::forward<PaymentOptionT>(value);
82 template <
typename PaymentOptionT = Aws::String>
95 template <
typename HourlyCommitmentT = Aws::String>
97 m_hourlyCommitmentHasBeenSet =
true;
98 m_hourlyCommitment = std::forward<HourlyCommitmentT>(value);
100 template <
typename HourlyCommitmentT = Aws::String>
113 template <
typename InstanceFamilyT = Aws::String>
115 m_instanceFamilyHasBeenSet =
true;
116 m_instanceFamily = std::forward<InstanceFamilyT>(value);
118 template <
typename InstanceFamilyT = Aws::String>
131 template <
typename SavingsPlansRegionT = Aws::String>
133 m_savingsPlansRegionHasBeenSet =
true;
134 m_savingsPlansRegion = std::forward<SavingsPlansRegionT>(value);
136 template <
typename SavingsPlansRegionT = Aws::String>
154 bool m_accountScopeHasBeenSet =
false;
155 bool m_termHasBeenSet =
false;
156 bool m_paymentOptionHasBeenSet =
false;
157 bool m_hourlyCommitmentHasBeenSet =
false;
158 bool m_instanceFamilyHasBeenSet =
false;
159 bool m_savingsPlansRegionHasBeenSet =
false;
Ec2InstanceSavingsPlansConfiguration & WithHourlyCommitment(HourlyCommitmentT &&value)
const Aws::String & GetSavingsPlansRegion() const
void SetInstanceFamily(InstanceFamilyT &&value)
AWS_COSTOPTIMIZATIONHUB_API Ec2InstanceSavingsPlansConfiguration(Aws::Utils::Json::JsonView jsonValue)
Ec2InstanceSavingsPlansConfiguration & WithTerm(TermT &&value)
Ec2InstanceSavingsPlansConfiguration & WithInstanceFamily(InstanceFamilyT &&value)
void SetPaymentOption(PaymentOptionT &&value)
const Aws::String & GetTerm() const
const Aws::String & GetPaymentOption() const
bool SavingsPlansRegionHasBeenSet() const
void SetAccountScope(AccountScopeT &&value)
Ec2InstanceSavingsPlansConfiguration & WithSavingsPlansRegion(SavingsPlansRegionT &&value)
const Aws::String & GetAccountScope() const
void SetTerm(TermT &&value)
AWS_COSTOPTIMIZATIONHUB_API Ec2InstanceSavingsPlansConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
bool TermHasBeenSet() const
const Aws::String & GetInstanceFamily() const
Ec2InstanceSavingsPlansConfiguration & WithPaymentOption(PaymentOptionT &&value)
AWS_COSTOPTIMIZATIONHUB_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_COSTOPTIMIZATIONHUB_API Ec2InstanceSavingsPlansConfiguration()=default
bool PaymentOptionHasBeenSet() const
const Aws::String & GetHourlyCommitment() const
void SetSavingsPlansRegion(SavingsPlansRegionT &&value)
void SetHourlyCommitment(HourlyCommitmentT &&value)
bool HourlyCommitmentHasBeenSet() const
bool AccountScopeHasBeenSet() const
bool InstanceFamilyHasBeenSet() const
Ec2InstanceSavingsPlansConfiguration & WithAccountScope(AccountScopeT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue