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/core/utils/memory/stl/AWSVector.h>
11#include <aws/core/utils/memory/stl/AWSString.h>
12#include <aws/ec2/model/PaymentOption.h>
63 inline void SetDuration(
int value) { m_durationHasBeenSet =
true; m_duration = value; }
73 template<
typename HostIdSetT = Aws::Vector<Aws::String>>
74 void SetHostIdSet(HostIdSetT&& value) { m_hostIdSetHasBeenSet =
true; m_hostIdSet = std::forward<HostIdSetT>(value); }
75 template<
typename HostIdSetT = Aws::Vector<Aws::String>>
77 template<
typename HostIdSetT = Aws::String>
78 Purchase&
AddHostIdSet(HostIdSetT&& value) { m_hostIdSetHasBeenSet =
true; m_hostIdSet.emplace_back(std::forward<HostIdSetT>(value));
return *
this; }
87 template<
typename HostReservationIdT = Aws::String>
88 void SetHostReservationId(HostReservationIdT&& value) { m_hostReservationIdHasBeenSet =
true; m_hostReservationId = std::forward<HostReservationIdT>(value); }
89 template<
typename HostReservationIdT = Aws::String>
99 template<
typename HourlyPriceT = Aws::String>
100 void SetHourlyPrice(HourlyPriceT&& value) { m_hourlyPriceHasBeenSet =
true; m_hourlyPrice = std::forward<HourlyPriceT>(value); }
101 template<
typename HourlyPriceT = Aws::String>
112 template<
typename InstanceFamilyT = Aws::String>
113 void SetInstanceFamily(InstanceFamilyT&& value) { m_instanceFamilyHasBeenSet =
true; m_instanceFamily = std::forward<InstanceFamilyT>(value); }
114 template<
typename InstanceFamilyT = Aws::String>
134 template<
typename UpfrontPriceT = Aws::String>
135 void SetUpfrontPrice(UpfrontPriceT&& value) { m_upfrontPriceHasBeenSet =
true; m_upfrontPrice = std::forward<UpfrontPriceT>(value); }
136 template<
typename UpfrontPriceT = Aws::String>
142 bool m_currencyCodeHasBeenSet =
false;
145 bool m_durationHasBeenSet =
false;
148 bool m_hostIdSetHasBeenSet =
false;
151 bool m_hostReservationIdHasBeenSet =
false;
154 bool m_hourlyPriceHasBeenSet =
false;
157 bool m_instanceFamilyHasBeenSet =
false;
160 bool m_paymentOptionHasBeenSet =
false;
163 bool m_upfrontPriceHasBeenSet =
false;
bool HourlyPriceHasBeenSet() const
const Aws::String & GetInstanceFamily() const
AWS_EC2_API Purchase & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
bool HostIdSetHasBeenSet() const
const Aws::String & GetHostReservationId() const
Purchase & WithInstanceFamily(InstanceFamilyT &&value)
Purchase & AddHostIdSet(HostIdSetT &&value)
Purchase & WithHostReservationId(HostReservationIdT &&value)
void SetCurrencyCode(CurrencyCodeValues value)
void SetHostIdSet(HostIdSetT &&value)
bool CurrencyCodeHasBeenSet() const
Purchase & WithUpfrontPrice(UpfrontPriceT &&value)
const Aws::Vector< Aws::String > & GetHostIdSet() const
AWS_EC2_API Purchase(const Aws::Utils::Xml::XmlNode &xmlNode)
bool InstanceFamilyHasBeenSet() const
bool DurationHasBeenSet() const
Purchase & WithHourlyPrice(HourlyPriceT &&value)
void SetHostReservationId(HostReservationIdT &&value)
void SetInstanceFamily(InstanceFamilyT &&value)
Purchase & WithCurrencyCode(CurrencyCodeValues value)
AWS_EC2_API Purchase()=default
Purchase & WithPaymentOption(PaymentOption value)
Purchase & WithHostIdSet(HostIdSetT &&value)
bool UpfrontPriceHasBeenSet() const
void SetDuration(int value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
CurrencyCodeValues GetCurrencyCode() const
bool HostReservationIdHasBeenSet() const
Purchase & WithDuration(int value)
PaymentOption GetPaymentOption() const
void SetHourlyPrice(HourlyPriceT &&value)
const Aws::String & GetHourlyPrice() const
const Aws::String & GetUpfrontPrice() const
void SetUpfrontPrice(UpfrontPriceT &&value)
bool PaymentOptionHasBeenSet() const
void SetPaymentOption(PaymentOption 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