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>
82 inline void SetMarketplace(
bool value) { m_marketplaceHasBeenSet =
true; m_marketplace = value; }
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>>
118 template<
typename PricingDetailsT = PricingDetail>
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>>
132 template<
typename RecurringChargesT = RecurringCharge>
143 inline void SetScope(
Scope value) { m_scopeHasBeenSet =
true; m_scope = value; }
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>
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>
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>
201 inline void SetDuration(
long long value) { m_durationHasBeenSet =
true; m_duration = value; }
211 inline void SetUsagePrice(
double value) { m_usagePriceHasBeenSet =
true; m_usagePrice = value; }
221 inline void SetFixedPrice(
double value) { m_fixedPriceHasBeenSet =
true; m_fixedPrice = value; }
237 bool m_currencyCodeHasBeenSet =
false;
240 bool m_instanceTenancyHasBeenSet =
false;
242 bool m_marketplace{
false};
243 bool m_marketplaceHasBeenSet =
false;
246 bool m_offeringClassHasBeenSet =
false;
249 bool m_offeringTypeHasBeenSet =
false;
252 bool m_pricingDetailsHasBeenSet =
false;
255 bool m_recurringChargesHasBeenSet =
false;
258 bool m_scopeHasBeenSet =
false;
261 bool m_availabilityZoneIdHasBeenSet =
false;
264 bool m_reservedInstancesOfferingIdHasBeenSet =
false;
267 bool m_instanceTypeHasBeenSet =
false;
270 bool m_availabilityZoneHasBeenSet =
false;
272 long long m_duration{0};
273 bool m_durationHasBeenSet =
false;
275 double m_usagePrice{0.0};
276 bool m_usagePriceHasBeenSet =
false;
278 double m_fixedPrice{0.0};
279 bool m_fixedPriceHasBeenSet =
false;
282 bool m_productDescriptionHasBeenSet =
false;
double GetFixedPrice() const
ReservedInstancesOffering & WithMarketplace(bool value)
ReservedInstancesOffering & WithProductDescription(RIProductDescription value)
void SetUsagePrice(double value)
InstanceType GetInstanceType() const
ReservedInstancesOffering & WithInstanceType(InstanceType value)
bool PricingDetailsHasBeenSet() const
bool AvailabilityZoneIdHasBeenSet() const
bool FixedPriceHasBeenSet() const
bool ProductDescriptionHasBeenSet() const
Tenancy GetInstanceTenancy() const
ReservedInstancesOffering & WithReservedInstancesOfferingId(ReservedInstancesOfferingIdT &&value)
const Aws::String & GetAvailabilityZone() const
bool ReservedInstancesOfferingIdHasBeenSet() const
ReservedInstancesOffering & WithOfferingType(OfferingTypeValues value)
void SetRecurringCharges(RecurringChargesT &&value)
void SetOfferingType(OfferingTypeValues value)
ReservedInstancesOffering & WithUsagePrice(double value)
long long GetDuration() const
bool GetMarketplace() const
const Aws::String & GetReservedInstancesOfferingId() const
void SetProductDescription(RIProductDescription value)
void SetMarketplace(bool value)
ReservedInstancesOffering & WithOfferingClass(OfferingClassType value)
void SetPricingDetails(PricingDetailsT &&value)
bool UsagePriceHasBeenSet() const
AWS_EC2_API ReservedInstancesOffering & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetCurrencyCode(CurrencyCodeValues value)
bool InstanceTypeHasBeenSet() const
void SetDuration(long long value)
ReservedInstancesOffering & WithDuration(long long value)
void SetAvailabilityZoneId(AvailabilityZoneIdT &&value)
bool ScopeHasBeenSet() const
ReservedInstancesOffering & WithRecurringCharges(RecurringChargesT &&value)
bool InstanceTenancyHasBeenSet() const
bool DurationHasBeenSet() const
CurrencyCodeValues GetCurrencyCode() const
bool OfferingTypeHasBeenSet() const
void SetInstanceTenancy(Tenancy value)
RIProductDescription GetProductDescription() const
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
bool AvailabilityZoneHasBeenSet() const
ReservedInstancesOffering & WithFixedPrice(double value)
void SetAvailabilityZone(AvailabilityZoneT &&value)
OfferingTypeValues GetOfferingType() const
bool OfferingClassHasBeenSet() const
void SetReservedInstancesOfferingId(ReservedInstancesOfferingIdT &&value)
AWS_EC2_API ReservedInstancesOffering(const Aws::Utils::Xml::XmlNode &xmlNode)
const Aws::Vector< PricingDetail > & GetPricingDetails() const
void SetInstanceType(InstanceType value)
double GetUsagePrice() const
void SetOfferingClass(OfferingClassType value)
bool MarketplaceHasBeenSet() const
ReservedInstancesOffering & WithAvailabilityZoneId(AvailabilityZoneIdT &&value)
OfferingClassType GetOfferingClass() const
void SetFixedPrice(double value)
const Aws::String & GetAvailabilityZoneId() const
ReservedInstancesOffering & WithPricingDetails(PricingDetailsT &&value)
void SetScope(Scope 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)
bool RecurringChargesHasBeenSet() const
bool CurrencyCodeHasBeenSet() const
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