AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
ScheduledInstanceAvailability.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
35 {
36 public:
37 AWS_EC2_API ScheduledInstanceAvailability() = default;
40
41 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
42 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
43
44
46
49 inline const Aws::String& GetAvailabilityZone() const { return m_availabilityZone; }
50 inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; }
51 template<typename AvailabilityZoneT = Aws::String>
52 void SetAvailabilityZone(AvailabilityZoneT&& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = std::forward<AvailabilityZoneT>(value); }
53 template<typename AvailabilityZoneT = Aws::String>
54 ScheduledInstanceAvailability& WithAvailabilityZone(AvailabilityZoneT&& value) { SetAvailabilityZone(std::forward<AvailabilityZoneT>(value)); return *this;}
56
58
61 inline int GetAvailableInstanceCount() const { return m_availableInstanceCount; }
62 inline bool AvailableInstanceCountHasBeenSet() const { return m_availableInstanceCountHasBeenSet; }
63 inline void SetAvailableInstanceCount(int value) { m_availableInstanceCountHasBeenSet = true; m_availableInstanceCount = value; }
66
68
71 inline const Aws::Utils::DateTime& GetFirstSlotStartTime() const { return m_firstSlotStartTime; }
72 inline bool FirstSlotStartTimeHasBeenSet() const { return m_firstSlotStartTimeHasBeenSet; }
73 template<typename FirstSlotStartTimeT = Aws::Utils::DateTime>
74 void SetFirstSlotStartTime(FirstSlotStartTimeT&& value) { m_firstSlotStartTimeHasBeenSet = true; m_firstSlotStartTime = std::forward<FirstSlotStartTimeT>(value); }
75 template<typename FirstSlotStartTimeT = Aws::Utils::DateTime>
76 ScheduledInstanceAvailability& WithFirstSlotStartTime(FirstSlotStartTimeT&& value) { SetFirstSlotStartTime(std::forward<FirstSlotStartTimeT>(value)); return *this;}
78
80
83 inline const Aws::String& GetHourlyPrice() const { return m_hourlyPrice; }
84 inline bool HourlyPriceHasBeenSet() const { return m_hourlyPriceHasBeenSet; }
85 template<typename HourlyPriceT = Aws::String>
86 void SetHourlyPrice(HourlyPriceT&& value) { m_hourlyPriceHasBeenSet = true; m_hourlyPrice = std::forward<HourlyPriceT>(value); }
87 template<typename HourlyPriceT = Aws::String>
88 ScheduledInstanceAvailability& WithHourlyPrice(HourlyPriceT&& value) { SetHourlyPrice(std::forward<HourlyPriceT>(value)); return *this;}
90
92
96 inline const Aws::String& GetInstanceType() const { return m_instanceType; }
97 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
98 template<typename InstanceTypeT = Aws::String>
99 void SetInstanceType(InstanceTypeT&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::forward<InstanceTypeT>(value); }
100 template<typename InstanceTypeT = Aws::String>
101 ScheduledInstanceAvailability& WithInstanceType(InstanceTypeT&& value) { SetInstanceType(std::forward<InstanceTypeT>(value)); return *this;}
103
105
108 inline int GetMaxTermDurationInDays() const { return m_maxTermDurationInDays; }
109 inline bool MaxTermDurationInDaysHasBeenSet() const { return m_maxTermDurationInDaysHasBeenSet; }
110 inline void SetMaxTermDurationInDays(int value) { m_maxTermDurationInDaysHasBeenSet = true; m_maxTermDurationInDays = value; }
113
115
118 inline int GetMinTermDurationInDays() const { return m_minTermDurationInDays; }
119 inline bool MinTermDurationInDaysHasBeenSet() const { return m_minTermDurationInDaysHasBeenSet; }
120 inline void SetMinTermDurationInDays(int value) { m_minTermDurationInDaysHasBeenSet = true; m_minTermDurationInDays = value; }
123
125
128 inline const Aws::String& GetNetworkPlatform() const { return m_networkPlatform; }
129 inline bool NetworkPlatformHasBeenSet() const { return m_networkPlatformHasBeenSet; }
130 template<typename NetworkPlatformT = Aws::String>
131 void SetNetworkPlatform(NetworkPlatformT&& value) { m_networkPlatformHasBeenSet = true; m_networkPlatform = std::forward<NetworkPlatformT>(value); }
132 template<typename NetworkPlatformT = Aws::String>
133 ScheduledInstanceAvailability& WithNetworkPlatform(NetworkPlatformT&& value) { SetNetworkPlatform(std::forward<NetworkPlatformT>(value)); return *this;}
135
137
140 inline const Aws::String& GetPlatform() const { return m_platform; }
141 inline bool PlatformHasBeenSet() const { return m_platformHasBeenSet; }
142 template<typename PlatformT = Aws::String>
143 void SetPlatform(PlatformT&& value) { m_platformHasBeenSet = true; m_platform = std::forward<PlatformT>(value); }
144 template<typename PlatformT = Aws::String>
145 ScheduledInstanceAvailability& WithPlatform(PlatformT&& value) { SetPlatform(std::forward<PlatformT>(value)); return *this;}
147
149
152 inline const Aws::String& GetPurchaseToken() const { return m_purchaseToken; }
153 inline bool PurchaseTokenHasBeenSet() const { return m_purchaseTokenHasBeenSet; }
154 template<typename PurchaseTokenT = Aws::String>
155 void SetPurchaseToken(PurchaseTokenT&& value) { m_purchaseTokenHasBeenSet = true; m_purchaseToken = std::forward<PurchaseTokenT>(value); }
156 template<typename PurchaseTokenT = Aws::String>
157 ScheduledInstanceAvailability& WithPurchaseToken(PurchaseTokenT&& value) { SetPurchaseToken(std::forward<PurchaseTokenT>(value)); return *this;}
159
161
164 inline const ScheduledInstanceRecurrence& GetRecurrence() const { return m_recurrence; }
165 inline bool RecurrenceHasBeenSet() const { return m_recurrenceHasBeenSet; }
166 template<typename RecurrenceT = ScheduledInstanceRecurrence>
167 void SetRecurrence(RecurrenceT&& value) { m_recurrenceHasBeenSet = true; m_recurrence = std::forward<RecurrenceT>(value); }
168 template<typename RecurrenceT = ScheduledInstanceRecurrence>
169 ScheduledInstanceAvailability& WithRecurrence(RecurrenceT&& value) { SetRecurrence(std::forward<RecurrenceT>(value)); return *this;}
171
173
176 inline int GetSlotDurationInHours() const { return m_slotDurationInHours; }
177 inline bool SlotDurationInHoursHasBeenSet() const { return m_slotDurationInHoursHasBeenSet; }
178 inline void SetSlotDurationInHours(int value) { m_slotDurationInHoursHasBeenSet = true; m_slotDurationInHours = value; }
181
183
186 inline int GetTotalScheduledInstanceHours() const { return m_totalScheduledInstanceHours; }
187 inline bool TotalScheduledInstanceHoursHasBeenSet() const { return m_totalScheduledInstanceHoursHasBeenSet; }
188 inline void SetTotalScheduledInstanceHours(int value) { m_totalScheduledInstanceHoursHasBeenSet = true; m_totalScheduledInstanceHours = value; }
191 private:
192
193 Aws::String m_availabilityZone;
194 bool m_availabilityZoneHasBeenSet = false;
195
196 int m_availableInstanceCount{0};
197 bool m_availableInstanceCountHasBeenSet = false;
198
199 Aws::Utils::DateTime m_firstSlotStartTime{};
200 bool m_firstSlotStartTimeHasBeenSet = false;
201
202 Aws::String m_hourlyPrice;
203 bool m_hourlyPriceHasBeenSet = false;
204
205 Aws::String m_instanceType;
206 bool m_instanceTypeHasBeenSet = false;
207
208 int m_maxTermDurationInDays{0};
209 bool m_maxTermDurationInDaysHasBeenSet = false;
210
211 int m_minTermDurationInDays{0};
212 bool m_minTermDurationInDaysHasBeenSet = false;
213
214 Aws::String m_networkPlatform;
215 bool m_networkPlatformHasBeenSet = false;
216
217 Aws::String m_platform;
218 bool m_platformHasBeenSet = false;
219
220 Aws::String m_purchaseToken;
221 bool m_purchaseTokenHasBeenSet = false;
222
223 ScheduledInstanceRecurrence m_recurrence;
224 bool m_recurrenceHasBeenSet = false;
225
226 int m_slotDurationInHours{0};
227 bool m_slotDurationInHoursHasBeenSet = false;
228
229 int m_totalScheduledInstanceHours{0};
230 bool m_totalScheduledInstanceHoursHasBeenSet = false;
231 };
232
233} // namespace Model
234} // namespace EC2
235} // 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