AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
SavingsPlanOfferingRate.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/savingsplans/SavingsPlans_EXPORTS.h>
10#include <aws/savingsplans/model/ParentSavingsPlanOffering.h>
11#include <aws/savingsplans/model/SavingsPlanOfferingRateProperty.h>
12#include <aws/savingsplans/model/SavingsPlanProductType.h>
13#include <aws/savingsplans/model/SavingsPlanRateServiceCode.h>
14#include <aws/savingsplans/model/SavingsPlanRateUnit.h>
15
16#include <utility>
17
18namespace Aws {
19namespace Utils {
20namespace Json {
21class JsonValue;
22class JsonView;
23} // namespace Json
24} // namespace Utils
25namespace SavingsPlans {
26namespace Model {
27
34 public:
35 AWS_SAVINGSPLANS_API SavingsPlanOfferingRate() = default;
36 AWS_SAVINGSPLANS_API SavingsPlanOfferingRate(Aws::Utils::Json::JsonView jsonValue);
38 AWS_SAVINGSPLANS_API Aws::Utils::Json::JsonValue Jsonize() const;
39
41
44 inline const ParentSavingsPlanOffering& GetSavingsPlanOffering() const { return m_savingsPlanOffering; }
45 inline bool SavingsPlanOfferingHasBeenSet() const { return m_savingsPlanOfferingHasBeenSet; }
46 template <typename SavingsPlanOfferingT = ParentSavingsPlanOffering>
47 void SetSavingsPlanOffering(SavingsPlanOfferingT&& value) {
48 m_savingsPlanOfferingHasBeenSet = true;
49 m_savingsPlanOffering = std::forward<SavingsPlanOfferingT>(value);
50 }
51 template <typename SavingsPlanOfferingT = ParentSavingsPlanOffering>
52 SavingsPlanOfferingRate& WithSavingsPlanOffering(SavingsPlanOfferingT&& value) {
53 SetSavingsPlanOffering(std::forward<SavingsPlanOfferingT>(value));
54 return *this;
55 }
57
59
62 inline const Aws::String& GetRate() const { return m_rate; }
63 inline bool RateHasBeenSet() const { return m_rateHasBeenSet; }
64 template <typename RateT = Aws::String>
65 void SetRate(RateT&& value) {
66 m_rateHasBeenSet = true;
67 m_rate = std::forward<RateT>(value);
68 }
69 template <typename RateT = Aws::String>
71 SetRate(std::forward<RateT>(value));
72 return *this;
73 }
75
77
80 inline SavingsPlanRateUnit GetUnit() const { return m_unit; }
81 inline bool UnitHasBeenSet() const { return m_unitHasBeenSet; }
82 inline void SetUnit(SavingsPlanRateUnit value) {
83 m_unitHasBeenSet = true;
84 m_unit = value;
85 }
87 SetUnit(value);
88 return *this;
89 }
91
93
96 inline SavingsPlanProductType GetProductType() const { return m_productType; }
97 inline bool ProductTypeHasBeenSet() const { return m_productTypeHasBeenSet; }
99 m_productTypeHasBeenSet = true;
100 m_productType = value;
101 }
103 SetProductType(value);
104 return *this;
105 }
107
109
112 inline SavingsPlanRateServiceCode GetServiceCode() const { return m_serviceCode; }
113 inline bool ServiceCodeHasBeenSet() const { return m_serviceCodeHasBeenSet; }
115 m_serviceCodeHasBeenSet = true;
116 m_serviceCode = value;
117 }
119 SetServiceCode(value);
120 return *this;
121 }
123
125
128 inline const Aws::String& GetUsageType() const { return m_usageType; }
129 inline bool UsageTypeHasBeenSet() const { return m_usageTypeHasBeenSet; }
130 template <typename UsageTypeT = Aws::String>
131 void SetUsageType(UsageTypeT&& value) {
132 m_usageTypeHasBeenSet = true;
133 m_usageType = std::forward<UsageTypeT>(value);
134 }
135 template <typename UsageTypeT = Aws::String>
137 SetUsageType(std::forward<UsageTypeT>(value));
138 return *this;
139 }
141
143
147 inline const Aws::String& GetOperation() const { return m_operation; }
148 inline bool OperationHasBeenSet() const { return m_operationHasBeenSet; }
149 template <typename OperationT = Aws::String>
150 void SetOperation(OperationT&& value) {
151 m_operationHasBeenSet = true;
152 m_operation = std::forward<OperationT>(value);
153 }
154 template <typename OperationT = Aws::String>
156 SetOperation(std::forward<OperationT>(value));
157 return *this;
158 }
160
162
165 inline const Aws::Vector<SavingsPlanOfferingRateProperty>& GetProperties() const { return m_properties; }
166 inline bool PropertiesHasBeenSet() const { return m_propertiesHasBeenSet; }
167 template <typename PropertiesT = Aws::Vector<SavingsPlanOfferingRateProperty>>
168 void SetProperties(PropertiesT&& value) {
169 m_propertiesHasBeenSet = true;
170 m_properties = std::forward<PropertiesT>(value);
171 }
172 template <typename PropertiesT = Aws::Vector<SavingsPlanOfferingRateProperty>>
174 SetProperties(std::forward<PropertiesT>(value));
175 return *this;
176 }
177 template <typename PropertiesT = SavingsPlanOfferingRateProperty>
179 m_propertiesHasBeenSet = true;
180 m_properties.emplace_back(std::forward<PropertiesT>(value));
181 return *this;
182 }
184 private:
185 ParentSavingsPlanOffering m_savingsPlanOffering;
186
187 Aws::String m_rate;
188
190
192
194
195 Aws::String m_usageType;
196
197 Aws::String m_operation;
198
200 bool m_savingsPlanOfferingHasBeenSet = false;
201 bool m_rateHasBeenSet = false;
202 bool m_unitHasBeenSet = false;
203 bool m_productTypeHasBeenSet = false;
204 bool m_serviceCodeHasBeenSet = false;
205 bool m_usageTypeHasBeenSet = false;
206 bool m_operationHasBeenSet = false;
207 bool m_propertiesHasBeenSet = false;
208};
209
210} // namespace Model
211} // namespace SavingsPlans
212} // namespace Aws
SavingsPlanOfferingRate & WithProperties(PropertiesT &&value)
AWS_SAVINGSPLANS_API SavingsPlanOfferingRate & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_SAVINGSPLANS_API SavingsPlanOfferingRate(Aws::Utils::Json::JsonView jsonValue)
SavingsPlanOfferingRate & WithOperation(OperationT &&value)
SavingsPlanOfferingRate & WithRate(RateT &&value)
void SetServiceCode(SavingsPlanRateServiceCode value)
const Aws::Vector< SavingsPlanOfferingRateProperty > & GetProperties() const
SavingsPlanOfferingRate & AddProperties(PropertiesT &&value)
const ParentSavingsPlanOffering & GetSavingsPlanOffering() const
SavingsPlanOfferingRate & WithUnit(SavingsPlanRateUnit value)
AWS_SAVINGSPLANS_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_SAVINGSPLANS_API SavingsPlanOfferingRate()=default
SavingsPlanOfferingRate & WithSavingsPlanOffering(SavingsPlanOfferingT &&value)
SavingsPlanOfferingRate & WithUsageType(UsageTypeT &&value)
SavingsPlanOfferingRate & WithServiceCode(SavingsPlanRateServiceCode value)
void SetSavingsPlanOffering(SavingsPlanOfferingT &&value)
SavingsPlanOfferingRate & WithProductType(SavingsPlanProductType value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue