AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
ScheduledInstanceAvailability.h
1
6#pragma once
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>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Xml {
18class XmlNode;
19} // namespace Xml
20} // namespace Utils
21namespace EC2 {
22namespace Model {
23
31 public:
32 AWS_EC2_API ScheduledInstanceAvailability() = default;
35
36 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
37 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
38
40
43 inline const Aws::String& GetAvailabilityZone() const { return m_availabilityZone; }
44 inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; }
45 template <typename AvailabilityZoneT = Aws::String>
46 void SetAvailabilityZone(AvailabilityZoneT&& value) {
47 m_availabilityZoneHasBeenSet = true;
48 m_availabilityZone = std::forward<AvailabilityZoneT>(value);
49 }
50 template <typename AvailabilityZoneT = Aws::String>
52 SetAvailabilityZone(std::forward<AvailabilityZoneT>(value));
53 return *this;
54 }
56
58
61 inline int GetAvailableInstanceCount() const { return m_availableInstanceCount; }
62 inline bool AvailableInstanceCountHasBeenSet() const { return m_availableInstanceCountHasBeenSet; }
63 inline void SetAvailableInstanceCount(int value) {
64 m_availableInstanceCountHasBeenSet = true;
65 m_availableInstanceCount = value;
66 }
69 return *this;
70 }
72
74
77 inline const Aws::Utils::DateTime& GetFirstSlotStartTime() const { return m_firstSlotStartTime; }
78 inline bool FirstSlotStartTimeHasBeenSet() const { return m_firstSlotStartTimeHasBeenSet; }
79 template <typename FirstSlotStartTimeT = Aws::Utils::DateTime>
80 void SetFirstSlotStartTime(FirstSlotStartTimeT&& value) {
81 m_firstSlotStartTimeHasBeenSet = true;
82 m_firstSlotStartTime = std::forward<FirstSlotStartTimeT>(value);
83 }
84 template <typename FirstSlotStartTimeT = Aws::Utils::DateTime>
86 SetFirstSlotStartTime(std::forward<FirstSlotStartTimeT>(value));
87 return *this;
88 }
90
92
95 inline const Aws::String& GetHourlyPrice() const { return m_hourlyPrice; }
96 inline bool HourlyPriceHasBeenSet() const { return m_hourlyPriceHasBeenSet; }
97 template <typename HourlyPriceT = Aws::String>
98 void SetHourlyPrice(HourlyPriceT&& value) {
99 m_hourlyPriceHasBeenSet = true;
100 m_hourlyPrice = std::forward<HourlyPriceT>(value);
101 }
102 template <typename HourlyPriceT = Aws::String>
104 SetHourlyPrice(std::forward<HourlyPriceT>(value));
105 return *this;
106 }
108
110
114 inline const Aws::String& GetInstanceType() const { return m_instanceType; }
115 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
116 template <typename InstanceTypeT = Aws::String>
117 void SetInstanceType(InstanceTypeT&& value) {
118 m_instanceTypeHasBeenSet = true;
119 m_instanceType = std::forward<InstanceTypeT>(value);
120 }
121 template <typename InstanceTypeT = Aws::String>
123 SetInstanceType(std::forward<InstanceTypeT>(value));
124 return *this;
125 }
127
129
132 inline int GetMaxTermDurationInDays() const { return m_maxTermDurationInDays; }
133 inline bool MaxTermDurationInDaysHasBeenSet() const { return m_maxTermDurationInDaysHasBeenSet; }
134 inline void SetMaxTermDurationInDays(int value) {
135 m_maxTermDurationInDaysHasBeenSet = true;
136 m_maxTermDurationInDays = value;
137 }
140 return *this;
141 }
143
145
148 inline int GetMinTermDurationInDays() const { return m_minTermDurationInDays; }
149 inline bool MinTermDurationInDaysHasBeenSet() const { return m_minTermDurationInDaysHasBeenSet; }
150 inline void SetMinTermDurationInDays(int value) {
151 m_minTermDurationInDaysHasBeenSet = true;
152 m_minTermDurationInDays = value;
153 }
156 return *this;
157 }
159
161
164 inline const Aws::String& GetNetworkPlatform() const { return m_networkPlatform; }
165 inline bool NetworkPlatformHasBeenSet() const { return m_networkPlatformHasBeenSet; }
166 template <typename NetworkPlatformT = Aws::String>
167 void SetNetworkPlatform(NetworkPlatformT&& value) {
168 m_networkPlatformHasBeenSet = true;
169 m_networkPlatform = std::forward<NetworkPlatformT>(value);
170 }
171 template <typename NetworkPlatformT = Aws::String>
173 SetNetworkPlatform(std::forward<NetworkPlatformT>(value));
174 return *this;
175 }
177
179
182 inline const Aws::String& GetPlatform() const { return m_platform; }
183 inline bool PlatformHasBeenSet() const { return m_platformHasBeenSet; }
184 template <typename PlatformT = Aws::String>
185 void SetPlatform(PlatformT&& value) {
186 m_platformHasBeenSet = true;
187 m_platform = std::forward<PlatformT>(value);
188 }
189 template <typename PlatformT = Aws::String>
191 SetPlatform(std::forward<PlatformT>(value));
192 return *this;
193 }
195
197
200 inline const Aws::String& GetPurchaseToken() const { return m_purchaseToken; }
201 inline bool PurchaseTokenHasBeenSet() const { return m_purchaseTokenHasBeenSet; }
202 template <typename PurchaseTokenT = Aws::String>
203 void SetPurchaseToken(PurchaseTokenT&& value) {
204 m_purchaseTokenHasBeenSet = true;
205 m_purchaseToken = std::forward<PurchaseTokenT>(value);
206 }
207 template <typename PurchaseTokenT = Aws::String>
209 SetPurchaseToken(std::forward<PurchaseTokenT>(value));
210 return *this;
211 }
213
215
218 inline const ScheduledInstanceRecurrence& GetRecurrence() const { return m_recurrence; }
219 inline bool RecurrenceHasBeenSet() const { return m_recurrenceHasBeenSet; }
220 template <typename RecurrenceT = ScheduledInstanceRecurrence>
221 void SetRecurrence(RecurrenceT&& value) {
222 m_recurrenceHasBeenSet = true;
223 m_recurrence = std::forward<RecurrenceT>(value);
224 }
225 template <typename RecurrenceT = ScheduledInstanceRecurrence>
227 SetRecurrence(std::forward<RecurrenceT>(value));
228 return *this;
229 }
231
233
236 inline int GetSlotDurationInHours() const { return m_slotDurationInHours; }
237 inline bool SlotDurationInHoursHasBeenSet() const { return m_slotDurationInHoursHasBeenSet; }
238 inline void SetSlotDurationInHours(int value) {
239 m_slotDurationInHoursHasBeenSet = true;
240 m_slotDurationInHours = value;
241 }
244 return *this;
245 }
247
249
252 inline int GetTotalScheduledInstanceHours() const { return m_totalScheduledInstanceHours; }
253 inline bool TotalScheduledInstanceHoursHasBeenSet() const { return m_totalScheduledInstanceHoursHasBeenSet; }
254 inline void SetTotalScheduledInstanceHours(int value) {
255 m_totalScheduledInstanceHoursHasBeenSet = true;
256 m_totalScheduledInstanceHours = value;
257 }
260 return *this;
261 }
263 private:
264 Aws::String m_availabilityZone;
265
266 int m_availableInstanceCount{0};
267
268 Aws::Utils::DateTime m_firstSlotStartTime{};
269
270 Aws::String m_hourlyPrice;
271
272 Aws::String m_instanceType;
273
274 int m_maxTermDurationInDays{0};
275
276 int m_minTermDurationInDays{0};
277
278 Aws::String m_networkPlatform;
279
280 Aws::String m_platform;
281
282 Aws::String m_purchaseToken;
283
284 ScheduledInstanceRecurrence m_recurrence;
285
286 int m_slotDurationInHours{0};
287
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;
302};
303
304} // namespace Model
305} // namespace EC2
306} // namespace Aws
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
ScheduledInstanceAvailability & WithRecurrence(RecurrenceT &&value)
ScheduledInstanceAvailability & WithAvailableInstanceCount(int value)
ScheduledInstanceAvailability & WithSlotDurationInHours(int value)
ScheduledInstanceAvailability & WithAvailabilityZone(AvailabilityZoneT &&value)
AWS_EC2_API ScheduledInstanceAvailability(const Aws::Utils::Xml::XmlNode &xmlNode)
ScheduledInstanceAvailability & WithInstanceType(InstanceTypeT &&value)
AWS_EC2_API ScheduledInstanceAvailability & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
const ScheduledInstanceRecurrence & GetRecurrence() const
const Aws::Utils::DateTime & GetFirstSlotStartTime() const
ScheduledInstanceAvailability & WithMinTermDurationInDays(int value)
ScheduledInstanceAvailability & WithMaxTermDurationInDays(int value)
ScheduledInstanceAvailability & WithPlatform(PlatformT &&value)
ScheduledInstanceAvailability & WithNetworkPlatform(NetworkPlatformT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
ScheduledInstanceAvailability & WithHourlyPrice(HourlyPriceT &&value)
ScheduledInstanceAvailability & WithPurchaseToken(PurchaseTokenT &&value)
ScheduledInstanceAvailability & WithTotalScheduledInstanceHours(int value)
ScheduledInstanceAvailability & WithFirstSlotStartTime(FirstSlotStartTimeT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::basic_ostream< char, std::char_traits< char > > OStream