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>
44 template <
typename AvailabilityZoneT = Aws::String>
46 m_availabilityZoneHasBeenSet =
true;
47 m_availabilityZone = std::forward<AvailabilityZoneT>(value);
49 template <
typename AvailabilityZoneT = Aws::String>
62 template <
typename CreateDateT = Aws::Utils::DateTime>
64 m_createDateHasBeenSet =
true;
65 m_createDate = std::forward<CreateDateT>(value);
67 template <
typename CreateDateT = Aws::Utils::DateTime>
80 template <
typename HourlyPriceT = Aws::String>
82 m_hourlyPriceHasBeenSet =
true;
83 m_hourlyPrice = std::forward<HourlyPriceT>(value);
85 template <
typename HourlyPriceT = Aws::String>
99 m_instanceCountHasBeenSet =
true;
100 m_instanceCount = value;
114 template <
typename InstanceTypeT = Aws::String>
116 m_instanceTypeHasBeenSet =
true;
117 m_instanceType = std::forward<InstanceTypeT>(value);
119 template <
typename InstanceTypeT = Aws::String>
132 template <
typename NetworkPlatformT = Aws::String>
134 m_networkPlatformHasBeenSet =
true;
135 m_networkPlatform = std::forward<NetworkPlatformT>(value);
137 template <
typename NetworkPlatformT = Aws::String>
150 template <
typename NextSlotStartTimeT = Aws::Utils::DateTime>
152 m_nextSlotStartTimeHasBeenSet =
true;
153 m_nextSlotStartTime = std::forward<NextSlotStartTimeT>(value);
155 template <
typename NextSlotStartTimeT = Aws::Utils::DateTime>
168 template <
typename PlatformT = Aws::String>
170 m_platformHasBeenSet =
true;
171 m_platform = std::forward<PlatformT>(value);
173 template <
typename PlatformT = Aws::String>
186 template <
typename PreviousSlotEndTimeT = Aws::Utils::DateTime>
188 m_previousSlotEndTimeHasBeenSet =
true;
189 m_previousSlotEndTime = std::forward<PreviousSlotEndTimeT>(value);
191 template <
typename PreviousSlotEndTimeT = Aws::Utils::DateTime>
204 template <
typename RecurrenceT = ScheduledInstanceRecurrence>
206 m_recurrenceHasBeenSet =
true;
207 m_recurrence = std::forward<RecurrenceT>(value);
209 template <
typename RecurrenceT = ScheduledInstanceRecurrence>
222 template <
typename ScheduledInstanceIdT = Aws::String>
224 m_scheduledInstanceIdHasBeenSet =
true;
225 m_scheduledInstanceId = std::forward<ScheduledInstanceIdT>(value);
227 template <
typename ScheduledInstanceIdT = Aws::String>
241 m_slotDurationInHoursHasBeenSet =
true;
242 m_slotDurationInHours = value;
256 template <
typename TermEndDateT = Aws::Utils::DateTime>
258 m_termEndDateHasBeenSet =
true;
259 m_termEndDate = std::forward<TermEndDateT>(value);
261 template <
typename TermEndDateT = Aws::Utils::DateTime>
274 template <
typename TermStartDateT = Aws::Utils::DateTime>
276 m_termStartDateHasBeenSet =
true;
277 m_termStartDate = std::forward<TermStartDateT>(value);
279 template <
typename TermStartDateT = Aws::Utils::DateTime>
293 m_totalScheduledInstanceHoursHasBeenSet =
true;
294 m_totalScheduledInstanceHours = value;
308 int m_instanceCount{0};
320 ScheduledInstanceRecurrence m_recurrence;
324 int m_slotDurationInHours{0};
330 int m_totalScheduledInstanceHours{0};
331 bool m_availabilityZoneHasBeenSet =
false;
332 bool m_createDateHasBeenSet =
false;
333 bool m_hourlyPriceHasBeenSet =
false;
334 bool m_instanceCountHasBeenSet =
false;
335 bool m_instanceTypeHasBeenSet =
false;
336 bool m_networkPlatformHasBeenSet =
false;
337 bool m_nextSlotStartTimeHasBeenSet =
false;
338 bool m_platformHasBeenSet =
false;
339 bool m_previousSlotEndTimeHasBeenSet =
false;
340 bool m_recurrenceHasBeenSet =
false;
341 bool m_scheduledInstanceIdHasBeenSet =
false;
342 bool m_slotDurationInHoursHasBeenSet =
false;
343 bool m_termEndDateHasBeenSet =
false;
344 bool m_termStartDateHasBeenSet =
false;
345 bool m_totalScheduledInstanceHoursHasBeenSet =
false;
bool NetworkPlatformHasBeenSet() const
bool TermStartDateHasBeenSet() const
bool InstanceCountHasBeenSet() const
void SetAvailabilityZone(AvailabilityZoneT &&value)
const ScheduledInstanceRecurrence & GetRecurrence() const
ScheduledInstance & WithScheduledInstanceId(ScheduledInstanceIdT &&value)
const Aws::Utils::DateTime & GetNextSlotStartTime() const
const Aws::String & GetHourlyPrice() const
ScheduledInstance & WithPreviousSlotEndTime(PreviousSlotEndTimeT &&value)
bool TermEndDateHasBeenSet() const
AWS_EC2_API ScheduledInstance & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
ScheduledInstance & WithTotalScheduledInstanceHours(int value)
void SetNetworkPlatform(NetworkPlatformT &&value)
bool TotalScheduledInstanceHoursHasBeenSet() const
ScheduledInstance & WithAvailabilityZone(AvailabilityZoneT &&value)
void SetScheduledInstanceId(ScheduledInstanceIdT &&value)
ScheduledInstance & WithNextSlotStartTime(NextSlotStartTimeT &&value)
void SetPreviousSlotEndTime(PreviousSlotEndTimeT &&value)
const Aws::String & GetNetworkPlatform() const
bool RecurrenceHasBeenSet() const
ScheduledInstance & WithSlotDurationInHours(int value)
bool InstanceTypeHasBeenSet() const
ScheduledInstance & WithTermStartDate(TermStartDateT &&value)
bool HourlyPriceHasBeenSet() const
ScheduledInstance & WithTermEndDate(TermEndDateT &&value)
bool ScheduledInstanceIdHasBeenSet() const
AWS_EC2_API ScheduledInstance(const Aws::Utils::Xml::XmlNode &xmlNode)
const Aws::String & GetInstanceType() const
void SetNextSlotStartTime(NextSlotStartTimeT &&value)
bool SlotDurationInHoursHasBeenSet() const
void SetHourlyPrice(HourlyPriceT &&value)
ScheduledInstance & WithRecurrence(RecurrenceT &&value)
int GetTotalScheduledInstanceHours() const
void SetRecurrence(RecurrenceT &&value)
const Aws::String & GetPlatform() const
const Aws::Utils::DateTime & GetTermStartDate() const
ScheduledInstance & WithHourlyPrice(HourlyPriceT &&value)
bool PreviousSlotEndTimeHasBeenSet() const
ScheduledInstance & WithNetworkPlatform(NetworkPlatformT &&value)
bool PlatformHasBeenSet() const
void SetCreateDate(CreateDateT &&value)
ScheduledInstance & WithInstanceType(InstanceTypeT &&value)
const Aws::Utils::DateTime & GetCreateDate() const
void SetTermStartDate(TermStartDateT &&value)
AWS_EC2_API ScheduledInstance()=default
void SetTotalScheduledInstanceHours(int value)
const Aws::Utils::DateTime & GetTermEndDate() const
const Aws::String & GetScheduledInstanceId() const
void SetSlotDurationInHours(int value)
const Aws::Utils::DateTime & GetPreviousSlotEndTime() const
void SetInstanceType(InstanceTypeT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
void SetPlatform(PlatformT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
bool NextSlotStartTimeHasBeenSet() const
const Aws::String & GetAvailabilityZone() const
int GetSlotDurationInHours() const
bool AvailabilityZoneHasBeenSet() const
void SetTermEndDate(TermEndDateT &&value)
int GetInstanceCount() const
ScheduledInstance & WithInstanceCount(int value)
void SetInstanceCount(int value)
ScheduledInstance & WithCreateDate(CreateDateT &&value)
ScheduledInstance & WithPlatform(PlatformT &&value)
bool CreateDateHasBeenSet() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::basic_ostream< char, std::char_traits< char > > OStream