7#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/ec2/EC2_EXPORTS.h>
11#include <aws/ec2/model/BlockDeviceMapping.h>
12#include <aws/ec2/model/IamInstanceProfileSpecification.h>
13#include <aws/ec2/model/InstanceNetworkInterfaceSpecification.h>
14#include <aws/ec2/model/InstanceType.h>
15#include <aws/ec2/model/RunInstancesMonitoringEnabled.h>
16#include <aws/ec2/model/SpotPlacement.h>
50 template <
typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
52 m_securityGroupIdsHasBeenSet =
true;
53 m_securityGroupIds = std::forward<SecurityGroupIdsT>(value);
55 template <
typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
60 template <
typename SecurityGroupIdsT = Aws::String>
62 m_securityGroupIdsHasBeenSet =
true;
63 m_securityGroupIds.emplace_back(std::forward<SecurityGroupIdsT>(value));
74 template <
typename SecurityGroupsT = Aws::Vector<Aws::String>>
76 m_securityGroupsHasBeenSet =
true;
77 m_securityGroups = std::forward<SecurityGroupsT>(value);
79 template <
typename SecurityGroupsT = Aws::Vector<Aws::String>>
84 template <
typename SecurityGroupsT = Aws::String>
86 m_securityGroupsHasBeenSet =
true;
87 m_securityGroups.emplace_back(std::forward<SecurityGroupsT>(value));
98 template <
typename AddressingTypeT = Aws::String>
100 m_addressingTypeHasBeenSet =
true;
101 m_addressingType = std::forward<AddressingTypeT>(value);
103 template <
typename AddressingTypeT = Aws::String>
119 template <
typename BlockDeviceMappingsT = Aws::Vector<BlockDeviceMapping>>
121 m_blockDeviceMappingsHasBeenSet =
true;
122 m_blockDeviceMappings = std::forward<BlockDeviceMappingsT>(value);
124 template <
typename BlockDeviceMappingsT = Aws::Vector<BlockDeviceMapping>>
129 template <
typename BlockDeviceMappingsT = BlockDeviceMapping>
131 m_blockDeviceMappingsHasBeenSet =
true;
132 m_blockDeviceMappings.emplace_back(std::forward<BlockDeviceMappingsT>(value));
148 m_ebsOptimizedHasBeenSet =
true;
149 m_ebsOptimized = value;
163 template <
typename IamInstanceProfileT = IamInstanceProfileSpecification>
165 m_iamInstanceProfileHasBeenSet =
true;
166 m_iamInstanceProfile = std::forward<IamInstanceProfileT>(value);
168 template <
typename IamInstanceProfileT = IamInstanceProfileSpecification>
181 template <
typename ImageIdT = Aws::String>
183 m_imageIdHasBeenSet =
true;
184 m_imageId = std::forward<ImageIdT>(value);
186 template <
typename ImageIdT = Aws::String>
200 m_instanceTypeHasBeenSet =
true;
201 m_instanceType = value;
215 template <
typename KernelIdT = Aws::String>
217 m_kernelIdHasBeenSet =
true;
218 m_kernelId = std::forward<KernelIdT>(value);
220 template <
typename KernelIdT = Aws::String>
233 template <
typename KeyNameT = Aws::String>
235 m_keyNameHasBeenSet =
true;
236 m_keyName = std::forward<KeyNameT>(value);
238 template <
typename KeyNameT = Aws::String>
252 template <
typename MonitoringT = RunInstancesMonitoringEnabled>
254 m_monitoringHasBeenSet =
true;
255 m_monitoring = std::forward<MonitoringT>(value);
257 template <
typename MonitoringT = RunInstancesMonitoringEnabled>
271 template <
typename NetworkInterfacesT = Aws::Vector<InstanceNetworkInterfaceSpecification>>
273 m_networkInterfacesHasBeenSet =
true;
274 m_networkInterfaces = std::forward<NetworkInterfacesT>(value);
276 template <
typename NetworkInterfacesT = Aws::Vector<InstanceNetworkInterfaceSpecification>>
281 template <
typename NetworkInterfacesT = InstanceNetworkInterfaceSpecification>
283 m_networkInterfacesHasBeenSet =
true;
284 m_networkInterfaces.emplace_back(std::forward<NetworkInterfacesT>(value));
295 template <
typename PlacementT = SpotPlacement>
297 m_placementHasBeenSet =
true;
298 m_placement = std::forward<PlacementT>(value);
300 template <
typename PlacementT = SpotPlacement>
313 template <
typename RamdiskIdT = Aws::String>
315 m_ramdiskIdHasBeenSet =
true;
316 m_ramdiskId = std::forward<RamdiskIdT>(value);
318 template <
typename RamdiskIdT = Aws::String>
331 template <
typename SubnetIdT = Aws::String>
333 m_subnetIdHasBeenSet =
true;
334 m_subnetId = std::forward<SubnetIdT>(value);
336 template <
typename SubnetIdT = Aws::String>
350 template <
typename UserDataT = Aws::String>
352 m_userDataHasBeenSet =
true;
353 m_userData = std::forward<UserDataT>(value);
355 template <
typename UserDataT = Aws::String>
370 bool m_ebsOptimized{
false};
372 IamInstanceProfileSpecification m_iamInstanceProfile;
382 RunInstancesMonitoringEnabled m_monitoring;
386 SpotPlacement m_placement;
393 bool m_securityGroupIdsHasBeenSet =
false;
394 bool m_securityGroupsHasBeenSet =
false;
395 bool m_addressingTypeHasBeenSet =
false;
396 bool m_blockDeviceMappingsHasBeenSet =
false;
397 bool m_ebsOptimizedHasBeenSet =
false;
398 bool m_iamInstanceProfileHasBeenSet =
false;
399 bool m_imageIdHasBeenSet =
false;
400 bool m_instanceTypeHasBeenSet =
false;
401 bool m_kernelIdHasBeenSet =
false;
402 bool m_keyNameHasBeenSet =
false;
403 bool m_monitoringHasBeenSet =
false;
404 bool m_networkInterfacesHasBeenSet =
false;
405 bool m_placementHasBeenSet =
false;
406 bool m_ramdiskIdHasBeenSet =
false;
407 bool m_subnetIdHasBeenSet =
false;
408 bool m_userDataHasBeenSet =
false;
const Aws::String & GetKeyName() const
RequestSpotLaunchSpecification & WithMonitoring(MonitoringT &&value)
RequestSpotLaunchSpecification & WithEbsOptimized(bool value)
void SetPlacement(PlacementT &&value)
bool MonitoringHasBeenSet() const
bool KernelIdHasBeenSet() const
void SetNetworkInterfaces(NetworkInterfacesT &&value)
RequestSpotLaunchSpecification & AddBlockDeviceMappings(BlockDeviceMappingsT &&value)
bool KeyNameHasBeenSet() const
RequestSpotLaunchSpecification & WithBlockDeviceMappings(BlockDeviceMappingsT &&value)
RequestSpotLaunchSpecification & WithRamdiskId(RamdiskIdT &&value)
const SpotPlacement & GetPlacement() const
const Aws::String & GetImageId() const
void SetBlockDeviceMappings(BlockDeviceMappingsT &&value)
const IamInstanceProfileSpecification & GetIamInstanceProfile() const
InstanceType GetInstanceType() const
void SetIamInstanceProfile(IamInstanceProfileT &&value)
RequestSpotLaunchSpecification & WithSecurityGroups(SecurityGroupsT &&value)
bool IamInstanceProfileHasBeenSet() const
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
void SetMonitoring(MonitoringT &&value)
RequestSpotLaunchSpecification & AddSecurityGroups(SecurityGroupsT &&value)
bool InstanceTypeHasBeenSet() const
RequestSpotLaunchSpecification & WithSubnetId(SubnetIdT &&value)
AWS_EC2_API RequestSpotLaunchSpecification()=default
RequestSpotLaunchSpecification & AddNetworkInterfaces(NetworkInterfacesT &&value)
bool RamdiskIdHasBeenSet() const
const Aws::String & GetUserData() const
RequestSpotLaunchSpecification & WithAddressingType(AddressingTypeT &&value)
const Aws::Vector< BlockDeviceMapping > & GetBlockDeviceMappings() const
RequestSpotLaunchSpecification & WithUserData(UserDataT &&value)
void SetKeyName(KeyNameT &&value)
bool ImageIdHasBeenSet() const
const Aws::Vector< Aws::String > & GetSecurityGroups() const
void SetImageId(ImageIdT &&value)
RequestSpotLaunchSpecification & AddSecurityGroupIds(SecurityGroupIdsT &&value)
bool AddressingTypeHasBeenSet() const
bool BlockDeviceMappingsHasBeenSet() const
const Aws::String & GetSubnetId() const
bool UserDataHasBeenSet() const
bool NetworkInterfacesHasBeenSet() const
RequestSpotLaunchSpecification & WithPlacement(PlacementT &&value)
AWS_EC2_API RequestSpotLaunchSpecification & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetSecurityGroups(SecurityGroupsT &&value)
RequestSpotLaunchSpecification & WithSecurityGroupIds(SecurityGroupIdsT &&value)
const Aws::Vector< InstanceNetworkInterfaceSpecification > & GetNetworkInterfaces() const
bool SubnetIdHasBeenSet() const
bool GetEbsOptimized() const
bool SecurityGroupIdsHasBeenSet() const
RequestSpotLaunchSpecification & WithInstanceType(InstanceType value)
const Aws::String & GetRamdiskId() const
const Aws::Vector< Aws::String > & GetSecurityGroupIds() const
const Aws::String & GetKernelId() const
RequestSpotLaunchSpecification & WithIamInstanceProfile(IamInstanceProfileT &&value)
void SetAddressingType(AddressingTypeT &&value)
void SetUserData(UserDataT &&value)
void SetInstanceType(InstanceType value)
RequestSpotLaunchSpecification & WithKeyName(KeyNameT &&value)
void SetSubnetId(SubnetIdT &&value)
void SetEbsOptimized(bool value)
AWS_EC2_API RequestSpotLaunchSpecification(const Aws::Utils::Xml::XmlNode &xmlNode)
bool SecurityGroupsHasBeenSet() const
RequestSpotLaunchSpecification & WithKernelId(KernelIdT &&value)
RequestSpotLaunchSpecification & WithImageId(ImageIdT &&value)
bool PlacementHasBeenSet() const
void SetSecurityGroupIds(SecurityGroupIdsT &&value)
const Aws::String & GetAddressingType() const
const RunInstancesMonitoringEnabled & GetMonitoring() const
void SetRamdiskId(RamdiskIdT &&value)
RequestSpotLaunchSpecification & WithNetworkInterfaces(NetworkInterfacesT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
bool EbsOptimizedHasBeenSet() const
void SetKernelId(KernelIdT &&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