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/GroupIdentifier.h>
13#include <aws/ec2/model/IamInstanceProfileSpecification.h>
14#include <aws/ec2/model/InstanceNetworkInterfaceSpecification.h>
15#include <aws/ec2/model/InstanceRequirements.h>
16#include <aws/ec2/model/InstanceType.h>
17#include <aws/ec2/model/SpotFleetMonitoring.h>
18#include <aws/ec2/model/SpotFleetTagSpecification.h>
19#include <aws/ec2/model/SpotPlacement.h>
57 template <
typename AddressingTypeT = Aws::String>
59 m_addressingTypeHasBeenSet =
true;
60 m_addressingType = std::forward<AddressingTypeT>(value);
62 template <
typename AddressingTypeT = Aws::String>
79 template <
typename BlockDeviceMappingsT = Aws::Vector<BlockDeviceMapping>>
81 m_blockDeviceMappingsHasBeenSet =
true;
82 m_blockDeviceMappings = std::forward<BlockDeviceMappingsT>(value);
84 template <
typename BlockDeviceMappingsT = Aws::Vector<BlockDeviceMapping>>
89 template <
typename BlockDeviceMappingsT = BlockDeviceMapping>
91 m_blockDeviceMappingsHasBeenSet =
true;
92 m_blockDeviceMappings.emplace_back(std::forward<BlockDeviceMappingsT>(value));
108 m_ebsOptimizedHasBeenSet =
true;
109 m_ebsOptimized = value;
123 template <
typename IamInstanceProfileT = IamInstanceProfileSpecification>
125 m_iamInstanceProfileHasBeenSet =
true;
126 m_iamInstanceProfile = std::forward<IamInstanceProfileT>(value);
128 template <
typename IamInstanceProfileT = IamInstanceProfileSpecification>
141 template <
typename ImageIdT = Aws::String>
143 m_imageIdHasBeenSet =
true;
144 m_imageId = std::forward<ImageIdT>(value);
146 template <
typename ImageIdT = Aws::String>
160 m_instanceTypeHasBeenSet =
true;
161 m_instanceType = value;
175 template <
typename KernelIdT = Aws::String>
177 m_kernelIdHasBeenSet =
true;
178 m_kernelId = std::forward<KernelIdT>(value);
180 template <
typename KernelIdT = Aws::String>
193 template <
typename KeyNameT = Aws::String>
195 m_keyNameHasBeenSet =
true;
196 m_keyName = std::forward<KeyNameT>(value);
198 template <
typename KeyNameT = Aws::String>
211 template <
typename MonitoringT = SpotFleetMonitoring>
213 m_monitoringHasBeenSet =
true;
214 m_monitoring = std::forward<MonitoringT>(value);
216 template <
typename MonitoringT = SpotFleetMonitoring>
233 template <
typename NetworkInterfacesT = Aws::Vector<InstanceNetworkInterfaceSpecification>>
235 m_networkInterfacesHasBeenSet =
true;
236 m_networkInterfaces = std::forward<NetworkInterfacesT>(value);
238 template <
typename NetworkInterfacesT = Aws::Vector<InstanceNetworkInterfaceSpecification>>
243 template <
typename NetworkInterfacesT = InstanceNetworkInterfaceSpecification>
245 m_networkInterfacesHasBeenSet =
true;
246 m_networkInterfaces.emplace_back(std::forward<NetworkInterfacesT>(value));
257 template <
typename PlacementT = SpotPlacement>
259 m_placementHasBeenSet =
true;
260 m_placement = std::forward<PlacementT>(value);
262 template <
typename PlacementT = SpotPlacement>
278 template <
typename RamdiskIdT = Aws::String>
280 m_ramdiskIdHasBeenSet =
true;
281 m_ramdiskId = std::forward<RamdiskIdT>(value);
283 template <
typename RamdiskIdT = Aws::String>
301 template <
typename SpotPriceT = Aws::String>
303 m_spotPriceHasBeenSet =
true;
304 m_spotPrice = std::forward<SpotPriceT>(value);
306 template <
typename SpotPriceT = Aws::String>
323 template <
typename SubnetIdT = Aws::String>
325 m_subnetIdHasBeenSet =
true;
326 m_subnetId = std::forward<SubnetIdT>(value);
328 template <
typename SubnetIdT = Aws::String>
342 template <
typename UserDataT = Aws::String>
344 m_userDataHasBeenSet =
true;
345 m_userData = std::forward<UserDataT>(value);
347 template <
typename UserDataT = Aws::String>
371 m_weightedCapacityHasBeenSet =
true;
372 m_weightedCapacity = value;
386 template <
typename TagSpecificationsT = Aws::Vector<SpotFleetTagSpecification>>
388 m_tagSpecificationsHasBeenSet =
true;
389 m_tagSpecifications = std::forward<TagSpecificationsT>(value);
391 template <
typename TagSpecificationsT = Aws::Vector<SpotFleetTagSpecification>>
396 template <
typename TagSpecificationsT = SpotFleetTagSpecification>
398 m_tagSpecificationsHasBeenSet =
true;
399 m_tagSpecifications.emplace_back(std::forward<TagSpecificationsT>(value));
413 template <
typename InstanceRequirementsT = InstanceRequirements>
415 m_instanceRequirementsHasBeenSet =
true;
416 m_instanceRequirements = std::forward<InstanceRequirementsT>(value);
418 template <
typename InstanceRequirementsT = InstanceRequirements>
433 template <
typename SecurityGroupsT = Aws::Vector<GroupIdentifier>>
435 m_securityGroupsHasBeenSet =
true;
436 m_securityGroups = std::forward<SecurityGroupsT>(value);
438 template <
typename SecurityGroupsT = Aws::Vector<GroupIdentifier>>
443 template <
typename SecurityGroupsT = GroupIdentifier>
445 m_securityGroupsHasBeenSet =
true;
446 m_securityGroups.emplace_back(std::forward<SecurityGroupsT>(value));
455 bool m_ebsOptimized{
false};
457 IamInstanceProfileSpecification m_iamInstanceProfile;
467 SpotFleetMonitoring m_monitoring;
471 SpotPlacement m_placement;
481 double m_weightedCapacity{0.0};
485 InstanceRequirements m_instanceRequirements;
488 bool m_addressingTypeHasBeenSet =
false;
489 bool m_blockDeviceMappingsHasBeenSet =
false;
490 bool m_ebsOptimizedHasBeenSet =
false;
491 bool m_iamInstanceProfileHasBeenSet =
false;
492 bool m_imageIdHasBeenSet =
false;
493 bool m_instanceTypeHasBeenSet =
false;
494 bool m_kernelIdHasBeenSet =
false;
495 bool m_keyNameHasBeenSet =
false;
496 bool m_monitoringHasBeenSet =
false;
497 bool m_networkInterfacesHasBeenSet =
false;
498 bool m_placementHasBeenSet =
false;
499 bool m_ramdiskIdHasBeenSet =
false;
500 bool m_spotPriceHasBeenSet =
false;
501 bool m_subnetIdHasBeenSet =
false;
502 bool m_userDataHasBeenSet =
false;
503 bool m_weightedCapacityHasBeenSet =
false;
504 bool m_tagSpecificationsHasBeenSet =
false;
505 bool m_instanceRequirementsHasBeenSet =
false;
506 bool m_securityGroupsHasBeenSet =
false;
void SetBlockDeviceMappings(BlockDeviceMappingsT &&value)
SpotFleetLaunchSpecification & WithIamInstanceProfile(IamInstanceProfileT &&value)
SpotFleetLaunchSpecification & AddNetworkInterfaces(NetworkInterfacesT &&value)
bool SpotPriceHasBeenSet() const
const Aws::String & GetSpotPrice() const
bool MonitoringHasBeenSet() const
void SetEbsOptimized(bool value)
bool KeyNameHasBeenSet() const
SpotFleetLaunchSpecification & WithAddressingType(AddressingTypeT &&value)
SpotFleetLaunchSpecification & WithKeyName(KeyNameT &&value)
bool AddressingTypeHasBeenSet() const
SpotFleetLaunchSpecification & AddTagSpecifications(TagSpecificationsT &&value)
const Aws::String & GetImageId() const
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
void SetKeyName(KeyNameT &&value)
const Aws::Vector< BlockDeviceMapping > & GetBlockDeviceMappings() const
void SetInstanceType(InstanceType value)
SpotFleetLaunchSpecification & WithPlacement(PlacementT &&value)
const Aws::String & GetUserData() const
SpotFleetLaunchSpecification & WithUserData(UserDataT &&value)
void SetTagSpecifications(TagSpecificationsT &&value)
void SetUserData(UserDataT &&value)
SpotFleetLaunchSpecification & WithBlockDeviceMappings(BlockDeviceMappingsT &&value)
bool IamInstanceProfileHasBeenSet() const
bool NetworkInterfacesHasBeenSet() const
void SetIamInstanceProfile(IamInstanceProfileT &&value)
bool RamdiskIdHasBeenSet() const
SpotFleetLaunchSpecification & WithRamdiskId(RamdiskIdT &&value)
bool EbsOptimizedHasBeenSet() const
SpotFleetLaunchSpecification & WithMonitoring(MonitoringT &&value)
AWS_EC2_API SpotFleetLaunchSpecification & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
SpotFleetLaunchSpecification & WithSecurityGroups(SecurityGroupsT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
bool GetEbsOptimized() const
bool InstanceTypeHasBeenSet() const
const Aws::Vector< InstanceNetworkInterfaceSpecification > & GetNetworkInterfaces() const
const Aws::String & GetRamdiskId() const
SpotFleetLaunchSpecification & AddBlockDeviceMappings(BlockDeviceMappingsT &&value)
const Aws::Vector< GroupIdentifier > & GetSecurityGroups() const
void SetNetworkInterfaces(NetworkInterfacesT &&value)
SpotFleetLaunchSpecification & WithSpotPrice(SpotPriceT &&value)
double GetWeightedCapacity() const
bool TagSpecificationsHasBeenSet() const
bool UserDataHasBeenSet() const
const SpotPlacement & GetPlacement() const
SpotFleetLaunchSpecification & WithKernelId(KernelIdT &&value)
AWS_EC2_API SpotFleetLaunchSpecification(const Aws::Utils::Xml::XmlNode &xmlNode)
const IamInstanceProfileSpecification & GetIamInstanceProfile() const
void SetMonitoring(MonitoringT &&value)
SpotFleetLaunchSpecification & WithNetworkInterfaces(NetworkInterfacesT &&value)
void SetWeightedCapacity(double value)
void SetAddressingType(AddressingTypeT &&value)
const Aws::String & GetKernelId() const
const SpotFleetMonitoring & GetMonitoring() const
SpotFleetLaunchSpecification & WithWeightedCapacity(double value)
const Aws::String & GetAddressingType() const
bool ImageIdHasBeenSet() const
void SetSubnetId(SubnetIdT &&value)
const Aws::String & GetKeyName() const
bool SecurityGroupsHasBeenSet() const
SpotFleetLaunchSpecification & WithInstanceRequirements(InstanceRequirementsT &&value)
SpotFleetLaunchSpecification & WithSubnetId(SubnetIdT &&value)
void SetPlacement(PlacementT &&value)
void SetSecurityGroups(SecurityGroupsT &&value)
void SetImageId(ImageIdT &&value)
void SetInstanceRequirements(InstanceRequirementsT &&value)
SpotFleetLaunchSpecification & WithInstanceType(InstanceType value)
const InstanceRequirements & GetInstanceRequirements() const
bool WeightedCapacityHasBeenSet() const
bool InstanceRequirementsHasBeenSet() const
const Aws::Vector< SpotFleetTagSpecification > & GetTagSpecifications() const
bool KernelIdHasBeenSet() const
bool PlacementHasBeenSet() const
void SetSpotPrice(SpotPriceT &&value)
SpotFleetLaunchSpecification & WithTagSpecifications(TagSpecificationsT &&value)
SpotFleetLaunchSpecification & WithImageId(ImageIdT &&value)
SpotFleetLaunchSpecification & WithEbsOptimized(bool value)
bool BlockDeviceMappingsHasBeenSet() const
InstanceType GetInstanceType() const
void SetKernelId(KernelIdT &&value)
const Aws::String & GetSubnetId() const
SpotFleetLaunchSpecification & AddSecurityGroups(SecurityGroupsT &&value)
bool SubnetIdHasBeenSet() const
AWS_EC2_API SpotFleetLaunchSpecification()=default
void SetRamdiskId(RamdiskIdT &&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