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/core/utils/memory/stl/AWSVector.h>
11#include <aws/ec2/EC2_EXPORTS.h>
12#include <aws/ec2/model/InstanceInterruptionBehavior.h>
13#include <aws/ec2/model/LaunchSpecification.h>
14#include <aws/ec2/model/RIProductDescription.h>
15#include <aws/ec2/model/SpotInstanceState.h>
16#include <aws/ec2/model/SpotInstanceStateFault.h>
17#include <aws/ec2/model/SpotInstanceStatus.h>
18#include <aws/ec2/model/SpotInstanceType.h>
19#include <aws/ec2/model/Tag.h>
52 template <
typename ActualBlockHourlyPriceT = Aws::String>
54 m_actualBlockHourlyPriceHasBeenSet =
true;
55 m_actualBlockHourlyPrice = std::forward<ActualBlockHourlyPriceT>(value);
57 template <
typename ActualBlockHourlyPriceT = Aws::String>
72 template <
typename AvailabilityZoneGroupT = Aws::String>
74 m_availabilityZoneGroupHasBeenSet =
true;
75 m_availabilityZoneGroup = std::forward<AvailabilityZoneGroupT>(value);
77 template <
typename AvailabilityZoneGroupT = Aws::String>
91 m_blockDurationMinutesHasBeenSet =
true;
92 m_blockDurationMinutes = value;
108 template <
typename CreateTimeT = Aws::Utils::DateTime>
110 m_createTimeHasBeenSet =
true;
111 m_createTime = std::forward<CreateTimeT>(value);
113 template <
typename CreateTimeT = Aws::Utils::DateTime>
126 template <
typename FaultT = SpotInstanceStateFault>
128 m_faultHasBeenSet =
true;
129 m_fault = std::forward<FaultT>(value);
131 template <
typename FaultT = SpotInstanceStateFault>
133 SetFault(std::forward<FaultT>(value));
145 template <
typename InstanceIdT = Aws::String>
147 m_instanceIdHasBeenSet =
true;
148 m_instanceId = std::forward<InstanceIdT>(value);
150 template <
typename InstanceIdT = Aws::String>
164 template <
typename LaunchGroupT = Aws::String>
166 m_launchGroupHasBeenSet =
true;
167 m_launchGroup = std::forward<LaunchGroupT>(value);
169 template <
typename LaunchGroupT = Aws::String>
182 template <
typename LaunchSpecificationT = LaunchSpecification>
184 m_launchSpecificationHasBeenSet =
true;
185 m_launchSpecification = std::forward<LaunchSpecificationT>(value);
187 template <
typename LaunchSpecificationT = LaunchSpecification>
202 template <
typename LaunchedAvailabilityZoneT = Aws::String>
204 m_launchedAvailabilityZoneHasBeenSet =
true;
205 m_launchedAvailabilityZone = std::forward<LaunchedAvailabilityZoneT>(value);
207 template <
typename LaunchedAvailabilityZoneT = Aws::String>
222 template <
typename LaunchedAvailabilityZoneIdT = Aws::String>
224 m_launchedAvailabilityZoneIdHasBeenSet =
true;
225 m_launchedAvailabilityZoneId = std::forward<LaunchedAvailabilityZoneIdT>(value);
227 template <
typename LaunchedAvailabilityZoneIdT = Aws::String>
241 m_productDescriptionHasBeenSet =
true;
242 m_productDescription = value;
256 template <
typename SpotInstanceRequestIdT = Aws::String>
258 m_spotInstanceRequestIdHasBeenSet =
true;
259 m_spotInstanceRequestId = std::forward<SpotInstanceRequestIdT>(value);
261 template <
typename SpotInstanceRequestIdT = Aws::String>
279 template <
typename SpotPriceT = Aws::String>
281 m_spotPriceHasBeenSet =
true;
282 m_spotPrice = std::forward<SpotPriceT>(value);
284 template <
typename SpotPriceT = Aws::String>
301 m_stateHasBeenSet =
true;
316 template <
typename StatusT = SpotInstanceStatus>
318 m_statusHasBeenSet =
true;
319 m_status = std::forward<StatusT>(value);
321 template <
typename StatusT = SpotInstanceStatus>
334 template <
typename TagsT = Aws::Vector<Tag>>
336 m_tagsHasBeenSet =
true;
337 m_tags = std::forward<TagsT>(value);
339 template <
typename TagsT = Aws::Vector<Tag>>
341 SetTags(std::forward<TagsT>(value));
344 template <
typename TagsT = Tag>
346 m_tagsHasBeenSet =
true;
347 m_tags.emplace_back(std::forward<TagsT>(value));
359 m_typeHasBeenSet =
true;
376 template <
typename Val
idFromT = Aws::Utils::DateTime>
378 m_validFromHasBeenSet =
true;
379 m_validFrom = std::forward<ValidFromT>(value);
381 template <
typename Val
idFromT = Aws::Utils::DateTime>
401 template <
typename Val
idUntilT = Aws::Utils::DateTime>
403 m_validUntilHasBeenSet =
true;
404 m_validUntil = std::forward<ValidUntilT>(value);
406 template <
typename Val
idUntilT = Aws::Utils::DateTime>
420 m_instanceInterruptionBehaviorHasBeenSet =
true;
421 m_instanceInterruptionBehavior = value;
433 int m_blockDurationMinutes{0};
437 SpotInstanceStateFault m_fault;
443 LaunchSpecification m_launchSpecification;
457 SpotInstanceStatus m_status;
468 bool m_actualBlockHourlyPriceHasBeenSet =
false;
469 bool m_availabilityZoneGroupHasBeenSet =
false;
470 bool m_blockDurationMinutesHasBeenSet =
false;
471 bool m_createTimeHasBeenSet =
false;
472 bool m_faultHasBeenSet =
false;
473 bool m_instanceIdHasBeenSet =
false;
474 bool m_launchGroupHasBeenSet =
false;
475 bool m_launchSpecificationHasBeenSet =
false;
476 bool m_launchedAvailabilityZoneHasBeenSet =
false;
477 bool m_launchedAvailabilityZoneIdHasBeenSet =
false;
478 bool m_productDescriptionHasBeenSet =
false;
479 bool m_spotInstanceRequestIdHasBeenSet =
false;
480 bool m_spotPriceHasBeenSet =
false;
481 bool m_stateHasBeenSet =
false;
482 bool m_statusHasBeenSet =
false;
483 bool m_tagsHasBeenSet =
false;
484 bool m_typeHasBeenSet =
false;
485 bool m_validFromHasBeenSet =
false;
486 bool m_validUntilHasBeenSet =
false;
487 bool m_instanceInterruptionBehaviorHasBeenSet =
false;
void SetState(SpotInstanceState value)
SpotInstanceRequest & WithActualBlockHourlyPrice(ActualBlockHourlyPriceT &&value)
bool LaunchSpecificationHasBeenSet() const
bool TypeHasBeenSet() const
SpotInstanceRequest & WithSpotPrice(SpotPriceT &&value)
bool ProductDescriptionHasBeenSet() const
SpotInstanceState GetState() const
int GetBlockDurationMinutes() const
bool AvailabilityZoneGroupHasBeenSet() const
SpotInstanceRequest & WithState(SpotInstanceState value)
void SetSpotInstanceRequestId(SpotInstanceRequestIdT &&value)
bool LaunchedAvailabilityZoneHasBeenSet() const
SpotInstanceRequest & WithStatus(StatusT &&value)
const Aws::String & GetLaunchedAvailabilityZoneId() const
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
bool InstanceIdHasBeenSet() const
const SpotInstanceStateFault & GetFault() const
void SetValidFrom(ValidFromT &&value)
SpotInstanceRequest & WithProductDescription(RIProductDescription value)
const Aws::Utils::DateTime & GetCreateTime() const
bool FaultHasBeenSet() const
SpotInstanceRequest & WithLaunchedAvailabilityZoneId(LaunchedAvailabilityZoneIdT &&value)
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)
bool SpotInstanceRequestIdHasBeenSet() const
bool ActualBlockHourlyPriceHasBeenSet() const
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
bool LaunchedAvailabilityZoneIdHasBeenSet() const
bool SpotPriceHasBeenSet() const
const LaunchSpecification & GetLaunchSpecification() const
bool CreateTimeHasBeenSet() 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
bool InstanceInterruptionBehaviorHasBeenSet() const
bool LaunchGroupHasBeenSet() const
void SetTags(TagsT &&value)
bool BlockDurationMinutesHasBeenSet() const
bool StatusHasBeenSet() const
SpotInstanceRequest & WithTags(TagsT &&value)
void SetLaunchedAvailabilityZoneId(LaunchedAvailabilityZoneIdT &&value)
bool ValidUntilHasBeenSet() const
bool TagsHasBeenSet() const
void SetInstanceId(InstanceIdT &&value)
void SetStatus(StatusT &&value)
const Aws::String & GetLaunchedAvailabilityZone() const
void SetType(SpotInstanceType value)
bool StateHasBeenSet() const
const Aws::String & GetInstanceId() const
SpotInstanceRequest & WithLaunchSpecification(LaunchSpecificationT &&value)
void SetFault(FaultT &&value)
void SetLaunchGroup(LaunchGroupT &&value)
SpotInstanceRequest & WithInstanceInterruptionBehavior(InstanceInterruptionBehavior value)
void SetValidUntil(ValidUntilT &&value)
SpotInstanceRequest & WithBlockDurationMinutes(int value)
SpotInstanceRequest & WithLaunchedAvailabilityZone(LaunchedAvailabilityZoneT &&value)
void SetBlockDurationMinutes(int 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)
void SetSpotPrice(SpotPriceT &&value)
bool ValidFromHasBeenSet() const
SpotInstanceType GetType() const
InstanceInterruptionBehavior
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