7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/ec2/EC2_EXPORTS.h>
12#include <aws/ec2/model/CurrencyCodeValues.h>
13#include <aws/ec2/model/InstanceType.h>
14#include <aws/ec2/model/OfferingClassType.h>
15#include <aws/ec2/model/OfferingTypeValues.h>
16#include <aws/ec2/model/RIProductDescription.h>
17#include <aws/ec2/model/RecurringCharge.h>
18#include <aws/ec2/model/ReservedInstanceState.h>
19#include <aws/ec2/model/Scope.h>
20#include <aws/ec2/model/Tag.h>
21#include <aws/ec2/model/Tenancy.h>
57 m_currencyCodeHasBeenSet =
true;
58 m_currencyCode = value;
73 m_instanceTenancyHasBeenSet =
true;
74 m_instanceTenancy = value;
89 m_offeringClassHasBeenSet =
true;
90 m_offeringClass = value;
105 m_offeringTypeHasBeenSet =
true;
106 m_offeringType = value;
120 template <
typename RecurringChargesT = Aws::Vector<RecurringCharge>>
122 m_recurringChargesHasBeenSet =
true;
123 m_recurringCharges = std::forward<RecurringChargesT>(value);
125 template <
typename RecurringChargesT = Aws::Vector<RecurringCharge>>
130 template <
typename RecurringChargesT = RecurringCharge>
132 m_recurringChargesHasBeenSet =
true;
133 m_recurringCharges.emplace_back(std::forward<RecurringChargesT>(value));
145 m_scopeHasBeenSet =
true;
160 template <
typename TagsT = Aws::Vector<Tag>>
162 m_tagsHasBeenSet =
true;
163 m_tags = std::forward<TagsT>(value);
165 template <
typename TagsT = Aws::Vector<Tag>>
167 SetTags(std::forward<TagsT>(value));
170 template <
typename TagsT = Tag>
172 m_tagsHasBeenSet =
true;
173 m_tags.emplace_back(std::forward<TagsT>(value));
184 template <
typename AvailabilityZoneIdT = Aws::String>
186 m_availabilityZoneIdHasBeenSet =
true;
187 m_availabilityZoneId = std::forward<AvailabilityZoneIdT>(value);
189 template <
typename AvailabilityZoneIdT = Aws::String>
202 template <
typename ReservedInstancesIdT = Aws::String>
204 m_reservedInstancesIdHasBeenSet =
true;
205 m_reservedInstancesId = std::forward<ReservedInstancesIdT>(value);
207 template <
typename ReservedInstancesIdT = Aws::String>
221 m_instanceTypeHasBeenSet =
true;
222 m_instanceType = value;
236 template <
typename AvailabilityZoneT = Aws::String>
238 m_availabilityZoneHasBeenSet =
true;
239 m_availabilityZone = std::forward<AvailabilityZoneT>(value);
241 template <
typename AvailabilityZoneT = Aws::String>
254 template <
typename StartT = Aws::Utils::DateTime>
256 m_startHasBeenSet =
true;
257 m_start = std::forward<StartT>(value);
259 template <
typename StartT = Aws::Utils::DateTime>
261 SetStart(std::forward<StartT>(value));
272 template <
typename EndT = Aws::Utils::DateTime>
274 m_endHasBeenSet =
true;
275 m_end = std::forward<EndT>(value);
277 template <
typename EndT = Aws::Utils::DateTime>
279 SetEnd(std::forward<EndT>(value));
291 m_durationHasBeenSet =
true;
307 m_usagePriceHasBeenSet =
true;
308 m_usagePrice = value;
323 m_fixedPriceHasBeenSet =
true;
324 m_fixedPrice = value;
339 m_instanceCountHasBeenSet =
true;
340 m_instanceCount = value;
355 m_productDescriptionHasBeenSet =
true;
356 m_productDescription = value;
371 m_stateHasBeenSet =
true;
406 long long m_duration{0};
408 double m_usagePrice{0.0};
410 double m_fixedPrice{0.0};
412 int m_instanceCount{0};
417 bool m_currencyCodeHasBeenSet =
false;
418 bool m_instanceTenancyHasBeenSet =
false;
419 bool m_offeringClassHasBeenSet =
false;
420 bool m_offeringTypeHasBeenSet =
false;
421 bool m_recurringChargesHasBeenSet =
false;
422 bool m_scopeHasBeenSet =
false;
423 bool m_tagsHasBeenSet =
false;
424 bool m_availabilityZoneIdHasBeenSet =
false;
425 bool m_reservedInstancesIdHasBeenSet =
false;
426 bool m_instanceTypeHasBeenSet =
false;
427 bool m_availabilityZoneHasBeenSet =
false;
428 bool m_startHasBeenSet =
false;
429 bool m_endHasBeenSet =
false;
430 bool m_durationHasBeenSet =
false;
431 bool m_usagePriceHasBeenSet =
false;
432 bool m_fixedPriceHasBeenSet =
false;
433 bool m_instanceCountHasBeenSet =
false;
434 bool m_productDescriptionHasBeenSet =
false;
435 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