AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
ReservedInstancesOffering.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/ec2/EC2_EXPORTS.h>
11#include <aws/ec2/model/CurrencyCodeValues.h>
12#include <aws/ec2/model/InstanceType.h>
13#include <aws/ec2/model/OfferingClassType.h>
14#include <aws/ec2/model/OfferingTypeValues.h>
15#include <aws/ec2/model/PricingDetail.h>
16#include <aws/ec2/model/RIProductDescription.h>
17#include <aws/ec2/model/RecurringCharge.h>
18#include <aws/ec2/model/Scope.h>
19#include <aws/ec2/model/Tenancy.h>
20
21#include <utility>
22
23namespace Aws {
24namespace Utils {
25namespace Xml {
26class XmlNode;
27} // namespace Xml
28} // namespace Utils
29namespace EC2 {
30namespace Model {
31
38 public:
39 AWS_EC2_API ReservedInstancesOffering() = default;
42
43 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
44 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
45
47
52 inline CurrencyCodeValues GetCurrencyCode() const { return m_currencyCode; }
53 inline bool CurrencyCodeHasBeenSet() const { return m_currencyCodeHasBeenSet; }
55 m_currencyCodeHasBeenSet = true;
56 m_currencyCode = value;
57 }
59 SetCurrencyCode(value);
60 return *this;
61 }
63
65
68 inline Tenancy GetInstanceTenancy() const { return m_instanceTenancy; }
69 inline bool InstanceTenancyHasBeenSet() const { return m_instanceTenancyHasBeenSet; }
70 inline void SetInstanceTenancy(Tenancy value) {
71 m_instanceTenancyHasBeenSet = true;
72 m_instanceTenancy = value;
73 }
75 SetInstanceTenancy(value);
76 return *this;
77 }
79
81
86 inline bool GetMarketplace() const { return m_marketplace; }
87 inline bool MarketplaceHasBeenSet() const { return m_marketplaceHasBeenSet; }
88 inline void SetMarketplace(bool value) {
89 m_marketplaceHasBeenSet = true;
90 m_marketplace = value;
91 }
93 SetMarketplace(value);
94 return *this;
95 }
97
99
104 inline OfferingClassType GetOfferingClass() const { return m_offeringClass; }
105 inline bool OfferingClassHasBeenSet() const { return m_offeringClassHasBeenSet; }
107 m_offeringClassHasBeenSet = true;
108 m_offeringClass = value;
109 }
111 SetOfferingClass(value);
112 return *this;
113 }
115
117
120 inline OfferingTypeValues GetOfferingType() const { return m_offeringType; }
121 inline bool OfferingTypeHasBeenSet() const { return m_offeringTypeHasBeenSet; }
123 m_offeringTypeHasBeenSet = true;
124 m_offeringType = value;
125 }
127 SetOfferingType(value);
128 return *this;
129 }
131
133
136 inline const Aws::Vector<PricingDetail>& GetPricingDetails() const { return m_pricingDetails; }
137 inline bool PricingDetailsHasBeenSet() const { return m_pricingDetailsHasBeenSet; }
138 template <typename PricingDetailsT = Aws::Vector<PricingDetail>>
139 void SetPricingDetails(PricingDetailsT&& value) {
140 m_pricingDetailsHasBeenSet = true;
141 m_pricingDetails = std::forward<PricingDetailsT>(value);
142 }
143 template <typename PricingDetailsT = Aws::Vector<PricingDetail>>
145 SetPricingDetails(std::forward<PricingDetailsT>(value));
146 return *this;
147 }
148 template <typename PricingDetailsT = PricingDetail>
150 m_pricingDetailsHasBeenSet = true;
151 m_pricingDetails.emplace_back(std::forward<PricingDetailsT>(value));
152 return *this;
153 }
155
157
160 inline const Aws::Vector<RecurringCharge>& GetRecurringCharges() const { return m_recurringCharges; }
161 inline bool RecurringChargesHasBeenSet() const { return m_recurringChargesHasBeenSet; }
162 template <typename RecurringChargesT = Aws::Vector<RecurringCharge>>
163 void SetRecurringCharges(RecurringChargesT&& value) {
164 m_recurringChargesHasBeenSet = true;
165 m_recurringCharges = std::forward<RecurringChargesT>(value);
166 }
167 template <typename RecurringChargesT = Aws::Vector<RecurringCharge>>
169 SetRecurringCharges(std::forward<RecurringChargesT>(value));
170 return *this;
171 }
172 template <typename RecurringChargesT = RecurringCharge>
173 ReservedInstancesOffering& AddRecurringCharges(RecurringChargesT&& value) {
174 m_recurringChargesHasBeenSet = true;
175 m_recurringCharges.emplace_back(std::forward<RecurringChargesT>(value));
176 return *this;
177 }
179
181
185 inline Scope GetScope() const { return m_scope; }
186 inline bool ScopeHasBeenSet() const { return m_scopeHasBeenSet; }
187 inline void SetScope(Scope value) {
188 m_scopeHasBeenSet = true;
189 m_scope = value;
190 }
192 SetScope(value);
193 return *this;
194 }
196
198
201 inline const Aws::String& GetAvailabilityZoneId() const { return m_availabilityZoneId; }
202 inline bool AvailabilityZoneIdHasBeenSet() const { return m_availabilityZoneIdHasBeenSet; }
203 template <typename AvailabilityZoneIdT = Aws::String>
204 void SetAvailabilityZoneId(AvailabilityZoneIdT&& value) {
205 m_availabilityZoneIdHasBeenSet = true;
206 m_availabilityZoneId = std::forward<AvailabilityZoneIdT>(value);
207 }
208 template <typename AvailabilityZoneIdT = Aws::String>
209 ReservedInstancesOffering& WithAvailabilityZoneId(AvailabilityZoneIdT&& value) {
210 SetAvailabilityZoneId(std::forward<AvailabilityZoneIdT>(value));
211 return *this;
212 }
214
216
221 inline const Aws::String& GetReservedInstancesOfferingId() const { return m_reservedInstancesOfferingId; }
222 inline bool ReservedInstancesOfferingIdHasBeenSet() const { return m_reservedInstancesOfferingIdHasBeenSet; }
223 template <typename ReservedInstancesOfferingIdT = Aws::String>
224 void SetReservedInstancesOfferingId(ReservedInstancesOfferingIdT&& value) {
225 m_reservedInstancesOfferingIdHasBeenSet = true;
226 m_reservedInstancesOfferingId = std::forward<ReservedInstancesOfferingIdT>(value);
227 }
228 template <typename ReservedInstancesOfferingIdT = Aws::String>
229 ReservedInstancesOffering& WithReservedInstancesOfferingId(ReservedInstancesOfferingIdT&& value) {
230 SetReservedInstancesOfferingId(std::forward<ReservedInstancesOfferingIdT>(value));
231 return *this;
232 }
234
236
239 inline InstanceType GetInstanceType() const { return m_instanceType; }
240 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
241 inline void SetInstanceType(InstanceType value) {
242 m_instanceTypeHasBeenSet = true;
243 m_instanceType = value;
244 }
246 SetInstanceType(value);
247 return *this;
248 }
250
252
255 inline const Aws::String& GetAvailabilityZone() const { return m_availabilityZone; }
256 inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; }
257 template <typename AvailabilityZoneT = Aws::String>
258 void SetAvailabilityZone(AvailabilityZoneT&& value) {
259 m_availabilityZoneHasBeenSet = true;
260 m_availabilityZone = std::forward<AvailabilityZoneT>(value);
261 }
262 template <typename AvailabilityZoneT = Aws::String>
264 SetAvailabilityZone(std::forward<AvailabilityZoneT>(value));
265 return *this;
266 }
268
270
273 inline long long GetDuration() const { return m_duration; }
274 inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; }
275 inline void SetDuration(long long value) {
276 m_durationHasBeenSet = true;
277 m_duration = value;
278 }
279 inline ReservedInstancesOffering& WithDuration(long long value) {
280 SetDuration(value);
281 return *this;
282 }
284
286
289 inline double GetUsagePrice() const { return m_usagePrice; }
290 inline bool UsagePriceHasBeenSet() const { return m_usagePriceHasBeenSet; }
291 inline void SetUsagePrice(double value) {
292 m_usagePriceHasBeenSet = true;
293 m_usagePrice = value;
294 }
296 SetUsagePrice(value);
297 return *this;
298 }
300
302
305 inline double GetFixedPrice() const { return m_fixedPrice; }
306 inline bool FixedPriceHasBeenSet() const { return m_fixedPriceHasBeenSet; }
307 inline void SetFixedPrice(double value) {
308 m_fixedPriceHasBeenSet = true;
309 m_fixedPrice = value;
310 }
312 SetFixedPrice(value);
313 return *this;
314 }
316
318
321 inline RIProductDescription GetProductDescription() const { return m_productDescription; }
322 inline bool ProductDescriptionHasBeenSet() const { return m_productDescriptionHasBeenSet; }
324 m_productDescriptionHasBeenSet = true;
325 m_productDescription = value;
326 }
329 return *this;
330 }
332 private:
334
335 Tenancy m_instanceTenancy{Tenancy::NOT_SET};
336
337 bool m_marketplace{false};
338
340
342
343 Aws::Vector<PricingDetail> m_pricingDetails;
344
345 Aws::Vector<RecurringCharge> m_recurringCharges;
346
347 Scope m_scope{Scope::NOT_SET};
348
349 Aws::String m_availabilityZoneId;
350
351 Aws::String m_reservedInstancesOfferingId;
352
353 InstanceType m_instanceType{InstanceType::NOT_SET};
354
355 Aws::String m_availabilityZone;
356
357 long long m_duration{0};
358
359 double m_usagePrice{0.0};
360
361 double m_fixedPrice{0.0};
362
364 bool m_currencyCodeHasBeenSet = false;
365 bool m_instanceTenancyHasBeenSet = false;
366 bool m_marketplaceHasBeenSet = false;
367 bool m_offeringClassHasBeenSet = false;
368 bool m_offeringTypeHasBeenSet = false;
369 bool m_pricingDetailsHasBeenSet = false;
370 bool m_recurringChargesHasBeenSet = false;
371 bool m_scopeHasBeenSet = false;
372 bool m_availabilityZoneIdHasBeenSet = false;
373 bool m_reservedInstancesOfferingIdHasBeenSet = false;
374 bool m_instanceTypeHasBeenSet = false;
375 bool m_availabilityZoneHasBeenSet = false;
376 bool m_durationHasBeenSet = false;
377 bool m_usagePriceHasBeenSet = false;
378 bool m_fixedPriceHasBeenSet = false;
379 bool m_productDescriptionHasBeenSet = false;
380};
381
382} // namespace Model
383} // namespace EC2
384} // namespace Aws
ReservedInstancesOffering & WithMarketplace(bool value)
ReservedInstancesOffering & WithProductDescription(RIProductDescription value)
ReservedInstancesOffering & WithInstanceType(InstanceType value)
ReservedInstancesOffering & WithReservedInstancesOfferingId(ReservedInstancesOfferingIdT &&value)
ReservedInstancesOffering & WithOfferingType(OfferingTypeValues value)
ReservedInstancesOffering & WithUsagePrice(double value)
void SetProductDescription(RIProductDescription value)
ReservedInstancesOffering & WithOfferingClass(OfferingClassType value)
AWS_EC2_API ReservedInstancesOffering & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
ReservedInstancesOffering & WithDuration(long long value)
void SetAvailabilityZoneId(AvailabilityZoneIdT &&value)
ReservedInstancesOffering & WithRecurringCharges(RecurringChargesT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
ReservedInstancesOffering & WithFixedPrice(double value)
void SetReservedInstancesOfferingId(ReservedInstancesOfferingIdT &&value)
AWS_EC2_API ReservedInstancesOffering(const Aws::Utils::Xml::XmlNode &xmlNode)
const Aws::Vector< PricingDetail > & GetPricingDetails() const
ReservedInstancesOffering & WithAvailabilityZoneId(AvailabilityZoneIdT &&value)
ReservedInstancesOffering & WithPricingDetails(PricingDetailsT &&value)
ReservedInstancesOffering & WithInstanceTenancy(Tenancy value)
ReservedInstancesOffering & AddRecurringCharges(RecurringChargesT &&value)
const Aws::Vector< RecurringCharge > & GetRecurringCharges() const
AWS_EC2_API ReservedInstancesOffering()=default
ReservedInstancesOffering & AddPricingDetails(PricingDetailsT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
ReservedInstancesOffering & WithScope(Scope value)
ReservedInstancesOffering & WithCurrencyCode(CurrencyCodeValues value)
ReservedInstancesOffering & WithAvailabilityZone(AvailabilityZoneT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream