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/ec2/EC2_EXPORTS.h>
11#include <aws/ec2/model/ScheduledInstanceRecurrence.h>
45 template <
typename AvailabilityZoneT = Aws::String>
47 m_availabilityZoneHasBeenSet =
true;
48 m_availabilityZone = std::forward<AvailabilityZoneT>(value);
50 template <
typename AvailabilityZoneT = Aws::String>
64 m_availableInstanceCountHasBeenSet =
true;
65 m_availableInstanceCount = value;
79 template <
typename FirstSlotStartTimeT = Aws::Utils::DateTime>
81 m_firstSlotStartTimeHasBeenSet =
true;
82 m_firstSlotStartTime = std::forward<FirstSlotStartTimeT>(value);
84 template <
typename FirstSlotStartTimeT = Aws::Utils::DateTime>
97 template <
typename HourlyPriceT = Aws::String>
99 m_hourlyPriceHasBeenSet =
true;
100 m_hourlyPrice = std::forward<HourlyPriceT>(value);
102 template <
typename HourlyPriceT = Aws::String>
116 template <
typename InstanceTypeT = Aws::String>
118 m_instanceTypeHasBeenSet =
true;
119 m_instanceType = std::forward<InstanceTypeT>(value);
121 template <
typename InstanceTypeT = Aws::String>
135 m_maxTermDurationInDaysHasBeenSet =
true;
136 m_maxTermDurationInDays = value;
151 m_minTermDurationInDaysHasBeenSet =
true;
152 m_minTermDurationInDays = value;
166 template <
typename NetworkPlatformT = Aws::String>
168 m_networkPlatformHasBeenSet =
true;
169 m_networkPlatform = std::forward<NetworkPlatformT>(value);
171 template <
typename NetworkPlatformT = Aws::String>
184 template <
typename PlatformT = Aws::String>
186 m_platformHasBeenSet =
true;
187 m_platform = std::forward<PlatformT>(value);
189 template <
typename PlatformT = Aws::String>
202 template <
typename PurchaseTokenT = Aws::String>
204 m_purchaseTokenHasBeenSet =
true;
205 m_purchaseToken = std::forward<PurchaseTokenT>(value);
207 template <
typename PurchaseTokenT = Aws::String>
220 template <
typename RecurrenceT = ScheduledInstanceRecurrence>
222 m_recurrenceHasBeenSet =
true;
223 m_recurrence = std::forward<RecurrenceT>(value);
225 template <
typename RecurrenceT = ScheduledInstanceRecurrence>
239 m_slotDurationInHoursHasBeenSet =
true;
240 m_slotDurationInHours = value;
255 m_totalScheduledInstanceHoursHasBeenSet =
true;
256 m_totalScheduledInstanceHours = value;
266 int m_availableInstanceCount{0};
274 int m_maxTermDurationInDays{0};
276 int m_minTermDurationInDays{0};
284 ScheduledInstanceRecurrence m_recurrence;
286 int m_slotDurationInHours{0};
288 int m_totalScheduledInstanceHours{0};
289 bool m_availabilityZoneHasBeenSet =
false;
290 bool m_availableInstanceCountHasBeenSet =
false;
291 bool m_firstSlotStartTimeHasBeenSet =
false;
292 bool m_hourlyPriceHasBeenSet =
false;
293 bool m_instanceTypeHasBeenSet =
false;
294 bool m_maxTermDurationInDaysHasBeenSet =
false;
295 bool m_minTermDurationInDaysHasBeenSet =
false;
296 bool m_networkPlatformHasBeenSet =
false;
297 bool m_platformHasBeenSet =
false;
298 bool m_purchaseTokenHasBeenSet =
false;
299 bool m_recurrenceHasBeenSet =
false;
300 bool m_slotDurationInHoursHasBeenSet =
false;
301 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