AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
SpotFleetLaunchSpecification.h
1
6#pragma once
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>
20
21#include <utility>
22
23namespace Aws {
24namespace Utils {
25namespace Xml {
26class XmlNode;
27} // namespace Xml
28} // namespace Utils
29namespace EC2 {
30namespace Model {
31
43 public:
44 AWS_EC2_API SpotFleetLaunchSpecification() = default;
47
48 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
49 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
50
52
55 inline const Aws::String& GetAddressingType() const { return m_addressingType; }
56 inline bool AddressingTypeHasBeenSet() const { return m_addressingTypeHasBeenSet; }
57 template <typename AddressingTypeT = Aws::String>
58 void SetAddressingType(AddressingTypeT&& value) {
59 m_addressingTypeHasBeenSet = true;
60 m_addressingType = std::forward<AddressingTypeT>(value);
61 }
62 template <typename AddressingTypeT = Aws::String>
64 SetAddressingType(std::forward<AddressingTypeT>(value));
65 return *this;
66 }
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) {
81 m_blockDeviceMappingsHasBeenSet = true;
82 m_blockDeviceMappings = std::forward<BlockDeviceMappingsT>(value);
83 }
84 template <typename BlockDeviceMappingsT = Aws::Vector<BlockDeviceMapping>>
86 SetBlockDeviceMappings(std::forward<BlockDeviceMappingsT>(value));
87 return *this;
88 }
89 template <typename BlockDeviceMappingsT = BlockDeviceMapping>
91 m_blockDeviceMappingsHasBeenSet = true;
92 m_blockDeviceMappings.emplace_back(std::forward<BlockDeviceMappingsT>(value));
93 return *this;
94 }
96
98
105 inline bool GetEbsOptimized() const { return m_ebsOptimized; }
106 inline bool EbsOptimizedHasBeenSet() const { return m_ebsOptimizedHasBeenSet; }
107 inline void SetEbsOptimized(bool value) {
108 m_ebsOptimizedHasBeenSet = true;
109 m_ebsOptimized = value;
110 }
112 SetEbsOptimized(value);
113 return *this;
114 }
116
118
121 inline const IamInstanceProfileSpecification& GetIamInstanceProfile() const { return m_iamInstanceProfile; }
122 inline bool IamInstanceProfileHasBeenSet() const { return m_iamInstanceProfileHasBeenSet; }
123 template <typename IamInstanceProfileT = IamInstanceProfileSpecification>
124 void SetIamInstanceProfile(IamInstanceProfileT&& value) {
125 m_iamInstanceProfileHasBeenSet = true;
126 m_iamInstanceProfile = std::forward<IamInstanceProfileT>(value);
127 }
128 template <typename IamInstanceProfileT = IamInstanceProfileSpecification>
130 SetIamInstanceProfile(std::forward<IamInstanceProfileT>(value));
131 return *this;
132 }
134
136
139 inline const Aws::String& GetImageId() const { return m_imageId; }
140 inline bool ImageIdHasBeenSet() const { return m_imageIdHasBeenSet; }
141 template <typename ImageIdT = Aws::String>
142 void SetImageId(ImageIdT&& value) {
143 m_imageIdHasBeenSet = true;
144 m_imageId = std::forward<ImageIdT>(value);
145 }
146 template <typename ImageIdT = Aws::String>
148 SetImageId(std::forward<ImageIdT>(value));
149 return *this;
150 }
152
154
157 inline InstanceType GetInstanceType() const { return m_instanceType; }
158 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
159 inline void SetInstanceType(InstanceType value) {
160 m_instanceTypeHasBeenSet = true;
161 m_instanceType = value;
162 }
164 SetInstanceType(value);
165 return *this;
166 }
168
170
173 inline const Aws::String& GetKernelId() const { return m_kernelId; }
174 inline bool KernelIdHasBeenSet() const { return m_kernelIdHasBeenSet; }
175 template <typename KernelIdT = Aws::String>
176 void SetKernelId(KernelIdT&& value) {
177 m_kernelIdHasBeenSet = true;
178 m_kernelId = std::forward<KernelIdT>(value);
179 }
180 template <typename KernelIdT = Aws::String>
182 SetKernelId(std::forward<KernelIdT>(value));
183 return *this;
184 }
186
188
191 inline const Aws::String& GetKeyName() const { return m_keyName; }
192 inline bool KeyNameHasBeenSet() const { return m_keyNameHasBeenSet; }
193 template <typename KeyNameT = Aws::String>
194 void SetKeyName(KeyNameT&& value) {
195 m_keyNameHasBeenSet = true;
196 m_keyName = std::forward<KeyNameT>(value);
197 }
198 template <typename KeyNameT = Aws::String>
200 SetKeyName(std::forward<KeyNameT>(value));
201 return *this;
202 }
204
206
209 inline const SpotFleetMonitoring& GetMonitoring() const { return m_monitoring; }
210 inline bool MonitoringHasBeenSet() const { return m_monitoringHasBeenSet; }
211 template <typename MonitoringT = SpotFleetMonitoring>
212 void SetMonitoring(MonitoringT&& value) {
213 m_monitoringHasBeenSet = true;
214 m_monitoring = std::forward<MonitoringT>(value);
215 }
216 template <typename MonitoringT = SpotFleetMonitoring>
218 SetMonitoring(std::forward<MonitoringT>(value));
219 return *this;
220 }
222
224
231 inline const Aws::Vector<InstanceNetworkInterfaceSpecification>& GetNetworkInterfaces() const { return m_networkInterfaces; }
232 inline bool NetworkInterfacesHasBeenSet() const { return m_networkInterfacesHasBeenSet; }
233 template <typename NetworkInterfacesT = Aws::Vector<InstanceNetworkInterfaceSpecification>>
234 void SetNetworkInterfaces(NetworkInterfacesT&& value) {
235 m_networkInterfacesHasBeenSet = true;
236 m_networkInterfaces = std::forward<NetworkInterfacesT>(value);
237 }
238 template <typename NetworkInterfacesT = Aws::Vector<InstanceNetworkInterfaceSpecification>>
240 SetNetworkInterfaces(std::forward<NetworkInterfacesT>(value));
241 return *this;
242 }
243 template <typename NetworkInterfacesT = InstanceNetworkInterfaceSpecification>
245 m_networkInterfacesHasBeenSet = true;
246 m_networkInterfaces.emplace_back(std::forward<NetworkInterfacesT>(value));
247 return *this;
248 }
250
252
255 inline const SpotPlacement& GetPlacement() const { return m_placement; }
256 inline bool PlacementHasBeenSet() const { return m_placementHasBeenSet; }
257 template <typename PlacementT = SpotPlacement>
258 void SetPlacement(PlacementT&& value) {
259 m_placementHasBeenSet = true;
260 m_placement = std::forward<PlacementT>(value);
261 }
262 template <typename PlacementT = SpotPlacement>
264 SetPlacement(std::forward<PlacementT>(value));
265 return *this;
266 }
268
270
276 inline const Aws::String& GetRamdiskId() const { return m_ramdiskId; }
277 inline bool RamdiskIdHasBeenSet() const { return m_ramdiskIdHasBeenSet; }
278 template <typename RamdiskIdT = Aws::String>
279 void SetRamdiskId(RamdiskIdT&& value) {
280 m_ramdiskIdHasBeenSet = true;
281 m_ramdiskId = std::forward<RamdiskIdT>(value);
282 }
283 template <typename RamdiskIdT = Aws::String>
285 SetRamdiskId(std::forward<RamdiskIdT>(value));
286 return *this;
287 }
289
291
299 inline const Aws::String& GetSpotPrice() const { return m_spotPrice; }
300 inline bool SpotPriceHasBeenSet() const { return m_spotPriceHasBeenSet; }
301 template <typename SpotPriceT = Aws::String>
302 void SetSpotPrice(SpotPriceT&& value) {
303 m_spotPriceHasBeenSet = true;
304 m_spotPrice = std::forward<SpotPriceT>(value);
305 }
306 template <typename SpotPriceT = Aws::String>
308 SetSpotPrice(std::forward<SpotPriceT>(value));
309 return *this;
310 }
312
314
321 inline const Aws::String& GetSubnetId() const { return m_subnetId; }
322 inline bool SubnetIdHasBeenSet() const { return m_subnetIdHasBeenSet; }
323 template <typename SubnetIdT = Aws::String>
324 void SetSubnetId(SubnetIdT&& value) {
325 m_subnetIdHasBeenSet = true;
326 m_subnetId = std::forward<SubnetIdT>(value);
327 }
328 template <typename SubnetIdT = Aws::String>
330 SetSubnetId(std::forward<SubnetIdT>(value));
331 return *this;
332 }
334
336
340 inline const Aws::String& GetUserData() const { return m_userData; }
341 inline bool UserDataHasBeenSet() const { return m_userDataHasBeenSet; }
342 template <typename UserDataT = Aws::String>
343 void SetUserData(UserDataT&& value) {
344 m_userDataHasBeenSet = true;
345 m_userData = std::forward<UserDataT>(value);
346 }
347 template <typename UserDataT = Aws::String>
349 SetUserData(std::forward<UserDataT>(value));
350 return *this;
351 }
353
355
368 inline double GetWeightedCapacity() const { return m_weightedCapacity; }
369 inline bool WeightedCapacityHasBeenSet() const { return m_weightedCapacityHasBeenSet; }
370 inline void SetWeightedCapacity(double value) {
371 m_weightedCapacityHasBeenSet = true;
372 m_weightedCapacity = value;
373 }
375 SetWeightedCapacity(value);
376 return *this;
377 }
379
381
384 inline const Aws::Vector<SpotFleetTagSpecification>& GetTagSpecifications() const { return m_tagSpecifications; }
385 inline bool TagSpecificationsHasBeenSet() const { return m_tagSpecificationsHasBeenSet; }
386 template <typename TagSpecificationsT = Aws::Vector<SpotFleetTagSpecification>>
387 void SetTagSpecifications(TagSpecificationsT&& value) {
388 m_tagSpecificationsHasBeenSet = true;
389 m_tagSpecifications = std::forward<TagSpecificationsT>(value);
390 }
391 template <typename TagSpecificationsT = Aws::Vector<SpotFleetTagSpecification>>
393 SetTagSpecifications(std::forward<TagSpecificationsT>(value));
394 return *this;
395 }
396 template <typename TagSpecificationsT = SpotFleetTagSpecification>
398 m_tagSpecificationsHasBeenSet = true;
399 m_tagSpecifications.emplace_back(std::forward<TagSpecificationsT>(value));
400 return *this;
401 }
403
405
411 inline const InstanceRequirements& GetInstanceRequirements() const { return m_instanceRequirements; }
412 inline bool InstanceRequirementsHasBeenSet() const { return m_instanceRequirementsHasBeenSet; }
413 template <typename InstanceRequirementsT = InstanceRequirements>
414 void SetInstanceRequirements(InstanceRequirementsT&& value) {
415 m_instanceRequirementsHasBeenSet = true;
416 m_instanceRequirements = std::forward<InstanceRequirementsT>(value);
417 }
418 template <typename InstanceRequirementsT = InstanceRequirements>
420 SetInstanceRequirements(std::forward<InstanceRequirementsT>(value));
421 return *this;
422 }
424
426
431 inline const Aws::Vector<GroupIdentifier>& GetSecurityGroups() const { return m_securityGroups; }
432 inline bool SecurityGroupsHasBeenSet() const { return m_securityGroupsHasBeenSet; }
433 template <typename SecurityGroupsT = Aws::Vector<GroupIdentifier>>
434 void SetSecurityGroups(SecurityGroupsT&& value) {
435 m_securityGroupsHasBeenSet = true;
436 m_securityGroups = std::forward<SecurityGroupsT>(value);
437 }
438 template <typename SecurityGroupsT = Aws::Vector<GroupIdentifier>>
440 SetSecurityGroups(std::forward<SecurityGroupsT>(value));
441 return *this;
442 }
443 template <typename SecurityGroupsT = GroupIdentifier>
445 m_securityGroupsHasBeenSet = true;
446 m_securityGroups.emplace_back(std::forward<SecurityGroupsT>(value));
447 return *this;
448 }
450 private:
451 Aws::String m_addressingType;
452
453 Aws::Vector<BlockDeviceMapping> m_blockDeviceMappings;
454
455 bool m_ebsOptimized{false};
456
457 IamInstanceProfileSpecification m_iamInstanceProfile;
458
459 Aws::String m_imageId;
460
461 InstanceType m_instanceType{InstanceType::NOT_SET};
462
463 Aws::String m_kernelId;
464
465 Aws::String m_keyName;
466
467 SpotFleetMonitoring m_monitoring;
468
470
471 SpotPlacement m_placement;
472
473 Aws::String m_ramdiskId;
474
475 Aws::String m_spotPrice;
476
477 Aws::String m_subnetId;
478
479 Aws::String m_userData;
480
481 double m_weightedCapacity{0.0};
482
483 Aws::Vector<SpotFleetTagSpecification> m_tagSpecifications;
484
485 InstanceRequirements m_instanceRequirements;
486
487 Aws::Vector<GroupIdentifier> m_securityGroups;
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;
507};
508
509} // namespace Model
510} // namespace EC2
511} // 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