AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
Ec2InstanceSavingsPlansConfiguration.h
1
6#pragma once
7#include <aws/cost-optimization-hub/CostOptimizationHub_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <utility>
10
11namespace Aws
12{
13namespace Utils
14{
15namespace Json
16{
17 class JsonValue;
18 class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace CostOptimizationHub
22{
23namespace Model
24{
25
33 {
34 public:
35 AWS_COSTOPTIMIZATIONHUB_API Ec2InstanceSavingsPlansConfiguration() = default;
38 AWS_COSTOPTIMIZATIONHUB_API Aws::Utils::Json::JsonValue Jsonize() const;
39
40
42
45 inline const Aws::String& GetAccountScope() const { return m_accountScope; }
46 inline bool AccountScopeHasBeenSet() const { return m_accountScopeHasBeenSet; }
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>
50 Ec2InstanceSavingsPlansConfiguration& WithAccountScope(AccountScopeT&& value) { SetAccountScope(std::forward<AccountScopeT>(value)); return *this;}
52
54
57 inline const Aws::String& GetTerm() const { return m_term; }
58 inline bool TermHasBeenSet() const { return m_termHasBeenSet; }
59 template<typename TermT = Aws::String>
60 void SetTerm(TermT&& value) { m_termHasBeenSet = true; m_term = std::forward<TermT>(value); }
61 template<typename TermT = Aws::String>
62 Ec2InstanceSavingsPlansConfiguration& WithTerm(TermT&& value) { SetTerm(std::forward<TermT>(value)); return *this;}
64
66
69 inline const Aws::String& GetPaymentOption() const { return m_paymentOption; }
70 inline bool PaymentOptionHasBeenSet() const { return m_paymentOptionHasBeenSet; }
71 template<typename PaymentOptionT = Aws::String>
72 void SetPaymentOption(PaymentOptionT&& value) { m_paymentOptionHasBeenSet = true; m_paymentOption = std::forward<PaymentOptionT>(value); }
73 template<typename PaymentOptionT = Aws::String>
74 Ec2InstanceSavingsPlansConfiguration& WithPaymentOption(PaymentOptionT&& value) { SetPaymentOption(std::forward<PaymentOptionT>(value)); return *this;}
76
78
81 inline const Aws::String& GetHourlyCommitment() const { return m_hourlyCommitment; }
82 inline bool HourlyCommitmentHasBeenSet() const { return m_hourlyCommitmentHasBeenSet; }
83 template<typename HourlyCommitmentT = Aws::String>
84 void SetHourlyCommitment(HourlyCommitmentT&& value) { m_hourlyCommitmentHasBeenSet = true; m_hourlyCommitment = std::forward<HourlyCommitmentT>(value); }
85 template<typename HourlyCommitmentT = Aws::String>
86 Ec2InstanceSavingsPlansConfiguration& WithHourlyCommitment(HourlyCommitmentT&& value) { SetHourlyCommitment(std::forward<HourlyCommitmentT>(value)); return *this;}
88
90
93 inline const Aws::String& GetInstanceFamily() const { return m_instanceFamily; }
94 inline bool InstanceFamilyHasBeenSet() const { return m_instanceFamilyHasBeenSet; }
95 template<typename InstanceFamilyT = Aws::String>
96 void SetInstanceFamily(InstanceFamilyT&& value) { m_instanceFamilyHasBeenSet = true; m_instanceFamily = std::forward<InstanceFamilyT>(value); }
97 template<typename InstanceFamilyT = Aws::String>
98 Ec2InstanceSavingsPlansConfiguration& WithInstanceFamily(InstanceFamilyT&& value) { SetInstanceFamily(std::forward<InstanceFamilyT>(value)); return *this;}
100
102
105 inline const Aws::String& GetSavingsPlansRegion() const { return m_savingsPlansRegion; }
106 inline bool SavingsPlansRegionHasBeenSet() const { return m_savingsPlansRegionHasBeenSet; }
107 template<typename SavingsPlansRegionT = Aws::String>
108 void SetSavingsPlansRegion(SavingsPlansRegionT&& value) { m_savingsPlansRegionHasBeenSet = true; m_savingsPlansRegion = std::forward<SavingsPlansRegionT>(value); }
109 template<typename SavingsPlansRegionT = Aws::String>
110 Ec2InstanceSavingsPlansConfiguration& WithSavingsPlansRegion(SavingsPlansRegionT&& value) { SetSavingsPlansRegion(std::forward<SavingsPlansRegionT>(value)); return *this;}
112 private:
113
114 Aws::String m_accountScope;
115 bool m_accountScopeHasBeenSet = false;
116
117 Aws::String m_term;
118 bool m_termHasBeenSet = false;
119
120 Aws::String m_paymentOption;
121 bool m_paymentOptionHasBeenSet = false;
122
123 Aws::String m_hourlyCommitment;
124 bool m_hourlyCommitmentHasBeenSet = false;
125
126 Aws::String m_instanceFamily;
127 bool m_instanceFamilyHasBeenSet = false;
128
129 Aws::String m_savingsPlansRegion;
130 bool m_savingsPlansRegionHasBeenSet = false;
131 };
132
133} // namespace Model
134} // namespace CostOptimizationHub
135} // namespace Aws
Ec2InstanceSavingsPlansConfiguration & WithHourlyCommitment(HourlyCommitmentT &&value)
AWS_COSTOPTIMIZATIONHUB_API Ec2InstanceSavingsPlansConfiguration(Aws::Utils::Json::JsonView jsonValue)
Ec2InstanceSavingsPlansConfiguration & WithInstanceFamily(InstanceFamilyT &&value)
Ec2InstanceSavingsPlansConfiguration & WithSavingsPlansRegion(SavingsPlansRegionT &&value)
AWS_COSTOPTIMIZATIONHUB_API Ec2InstanceSavingsPlansConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
Ec2InstanceSavingsPlansConfiguration & WithPaymentOption(PaymentOptionT &&value)
AWS_COSTOPTIMIZATIONHUB_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_COSTOPTIMIZATIONHUB_API Ec2InstanceSavingsPlansConfiguration()=default
Ec2InstanceSavingsPlansConfiguration & WithAccountScope(AccountScopeT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue