7#include <aws/ec2/EC2_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/DateTime.h>
11#include <aws/ec2/model/ScheduledInstanceRecurrence.h>
51 template<
typename AvailabilityZoneT = Aws::String>
52 void SetAvailabilityZone(AvailabilityZoneT&& value) { m_availabilityZoneHasBeenSet =
true; m_availabilityZone = std::forward<AvailabilityZoneT>(value); }
53 template<
typename AvailabilityZoneT = Aws::String>
73 template<
typename FirstSlotStartTimeT = Aws::Utils::DateTime>
74 void SetFirstSlotStartTime(FirstSlotStartTimeT&& value) { m_firstSlotStartTimeHasBeenSet =
true; m_firstSlotStartTime = std::forward<FirstSlotStartTimeT>(value); }
75 template<
typename FirstSlotStartTimeT = Aws::Utils::DateTime>
85 template<
typename HourlyPriceT = Aws::String>
86 void SetHourlyPrice(HourlyPriceT&& value) { m_hourlyPriceHasBeenSet =
true; m_hourlyPrice = std::forward<HourlyPriceT>(value); }
87 template<
typename HourlyPriceT = Aws::String>
98 template<
typename InstanceTypeT = Aws::String>
99 void SetInstanceType(InstanceTypeT&& value) { m_instanceTypeHasBeenSet =
true; m_instanceType = std::forward<InstanceTypeT>(value); }
100 template<
typename InstanceTypeT = Aws::String>
130 template<
typename NetworkPlatformT = Aws::String>
131 void SetNetworkPlatform(NetworkPlatformT&& value) { m_networkPlatformHasBeenSet =
true; m_networkPlatform = std::forward<NetworkPlatformT>(value); }
132 template<
typename NetworkPlatformT = Aws::String>
142 template<
typename PlatformT = Aws::String>
143 void SetPlatform(PlatformT&& value) { m_platformHasBeenSet =
true; m_platform = std::forward<PlatformT>(value); }
144 template<
typename PlatformT = Aws::String>
154 template<
typename PurchaseTokenT = Aws::String>
155 void SetPurchaseToken(PurchaseTokenT&& value) { m_purchaseTokenHasBeenSet =
true; m_purchaseToken = std::forward<PurchaseTokenT>(value); }
156 template<
typename PurchaseTokenT = Aws::String>
166 template<
typename RecurrenceT = ScheduledInstanceRecurrence>
167 void SetRecurrence(RecurrenceT&& value) { m_recurrenceHasBeenSet =
true; m_recurrence = std::forward<RecurrenceT>(value); }
168 template<
typename RecurrenceT = ScheduledInstanceRecurrence>
194 bool m_availabilityZoneHasBeenSet =
false;
196 int m_availableInstanceCount{0};
197 bool m_availableInstanceCountHasBeenSet =
false;
200 bool m_firstSlotStartTimeHasBeenSet =
false;
203 bool m_hourlyPriceHasBeenSet =
false;
206 bool m_instanceTypeHasBeenSet =
false;
208 int m_maxTermDurationInDays{0};
209 bool m_maxTermDurationInDaysHasBeenSet =
false;
211 int m_minTermDurationInDays{0};
212 bool m_minTermDurationInDaysHasBeenSet =
false;
215 bool m_networkPlatformHasBeenSet =
false;
218 bool m_platformHasBeenSet =
false;
221 bool m_purchaseTokenHasBeenSet =
false;
223 ScheduledInstanceRecurrence m_recurrence;
224 bool m_recurrenceHasBeenSet =
false;
226 int m_slotDurationInHours{0};
227 bool m_slotDurationInHoursHasBeenSet =
false;
229 int m_totalScheduledInstanceHours{0};
230 bool m_totalScheduledInstanceHoursHasBeenSet =
false;
bool FirstSlotStartTimeHasBeenSet() const
bool PurchaseTokenHasBeenSet() const
bool MaxTermDurationInDaysHasBeenSet() const
const Aws::String & GetHourlyPrice() const
int GetMinTermDurationInDays() const
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
bool TotalScheduledInstanceHoursHasBeenSet() const
ScheduledInstanceAvailability & WithRecurrence(RecurrenceT &&value)
ScheduledInstanceAvailability & WithAvailableInstanceCount(int value)
void SetHourlyPrice(HourlyPriceT &&value)
void SetAvailabilityZone(AvailabilityZoneT &&value)
ScheduledInstanceAvailability & WithSlotDurationInHours(int value)
void SetAvailableInstanceCount(int value)
void SetSlotDurationInHours(int value)
const Aws::String & GetNetworkPlatform() const
void SetMinTermDurationInDays(int value)
const Aws::String & GetPurchaseToken() const
bool NetworkPlatformHasBeenSet() const
bool HourlyPriceHasBeenSet() const
void SetRecurrence(RecurrenceT &&value)
int GetSlotDurationInHours() const
AWS_EC2_API ScheduledInstanceAvailability()=default
void SetTotalScheduledInstanceHours(int value)
const Aws::String & GetPlatform() const
ScheduledInstanceAvailability & WithAvailabilityZone(AvailabilityZoneT &&value)
AWS_EC2_API ScheduledInstanceAvailability(const Aws::Utils::Xml::XmlNode &xmlNode)
ScheduledInstanceAvailability & WithInstanceType(InstanceTypeT &&value)
void SetInstanceType(InstanceTypeT &&value)
bool PlatformHasBeenSet() const
bool MinTermDurationInDaysHasBeenSet() const
AWS_EC2_API ScheduledInstanceAvailability & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetPurchaseToken(PurchaseTokenT &&value)
bool SlotDurationInHoursHasBeenSet() const
const ScheduledInstanceRecurrence & GetRecurrence() const
void SetPlatform(PlatformT &&value)
const Aws::Utils::DateTime & GetFirstSlotStartTime() const
bool AvailableInstanceCountHasBeenSet() const
ScheduledInstanceAvailability & WithMinTermDurationInDays(int value)
ScheduledInstanceAvailability & WithMaxTermDurationInDays(int value)
ScheduledInstanceAvailability & WithPlatform(PlatformT &&value)
int GetTotalScheduledInstanceHours() const
bool RecurrenceHasBeenSet() const
ScheduledInstanceAvailability & WithNetworkPlatform(NetworkPlatformT &&value)
const Aws::String & GetAvailabilityZone() const
int GetAvailableInstanceCount() const
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
bool InstanceTypeHasBeenSet() const
bool AvailabilityZoneHasBeenSet() const
ScheduledInstanceAvailability & WithHourlyPrice(HourlyPriceT &&value)
void SetFirstSlotStartTime(FirstSlotStartTimeT &&value)
ScheduledInstanceAvailability & WithPurchaseToken(PurchaseTokenT &&value)
ScheduledInstanceAvailability & WithTotalScheduledInstanceHours(int value)
void SetNetworkPlatform(NetworkPlatformT &&value)
int GetMaxTermDurationInDays() const
const Aws::String & GetInstanceType() const
ScheduledInstanceAvailability & WithFirstSlotStartTime(FirstSlotStartTimeT &&value)
void SetMaxTermDurationInDays(int value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::basic_ostream< char, std::char_traits< char > > OStream