AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
ScheduledInstance.h
1
6#pragma once
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>
12#include <utility>
13
14namespace Aws
15{
16namespace Utils
17{
18namespace Xml
19{
20 class XmlNode;
21} // namespace Xml
22} // namespace Utils
23namespace EC2
24{
25namespace Model
26{
27
34 {
35 public:
36 AWS_EC2_API ScheduledInstance() = default;
37 AWS_EC2_API ScheduledInstance(const Aws::Utils::Xml::XmlNode& xmlNode);
39
40 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
41 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
42
43
45
48 inline const Aws::String& GetAvailabilityZone() const { return m_availabilityZone; }
49 inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; }
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>
53 ScheduledInstance& WithAvailabilityZone(AvailabilityZoneT&& value) { SetAvailabilityZone(std::forward<AvailabilityZoneT>(value)); return *this;}
55
57
60 inline const Aws::Utils::DateTime& GetCreateDate() const { return m_createDate; }
61 inline bool CreateDateHasBeenSet() const { return m_createDateHasBeenSet; }
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>
65 ScheduledInstance& WithCreateDate(CreateDateT&& value) { SetCreateDate(std::forward<CreateDateT>(value)); return *this;}
67
69
72 inline const Aws::String& GetHourlyPrice() const { return m_hourlyPrice; }
73 inline bool HourlyPriceHasBeenSet() const { return m_hourlyPriceHasBeenSet; }
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>
77 ScheduledInstance& WithHourlyPrice(HourlyPriceT&& value) { SetHourlyPrice(std::forward<HourlyPriceT>(value)); return *this;}
79
81
84 inline int GetInstanceCount() const { return m_instanceCount; }
85 inline bool InstanceCountHasBeenSet() const { return m_instanceCountHasBeenSet; }
86 inline void SetInstanceCount(int value) { m_instanceCountHasBeenSet = true; m_instanceCount = value; }
87 inline ScheduledInstance& WithInstanceCount(int value) { SetInstanceCount(value); return *this;}
89
91
94 inline const Aws::String& GetInstanceType() const { return m_instanceType; }
95 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
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>
99 ScheduledInstance& WithInstanceType(InstanceTypeT&& value) { SetInstanceType(std::forward<InstanceTypeT>(value)); return *this;}
101
103
106 inline const Aws::String& GetNetworkPlatform() const { return m_networkPlatform; }
107 inline bool NetworkPlatformHasBeenSet() const { return m_networkPlatformHasBeenSet; }
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>
111 ScheduledInstance& WithNetworkPlatform(NetworkPlatformT&& value) { SetNetworkPlatform(std::forward<NetworkPlatformT>(value)); return *this;}
113
115
118 inline const Aws::Utils::DateTime& GetNextSlotStartTime() const { return m_nextSlotStartTime; }
119 inline bool NextSlotStartTimeHasBeenSet() const { return m_nextSlotStartTimeHasBeenSet; }
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>
123 ScheduledInstance& WithNextSlotStartTime(NextSlotStartTimeT&& value) { SetNextSlotStartTime(std::forward<NextSlotStartTimeT>(value)); return *this;}
125
127
130 inline const Aws::String& GetPlatform() const { return m_platform; }
131 inline bool PlatformHasBeenSet() const { return m_platformHasBeenSet; }
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>
135 ScheduledInstance& WithPlatform(PlatformT&& value) { SetPlatform(std::forward<PlatformT>(value)); return *this;}
137
139
142 inline const Aws::Utils::DateTime& GetPreviousSlotEndTime() const { return m_previousSlotEndTime; }
143 inline bool PreviousSlotEndTimeHasBeenSet() const { return m_previousSlotEndTimeHasBeenSet; }
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>
147 ScheduledInstance& WithPreviousSlotEndTime(PreviousSlotEndTimeT&& value) { SetPreviousSlotEndTime(std::forward<PreviousSlotEndTimeT>(value)); return *this;}
149
151
154 inline const ScheduledInstanceRecurrence& GetRecurrence() const { return m_recurrence; }
155 inline bool RecurrenceHasBeenSet() const { return m_recurrenceHasBeenSet; }
156 template<typename RecurrenceT = ScheduledInstanceRecurrence>
157 void SetRecurrence(RecurrenceT&& value) { m_recurrenceHasBeenSet = true; m_recurrence = std::forward<RecurrenceT>(value); }
158 template<typename RecurrenceT = ScheduledInstanceRecurrence>
159 ScheduledInstance& WithRecurrence(RecurrenceT&& value) { SetRecurrence(std::forward<RecurrenceT>(value)); return *this;}
161
163
166 inline const Aws::String& GetScheduledInstanceId() const { return m_scheduledInstanceId; }
167 inline bool ScheduledInstanceIdHasBeenSet() const { return m_scheduledInstanceIdHasBeenSet; }
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>
171 ScheduledInstance& WithScheduledInstanceId(ScheduledInstanceIdT&& value) { SetScheduledInstanceId(std::forward<ScheduledInstanceIdT>(value)); return *this;}
173
175
178 inline int GetSlotDurationInHours() const { return m_slotDurationInHours; }
179 inline bool SlotDurationInHoursHasBeenSet() const { return m_slotDurationInHoursHasBeenSet; }
180 inline void SetSlotDurationInHours(int value) { m_slotDurationInHoursHasBeenSet = true; m_slotDurationInHours = value; }
181 inline ScheduledInstance& WithSlotDurationInHours(int value) { SetSlotDurationInHours(value); return *this;}
183
185
188 inline const Aws::Utils::DateTime& GetTermEndDate() const { return m_termEndDate; }
189 inline bool TermEndDateHasBeenSet() const { return m_termEndDateHasBeenSet; }
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>
193 ScheduledInstance& WithTermEndDate(TermEndDateT&& value) { SetTermEndDate(std::forward<TermEndDateT>(value)); return *this;}
195
197
200 inline const Aws::Utils::DateTime& GetTermStartDate() const { return m_termStartDate; }
201 inline bool TermStartDateHasBeenSet() const { return m_termStartDateHasBeenSet; }
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>
205 ScheduledInstance& WithTermStartDate(TermStartDateT&& value) { SetTermStartDate(std::forward<TermStartDateT>(value)); return *this;}
207
209
212 inline int GetTotalScheduledInstanceHours() const { return m_totalScheduledInstanceHours; }
213 inline bool TotalScheduledInstanceHoursHasBeenSet() const { return m_totalScheduledInstanceHoursHasBeenSet; }
214 inline void SetTotalScheduledInstanceHours(int value) { m_totalScheduledInstanceHoursHasBeenSet = true; m_totalScheduledInstanceHours = value; }
217 private:
218
219 Aws::String m_availabilityZone;
220 bool m_availabilityZoneHasBeenSet = false;
221
222 Aws::Utils::DateTime m_createDate{};
223 bool m_createDateHasBeenSet = false;
224
225 Aws::String m_hourlyPrice;
226 bool m_hourlyPriceHasBeenSet = false;
227
228 int m_instanceCount{0};
229 bool m_instanceCountHasBeenSet = false;
230
231 Aws::String m_instanceType;
232 bool m_instanceTypeHasBeenSet = false;
233
234 Aws::String m_networkPlatform;
235 bool m_networkPlatformHasBeenSet = false;
236
237 Aws::Utils::DateTime m_nextSlotStartTime{};
238 bool m_nextSlotStartTimeHasBeenSet = false;
239
240 Aws::String m_platform;
241 bool m_platformHasBeenSet = false;
242
243 Aws::Utils::DateTime m_previousSlotEndTime{};
244 bool m_previousSlotEndTimeHasBeenSet = false;
245
246 ScheduledInstanceRecurrence m_recurrence;
247 bool m_recurrenceHasBeenSet = false;
248
249 Aws::String m_scheduledInstanceId;
250 bool m_scheduledInstanceIdHasBeenSet = false;
251
252 int m_slotDurationInHours{0};
253 bool m_slotDurationInHoursHasBeenSet = false;
254
255 Aws::Utils::DateTime m_termEndDate{};
256 bool m_termEndDateHasBeenSet = false;
257
258 Aws::Utils::DateTime m_termStartDate{};
259 bool m_termStartDateHasBeenSet = false;
260
261 int m_totalScheduledInstanceHours{0};
262 bool m_totalScheduledInstanceHoursHasBeenSet = false;
263 };
264
265} // namespace Model
266} // namespace EC2
267} // namespace Aws
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)
AWS_EC2_API ScheduledInstance & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
ScheduledInstance & WithTotalScheduledInstanceHours(int value)
void SetNetworkPlatform(NetworkPlatformT &&value)
ScheduledInstance & WithAvailabilityZone(AvailabilityZoneT &&value)
void SetScheduledInstanceId(ScheduledInstanceIdT &&value)
ScheduledInstance & WithNextSlotStartTime(NextSlotStartTimeT &&value)
void SetPreviousSlotEndTime(PreviousSlotEndTimeT &&value)
const Aws::String & GetNetworkPlatform() const
ScheduledInstance & WithSlotDurationInHours(int value)
ScheduledInstance & WithTermStartDate(TermStartDateT &&value)
ScheduledInstance & WithTermEndDate(TermEndDateT &&value)
AWS_EC2_API ScheduledInstance(const Aws::Utils::Xml::XmlNode &xmlNode)
const Aws::String & GetInstanceType() const
void SetNextSlotStartTime(NextSlotStartTimeT &&value)
void SetHourlyPrice(HourlyPriceT &&value)
ScheduledInstance & WithRecurrence(RecurrenceT &&value)
void SetRecurrence(RecurrenceT &&value)
const Aws::String & GetPlatform() const
const Aws::Utils::DateTime & GetTermStartDate() const
ScheduledInstance & WithHourlyPrice(HourlyPriceT &&value)
ScheduledInstance & WithNetworkPlatform(NetworkPlatformT &&value)
void SetCreateDate(CreateDateT &&value)
ScheduledInstance & WithInstanceType(InstanceTypeT &&value)
const Aws::Utils::DateTime & GetCreateDate() const
void SetTermStartDate(TermStartDateT &&value)
AWS_EC2_API ScheduledInstance()=default
const Aws::Utils::DateTime & GetTermEndDate() const
const Aws::String & GetScheduledInstanceId() const
const Aws::Utils::DateTime & GetPreviousSlotEndTime() const
void SetInstanceType(InstanceTypeT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
const Aws::String & GetAvailabilityZone() const
void SetTermEndDate(TermEndDateT &&value)
ScheduledInstance & WithInstanceCount(int value)
ScheduledInstance & WithCreateDate(CreateDateT &&value)
ScheduledInstance & WithPlatform(PlatformT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::basic_ostream< char, std::char_traits< char > > OStream