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>
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>
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>
84 inline void SetBlockDurationMinutes(
int value) { m_blockDurationMinutesHasBeenSet =
true; m_blockDurationMinutes = value; }
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>
108 template<
typename FaultT = SpotInstanceStateFault>
109 void SetFault(FaultT&& value) { m_faultHasBeenSet =
true; m_fault = std::forward<FaultT>(value); }
110 template<
typename FaultT = SpotInstanceStateFault>
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>
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>
146 template<
typename LaunchSpecificationT = LaunchSpecification>
147 void SetLaunchSpecification(LaunchSpecificationT&& value) { m_launchSpecificationHasBeenSet =
true; m_launchSpecification = std::forward<LaunchSpecificationT>(value); }
148 template<
typename LaunchSpecificationT = LaunchSpecification>
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>
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>
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>
222 template<
typename StatusT = SpotInstanceStatus>
223 void SetStatus(StatusT&& value) { m_statusHasBeenSet =
true; m_status = std::forward<StatusT>(value); }
224 template<
typename StatusT = SpotInstanceStatus>
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>>
238 template<
typename TagsT = Tag>
260 template<
typename Val
idFromT = Aws::Utils::DateTime>
261 void SetValidFrom(ValidFromT&& value) { m_validFromHasBeenSet =
true; m_validFrom = std::forward<ValidFromT>(value); }
262 template<
typename Val
idFromT = Aws::Utils::DateTime>
279 template<
typename Val
idUntilT = Aws::Utils::DateTime>
280 void SetValidUntil(ValidUntilT&& value) { m_validUntilHasBeenSet =
true; m_validUntil = std::forward<ValidUntilT>(value); }
281 template<
typename Val
idUntilT = Aws::Utils::DateTime>
297 bool m_actualBlockHourlyPriceHasBeenSet =
false;
300 bool m_availabilityZoneGroupHasBeenSet =
false;
302 int m_blockDurationMinutes{0};
303 bool m_blockDurationMinutesHasBeenSet =
false;
306 bool m_createTimeHasBeenSet =
false;
308 SpotInstanceStateFault m_fault;
309 bool m_faultHasBeenSet =
false;
312 bool m_instanceIdHasBeenSet =
false;
315 bool m_launchGroupHasBeenSet =
false;
317 LaunchSpecification m_launchSpecification;
318 bool m_launchSpecificationHasBeenSet =
false;
321 bool m_launchedAvailabilityZoneHasBeenSet =
false;
324 bool m_productDescriptionHasBeenSet =
false;
327 bool m_spotInstanceRequestIdHasBeenSet =
false;
330 bool m_spotPriceHasBeenSet =
false;
333 bool m_stateHasBeenSet =
false;
335 SpotInstanceStatus m_status;
336 bool m_statusHasBeenSet =
false;
339 bool m_tagsHasBeenSet =
false;
342 bool m_typeHasBeenSet =
false;
345 bool m_validFromHasBeenSet =
false;
348 bool m_validUntilHasBeenSet =
false;
351 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)
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
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 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)
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