7#include <aws/ec2/EC2_EXPORTS.h>
8#include <aws/ec2/EC2Request.h>
9#include <aws/ec2/model/RequestSpotLaunchSpecification.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/ec2/model/InstanceInterruptionBehavior.h>
12#include <aws/core/utils/memory/stl/AWSString.h>
13#include <aws/ec2/model/SpotInstanceType.h>
14#include <aws/core/utils/DateTime.h>
15#include <aws/ec2/model/TagSpecification.h>
55 template<
typename LaunchSpecificationT = RequestSpotLaunchSpecification>
56 void SetLaunchSpecification(LaunchSpecificationT&& value) { m_launchSpecificationHasBeenSet =
true; m_launchSpecification = std::forward<LaunchSpecificationT>(value); }
57 template<
typename LaunchSpecificationT = RequestSpotLaunchSpecification>
72 template<
typename TagSpecificationsT = Aws::Vector<TagSpecification>>
73 void SetTagSpecifications(TagSpecificationsT&& value) { m_tagSpecificationsHasBeenSet =
true; m_tagSpecifications = std::forward<TagSpecificationsT>(value); }
74 template<
typename TagSpecificationsT = Aws::Vector<TagSpecification>>
76 template<
typename TagSpecificationsT = TagSpecification>
100 inline void SetDryRun(
bool value) { m_dryRunHasBeenSet =
true; m_dryRun = value; }
115 template<
typename SpotPriceT = Aws::String>
116 void SetSpotPrice(SpotPriceT&& value) { m_spotPriceHasBeenSet =
true; m_spotPrice = std::forward<SpotPriceT>(value); }
117 template<
typename SpotPriceT = Aws::String>
131 template<
typename ClientTokenT = Aws::String>
132 void SetClientToken(ClientTokenT&& value) { m_clientTokenHasBeenSet =
true; m_clientToken = std::forward<ClientTokenT>(value); }
133 template<
typename ClientTokenT = Aws::String>
143 inline void SetInstanceCount(
int value) { m_instanceCountHasBeenSet =
true; m_instanceCount = value; }
169 template<
typename Val
idFromT = Aws::Utils::DateTime>
170 void SetValidFrom(ValidFromT&& value) { m_validFromHasBeenSet =
true; m_validFrom = std::forward<ValidFromT>(value); }
171 template<
typename Val
idFromT = Aws::Utils::DateTime>
188 template<
typename Val
idUntilT = Aws::Utils::DateTime>
189 void SetValidUntil(ValidUntilT&& value) { m_validUntilHasBeenSet =
true; m_validUntil = std::forward<ValidUntilT>(value); }
190 template<
typename Val
idUntilT = Aws::Utils::DateTime>
202 template<
typename LaunchGroupT = Aws::String>
203 void SetLaunchGroup(LaunchGroupT&& value) { m_launchGroupHasBeenSet =
true; m_launchGroup = std::forward<LaunchGroupT>(value); }
204 template<
typename LaunchGroupT = Aws::String>
229 template<
typename AvailabilityZoneGroupT = Aws::String>
230 void SetAvailabilityZoneGroup(AvailabilityZoneGroupT&& value) { m_availabilityZoneGroupHasBeenSet =
true; m_availabilityZoneGroup = std::forward<AvailabilityZoneGroupT>(value); }
231 template<
typename AvailabilityZoneGroupT = Aws::String>
247 bool m_launchSpecificationHasBeenSet =
false;
250 bool m_tagSpecificationsHasBeenSet =
false;
253 bool m_instanceInterruptionBehaviorHasBeenSet =
false;
255 bool m_dryRun{
false};
256 bool m_dryRunHasBeenSet =
false;
259 bool m_spotPriceHasBeenSet =
false;
262 bool m_clientTokenHasBeenSet =
false;
264 int m_instanceCount{0};
265 bool m_instanceCountHasBeenSet =
false;
268 bool m_typeHasBeenSet =
false;
271 bool m_validFromHasBeenSet =
false;
274 bool m_validUntilHasBeenSet =
false;
277 bool m_launchGroupHasBeenSet =
false;
280 bool m_availabilityZoneGroupHasBeenSet =
false;
282 int m_blockDurationMinutes{0};
283 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