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>
50 template<
typename AvailabilityZoneT = Aws::String>
51 void SetAvailabilityZone(AvailabilityZoneT&& value) { m_availabilityZoneHasBeenSet =
true; m_availabilityZone = std::forward<AvailabilityZoneT>(value); }
52 template<
typename AvailabilityZoneT = Aws::String>
62 template<
typename CreateDateT = Aws::Utils::DateTime>
63 void SetCreateDate(CreateDateT&& value) { m_createDateHasBeenSet =
true; m_createDate = std::forward<CreateDateT>(value); }
64 template<
typename CreateDateT = Aws::Utils::DateTime>
74 template<
typename HourlyPriceT = Aws::String>
75 void SetHourlyPrice(HourlyPriceT&& value) { m_hourlyPriceHasBeenSet =
true; m_hourlyPrice = std::forward<HourlyPriceT>(value); }
76 template<
typename HourlyPriceT = Aws::String>
86 inline void SetInstanceCount(
int value) { m_instanceCountHasBeenSet =
true; m_instanceCount = value; }
96 template<
typename InstanceTypeT = Aws::String>
97 void SetInstanceType(InstanceTypeT&& value) { m_instanceTypeHasBeenSet =
true; m_instanceType = std::forward<InstanceTypeT>(value); }
98 template<
typename InstanceTypeT = Aws::String>
108 template<
typename NetworkPlatformT = Aws::String>
109 void SetNetworkPlatform(NetworkPlatformT&& value) { m_networkPlatformHasBeenSet =
true; m_networkPlatform = std::forward<NetworkPlatformT>(value); }
110 template<
typename NetworkPlatformT = Aws::String>
120 template<
typename NextSlotStartTimeT = Aws::Utils::DateTime>
121 void SetNextSlotStartTime(NextSlotStartTimeT&& value) { m_nextSlotStartTimeHasBeenSet =
true; m_nextSlotStartTime = std::forward<NextSlotStartTimeT>(value); }
122 template<
typename NextSlotStartTimeT = Aws::Utils::DateTime>
132 template<
typename PlatformT = Aws::String>
133 void SetPlatform(PlatformT&& value) { m_platformHasBeenSet =
true; m_platform = std::forward<PlatformT>(value); }
134 template<
typename PlatformT = Aws::String>
144 template<
typename PreviousSlotEndTimeT = Aws::Utils::DateTime>
145 void SetPreviousSlotEndTime(PreviousSlotEndTimeT&& value) { m_previousSlotEndTimeHasBeenSet =
true; m_previousSlotEndTime = std::forward<PreviousSlotEndTimeT>(value); }
146 template<
typename PreviousSlotEndTimeT = Aws::Utils::DateTime>
156 template<
typename RecurrenceT = ScheduledInstanceRecurrence>
157 void SetRecurrence(RecurrenceT&& value) { m_recurrenceHasBeenSet =
true; m_recurrence = std::forward<RecurrenceT>(value); }
158 template<
typename RecurrenceT = ScheduledInstanceRecurrence>
168 template<
typename ScheduledInstanceIdT = Aws::String>
169 void SetScheduledInstanceId(ScheduledInstanceIdT&& value) { m_scheduledInstanceIdHasBeenSet =
true; m_scheduledInstanceId = std::forward<ScheduledInstanceIdT>(value); }
170 template<
typename ScheduledInstanceIdT = Aws::String>
190 template<
typename TermEndDateT = Aws::Utils::DateTime>
191 void SetTermEndDate(TermEndDateT&& value) { m_termEndDateHasBeenSet =
true; m_termEndDate = std::forward<TermEndDateT>(value); }
192 template<
typename TermEndDateT = Aws::Utils::DateTime>
202 template<
typename TermStartDateT = Aws::Utils::DateTime>
203 void SetTermStartDate(TermStartDateT&& value) { m_termStartDateHasBeenSet =
true; m_termStartDate = std::forward<TermStartDateT>(value); }
204 template<
typename TermStartDateT = Aws::Utils::DateTime>
220 bool m_availabilityZoneHasBeenSet =
false;
223 bool m_createDateHasBeenSet =
false;
226 bool m_hourlyPriceHasBeenSet =
false;
228 int m_instanceCount{0};
229 bool m_instanceCountHasBeenSet =
false;
232 bool m_instanceTypeHasBeenSet =
false;
235 bool m_networkPlatformHasBeenSet =
false;
238 bool m_nextSlotStartTimeHasBeenSet =
false;
241 bool m_platformHasBeenSet =
false;
244 bool m_previousSlotEndTimeHasBeenSet =
false;
246 ScheduledInstanceRecurrence m_recurrence;
247 bool m_recurrenceHasBeenSet =
false;
250 bool m_scheduledInstanceIdHasBeenSet =
false;
252 int m_slotDurationInHours{0};
253 bool m_slotDurationInHoursHasBeenSet =
false;
256 bool m_termEndDateHasBeenSet =
false;
259 bool m_termStartDateHasBeenSet =
false;
261 int m_totalScheduledInstanceHours{0};
262 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