AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
SpotInstanceRequest.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/SpotInstanceStateFault.h>
12#include <aws/ec2/model/LaunchSpecification.h>
13#include <aws/ec2/model/RIProductDescription.h>
14#include <aws/ec2/model/SpotInstanceState.h>
15#include <aws/ec2/model/SpotInstanceStatus.h>
16#include <aws/core/utils/memory/stl/AWSVector.h>
17#include <aws/ec2/model/SpotInstanceType.h>
18#include <aws/ec2/model/InstanceInterruptionBehavior.h>
19#include <aws/ec2/model/Tag.h>
20#include <utility>
21
22namespace Aws
23{
24namespace Utils
25{
26namespace Xml
27{
28 class XmlNode;
29} // namespace Xml
30} // namespace Utils
31namespace EC2
32{
33namespace Model
34{
35
42 {
43 public:
44 AWS_EC2_API SpotInstanceRequest() = default;
45 AWS_EC2_API SpotInstanceRequest(const Aws::Utils::Xml::XmlNode& xmlNode);
47
48 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
49 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
50
51
53
56 inline const Aws::String& GetActualBlockHourlyPrice() const { return m_actualBlockHourlyPrice; }
57 inline bool ActualBlockHourlyPriceHasBeenSet() const { return m_actualBlockHourlyPriceHasBeenSet; }
58 template<typename ActualBlockHourlyPriceT = Aws::String>
59 void SetActualBlockHourlyPrice(ActualBlockHourlyPriceT&& value) { m_actualBlockHourlyPriceHasBeenSet = true; m_actualBlockHourlyPrice = std::forward<ActualBlockHourlyPriceT>(value); }
60 template<typename ActualBlockHourlyPriceT = Aws::String>
61 SpotInstanceRequest& WithActualBlockHourlyPrice(ActualBlockHourlyPriceT&& value) { SetActualBlockHourlyPrice(std::forward<ActualBlockHourlyPriceT>(value)); return *this;}
63
65
70 inline const Aws::String& GetAvailabilityZoneGroup() const { return m_availabilityZoneGroup; }
71 inline bool AvailabilityZoneGroupHasBeenSet() const { return m_availabilityZoneGroupHasBeenSet; }
72 template<typename AvailabilityZoneGroupT = Aws::String>
73 void SetAvailabilityZoneGroup(AvailabilityZoneGroupT&& value) { m_availabilityZoneGroupHasBeenSet = true; m_availabilityZoneGroup = std::forward<AvailabilityZoneGroupT>(value); }
74 template<typename AvailabilityZoneGroupT = Aws::String>
75 SpotInstanceRequest& WithAvailabilityZoneGroup(AvailabilityZoneGroupT&& value) { SetAvailabilityZoneGroup(std::forward<AvailabilityZoneGroupT>(value)); return *this;}
77
79
82 inline int GetBlockDurationMinutes() const { return m_blockDurationMinutes; }
83 inline bool BlockDurationMinutesHasBeenSet() const { return m_blockDurationMinutesHasBeenSet; }
84 inline void SetBlockDurationMinutes(int value) { m_blockDurationMinutesHasBeenSet = true; m_blockDurationMinutes = value; }
85 inline SpotInstanceRequest& WithBlockDurationMinutes(int value) { SetBlockDurationMinutes(value); return *this;}
87
89
94 inline const Aws::Utils::DateTime& GetCreateTime() const { return m_createTime; }
95 inline bool CreateTimeHasBeenSet() const { return m_createTimeHasBeenSet; }
96 template<typename CreateTimeT = Aws::Utils::DateTime>
97 void SetCreateTime(CreateTimeT&& value) { m_createTimeHasBeenSet = true; m_createTime = std::forward<CreateTimeT>(value); }
98 template<typename CreateTimeT = Aws::Utils::DateTime>
99 SpotInstanceRequest& WithCreateTime(CreateTimeT&& value) { SetCreateTime(std::forward<CreateTimeT>(value)); return *this;}
101
103
106 inline const SpotInstanceStateFault& GetFault() const { return m_fault; }
107 inline bool FaultHasBeenSet() const { return m_faultHasBeenSet; }
108 template<typename FaultT = SpotInstanceStateFault>
109 void SetFault(FaultT&& value) { m_faultHasBeenSet = true; m_fault = std::forward<FaultT>(value); }
110 template<typename FaultT = SpotInstanceStateFault>
111 SpotInstanceRequest& WithFault(FaultT&& value) { SetFault(std::forward<FaultT>(value)); return *this;}
113
115
119 inline const Aws::String& GetInstanceId() const { return m_instanceId; }
120 inline bool InstanceIdHasBeenSet() const { return m_instanceIdHasBeenSet; }
121 template<typename InstanceIdT = Aws::String>
122 void SetInstanceId(InstanceIdT&& value) { m_instanceIdHasBeenSet = true; m_instanceId = std::forward<InstanceIdT>(value); }
123 template<typename InstanceIdT = Aws::String>
124 SpotInstanceRequest& WithInstanceId(InstanceIdT&& value) { SetInstanceId(std::forward<InstanceIdT>(value)); return *this;}
126
128
132 inline const Aws::String& GetLaunchGroup() const { return m_launchGroup; }
133 inline bool LaunchGroupHasBeenSet() const { return m_launchGroupHasBeenSet; }
134 template<typename LaunchGroupT = Aws::String>
135 void SetLaunchGroup(LaunchGroupT&& value) { m_launchGroupHasBeenSet = true; m_launchGroup = std::forward<LaunchGroupT>(value); }
136 template<typename LaunchGroupT = Aws::String>
137 SpotInstanceRequest& WithLaunchGroup(LaunchGroupT&& value) { SetLaunchGroup(std::forward<LaunchGroupT>(value)); return *this;}
139
141
144 inline const LaunchSpecification& GetLaunchSpecification() const { return m_launchSpecification; }
145 inline bool LaunchSpecificationHasBeenSet() const { return m_launchSpecificationHasBeenSet; }
146 template<typename LaunchSpecificationT = LaunchSpecification>
147 void SetLaunchSpecification(LaunchSpecificationT&& value) { m_launchSpecificationHasBeenSet = true; m_launchSpecification = std::forward<LaunchSpecificationT>(value); }
148 template<typename LaunchSpecificationT = LaunchSpecification>
149 SpotInstanceRequest& WithLaunchSpecification(LaunchSpecificationT&& value) { SetLaunchSpecification(std::forward<LaunchSpecificationT>(value)); return *this;}
151
153
156 inline const Aws::String& GetLaunchedAvailabilityZone() const { return m_launchedAvailabilityZone; }
157 inline bool LaunchedAvailabilityZoneHasBeenSet() const { return m_launchedAvailabilityZoneHasBeenSet; }
158 template<typename LaunchedAvailabilityZoneT = Aws::String>
159 void SetLaunchedAvailabilityZone(LaunchedAvailabilityZoneT&& value) { m_launchedAvailabilityZoneHasBeenSet = true; m_launchedAvailabilityZone = std::forward<LaunchedAvailabilityZoneT>(value); }
160 template<typename LaunchedAvailabilityZoneT = Aws::String>
161 SpotInstanceRequest& WithLaunchedAvailabilityZone(LaunchedAvailabilityZoneT&& value) { SetLaunchedAvailabilityZone(std::forward<LaunchedAvailabilityZoneT>(value)); return *this;}
163
165
168 inline RIProductDescription GetProductDescription() const { return m_productDescription; }
169 inline bool ProductDescriptionHasBeenSet() const { return m_productDescriptionHasBeenSet; }
170 inline void SetProductDescription(RIProductDescription value) { m_productDescriptionHasBeenSet = true; m_productDescription = value; }
173
175
178 inline const Aws::String& GetSpotInstanceRequestId() const { return m_spotInstanceRequestId; }
179 inline bool SpotInstanceRequestIdHasBeenSet() const { return m_spotInstanceRequestIdHasBeenSet; }
180 template<typename SpotInstanceRequestIdT = Aws::String>
181 void SetSpotInstanceRequestId(SpotInstanceRequestIdT&& value) { m_spotInstanceRequestIdHasBeenSet = true; m_spotInstanceRequestId = std::forward<SpotInstanceRequestIdT>(value); }
182 template<typename SpotInstanceRequestIdT = Aws::String>
183 SpotInstanceRequest& WithSpotInstanceRequestId(SpotInstanceRequestIdT&& value) { SetSpotInstanceRequestId(std::forward<SpotInstanceRequestIdT>(value)); return *this;}
185
187
195 inline const Aws::String& GetSpotPrice() const { return m_spotPrice; }
196 inline bool SpotPriceHasBeenSet() const { return m_spotPriceHasBeenSet; }
197 template<typename SpotPriceT = Aws::String>
198 void SetSpotPrice(SpotPriceT&& value) { m_spotPriceHasBeenSet = true; m_spotPrice = std::forward<SpotPriceT>(value); }
199 template<typename SpotPriceT = Aws::String>
200 SpotInstanceRequest& WithSpotPrice(SpotPriceT&& value) { SetSpotPrice(std::forward<SpotPriceT>(value)); return *this;}
202
204
210 inline SpotInstanceState GetState() const { return m_state; }
211 inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
212 inline void SetState(SpotInstanceState value) { m_stateHasBeenSet = true; m_state = value; }
213 inline SpotInstanceRequest& WithState(SpotInstanceState value) { SetState(value); return *this;}
215
217
220 inline const SpotInstanceStatus& GetStatus() const { return m_status; }
221 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
222 template<typename StatusT = SpotInstanceStatus>
223 void SetStatus(StatusT&& value) { m_statusHasBeenSet = true; m_status = std::forward<StatusT>(value); }
224 template<typename StatusT = SpotInstanceStatus>
225 SpotInstanceRequest& WithStatus(StatusT&& value) { SetStatus(std::forward<StatusT>(value)); return *this;}
227
229
232 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
233 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
234 template<typename TagsT = Aws::Vector<Tag>>
235 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
236 template<typename TagsT = Aws::Vector<Tag>>
237 SpotInstanceRequest& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
238 template<typename TagsT = Tag>
239 SpotInstanceRequest& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
241
243
246 inline SpotInstanceType GetType() const { return m_type; }
247 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
248 inline void SetType(SpotInstanceType value) { m_typeHasBeenSet = true; m_type = value; }
249 inline SpotInstanceRequest& WithType(SpotInstanceType value) { SetType(value); return *this;}
251
253
258 inline const Aws::Utils::DateTime& GetValidFrom() const { return m_validFrom; }
259 inline bool ValidFromHasBeenSet() const { return m_validFromHasBeenSet; }
260 template<typename ValidFromT = Aws::Utils::DateTime>
261 void SetValidFrom(ValidFromT&& value) { m_validFromHasBeenSet = true; m_validFrom = std::forward<ValidFromT>(value); }
262 template<typename ValidFromT = Aws::Utils::DateTime>
263 SpotInstanceRequest& WithValidFrom(ValidFromT&& value) { SetValidFrom(std::forward<ValidFromT>(value)); return *this;}
265
267
277 inline const Aws::Utils::DateTime& GetValidUntil() const { return m_validUntil; }
278 inline bool ValidUntilHasBeenSet() const { return m_validUntilHasBeenSet; }
279 template<typename ValidUntilT = Aws::Utils::DateTime>
280 void SetValidUntil(ValidUntilT&& value) { m_validUntilHasBeenSet = true; m_validUntil = std::forward<ValidUntilT>(value); }
281 template<typename ValidUntilT = Aws::Utils::DateTime>
282 SpotInstanceRequest& WithValidUntil(ValidUntilT&& value) { SetValidUntil(std::forward<ValidUntilT>(value)); return *this;}
284
286
289 inline InstanceInterruptionBehavior GetInstanceInterruptionBehavior() const { return m_instanceInterruptionBehavior; }
290 inline bool InstanceInterruptionBehaviorHasBeenSet() const { return m_instanceInterruptionBehaviorHasBeenSet; }
291 inline void SetInstanceInterruptionBehavior(InstanceInterruptionBehavior value) { m_instanceInterruptionBehaviorHasBeenSet = true; m_instanceInterruptionBehavior = value; }
294 private:
295
296 Aws::String m_actualBlockHourlyPrice;
297 bool m_actualBlockHourlyPriceHasBeenSet = false;
298
299 Aws::String m_availabilityZoneGroup;
300 bool m_availabilityZoneGroupHasBeenSet = false;
301
302 int m_blockDurationMinutes{0};
303 bool m_blockDurationMinutesHasBeenSet = false;
304
305 Aws::Utils::DateTime m_createTime{};
306 bool m_createTimeHasBeenSet = false;
307
308 SpotInstanceStateFault m_fault;
309 bool m_faultHasBeenSet = false;
310
311 Aws::String m_instanceId;
312 bool m_instanceIdHasBeenSet = false;
313
314 Aws::String m_launchGroup;
315 bool m_launchGroupHasBeenSet = false;
316
317 LaunchSpecification m_launchSpecification;
318 bool m_launchSpecificationHasBeenSet = false;
319
320 Aws::String m_launchedAvailabilityZone;
321 bool m_launchedAvailabilityZoneHasBeenSet = false;
322
324 bool m_productDescriptionHasBeenSet = false;
325
326 Aws::String m_spotInstanceRequestId;
327 bool m_spotInstanceRequestIdHasBeenSet = false;
328
329 Aws::String m_spotPrice;
330 bool m_spotPriceHasBeenSet = false;
331
333 bool m_stateHasBeenSet = false;
334
335 SpotInstanceStatus m_status;
336 bool m_statusHasBeenSet = false;
337
338 Aws::Vector<Tag> m_tags;
339 bool m_tagsHasBeenSet = false;
340
342 bool m_typeHasBeenSet = false;
343
344 Aws::Utils::DateTime m_validFrom{};
345 bool m_validFromHasBeenSet = false;
346
347 Aws::Utils::DateTime m_validUntil{};
348 bool m_validUntilHasBeenSet = false;
349
351 bool m_instanceInterruptionBehaviorHasBeenSet = false;
352 };
353
354} // namespace Model
355} // namespace EC2
356} // namespace Aws
void SetState(SpotInstanceState value)
SpotInstanceRequest & WithActualBlockHourlyPrice(ActualBlockHourlyPriceT &&value)
SpotInstanceRequest & WithSpotPrice(SpotPriceT &&value)
SpotInstanceRequest & WithState(SpotInstanceState value)
void SetSpotInstanceRequestId(SpotInstanceRequestIdT &&value)
SpotInstanceRequest & WithStatus(StatusT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
AWS_EC2_API SpotInstanceRequest()=default
const SpotInstanceStatus & GetStatus() const
const SpotInstanceStateFault & GetFault() const
SpotInstanceRequest & WithProductDescription(RIProductDescription value)
const Aws::Utils::DateTime & GetCreateTime() const
AWS_EC2_API SpotInstanceRequest(const Aws::Utils::Xml::XmlNode &xmlNode)
SpotInstanceRequest & WithValidUntil(ValidUntilT &&value)
SpotInstanceRequest & WithCreateTime(CreateTimeT &&value)
SpotInstanceRequest & WithType(SpotInstanceType value)
void SetLaunchSpecification(LaunchSpecificationT &&value)
SpotInstanceRequest & WithAvailabilityZoneGroup(AvailabilityZoneGroupT &&value)
SpotInstanceRequest & WithFault(FaultT &&value)
const Aws::String & GetActualBlockHourlyPrice() const
const Aws::Utils::DateTime & GetValidUntil() const
const Aws::String & GetLaunchGroup() const
RIProductDescription GetProductDescription() const
const LaunchSpecification & GetLaunchSpecification() const
AWS_EC2_API SpotInstanceRequest & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
SpotInstanceRequest & WithValidFrom(ValidFromT &&value)
void SetLaunchedAvailabilityZone(LaunchedAvailabilityZoneT &&value)
const Aws::Vector< Tag > & GetTags() const
void SetProductDescription(RIProductDescription value)
InstanceInterruptionBehavior GetInstanceInterruptionBehavior() const
SpotInstanceRequest & WithTags(TagsT &&value)
const Aws::String & GetLaunchedAvailabilityZone() const
void SetType(SpotInstanceType value)
const Aws::String & GetInstanceId() const
SpotInstanceRequest & WithLaunchSpecification(LaunchSpecificationT &&value)
void SetLaunchGroup(LaunchGroupT &&value)
SpotInstanceRequest & WithInstanceInterruptionBehavior(InstanceInterruptionBehavior value)
SpotInstanceRequest & WithBlockDurationMinutes(int value)
SpotInstanceRequest & WithLaunchedAvailabilityZone(LaunchedAvailabilityZoneT &&value)
const Aws::Utils::DateTime & GetValidFrom() const
void SetInstanceInterruptionBehavior(InstanceInterruptionBehavior value)
SpotInstanceRequest & WithLaunchGroup(LaunchGroupT &&value)
void SetCreateTime(CreateTimeT &&value)
const Aws::String & GetSpotPrice() const
const Aws::String & GetAvailabilityZoneGroup() const
SpotInstanceRequest & AddTags(TagsT &&value)
SpotInstanceRequest & WithInstanceId(InstanceIdT &&value)
void SetActualBlockHourlyPrice(ActualBlockHourlyPriceT &&value)
const Aws::String & GetSpotInstanceRequestId() const
void SetAvailabilityZoneGroup(AvailabilityZoneGroupT &&value)
SpotInstanceRequest & WithSpotInstanceRequestId(SpotInstanceRequestIdT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream