7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/ec2/EC2Request.h>
11#include <aws/ec2/EC2_EXPORTS.h>
12#include <aws/ec2/model/InstanceInterruptionBehavior.h>
13#include <aws/ec2/model/RequestSpotLaunchSpecification.h>
14#include <aws/ec2/model/SpotInstanceType.h>
15#include <aws/ec2/model/TagSpecification.h>
51 template <
typename LaunchSpecificationT = RequestSpotLaunchSpecification>
53 m_launchSpecificationHasBeenSet =
true;
54 m_launchSpecification = std::forward<LaunchSpecificationT>(value);
56 template <
typename LaunchSpecificationT = RequestSpotLaunchSpecification>
74 template <
typename TagSpecificationsT = Aws::Vector<TagSpecification>>
76 m_tagSpecificationsHasBeenSet =
true;
77 m_tagSpecifications = std::forward<TagSpecificationsT>(value);
79 template <
typename TagSpecificationsT = Aws::Vector<TagSpecification>>
84 template <
typename TagSpecificationsT = TagSpecification>
86 m_tagSpecificationsHasBeenSet =
true;
87 m_tagSpecifications.emplace_back(std::forward<TagSpecificationsT>(value));
100 m_instanceInterruptionBehaviorHasBeenSet =
true;
101 m_instanceInterruptionBehavior = value;
119 m_dryRunHasBeenSet =
true;
139 template <
typename SpotPriceT = Aws::String>
141 m_spotPriceHasBeenSet =
true;
142 m_spotPrice = std::forward<SpotPriceT>(value);
144 template <
typename SpotPriceT = Aws::String>
161 template <
typename ClientTokenT = Aws::String>
163 m_clientTokenHasBeenSet =
true;
164 m_clientToken = std::forward<ClientTokenT>(value);
166 template <
typename ClientTokenT = Aws::String>
180 m_instanceCountHasBeenSet =
true;
181 m_instanceCount = value;
196 m_typeHasBeenSet =
true;
217 template <
typename Val
idFromT = Aws::Utils::DateTime>
219 m_validFromHasBeenSet =
true;
220 m_validFrom = std::forward<ValidFromT>(value);
222 template <
typename Val
idFromT = Aws::Utils::DateTime>
242 template <
typename Val
idUntilT = Aws::Utils::DateTime>
244 m_validUntilHasBeenSet =
true;
245 m_validUntil = std::forward<ValidUntilT>(value);
247 template <
typename Val
idUntilT = Aws::Utils::DateTime>
262 template <
typename LaunchGroupT = Aws::String>
264 m_launchGroupHasBeenSet =
true;
265 m_launchGroup = std::forward<LaunchGroupT>(value);
267 template <
typename LaunchGroupT = Aws::String>
295 template <
typename AvailabilityZoneGroupT = Aws::String>
297 m_availabilityZoneGroupHasBeenSet =
true;
298 m_availabilityZoneGroup = std::forward<AvailabilityZoneGroupT>(value);
300 template <
typename AvailabilityZoneGroupT = Aws::String>
314 m_blockDurationMinutesHasBeenSet =
true;
315 m_blockDurationMinutes = value;
329 bool m_dryRun{
false};
335 int m_instanceCount{0};
347 int m_blockDurationMinutes{0};
348 bool m_launchSpecificationHasBeenSet =
false;
349 bool m_tagSpecificationsHasBeenSet =
false;
350 bool m_instanceInterruptionBehaviorHasBeenSet =
false;
351 bool m_dryRunHasBeenSet =
false;
352 bool m_spotPriceHasBeenSet =
false;
353 bool m_clientTokenHasBeenSet =
false;
354 bool m_instanceCountHasBeenSet =
false;
355 bool m_typeHasBeenSet =
false;
356 bool m_validFromHasBeenSet =
false;
357 bool m_validUntilHasBeenSet =
false;
358 bool m_launchGroupHasBeenSet =
false;
359 bool m_availabilityZoneGroupHasBeenSet =
false;
360 bool m_blockDurationMinutesHasBeenSet =
false;
bool LaunchGroupHasBeenSet() const
bool ValidFromHasBeenSet() const
bool DryRunHasBeenSet() const
const Aws::String & GetClientToken() const
virtual const char * GetServiceRequestName() const override
bool LaunchSpecificationHasBeenSet() const
const Aws::String & GetAvailabilityZoneGroup() const
bool ValidUntilHasBeenSet() const
const Aws::Utils::DateTime & GetValidFrom() const
void SetInstanceCount(int value)
void SetLaunchSpecification(LaunchSpecificationT &&value)
RequestSpotInstancesRequest & WithInstanceInterruptionBehavior(InstanceInterruptionBehavior value)
RequestSpotInstancesRequest & WithType(SpotInstanceType value)
AWS_EC2_API RequestSpotInstancesRequest()=default
void SetValidUntil(ValidUntilT &&value)
void SetInstanceInterruptionBehavior(InstanceInterruptionBehavior value)
void SetAvailabilityZoneGroup(AvailabilityZoneGroupT &&value)
bool SpotPriceHasBeenSet() const
bool ClientTokenHasBeenSet() const
bool TagSpecificationsHasBeenSet() const
int GetInstanceCount() const
bool AvailabilityZoneGroupHasBeenSet() const
RequestSpotInstancesRequest & WithSpotPrice(SpotPriceT &&value)
void SetValidFrom(ValidFromT &&value)
AWS_EC2_API Aws::String SerializePayload() const override
SpotInstanceType GetType() const
RequestSpotInstancesRequest & WithLaunchGroup(LaunchGroupT &&value)
void SetLaunchGroup(LaunchGroupT &&value)
RequestSpotInstancesRequest & WithInstanceCount(int value)
bool BlockDurationMinutesHasBeenSet() const
const RequestSpotLaunchSpecification & GetLaunchSpecification() const
RequestSpotInstancesRequest & WithClientToken(ClientTokenT &&value)
void SetDryRun(bool value)
RequestSpotInstancesRequest & AddTagSpecifications(TagSpecificationsT &&value)
void SetType(SpotInstanceType value)
RequestSpotInstancesRequest & WithValidUntil(ValidUntilT &&value)
RequestSpotInstancesRequest & WithDryRun(bool value)
void SetClientToken(ClientTokenT &&value)
RequestSpotInstancesRequest & WithAvailabilityZoneGroup(AvailabilityZoneGroupT &&value)
bool InstanceInterruptionBehaviorHasBeenSet() const
RequestSpotInstancesRequest & WithLaunchSpecification(LaunchSpecificationT &&value)
RequestSpotInstancesRequest & WithBlockDurationMinutes(int value)
RequestSpotInstancesRequest & WithValidFrom(ValidFromT &&value)
const Aws::Vector< TagSpecification > & GetTagSpecifications() const
const Aws::Utils::DateTime & GetValidUntil() const
InstanceInterruptionBehavior GetInstanceInterruptionBehavior() const
int GetBlockDurationMinutes() const
void SetSpotPrice(SpotPriceT &&value)
void SetBlockDurationMinutes(int value)
const Aws::String & GetLaunchGroup() const
bool TypeHasBeenSet() const
RequestSpotInstancesRequest & WithTagSpecifications(TagSpecificationsT &&value)
const Aws::String & GetSpotPrice() const
bool InstanceCountHasBeenSet() const
void SetTagSpecifications(TagSpecificationsT &&value)
AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
InstanceInterruptionBehavior
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector