AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
ReservedInstancesOffering.h
1
6#pragma once
7#include <aws/ec2/EC2_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/ec2/model/CurrencyCodeValues.h>
10#include <aws/ec2/model/Tenancy.h>
11#include <aws/ec2/model/OfferingClassType.h>
12#include <aws/ec2/model/OfferingTypeValues.h>
13#include <aws/core/utils/memory/stl/AWSVector.h>
14#include <aws/ec2/model/Scope.h>
15#include <aws/core/utils/memory/stl/AWSString.h>
16#include <aws/ec2/model/InstanceType.h>
17#include <aws/ec2/model/RIProductDescription.h>
18#include <aws/ec2/model/PricingDetail.h>
19#include <aws/ec2/model/RecurringCharge.h>
20#include <utility>
21
22namespace Aws
23{
24namespace Utils
25{
26namespace Xml
27{
28 class XmlNode;
29} // namespace Xml
30} // namespace Utils
31namespace EC2
32{
33namespace Model
34{
35
42 {
43 public:
44 AWS_EC2_API ReservedInstancesOffering() = default;
47
48 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
49 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
50
51
53
58 inline CurrencyCodeValues GetCurrencyCode() const { return m_currencyCode; }
59 inline bool CurrencyCodeHasBeenSet() const { return m_currencyCodeHasBeenSet; }
60 inline void SetCurrencyCode(CurrencyCodeValues value) { m_currencyCodeHasBeenSet = true; m_currencyCode = value; }
63
65
68 inline Tenancy GetInstanceTenancy() const { return m_instanceTenancy; }
69 inline bool InstanceTenancyHasBeenSet() const { return m_instanceTenancyHasBeenSet; }
70 inline void SetInstanceTenancy(Tenancy value) { m_instanceTenancyHasBeenSet = true; m_instanceTenancy = value; }
73
75
80 inline bool GetMarketplace() const { return m_marketplace; }
81 inline bool MarketplaceHasBeenSet() const { return m_marketplaceHasBeenSet; }
82 inline void SetMarketplace(bool value) { m_marketplaceHasBeenSet = true; m_marketplace = value; }
83 inline ReservedInstancesOffering& WithMarketplace(bool value) { SetMarketplace(value); return *this;}
85
87
92 inline OfferingClassType GetOfferingClass() const { return m_offeringClass; }
93 inline bool OfferingClassHasBeenSet() const { return m_offeringClassHasBeenSet; }
94 inline void SetOfferingClass(OfferingClassType value) { m_offeringClassHasBeenSet = true; m_offeringClass = value; }
97
99
102 inline OfferingTypeValues GetOfferingType() const { return m_offeringType; }
103 inline bool OfferingTypeHasBeenSet() const { return m_offeringTypeHasBeenSet; }
104 inline void SetOfferingType(OfferingTypeValues value) { m_offeringTypeHasBeenSet = true; m_offeringType = value; }
107
109
112 inline const Aws::Vector<PricingDetail>& GetPricingDetails() const { return m_pricingDetails; }
113 inline bool PricingDetailsHasBeenSet() const { return m_pricingDetailsHasBeenSet; }
114 template<typename PricingDetailsT = Aws::Vector<PricingDetail>>
115 void SetPricingDetails(PricingDetailsT&& value) { m_pricingDetailsHasBeenSet = true; m_pricingDetails = std::forward<PricingDetailsT>(value); }
116 template<typename PricingDetailsT = Aws::Vector<PricingDetail>>
117 ReservedInstancesOffering& WithPricingDetails(PricingDetailsT&& value) { SetPricingDetails(std::forward<PricingDetailsT>(value)); return *this;}
118 template<typename PricingDetailsT = PricingDetail>
119 ReservedInstancesOffering& AddPricingDetails(PricingDetailsT&& value) { m_pricingDetailsHasBeenSet = true; m_pricingDetails.emplace_back(std::forward<PricingDetailsT>(value)); return *this; }
121
123
126 inline const Aws::Vector<RecurringCharge>& GetRecurringCharges() const { return m_recurringCharges; }
127 inline bool RecurringChargesHasBeenSet() const { return m_recurringChargesHasBeenSet; }
128 template<typename RecurringChargesT = Aws::Vector<RecurringCharge>>
129 void SetRecurringCharges(RecurringChargesT&& value) { m_recurringChargesHasBeenSet = true; m_recurringCharges = std::forward<RecurringChargesT>(value); }
130 template<typename RecurringChargesT = Aws::Vector<RecurringCharge>>
131 ReservedInstancesOffering& WithRecurringCharges(RecurringChargesT&& value) { SetRecurringCharges(std::forward<RecurringChargesT>(value)); return *this;}
132 template<typename RecurringChargesT = RecurringCharge>
133 ReservedInstancesOffering& AddRecurringCharges(RecurringChargesT&& value) { m_recurringChargesHasBeenSet = true; m_recurringCharges.emplace_back(std::forward<RecurringChargesT>(value)); return *this; }
135
137
141 inline Scope GetScope() const { return m_scope; }
142 inline bool ScopeHasBeenSet() const { return m_scopeHasBeenSet; }
143 inline void SetScope(Scope value) { m_scopeHasBeenSet = true; m_scope = value; }
144 inline ReservedInstancesOffering& WithScope(Scope value) { SetScope(value); return *this;}
146
148
151 inline const Aws::String& GetAvailabilityZoneId() const { return m_availabilityZoneId; }
152 inline bool AvailabilityZoneIdHasBeenSet() const { return m_availabilityZoneIdHasBeenSet; }
153 template<typename AvailabilityZoneIdT = Aws::String>
154 void SetAvailabilityZoneId(AvailabilityZoneIdT&& value) { m_availabilityZoneIdHasBeenSet = true; m_availabilityZoneId = std::forward<AvailabilityZoneIdT>(value); }
155 template<typename AvailabilityZoneIdT = Aws::String>
156 ReservedInstancesOffering& WithAvailabilityZoneId(AvailabilityZoneIdT&& value) { SetAvailabilityZoneId(std::forward<AvailabilityZoneIdT>(value)); return *this;}
158
160
165 inline const Aws::String& GetReservedInstancesOfferingId() const { return m_reservedInstancesOfferingId; }
166 inline bool ReservedInstancesOfferingIdHasBeenSet() const { return m_reservedInstancesOfferingIdHasBeenSet; }
167 template<typename ReservedInstancesOfferingIdT = Aws::String>
168 void SetReservedInstancesOfferingId(ReservedInstancesOfferingIdT&& value) { m_reservedInstancesOfferingIdHasBeenSet = true; m_reservedInstancesOfferingId = std::forward<ReservedInstancesOfferingIdT>(value); }
169 template<typename ReservedInstancesOfferingIdT = Aws::String>
170 ReservedInstancesOffering& WithReservedInstancesOfferingId(ReservedInstancesOfferingIdT&& value) { SetReservedInstancesOfferingId(std::forward<ReservedInstancesOfferingIdT>(value)); return *this;}
172
174
177 inline InstanceType GetInstanceType() const { return m_instanceType; }
178 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
179 inline void SetInstanceType(InstanceType value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; }
182
184
187 inline const Aws::String& GetAvailabilityZone() const { return m_availabilityZone; }
188 inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; }
189 template<typename AvailabilityZoneT = Aws::String>
190 void SetAvailabilityZone(AvailabilityZoneT&& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = std::forward<AvailabilityZoneT>(value); }
191 template<typename AvailabilityZoneT = Aws::String>
192 ReservedInstancesOffering& WithAvailabilityZone(AvailabilityZoneT&& value) { SetAvailabilityZone(std::forward<AvailabilityZoneT>(value)); return *this;}
194
196
199 inline long long GetDuration() const { return m_duration; }
200 inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; }
201 inline void SetDuration(long long value) { m_durationHasBeenSet = true; m_duration = value; }
202 inline ReservedInstancesOffering& WithDuration(long long value) { SetDuration(value); return *this;}
204
206
209 inline double GetUsagePrice() const { return m_usagePrice; }
210 inline bool UsagePriceHasBeenSet() const { return m_usagePriceHasBeenSet; }
211 inline void SetUsagePrice(double value) { m_usagePriceHasBeenSet = true; m_usagePrice = value; }
212 inline ReservedInstancesOffering& WithUsagePrice(double value) { SetUsagePrice(value); return *this;}
214
216
219 inline double GetFixedPrice() const { return m_fixedPrice; }
220 inline bool FixedPriceHasBeenSet() const { return m_fixedPriceHasBeenSet; }
221 inline void SetFixedPrice(double value) { m_fixedPriceHasBeenSet = true; m_fixedPrice = value; }
222 inline ReservedInstancesOffering& WithFixedPrice(double value) { SetFixedPrice(value); return *this;}
224
226
229 inline RIProductDescription GetProductDescription() const { return m_productDescription; }
230 inline bool ProductDescriptionHasBeenSet() const { return m_productDescriptionHasBeenSet; }
231 inline void SetProductDescription(RIProductDescription value) { m_productDescriptionHasBeenSet = true; m_productDescription = value; }
234 private:
235
237 bool m_currencyCodeHasBeenSet = false;
238
239 Tenancy m_instanceTenancy{Tenancy::NOT_SET};
240 bool m_instanceTenancyHasBeenSet = false;
241
242 bool m_marketplace{false};
243 bool m_marketplaceHasBeenSet = false;
244
246 bool m_offeringClassHasBeenSet = false;
247
249 bool m_offeringTypeHasBeenSet = false;
250
251 Aws::Vector<PricingDetail> m_pricingDetails;
252 bool m_pricingDetailsHasBeenSet = false;
253
254 Aws::Vector<RecurringCharge> m_recurringCharges;
255 bool m_recurringChargesHasBeenSet = false;
256
257 Scope m_scope{Scope::NOT_SET};
258 bool m_scopeHasBeenSet = false;
259
260 Aws::String m_availabilityZoneId;
261 bool m_availabilityZoneIdHasBeenSet = false;
262
263 Aws::String m_reservedInstancesOfferingId;
264 bool m_reservedInstancesOfferingIdHasBeenSet = false;
265
266 InstanceType m_instanceType{InstanceType::NOT_SET};
267 bool m_instanceTypeHasBeenSet = false;
268
269 Aws::String m_availabilityZone;
270 bool m_availabilityZoneHasBeenSet = false;
271
272 long long m_duration{0};
273 bool m_durationHasBeenSet = false;
274
275 double m_usagePrice{0.0};
276 bool m_usagePriceHasBeenSet = false;
277
278 double m_fixedPrice{0.0};
279 bool m_fixedPriceHasBeenSet = false;
280
282 bool m_productDescriptionHasBeenSet = false;
283 };
284
285} // namespace Model
286} // namespace EC2
287} // 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