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/core/utils/DateTime.h>
18#include <aws/ec2/model/RIProductDescription.h>
19#include <aws/ec2/model/ReservedInstanceState.h>
20#include <aws/ec2/model/RecurringCharge.h>
21#include <aws/ec2/model/Tag.h>
102 template<
typename RecurringChargesT = Aws::Vector<RecurringCharge>>
103 void SetRecurringCharges(RecurringChargesT&& value) { m_recurringChargesHasBeenSet =
true; m_recurringCharges = std::forward<RecurringChargesT>(value); }
104 template<
typename RecurringChargesT = Aws::Vector<RecurringCharge>>
106 template<
typename RecurringChargesT = RecurringCharge>
107 ReservedInstances&
AddRecurringCharges(RecurringChargesT&& value) { m_recurringChargesHasBeenSet =
true; m_recurringCharges.emplace_back(std::forward<RecurringChargesT>(value));
return *
this; }
116 inline void SetScope(
Scope value) { m_scopeHasBeenSet =
true; m_scope = value; }
126 template<
typename TagsT = Aws::Vector<Tag>>
127 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
128 template<
typename TagsT = Aws::Vector<Tag>>
130 template<
typename TagsT = Tag>
131 ReservedInstances&
AddTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags.emplace_back(std::forward<TagsT>(value));
return *
this; }
140 template<
typename AvailabilityZoneIdT = Aws::String>
141 void SetAvailabilityZoneId(AvailabilityZoneIdT&& value) { m_availabilityZoneIdHasBeenSet =
true; m_availabilityZoneId = std::forward<AvailabilityZoneIdT>(value); }
142 template<
typename AvailabilityZoneIdT = Aws::String>
152 template<
typename ReservedInstancesIdT = Aws::String>
153 void SetReservedInstancesId(ReservedInstancesIdT&& value) { m_reservedInstancesIdHasBeenSet =
true; m_reservedInstancesId = std::forward<ReservedInstancesIdT>(value); }
154 template<
typename ReservedInstancesIdT = Aws::String>
174 template<
typename AvailabilityZoneT = Aws::String>
175 void SetAvailabilityZone(AvailabilityZoneT&& value) { m_availabilityZoneHasBeenSet =
true; m_availabilityZone = std::forward<AvailabilityZoneT>(value); }
176 template<
typename AvailabilityZoneT = Aws::String>
186 template<
typename StartT = Aws::Utils::DateTime>
187 void SetStart(StartT&& value) { m_startHasBeenSet =
true; m_start = std::forward<StartT>(value); }
188 template<
typename StartT = Aws::Utils::DateTime>
198 template<
typename EndT = Aws::Utils::DateTime>
199 void SetEnd(EndT&& value) { m_endHasBeenSet =
true; m_end = std::forward<EndT>(value); }
200 template<
typename EndT = Aws::Utils::DateTime>
210 inline void SetDuration(
long long value) { m_durationHasBeenSet =
true; m_duration = value; }
220 inline void SetUsagePrice(
double value) { m_usagePriceHasBeenSet =
true; m_usagePrice = value; }
230 inline void SetFixedPrice(
double value) { m_fixedPriceHasBeenSet =
true; m_fixedPrice = value; }
240 inline void SetInstanceCount(
int value) { m_instanceCountHasBeenSet =
true; m_instanceCount = value; }
266 bool m_currencyCodeHasBeenSet =
false;
269 bool m_instanceTenancyHasBeenSet =
false;
272 bool m_offeringClassHasBeenSet =
false;
275 bool m_offeringTypeHasBeenSet =
false;
278 bool m_recurringChargesHasBeenSet =
false;
281 bool m_scopeHasBeenSet =
false;
284 bool m_tagsHasBeenSet =
false;
287 bool m_availabilityZoneIdHasBeenSet =
false;
290 bool m_reservedInstancesIdHasBeenSet =
false;
293 bool m_instanceTypeHasBeenSet =
false;
296 bool m_availabilityZoneHasBeenSet =
false;
299 bool m_startHasBeenSet =
false;
302 bool m_endHasBeenSet =
false;
304 long long m_duration{0};
305 bool m_durationHasBeenSet =
false;
307 double m_usagePrice{0.0};
308 bool m_usagePriceHasBeenSet =
false;
310 double m_fixedPrice{0.0};
311 bool m_fixedPriceHasBeenSet =
false;
313 int m_instanceCount{0};
314 bool m_instanceCountHasBeenSet =
false;
317 bool m_productDescriptionHasBeenSet =
false;
320 bool m_stateHasBeenSet =
false;
ReservedInstanceState GetState() const
const Aws::Utils::DateTime & GetStart() const
double GetFixedPrice() const
Tenancy GetInstanceTenancy() const
ReservedInstances & WithOfferingType(OfferingTypeValues value)
bool UsagePriceHasBeenSet() const
bool InstanceTypeHasBeenSet() const
bool ReservedInstancesIdHasBeenSet() const
void SetFixedPrice(double value)
bool TagsHasBeenSet() const
bool InstanceCountHasBeenSet() const
InstanceType GetInstanceType() const
ReservedInstances & WithEnd(EndT &&value)
bool ScopeHasBeenSet() const
void SetOfferingType(OfferingTypeValues value)
AWS_EC2_API ReservedInstances()=default
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
CurrencyCodeValues GetCurrencyCode() const
ReservedInstances & WithState(ReservedInstanceState value)
ReservedInstances & WithTags(TagsT &&value)
void SetTags(TagsT &&value)
void SetInstanceCount(int value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
const Aws::String & GetAvailabilityZoneId() const
void SetInstanceTenancy(Tenancy value)
ReservedInstances & WithInstanceTenancy(Tenancy value)
ReservedInstances & AddTags(TagsT &&value)
void SetAvailabilityZoneId(AvailabilityZoneIdT &&value)
ReservedInstances & WithFixedPrice(double value)
bool InstanceTenancyHasBeenSet() const
bool AvailabilityZoneIdHasBeenSet() const
AWS_EC2_API ReservedInstances(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetUsagePrice(double value)
bool StartHasBeenSet() const
void SetCurrencyCode(CurrencyCodeValues value)
bool RecurringChargesHasBeenSet() const
ReservedInstances & WithAvailabilityZone(AvailabilityZoneT &&value)
ReservedInstances & WithScope(Scope value)
bool OfferingClassHasBeenSet() const
RIProductDescription GetProductDescription() const
ReservedInstances & WithInstanceCount(int value)
AWS_EC2_API ReservedInstances & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
const Aws::String & GetAvailabilityZone() const
void SetAvailabilityZone(AvailabilityZoneT &&value)
ReservedInstances & WithInstanceType(InstanceType value)
void SetScope(Scope value)
ReservedInstances & WithDuration(long long value)
ReservedInstances & WithAvailabilityZoneId(AvailabilityZoneIdT &&value)
void SetRecurringCharges(RecurringChargesT &&value)
void SetStart(StartT &&value)
OfferingClassType GetOfferingClass() const
long long GetDuration() const
const Aws::Vector< Tag > & GetTags() const
bool AvailabilityZoneHasBeenSet() const
void SetInstanceType(InstanceType value)
const Aws::Utils::DateTime & GetEnd() const
ReservedInstances & WithReservedInstancesId(ReservedInstancesIdT &&value)
ReservedInstances & AddRecurringCharges(RecurringChargesT &&value)
ReservedInstances & WithCurrencyCode(CurrencyCodeValues value)
const Aws::String & GetReservedInstancesId() const
int GetInstanceCount() const
void SetDuration(long long value)
bool DurationHasBeenSet() const
bool OfferingTypeHasBeenSet() const
void SetOfferingClass(OfferingClassType value)
ReservedInstances & WithProductDescription(RIProductDescription value)
bool ProductDescriptionHasBeenSet() const
void SetState(ReservedInstanceState value)
bool StateHasBeenSet() const
double GetUsagePrice() const
ReservedInstances & WithOfferingClass(OfferingClassType value)
OfferingTypeValues GetOfferingType() const
bool EndHasBeenSet() const
void SetReservedInstancesId(ReservedInstancesIdT &&value)
const Aws::Vector< RecurringCharge > & GetRecurringCharges() const
bool CurrencyCodeHasBeenSet() const
void SetEnd(EndT &&value)
void SetProductDescription(RIProductDescription value)
ReservedInstances & WithUsagePrice(double value)
ReservedInstances & WithStart(StartT &&value)
ReservedInstances & WithRecurringCharges(RecurringChargesT &&value)
bool FixedPriceHasBeenSet() const
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