AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
SpotFleetLaunchSpecification.h
1
6#pragma once
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/memory/stl/AWSVector.h>
11#include <aws/ec2/model/IamInstanceProfileSpecification.h>
12#include <aws/ec2/model/InstanceType.h>
13#include <aws/ec2/model/SpotFleetMonitoring.h>
14#include <aws/ec2/model/SpotPlacement.h>
15#include <aws/ec2/model/InstanceRequirements.h>
16#include <aws/ec2/model/BlockDeviceMapping.h>
17#include <aws/ec2/model/InstanceNetworkInterfaceSpecification.h>
18#include <aws/ec2/model/SpotFleetTagSpecification.h>
19#include <aws/ec2/model/GroupIdentifier.h>
20#include <utility>
21
22namespace Aws
23{
24namespace Utils
25{
26namespace Xml
27{
28 class XmlNode;
29} // namespace Xml
30} // namespace Utils
31namespace EC2
32{
33namespace Model
34{
35
47 {
48 public:
49 AWS_EC2_API SpotFleetLaunchSpecification() = default;
52
53 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
54 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
55
56
58
61 inline const Aws::String& GetAddressingType() const { return m_addressingType; }
62 inline bool AddressingTypeHasBeenSet() const { return m_addressingTypeHasBeenSet; }
63 template<typename AddressingTypeT = Aws::String>
64 void SetAddressingType(AddressingTypeT&& value) { m_addressingTypeHasBeenSet = true; m_addressingType = std::forward<AddressingTypeT>(value); }
65 template<typename AddressingTypeT = Aws::String>
66 SpotFleetLaunchSpecification& WithAddressingType(AddressingTypeT&& value) { SetAddressingType(std::forward<AddressingTypeT>(value)); return *this;}
68
70
77 inline const Aws::Vector<BlockDeviceMapping>& GetBlockDeviceMappings() const { return m_blockDeviceMappings; }
78 inline bool BlockDeviceMappingsHasBeenSet() const { return m_blockDeviceMappingsHasBeenSet; }
79 template<typename BlockDeviceMappingsT = Aws::Vector<BlockDeviceMapping>>
80 void SetBlockDeviceMappings(BlockDeviceMappingsT&& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings = std::forward<BlockDeviceMappingsT>(value); }
81 template<typename BlockDeviceMappingsT = Aws::Vector<BlockDeviceMapping>>
82 SpotFleetLaunchSpecification& WithBlockDeviceMappings(BlockDeviceMappingsT&& value) { SetBlockDeviceMappings(std::forward<BlockDeviceMappingsT>(value)); return *this;}
83 template<typename BlockDeviceMappingsT = BlockDeviceMapping>
84 SpotFleetLaunchSpecification& AddBlockDeviceMappings(BlockDeviceMappingsT&& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings.emplace_back(std::forward<BlockDeviceMappingsT>(value)); return *this; }
86
88
95 inline bool GetEbsOptimized() const { return m_ebsOptimized; }
96 inline bool EbsOptimizedHasBeenSet() const { return m_ebsOptimizedHasBeenSet; }
97 inline void SetEbsOptimized(bool value) { m_ebsOptimizedHasBeenSet = true; m_ebsOptimized = value; }
98 inline SpotFleetLaunchSpecification& WithEbsOptimized(bool value) { SetEbsOptimized(value); return *this;}
100
102
105 inline const IamInstanceProfileSpecification& GetIamInstanceProfile() const { return m_iamInstanceProfile; }
106 inline bool IamInstanceProfileHasBeenSet() const { return m_iamInstanceProfileHasBeenSet; }
107 template<typename IamInstanceProfileT = IamInstanceProfileSpecification>
108 void SetIamInstanceProfile(IamInstanceProfileT&& value) { m_iamInstanceProfileHasBeenSet = true; m_iamInstanceProfile = std::forward<IamInstanceProfileT>(value); }
109 template<typename IamInstanceProfileT = IamInstanceProfileSpecification>
110 SpotFleetLaunchSpecification& WithIamInstanceProfile(IamInstanceProfileT&& value) { SetIamInstanceProfile(std::forward<IamInstanceProfileT>(value)); return *this;}
112
114
117 inline const Aws::String& GetImageId() const { return m_imageId; }
118 inline bool ImageIdHasBeenSet() const { return m_imageIdHasBeenSet; }
119 template<typename ImageIdT = Aws::String>
120 void SetImageId(ImageIdT&& value) { m_imageIdHasBeenSet = true; m_imageId = std::forward<ImageIdT>(value); }
121 template<typename ImageIdT = Aws::String>
122 SpotFleetLaunchSpecification& WithImageId(ImageIdT&& value) { SetImageId(std::forward<ImageIdT>(value)); return *this;}
124
126
129 inline InstanceType GetInstanceType() const { return m_instanceType; }
130 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
131 inline void SetInstanceType(InstanceType value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; }
134
136
139 inline const Aws::String& GetKernelId() const { return m_kernelId; }
140 inline bool KernelIdHasBeenSet() const { return m_kernelIdHasBeenSet; }
141 template<typename KernelIdT = Aws::String>
142 void SetKernelId(KernelIdT&& value) { m_kernelIdHasBeenSet = true; m_kernelId = std::forward<KernelIdT>(value); }
143 template<typename KernelIdT = Aws::String>
144 SpotFleetLaunchSpecification& WithKernelId(KernelIdT&& value) { SetKernelId(std::forward<KernelIdT>(value)); return *this;}
146
148
151 inline const Aws::String& GetKeyName() const { return m_keyName; }
152 inline bool KeyNameHasBeenSet() const { return m_keyNameHasBeenSet; }
153 template<typename KeyNameT = Aws::String>
154 void SetKeyName(KeyNameT&& value) { m_keyNameHasBeenSet = true; m_keyName = std::forward<KeyNameT>(value); }
155 template<typename KeyNameT = Aws::String>
156 SpotFleetLaunchSpecification& WithKeyName(KeyNameT&& value) { SetKeyName(std::forward<KeyNameT>(value)); return *this;}
158
160
163 inline const SpotFleetMonitoring& GetMonitoring() const { return m_monitoring; }
164 inline bool MonitoringHasBeenSet() const { return m_monitoringHasBeenSet; }
165 template<typename MonitoringT = SpotFleetMonitoring>
166 void SetMonitoring(MonitoringT&& value) { m_monitoringHasBeenSet = true; m_monitoring = std::forward<MonitoringT>(value); }
167 template<typename MonitoringT = SpotFleetMonitoring>
168 SpotFleetLaunchSpecification& WithMonitoring(MonitoringT&& value) { SetMonitoring(std::forward<MonitoringT>(value)); return *this;}
170
172
179 inline const Aws::Vector<InstanceNetworkInterfaceSpecification>& GetNetworkInterfaces() const { return m_networkInterfaces; }
180 inline bool NetworkInterfacesHasBeenSet() const { return m_networkInterfacesHasBeenSet; }
181 template<typename NetworkInterfacesT = Aws::Vector<InstanceNetworkInterfaceSpecification>>
182 void SetNetworkInterfaces(NetworkInterfacesT&& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces = std::forward<NetworkInterfacesT>(value); }
183 template<typename NetworkInterfacesT = Aws::Vector<InstanceNetworkInterfaceSpecification>>
184 SpotFleetLaunchSpecification& WithNetworkInterfaces(NetworkInterfacesT&& value) { SetNetworkInterfaces(std::forward<NetworkInterfacesT>(value)); return *this;}
185 template<typename NetworkInterfacesT = InstanceNetworkInterfaceSpecification>
186 SpotFleetLaunchSpecification& AddNetworkInterfaces(NetworkInterfacesT&& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces.emplace_back(std::forward<NetworkInterfacesT>(value)); return *this; }
188
190
193 inline const SpotPlacement& GetPlacement() const { return m_placement; }
194 inline bool PlacementHasBeenSet() const { return m_placementHasBeenSet; }
195 template<typename PlacementT = SpotPlacement>
196 void SetPlacement(PlacementT&& value) { m_placementHasBeenSet = true; m_placement = std::forward<PlacementT>(value); }
197 template<typename PlacementT = SpotPlacement>
198 SpotFleetLaunchSpecification& WithPlacement(PlacementT&& value) { SetPlacement(std::forward<PlacementT>(value)); return *this;}
200
202
208 inline const Aws::String& GetRamdiskId() const { return m_ramdiskId; }
209 inline bool RamdiskIdHasBeenSet() const { return m_ramdiskIdHasBeenSet; }
210 template<typename RamdiskIdT = Aws::String>
211 void SetRamdiskId(RamdiskIdT&& value) { m_ramdiskIdHasBeenSet = true; m_ramdiskId = std::forward<RamdiskIdT>(value); }
212 template<typename RamdiskIdT = Aws::String>
213 SpotFleetLaunchSpecification& WithRamdiskId(RamdiskIdT&& value) { SetRamdiskId(std::forward<RamdiskIdT>(value)); return *this;}
215
217
225 inline const Aws::String& GetSpotPrice() const { return m_spotPrice; }
226 inline bool SpotPriceHasBeenSet() const { return m_spotPriceHasBeenSet; }
227 template<typename SpotPriceT = Aws::String>
228 void SetSpotPrice(SpotPriceT&& value) { m_spotPriceHasBeenSet = true; m_spotPrice = std::forward<SpotPriceT>(value); }
229 template<typename SpotPriceT = Aws::String>
230 SpotFleetLaunchSpecification& WithSpotPrice(SpotPriceT&& value) { SetSpotPrice(std::forward<SpotPriceT>(value)); return *this;}
232
234
241 inline const Aws::String& GetSubnetId() const { return m_subnetId; }
242 inline bool SubnetIdHasBeenSet() const { return m_subnetIdHasBeenSet; }
243 template<typename SubnetIdT = Aws::String>
244 void SetSubnetId(SubnetIdT&& value) { m_subnetIdHasBeenSet = true; m_subnetId = std::forward<SubnetIdT>(value); }
245 template<typename SubnetIdT = Aws::String>
246 SpotFleetLaunchSpecification& WithSubnetId(SubnetIdT&& value) { SetSubnetId(std::forward<SubnetIdT>(value)); return *this;}
248
250
254 inline const Aws::String& GetUserData() const { return m_userData; }
255 inline bool UserDataHasBeenSet() const { return m_userDataHasBeenSet; }
256 template<typename UserDataT = Aws::String>
257 void SetUserData(UserDataT&& value) { m_userDataHasBeenSet = true; m_userData = std::forward<UserDataT>(value); }
258 template<typename UserDataT = Aws::String>
259 SpotFleetLaunchSpecification& WithUserData(UserDataT&& value) { SetUserData(std::forward<UserDataT>(value)); return *this;}
261
263
276 inline double GetWeightedCapacity() const { return m_weightedCapacity; }
277 inline bool WeightedCapacityHasBeenSet() const { return m_weightedCapacityHasBeenSet; }
278 inline void SetWeightedCapacity(double value) { m_weightedCapacityHasBeenSet = true; m_weightedCapacity = value; }
279 inline SpotFleetLaunchSpecification& WithWeightedCapacity(double value) { SetWeightedCapacity(value); return *this;}
281
283
286 inline const Aws::Vector<SpotFleetTagSpecification>& GetTagSpecifications() const { return m_tagSpecifications; }
287 inline bool TagSpecificationsHasBeenSet() const { return m_tagSpecificationsHasBeenSet; }
288 template<typename TagSpecificationsT = Aws::Vector<SpotFleetTagSpecification>>
289 void SetTagSpecifications(TagSpecificationsT&& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications = std::forward<TagSpecificationsT>(value); }
290 template<typename TagSpecificationsT = Aws::Vector<SpotFleetTagSpecification>>
291 SpotFleetLaunchSpecification& WithTagSpecifications(TagSpecificationsT&& value) { SetTagSpecifications(std::forward<TagSpecificationsT>(value)); return *this;}
292 template<typename TagSpecificationsT = SpotFleetTagSpecification>
293 SpotFleetLaunchSpecification& AddTagSpecifications(TagSpecificationsT&& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications.emplace_back(std::forward<TagSpecificationsT>(value)); return *this; }
295
297
303 inline const InstanceRequirements& GetInstanceRequirements() const { return m_instanceRequirements; }
304 inline bool InstanceRequirementsHasBeenSet() const { return m_instanceRequirementsHasBeenSet; }
305 template<typename InstanceRequirementsT = InstanceRequirements>
306 void SetInstanceRequirements(InstanceRequirementsT&& value) { m_instanceRequirementsHasBeenSet = true; m_instanceRequirements = std::forward<InstanceRequirementsT>(value); }
307 template<typename InstanceRequirementsT = InstanceRequirements>
308 SpotFleetLaunchSpecification& WithInstanceRequirements(InstanceRequirementsT&& value) { SetInstanceRequirements(std::forward<InstanceRequirementsT>(value)); return *this;}
310
312
317 inline const Aws::Vector<GroupIdentifier>& GetSecurityGroups() const { return m_securityGroups; }
318 inline bool SecurityGroupsHasBeenSet() const { return m_securityGroupsHasBeenSet; }
319 template<typename SecurityGroupsT = Aws::Vector<GroupIdentifier>>
320 void SetSecurityGroups(SecurityGroupsT&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups = std::forward<SecurityGroupsT>(value); }
321 template<typename SecurityGroupsT = Aws::Vector<GroupIdentifier>>
322 SpotFleetLaunchSpecification& WithSecurityGroups(SecurityGroupsT&& value) { SetSecurityGroups(std::forward<SecurityGroupsT>(value)); return *this;}
323 template<typename SecurityGroupsT = GroupIdentifier>
324 SpotFleetLaunchSpecification& AddSecurityGroups(SecurityGroupsT&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups.emplace_back(std::forward<SecurityGroupsT>(value)); return *this; }
326 private:
327
328 Aws::String m_addressingType;
329 bool m_addressingTypeHasBeenSet = false;
330
331 Aws::Vector<BlockDeviceMapping> m_blockDeviceMappings;
332 bool m_blockDeviceMappingsHasBeenSet = false;
333
334 bool m_ebsOptimized{false};
335 bool m_ebsOptimizedHasBeenSet = false;
336
337 IamInstanceProfileSpecification m_iamInstanceProfile;
338 bool m_iamInstanceProfileHasBeenSet = false;
339
340 Aws::String m_imageId;
341 bool m_imageIdHasBeenSet = false;
342
343 InstanceType m_instanceType{InstanceType::NOT_SET};
344 bool m_instanceTypeHasBeenSet = false;
345
346 Aws::String m_kernelId;
347 bool m_kernelIdHasBeenSet = false;
348
349 Aws::String m_keyName;
350 bool m_keyNameHasBeenSet = false;
351
352 SpotFleetMonitoring m_monitoring;
353 bool m_monitoringHasBeenSet = false;
354
356 bool m_networkInterfacesHasBeenSet = false;
357
358 SpotPlacement m_placement;
359 bool m_placementHasBeenSet = false;
360
361 Aws::String m_ramdiskId;
362 bool m_ramdiskIdHasBeenSet = false;
363
364 Aws::String m_spotPrice;
365 bool m_spotPriceHasBeenSet = false;
366
367 Aws::String m_subnetId;
368 bool m_subnetIdHasBeenSet = false;
369
370 Aws::String m_userData;
371 bool m_userDataHasBeenSet = false;
372
373 double m_weightedCapacity{0.0};
374 bool m_weightedCapacityHasBeenSet = false;
375
376 Aws::Vector<SpotFleetTagSpecification> m_tagSpecifications;
377 bool m_tagSpecificationsHasBeenSet = false;
378
379 InstanceRequirements m_instanceRequirements;
380 bool m_instanceRequirementsHasBeenSet = false;
381
382 Aws::Vector<GroupIdentifier> m_securityGroups;
383 bool m_securityGroupsHasBeenSet = false;
384 };
385
386} // namespace Model
387} // namespace EC2
388} // namespace Aws
void SetBlockDeviceMappings(BlockDeviceMappingsT &&value)
SpotFleetLaunchSpecification & WithIamInstanceProfile(IamInstanceProfileT &&value)
SpotFleetLaunchSpecification & AddNetworkInterfaces(NetworkInterfacesT &&value)
SpotFleetLaunchSpecification & WithAddressingType(AddressingTypeT &&value)
SpotFleetLaunchSpecification & WithKeyName(KeyNameT &&value)
SpotFleetLaunchSpecification & AddTagSpecifications(TagSpecificationsT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
const Aws::Vector< BlockDeviceMapping > & GetBlockDeviceMappings() const
SpotFleetLaunchSpecification & WithPlacement(PlacementT &&value)
SpotFleetLaunchSpecification & WithUserData(UserDataT &&value)
SpotFleetLaunchSpecification & WithBlockDeviceMappings(BlockDeviceMappingsT &&value)
SpotFleetLaunchSpecification & WithRamdiskId(RamdiskIdT &&value)
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
const Aws::Vector< InstanceNetworkInterfaceSpecification > & GetNetworkInterfaces() const
SpotFleetLaunchSpecification & AddBlockDeviceMappings(BlockDeviceMappingsT &&value)
const Aws::Vector< GroupIdentifier > & GetSecurityGroups() const
SpotFleetLaunchSpecification & WithSpotPrice(SpotPriceT &&value)
SpotFleetLaunchSpecification & WithKernelId(KernelIdT &&value)
AWS_EC2_API SpotFleetLaunchSpecification(const Aws::Utils::Xml::XmlNode &xmlNode)
const IamInstanceProfileSpecification & GetIamInstanceProfile() const
SpotFleetLaunchSpecification & WithNetworkInterfaces(NetworkInterfacesT &&value)
SpotFleetLaunchSpecification & WithWeightedCapacity(double value)
SpotFleetLaunchSpecification & WithInstanceRequirements(InstanceRequirementsT &&value)
SpotFleetLaunchSpecification & WithSubnetId(SubnetIdT &&value)
void SetInstanceRequirements(InstanceRequirementsT &&value)
SpotFleetLaunchSpecification & WithInstanceType(InstanceType value)
const InstanceRequirements & GetInstanceRequirements() const
const Aws::Vector< SpotFleetTagSpecification > & GetTagSpecifications() const
SpotFleetLaunchSpecification & WithTagSpecifications(TagSpecificationsT &&value)
SpotFleetLaunchSpecification & WithImageId(ImageIdT &&value)
SpotFleetLaunchSpecification & WithEbsOptimized(bool value)
SpotFleetLaunchSpecification & AddSecurityGroups(SecurityGroupsT &&value)
AWS_EC2_API SpotFleetLaunchSpecification()=default
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