AWS SDK for C++

AWS SDK for C++ Version 1.11.783

Loading...
Searching...
No Matches
RequestLaunchTemplateData.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/CreditSpecificationRequest.h>
12#include <aws/ec2/model/InstanceRequirementsRequest.h>
13#include <aws/ec2/model/InstanceType.h>
14#include <aws/ec2/model/LaunchTemplateBlockDeviceMappingRequest.h>
15#include <aws/ec2/model/LaunchTemplateCapacityReservationSpecificationRequest.h>
16#include <aws/ec2/model/LaunchTemplateCpuOptionsRequest.h>
17#include <aws/ec2/model/LaunchTemplateEnclaveOptionsRequest.h>
18#include <aws/ec2/model/LaunchTemplateHibernationOptionsRequest.h>
19#include <aws/ec2/model/LaunchTemplateIamInstanceProfileSpecificationRequest.h>
20#include <aws/ec2/model/LaunchTemplateInstanceMaintenanceOptionsRequest.h>
21#include <aws/ec2/model/LaunchTemplateInstanceMarketOptionsRequest.h>
22#include <aws/ec2/model/LaunchTemplateInstanceMetadataOptionsRequest.h>
23#include <aws/ec2/model/LaunchTemplateInstanceNetworkInterfaceSpecificationRequest.h>
24#include <aws/ec2/model/LaunchTemplateInstanceSecondaryInterfaceSpecificationRequest.h>
25#include <aws/ec2/model/LaunchTemplateLicenseConfigurationRequest.h>
26#include <aws/ec2/model/LaunchTemplateNetworkPerformanceOptionsRequest.h>
27#include <aws/ec2/model/LaunchTemplatePlacementRequest.h>
28#include <aws/ec2/model/LaunchTemplatePrivateDnsNameOptionsRequest.h>
29#include <aws/ec2/model/LaunchTemplateTagSpecificationRequest.h>
30#include <aws/ec2/model/LaunchTemplatesMonitoringRequest.h>
31#include <aws/ec2/model/OperatorRequest.h>
32#include <aws/ec2/model/ShutdownBehavior.h>
33
34#include <utility>
35
36namespace Aws {
37namespace Utils {
38namespace Xml {
39class XmlNode;
40} // namespace Xml
41} // namespace Utils
42namespace EC2 {
43namespace Model {
44
53 public:
54 AWS_EC2_API RequestLaunchTemplateData() = default;
57
58 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
59 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
60
62
68 inline const Aws::String& GetKernelId() const { return m_kernelId; }
69 inline bool KernelIdHasBeenSet() const { return m_kernelIdHasBeenSet; }
70 template <typename KernelIdT = Aws::String>
71 void SetKernelId(KernelIdT&& value) {
72 m_kernelIdHasBeenSet = true;
73 m_kernelId = std::forward<KernelIdT>(value);
74 }
75 template <typename KernelIdT = Aws::String>
77 SetKernelId(std::forward<KernelIdT>(value));
78 return *this;
79 }
81
83
90 inline bool GetEbsOptimized() const { return m_ebsOptimized; }
91 inline bool EbsOptimizedHasBeenSet() const { return m_ebsOptimizedHasBeenSet; }
92 inline void SetEbsOptimized(bool value) {
93 m_ebsOptimizedHasBeenSet = true;
94 m_ebsOptimized = value;
95 }
97 SetEbsOptimized(value);
98 return *this;
99 }
101
103
106 inline const LaunchTemplateIamInstanceProfileSpecificationRequest& GetIamInstanceProfile() const { return m_iamInstanceProfile; }
107 inline bool IamInstanceProfileHasBeenSet() const { return m_iamInstanceProfileHasBeenSet; }
108 template <typename IamInstanceProfileT = LaunchTemplateIamInstanceProfileSpecificationRequest>
109 void SetIamInstanceProfile(IamInstanceProfileT&& value) {
110 m_iamInstanceProfileHasBeenSet = true;
111 m_iamInstanceProfile = std::forward<IamInstanceProfileT>(value);
112 }
113 template <typename IamInstanceProfileT = LaunchTemplateIamInstanceProfileSpecificationRequest>
114 RequestLaunchTemplateData& WithIamInstanceProfile(IamInstanceProfileT&& value) {
115 SetIamInstanceProfile(std::forward<IamInstanceProfileT>(value));
116 return *this;
117 }
119
121
124 inline const Aws::Vector<LaunchTemplateBlockDeviceMappingRequest>& GetBlockDeviceMappings() const { return m_blockDeviceMappings; }
125 inline bool BlockDeviceMappingsHasBeenSet() const { return m_blockDeviceMappingsHasBeenSet; }
126 template <typename BlockDeviceMappingsT = Aws::Vector<LaunchTemplateBlockDeviceMappingRequest>>
127 void SetBlockDeviceMappings(BlockDeviceMappingsT&& value) {
128 m_blockDeviceMappingsHasBeenSet = true;
129 m_blockDeviceMappings = std::forward<BlockDeviceMappingsT>(value);
130 }
131 template <typename BlockDeviceMappingsT = Aws::Vector<LaunchTemplateBlockDeviceMappingRequest>>
132 RequestLaunchTemplateData& WithBlockDeviceMappings(BlockDeviceMappingsT&& value) {
133 SetBlockDeviceMappings(std::forward<BlockDeviceMappingsT>(value));
134 return *this;
135 }
136 template <typename BlockDeviceMappingsT = LaunchTemplateBlockDeviceMappingRequest>
137 RequestLaunchTemplateData& AddBlockDeviceMappings(BlockDeviceMappingsT&& value) {
138 m_blockDeviceMappingsHasBeenSet = true;
139 m_blockDeviceMappings.emplace_back(std::forward<BlockDeviceMappingsT>(value));
140 return *this;
141 }
143
145
149 return m_networkInterfaces;
150 }
151 inline bool NetworkInterfacesHasBeenSet() const { return m_networkInterfacesHasBeenSet; }
152 template <typename NetworkInterfacesT = Aws::Vector<LaunchTemplateInstanceNetworkInterfaceSpecificationRequest>>
153 void SetNetworkInterfaces(NetworkInterfacesT&& value) {
154 m_networkInterfacesHasBeenSet = true;
155 m_networkInterfaces = std::forward<NetworkInterfacesT>(value);
156 }
157 template <typename NetworkInterfacesT = Aws::Vector<LaunchTemplateInstanceNetworkInterfaceSpecificationRequest>>
159 SetNetworkInterfaces(std::forward<NetworkInterfacesT>(value));
160 return *this;
161 }
162 template <typename NetworkInterfacesT = LaunchTemplateInstanceNetworkInterfaceSpecificationRequest>
163 RequestLaunchTemplateData& AddNetworkInterfaces(NetworkInterfacesT&& value) {
164 m_networkInterfacesHasBeenSet = true;
165 m_networkInterfaces.emplace_back(std::forward<NetworkInterfacesT>(value));
166 return *this;
167 }
169
171
194 inline const Aws::String& GetImageId() const { return m_imageId; }
195 inline bool ImageIdHasBeenSet() const { return m_imageIdHasBeenSet; }
196 template <typename ImageIdT = Aws::String>
197 void SetImageId(ImageIdT&& value) {
198 m_imageIdHasBeenSet = true;
199 m_imageId = std::forward<ImageIdT>(value);
200 }
201 template <typename ImageIdT = Aws::String>
203 SetImageId(std::forward<ImageIdT>(value));
204 return *this;
205 }
207
209
216 inline InstanceType GetInstanceType() const { return m_instanceType; }
217 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
218 inline void SetInstanceType(InstanceType value) {
219 m_instanceTypeHasBeenSet = true;
220 m_instanceType = value;
221 }
223 SetInstanceType(value);
224 return *this;
225 }
227
229
238 inline const Aws::String& GetKeyName() const { return m_keyName; }
239 inline bool KeyNameHasBeenSet() const { return m_keyNameHasBeenSet; }
240 template <typename KeyNameT = Aws::String>
241 void SetKeyName(KeyNameT&& value) {
242 m_keyNameHasBeenSet = true;
243 m_keyName = std::forward<KeyNameT>(value);
244 }
245 template <typename KeyNameT = Aws::String>
247 SetKeyName(std::forward<KeyNameT>(value));
248 return *this;
249 }
251
253
256 inline const LaunchTemplatesMonitoringRequest& GetMonitoring() const { return m_monitoring; }
257 inline bool MonitoringHasBeenSet() const { return m_monitoringHasBeenSet; }
258 template <typename MonitoringT = LaunchTemplatesMonitoringRequest>
259 void SetMonitoring(MonitoringT&& value) {
260 m_monitoringHasBeenSet = true;
261 m_monitoring = std::forward<MonitoringT>(value);
262 }
263 template <typename MonitoringT = LaunchTemplatesMonitoringRequest>
265 SetMonitoring(std::forward<MonitoringT>(value));
266 return *this;
267 }
269
271
274 inline const LaunchTemplatePlacementRequest& GetPlacement() const { return m_placement; }
275 inline bool PlacementHasBeenSet() const { return m_placementHasBeenSet; }
276 template <typename PlacementT = LaunchTemplatePlacementRequest>
277 void SetPlacement(PlacementT&& value) {
278 m_placementHasBeenSet = true;
279 m_placement = std::forward<PlacementT>(value);
280 }
281 template <typename PlacementT = LaunchTemplatePlacementRequest>
283 SetPlacement(std::forward<PlacementT>(value));
284 return *this;
285 }
287
289
295 inline const Aws::String& GetRamDiskId() const { return m_ramDiskId; }
296 inline bool RamDiskIdHasBeenSet() const { return m_ramDiskIdHasBeenSet; }
297 template <typename RamDiskIdT = Aws::String>
298 void SetRamDiskId(RamDiskIdT&& value) {
299 m_ramDiskIdHasBeenSet = true;
300 m_ramDiskId = std::forward<RamDiskIdT>(value);
301 }
302 template <typename RamDiskIdT = Aws::String>
304 SetRamDiskId(std::forward<RamDiskIdT>(value));
305 return *this;
306 }
308
310
317 inline bool GetDisableApiTermination() const { return m_disableApiTermination; }
318 inline bool DisableApiTerminationHasBeenSet() const { return m_disableApiTerminationHasBeenSet; }
319 inline void SetDisableApiTermination(bool value) {
320 m_disableApiTerminationHasBeenSet = true;
321 m_disableApiTermination = value;
322 }
325 return *this;
326 }
328
330
335 inline ShutdownBehavior GetInstanceInitiatedShutdownBehavior() const { return m_instanceInitiatedShutdownBehavior; }
336 inline bool InstanceInitiatedShutdownBehaviorHasBeenSet() const { return m_instanceInitiatedShutdownBehaviorHasBeenSet; }
338 m_instanceInitiatedShutdownBehaviorHasBeenSet = true;
339 m_instanceInitiatedShutdownBehavior = value;
340 }
343 return *this;
344 }
346
348
360 inline const Aws::String& GetUserData() const { return m_userData; }
361 inline bool UserDataHasBeenSet() const { return m_userDataHasBeenSet; }
362 template <typename UserDataT = Aws::String>
363 void SetUserData(UserDataT&& value) {
364 m_userDataHasBeenSet = true;
365 m_userData = std::forward<UserDataT>(value);
366 }
367 template <typename UserDataT = Aws::String>
369 SetUserData(std::forward<UserDataT>(value));
370 return *this;
371 }
373
375
379 inline const Aws::Vector<LaunchTemplateTagSpecificationRequest>& GetTagSpecifications() const { return m_tagSpecifications; }
380 inline bool TagSpecificationsHasBeenSet() const { return m_tagSpecificationsHasBeenSet; }
381 template <typename TagSpecificationsT = Aws::Vector<LaunchTemplateTagSpecificationRequest>>
382 void SetTagSpecifications(TagSpecificationsT&& value) {
383 m_tagSpecificationsHasBeenSet = true;
384 m_tagSpecifications = std::forward<TagSpecificationsT>(value);
385 }
386 template <typename TagSpecificationsT = Aws::Vector<LaunchTemplateTagSpecificationRequest>>
388 SetTagSpecifications(std::forward<TagSpecificationsT>(value));
389 return *this;
390 }
391 template <typename TagSpecificationsT = LaunchTemplateTagSpecificationRequest>
392 RequestLaunchTemplateData& AddTagSpecifications(TagSpecificationsT&& value) {
393 m_tagSpecificationsHasBeenSet = true;
394 m_tagSpecifications.emplace_back(std::forward<TagSpecificationsT>(value));
395 return *this;
396 }
398
400
405 inline const Aws::Vector<Aws::String>& GetSecurityGroupIds() const { return m_securityGroupIds; }
406 inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; }
407 template <typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
408 void SetSecurityGroupIds(SecurityGroupIdsT&& value) {
409 m_securityGroupIdsHasBeenSet = true;
410 m_securityGroupIds = std::forward<SecurityGroupIdsT>(value);
411 }
412 template <typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
414 SetSecurityGroupIds(std::forward<SecurityGroupIdsT>(value));
415 return *this;
416 }
417 template <typename SecurityGroupIdsT = Aws::String>
418 RequestLaunchTemplateData& AddSecurityGroupIds(SecurityGroupIdsT&& value) {
419 m_securityGroupIdsHasBeenSet = true;
420 m_securityGroupIds.emplace_back(std::forward<SecurityGroupIdsT>(value));
421 return *this;
422 }
424
426
432 inline const Aws::Vector<Aws::String>& GetSecurityGroups() const { return m_securityGroups; }
433 inline bool SecurityGroupsHasBeenSet() const { return m_securityGroupsHasBeenSet; }
434 template <typename SecurityGroupsT = Aws::Vector<Aws::String>>
435 void SetSecurityGroups(SecurityGroupsT&& value) {
436 m_securityGroupsHasBeenSet = true;
437 m_securityGroups = std::forward<SecurityGroupsT>(value);
438 }
439 template <typename SecurityGroupsT = Aws::Vector<Aws::String>>
441 SetSecurityGroups(std::forward<SecurityGroupsT>(value));
442 return *this;
443 }
444 template <typename SecurityGroupsT = Aws::String>
446 m_securityGroupsHasBeenSet = true;
447 m_securityGroups.emplace_back(std::forward<SecurityGroupsT>(value));
448 return *this;
449 }
451
453
456 inline const LaunchTemplateInstanceMarketOptionsRequest& GetInstanceMarketOptions() const { return m_instanceMarketOptions; }
457 inline bool InstanceMarketOptionsHasBeenSet() const { return m_instanceMarketOptionsHasBeenSet; }
458 template <typename InstanceMarketOptionsT = LaunchTemplateInstanceMarketOptionsRequest>
459 void SetInstanceMarketOptions(InstanceMarketOptionsT&& value) {
460 m_instanceMarketOptionsHasBeenSet = true;
461 m_instanceMarketOptions = std::forward<InstanceMarketOptionsT>(value);
462 }
463 template <typename InstanceMarketOptionsT = LaunchTemplateInstanceMarketOptionsRequest>
464 RequestLaunchTemplateData& WithInstanceMarketOptions(InstanceMarketOptionsT&& value) {
465 SetInstanceMarketOptions(std::forward<InstanceMarketOptionsT>(value));
466 return *this;
467 }
469
471
475 inline const CreditSpecificationRequest& GetCreditSpecification() const { return m_creditSpecification; }
476 inline bool CreditSpecificationHasBeenSet() const { return m_creditSpecificationHasBeenSet; }
477 template <typename CreditSpecificationT = CreditSpecificationRequest>
478 void SetCreditSpecification(CreditSpecificationT&& value) {
479 m_creditSpecificationHasBeenSet = true;
480 m_creditSpecification = std::forward<CreditSpecificationT>(value);
481 }
482 template <typename CreditSpecificationT = CreditSpecificationRequest>
483 RequestLaunchTemplateData& WithCreditSpecification(CreditSpecificationT&& value) {
484 SetCreditSpecification(std::forward<CreditSpecificationT>(value));
485 return *this;
486 }
488
490
495 inline const LaunchTemplateCpuOptionsRequest& GetCpuOptions() const { return m_cpuOptions; }
496 inline bool CpuOptionsHasBeenSet() const { return m_cpuOptionsHasBeenSet; }
497 template <typename CpuOptionsT = LaunchTemplateCpuOptionsRequest>
498 void SetCpuOptions(CpuOptionsT&& value) {
499 m_cpuOptionsHasBeenSet = true;
500 m_cpuOptions = std::forward<CpuOptionsT>(value);
501 }
502 template <typename CpuOptionsT = LaunchTemplateCpuOptionsRequest>
504 SetCpuOptions(std::forward<CpuOptionsT>(value));
505 return *this;
506 }
508
510
517 return m_capacityReservationSpecification;
518 }
519 inline bool CapacityReservationSpecificationHasBeenSet() const { return m_capacityReservationSpecificationHasBeenSet; }
520 template <typename CapacityReservationSpecificationT = LaunchTemplateCapacityReservationSpecificationRequest>
521 void SetCapacityReservationSpecification(CapacityReservationSpecificationT&& value) {
522 m_capacityReservationSpecificationHasBeenSet = true;
523 m_capacityReservationSpecification = std::forward<CapacityReservationSpecificationT>(value);
524 }
525 template <typename CapacityReservationSpecificationT = LaunchTemplateCapacityReservationSpecificationRequest>
526 RequestLaunchTemplateData& WithCapacityReservationSpecification(CapacityReservationSpecificationT&& value) {
527 SetCapacityReservationSpecification(std::forward<CapacityReservationSpecificationT>(value));
528 return *this;
529 }
531
533
536 inline const Aws::Vector<LaunchTemplateLicenseConfigurationRequest>& GetLicenseSpecifications() const { return m_licenseSpecifications; }
537 inline bool LicenseSpecificationsHasBeenSet() const { return m_licenseSpecificationsHasBeenSet; }
538 template <typename LicenseSpecificationsT = Aws::Vector<LaunchTemplateLicenseConfigurationRequest>>
539 void SetLicenseSpecifications(LicenseSpecificationsT&& value) {
540 m_licenseSpecificationsHasBeenSet = true;
541 m_licenseSpecifications = std::forward<LicenseSpecificationsT>(value);
542 }
543 template <typename LicenseSpecificationsT = Aws::Vector<LaunchTemplateLicenseConfigurationRequest>>
544 RequestLaunchTemplateData& WithLicenseSpecifications(LicenseSpecificationsT&& value) {
545 SetLicenseSpecifications(std::forward<LicenseSpecificationsT>(value));
546 return *this;
547 }
548 template <typename LicenseSpecificationsT = LaunchTemplateLicenseConfigurationRequest>
549 RequestLaunchTemplateData& AddLicenseSpecifications(LicenseSpecificationsT&& value) {
550 m_licenseSpecificationsHasBeenSet = true;
551 m_licenseSpecifications.emplace_back(std::forward<LicenseSpecificationsT>(value));
552 return *this;
553 }
555
557
565 inline const LaunchTemplateHibernationOptionsRequest& GetHibernationOptions() const { return m_hibernationOptions; }
566 inline bool HibernationOptionsHasBeenSet() const { return m_hibernationOptionsHasBeenSet; }
567 template <typename HibernationOptionsT = LaunchTemplateHibernationOptionsRequest>
568 void SetHibernationOptions(HibernationOptionsT&& value) {
569 m_hibernationOptionsHasBeenSet = true;
570 m_hibernationOptions = std::forward<HibernationOptionsT>(value);
571 }
572 template <typename HibernationOptionsT = LaunchTemplateHibernationOptionsRequest>
573 RequestLaunchTemplateData& WithHibernationOptions(HibernationOptionsT&& value) {
574 SetHibernationOptions(std::forward<HibernationOptionsT>(value));
575 return *this;
576 }
578
580
586 inline const LaunchTemplateInstanceMetadataOptionsRequest& GetMetadataOptions() const { return m_metadataOptions; }
587 inline bool MetadataOptionsHasBeenSet() const { return m_metadataOptionsHasBeenSet; }
588 template <typename MetadataOptionsT = LaunchTemplateInstanceMetadataOptionsRequest>
589 void SetMetadataOptions(MetadataOptionsT&& value) {
590 m_metadataOptionsHasBeenSet = true;
591 m_metadataOptions = std::forward<MetadataOptionsT>(value);
592 }
593 template <typename MetadataOptionsT = LaunchTemplateInstanceMetadataOptionsRequest>
595 SetMetadataOptions(std::forward<MetadataOptionsT>(value));
596 return *this;
597 }
599
601
609 inline const LaunchTemplateEnclaveOptionsRequest& GetEnclaveOptions() const { return m_enclaveOptions; }
610 inline bool EnclaveOptionsHasBeenSet() const { return m_enclaveOptionsHasBeenSet; }
611 template <typename EnclaveOptionsT = LaunchTemplateEnclaveOptionsRequest>
612 void SetEnclaveOptions(EnclaveOptionsT&& value) {
613 m_enclaveOptionsHasBeenSet = true;
614 m_enclaveOptions = std::forward<EnclaveOptionsT>(value);
615 }
616 template <typename EnclaveOptionsT = LaunchTemplateEnclaveOptionsRequest>
618 SetEnclaveOptions(std::forward<EnclaveOptionsT>(value));
619 return *this;
620 }
622
624
655 inline const InstanceRequirementsRequest& GetInstanceRequirements() const { return m_instanceRequirements; }
656 inline bool InstanceRequirementsHasBeenSet() const { return m_instanceRequirementsHasBeenSet; }
657 template <typename InstanceRequirementsT = InstanceRequirementsRequest>
658 void SetInstanceRequirements(InstanceRequirementsT&& value) {
659 m_instanceRequirementsHasBeenSet = true;
660 m_instanceRequirements = std::forward<InstanceRequirementsT>(value);
661 }
662 template <typename InstanceRequirementsT = InstanceRequirementsRequest>
663 RequestLaunchTemplateData& WithInstanceRequirements(InstanceRequirementsT&& value) {
664 SetInstanceRequirements(std::forward<InstanceRequirementsT>(value));
665 return *this;
666 }
668
670
674 inline const LaunchTemplatePrivateDnsNameOptionsRequest& GetPrivateDnsNameOptions() const { return m_privateDnsNameOptions; }
675 inline bool PrivateDnsNameOptionsHasBeenSet() const { return m_privateDnsNameOptionsHasBeenSet; }
676 template <typename PrivateDnsNameOptionsT = LaunchTemplatePrivateDnsNameOptionsRequest>
677 void SetPrivateDnsNameOptions(PrivateDnsNameOptionsT&& value) {
678 m_privateDnsNameOptionsHasBeenSet = true;
679 m_privateDnsNameOptions = std::forward<PrivateDnsNameOptionsT>(value);
680 }
681 template <typename PrivateDnsNameOptionsT = LaunchTemplatePrivateDnsNameOptionsRequest>
682 RequestLaunchTemplateData& WithPrivateDnsNameOptions(PrivateDnsNameOptionsT&& value) {
683 SetPrivateDnsNameOptions(std::forward<PrivateDnsNameOptionsT>(value));
684 return *this;
685 }
687
689
692 inline const LaunchTemplateInstanceMaintenanceOptionsRequest& GetMaintenanceOptions() const { return m_maintenanceOptions; }
693 inline bool MaintenanceOptionsHasBeenSet() const { return m_maintenanceOptionsHasBeenSet; }
694 template <typename MaintenanceOptionsT = LaunchTemplateInstanceMaintenanceOptionsRequest>
695 void SetMaintenanceOptions(MaintenanceOptionsT&& value) {
696 m_maintenanceOptionsHasBeenSet = true;
697 m_maintenanceOptions = std::forward<MaintenanceOptionsT>(value);
698 }
699 template <typename MaintenanceOptionsT = LaunchTemplateInstanceMaintenanceOptionsRequest>
700 RequestLaunchTemplateData& WithMaintenanceOptions(MaintenanceOptionsT&& value) {
701 SetMaintenanceOptions(std::forward<MaintenanceOptionsT>(value));
702 return *this;
703 }
705
707
714 inline bool GetDisableApiStop() const { return m_disableApiStop; }
715 inline bool DisableApiStopHasBeenSet() const { return m_disableApiStopHasBeenSet; }
716 inline void SetDisableApiStop(bool value) {
717 m_disableApiStopHasBeenSet = true;
718 m_disableApiStop = value;
719 }
721 SetDisableApiStop(value);
722 return *this;
723 }
725
727
730 inline const OperatorRequest& GetOperator() const { return m_operator; }
731 inline bool OperatorHasBeenSet() const { return m_operatorHasBeenSet; }
732 template <typename OperatorT = OperatorRequest>
733 void SetOperator(OperatorT&& value) {
734 m_operatorHasBeenSet = true;
735 m_operator = std::forward<OperatorT>(value);
736 }
737 template <typename OperatorT = OperatorRequest>
739 SetOperator(std::forward<OperatorT>(value));
740 return *this;
741 }
743
745
749 inline const LaunchTemplateNetworkPerformanceOptionsRequest& GetNetworkPerformanceOptions() const { return m_networkPerformanceOptions; }
750 inline bool NetworkPerformanceOptionsHasBeenSet() const { return m_networkPerformanceOptionsHasBeenSet; }
751 template <typename NetworkPerformanceOptionsT = LaunchTemplateNetworkPerformanceOptionsRequest>
752 void SetNetworkPerformanceOptions(NetworkPerformanceOptionsT&& value) {
753 m_networkPerformanceOptionsHasBeenSet = true;
754 m_networkPerformanceOptions = std::forward<NetworkPerformanceOptionsT>(value);
755 }
756 template <typename NetworkPerformanceOptionsT = LaunchTemplateNetworkPerformanceOptionsRequest>
757 RequestLaunchTemplateData& WithNetworkPerformanceOptions(NetworkPerformanceOptionsT&& value) {
758 SetNetworkPerformanceOptions(std::forward<NetworkPerformanceOptionsT>(value));
759 return *this;
760 }
762
764
769 return m_secondaryInterfaces;
770 }
771 inline bool SecondaryInterfacesHasBeenSet() const { return m_secondaryInterfacesHasBeenSet; }
772 template <typename SecondaryInterfacesT = Aws::Vector<LaunchTemplateInstanceSecondaryInterfaceSpecificationRequest>>
773 void SetSecondaryInterfaces(SecondaryInterfacesT&& value) {
774 m_secondaryInterfacesHasBeenSet = true;
775 m_secondaryInterfaces = std::forward<SecondaryInterfacesT>(value);
776 }
777 template <typename SecondaryInterfacesT = Aws::Vector<LaunchTemplateInstanceSecondaryInterfaceSpecificationRequest>>
778 RequestLaunchTemplateData& WithSecondaryInterfaces(SecondaryInterfacesT&& value) {
779 SetSecondaryInterfaces(std::forward<SecondaryInterfacesT>(value));
780 return *this;
781 }
782 template <typename SecondaryInterfacesT = LaunchTemplateInstanceSecondaryInterfaceSpecificationRequest>
783 RequestLaunchTemplateData& AddSecondaryInterfaces(SecondaryInterfacesT&& value) {
784 m_secondaryInterfacesHasBeenSet = true;
785 m_secondaryInterfaces.emplace_back(std::forward<SecondaryInterfacesT>(value));
786 return *this;
787 }
789 private:
790 Aws::String m_kernelId;
791
792 bool m_ebsOptimized{false};
793
794 LaunchTemplateIamInstanceProfileSpecificationRequest m_iamInstanceProfile;
795
797
799
800 Aws::String m_imageId;
801
802 InstanceType m_instanceType{InstanceType::NOT_SET};
803
804 Aws::String m_keyName;
805
806 LaunchTemplatesMonitoringRequest m_monitoring;
807
808 LaunchTemplatePlacementRequest m_placement;
809
810 Aws::String m_ramDiskId;
811
812 bool m_disableApiTermination{false};
813
814 ShutdownBehavior m_instanceInitiatedShutdownBehavior{ShutdownBehavior::NOT_SET};
815
816 Aws::String m_userData;
817
819
820 Aws::Vector<Aws::String> m_securityGroupIds;
821
822 Aws::Vector<Aws::String> m_securityGroups;
823
824 LaunchTemplateInstanceMarketOptionsRequest m_instanceMarketOptions;
825
826 CreditSpecificationRequest m_creditSpecification;
827
828 LaunchTemplateCpuOptionsRequest m_cpuOptions;
829
830 LaunchTemplateCapacityReservationSpecificationRequest m_capacityReservationSpecification;
831
833
834 LaunchTemplateHibernationOptionsRequest m_hibernationOptions;
835
836 LaunchTemplateInstanceMetadataOptionsRequest m_metadataOptions;
837
838 LaunchTemplateEnclaveOptionsRequest m_enclaveOptions;
839
840 InstanceRequirementsRequest m_instanceRequirements;
841
842 LaunchTemplatePrivateDnsNameOptionsRequest m_privateDnsNameOptions;
843
844 LaunchTemplateInstanceMaintenanceOptionsRequest m_maintenanceOptions;
845
846 bool m_disableApiStop{false};
847
848 OperatorRequest m_operator;
849
850 LaunchTemplateNetworkPerformanceOptionsRequest m_networkPerformanceOptions;
851
853 bool m_kernelIdHasBeenSet = false;
854 bool m_ebsOptimizedHasBeenSet = false;
855 bool m_iamInstanceProfileHasBeenSet = false;
856 bool m_blockDeviceMappingsHasBeenSet = false;
857 bool m_networkInterfacesHasBeenSet = false;
858 bool m_imageIdHasBeenSet = false;
859 bool m_instanceTypeHasBeenSet = false;
860 bool m_keyNameHasBeenSet = false;
861 bool m_monitoringHasBeenSet = false;
862 bool m_placementHasBeenSet = false;
863 bool m_ramDiskIdHasBeenSet = false;
864 bool m_disableApiTerminationHasBeenSet = false;
865 bool m_instanceInitiatedShutdownBehaviorHasBeenSet = false;
866 bool m_userDataHasBeenSet = false;
867 bool m_tagSpecificationsHasBeenSet = false;
868 bool m_securityGroupIdsHasBeenSet = false;
869 bool m_securityGroupsHasBeenSet = false;
870 bool m_instanceMarketOptionsHasBeenSet = false;
871 bool m_creditSpecificationHasBeenSet = false;
872 bool m_cpuOptionsHasBeenSet = false;
873 bool m_capacityReservationSpecificationHasBeenSet = false;
874 bool m_licenseSpecificationsHasBeenSet = false;
875 bool m_hibernationOptionsHasBeenSet = false;
876 bool m_metadataOptionsHasBeenSet = false;
877 bool m_enclaveOptionsHasBeenSet = false;
878 bool m_instanceRequirementsHasBeenSet = false;
879 bool m_privateDnsNameOptionsHasBeenSet = false;
880 bool m_maintenanceOptionsHasBeenSet = false;
881 bool m_disableApiStopHasBeenSet = false;
882 bool m_operatorHasBeenSet = false;
883 bool m_networkPerformanceOptionsHasBeenSet = false;
884 bool m_secondaryInterfacesHasBeenSet = false;
885};
886
887} // namespace Model
888} // namespace EC2
889} // namespace Aws
RequestLaunchTemplateData & WithTagSpecifications(TagSpecificationsT &&value)
const LaunchTemplateInstanceMarketOptionsRequest & GetInstanceMarketOptions() const
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
RequestLaunchTemplateData & AddTagSpecifications(TagSpecificationsT &&value)
RequestLaunchTemplateData & WithInstanceInitiatedShutdownBehavior(ShutdownBehavior value)
RequestLaunchTemplateData & WithUserData(UserDataT &&value)
const Aws::Vector< LaunchTemplateLicenseConfigurationRequest > & GetLicenseSpecifications() const
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
const LaunchTemplatePlacementRequest & GetPlacement() const
void SetNetworkPerformanceOptions(NetworkPerformanceOptionsT &&value)
RequestLaunchTemplateData & WithNetworkInterfaces(NetworkInterfacesT &&value)
RequestLaunchTemplateData & AddLicenseSpecifications(LicenseSpecificationsT &&value)
const Aws::Vector< Aws::String > & GetSecurityGroups() const
const LaunchTemplatesMonitoringRequest & GetMonitoring() const
void SetIamInstanceProfile(IamInstanceProfileT &&value)
void SetNetworkInterfaces(NetworkInterfacesT &&value)
RequestLaunchTemplateData & WithImageId(ImageIdT &&value)
RequestLaunchTemplateData & WithInstanceType(InstanceType value)
const InstanceRequirementsRequest & GetInstanceRequirements() const
RequestLaunchTemplateData & WithInstanceRequirements(InstanceRequirementsT &&value)
const Aws::Vector< LaunchTemplateInstanceSecondaryInterfaceSpecificationRequest > & GetSecondaryInterfaces() const
void SetPrivateDnsNameOptions(PrivateDnsNameOptionsT &&value)
RequestLaunchTemplateData & WithCapacityReservationSpecification(CapacityReservationSpecificationT &&value)
RequestLaunchTemplateData & WithNetworkPerformanceOptions(NetworkPerformanceOptionsT &&value)
void SetCapacityReservationSpecification(CapacityReservationSpecificationT &&value)
const CreditSpecificationRequest & GetCreditSpecification() const
RequestLaunchTemplateData & WithMonitoring(MonitoringT &&value)
void SetBlockDeviceMappings(BlockDeviceMappingsT &&value)
const LaunchTemplateInstanceMaintenanceOptionsRequest & GetMaintenanceOptions() const
const LaunchTemplateIamInstanceProfileSpecificationRequest & GetIamInstanceProfile() const
RequestLaunchTemplateData & AddSecurityGroups(SecurityGroupsT &&value)
const LaunchTemplateCapacityReservationSpecificationRequest & GetCapacityReservationSpecification() const
RequestLaunchTemplateData & WithIamInstanceProfile(IamInstanceProfileT &&value)
AWS_EC2_API RequestLaunchTemplateData & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetInstanceInitiatedShutdownBehavior(ShutdownBehavior value)
RequestLaunchTemplateData & AddSecurityGroupIds(SecurityGroupIdsT &&value)
RequestLaunchTemplateData & WithKeyName(KeyNameT &&value)
RequestLaunchTemplateData & WithRamDiskId(RamDiskIdT &&value)
RequestLaunchTemplateData & AddNetworkInterfaces(NetworkInterfacesT &&value)
const Aws::Vector< Aws::String > & GetSecurityGroupIds() const
const Aws::Vector< LaunchTemplateInstanceNetworkInterfaceSpecificationRequest > & GetNetworkInterfaces() const
RequestLaunchTemplateData & WithEnclaveOptions(EnclaveOptionsT &&value)
RequestLaunchTemplateData & WithPrivateDnsNameOptions(PrivateDnsNameOptionsT &&value)
const LaunchTemplateInstanceMetadataOptionsRequest & GetMetadataOptions() const
RequestLaunchTemplateData & WithOperator(OperatorT &&value)
AWS_EC2_API RequestLaunchTemplateData()=default
const Aws::Vector< LaunchTemplateTagSpecificationRequest > & GetTagSpecifications() const
RequestLaunchTemplateData & WithSecurityGroupIds(SecurityGroupIdsT &&value)
void SetHibernationOptions(HibernationOptionsT &&value)
const Aws::Vector< LaunchTemplateBlockDeviceMappingRequest > & GetBlockDeviceMappings() const
RequestLaunchTemplateData & WithCpuOptions(CpuOptionsT &&value)
RequestLaunchTemplateData & WithCreditSpecification(CreditSpecificationT &&value)
const LaunchTemplatePrivateDnsNameOptionsRequest & GetPrivateDnsNameOptions() const
RequestLaunchTemplateData & AddBlockDeviceMappings(BlockDeviceMappingsT &&value)
RequestLaunchTemplateData & WithMaintenanceOptions(MaintenanceOptionsT &&value)
void SetTagSpecifications(TagSpecificationsT &&value)
void SetSecondaryInterfaces(SecondaryInterfacesT &&value)
RequestLaunchTemplateData & WithPlacement(PlacementT &&value)
RequestLaunchTemplateData & WithKernelId(KernelIdT &&value)
RequestLaunchTemplateData & WithMetadataOptions(MetadataOptionsT &&value)
AWS_EC2_API RequestLaunchTemplateData(const Aws::Utils::Xml::XmlNode &xmlNode)
RequestLaunchTemplateData & WithBlockDeviceMappings(BlockDeviceMappingsT &&value)
RequestLaunchTemplateData & WithDisableApiStop(bool value)
void SetInstanceRequirements(InstanceRequirementsT &&value)
RequestLaunchTemplateData & WithInstanceMarketOptions(InstanceMarketOptionsT &&value)
RequestLaunchTemplateData & AddSecondaryInterfaces(SecondaryInterfacesT &&value)
const LaunchTemplateNetworkPerformanceOptionsRequest & GetNetworkPerformanceOptions() const
const LaunchTemplateCpuOptionsRequest & GetCpuOptions() const
RequestLaunchTemplateData & WithSecurityGroups(SecurityGroupsT &&value)
const LaunchTemplateEnclaveOptionsRequest & GetEnclaveOptions() const
RequestLaunchTemplateData & WithDisableApiTermination(bool value)
void SetMaintenanceOptions(MaintenanceOptionsT &&value)
void SetCreditSpecification(CreditSpecificationT &&value)
void SetInstanceMarketOptions(InstanceMarketOptionsT &&value)
RequestLaunchTemplateData & WithLicenseSpecifications(LicenseSpecificationsT &&value)
RequestLaunchTemplateData & WithEbsOptimized(bool value)
const LaunchTemplateHibernationOptionsRequest & GetHibernationOptions() const
RequestLaunchTemplateData & WithSecondaryInterfaces(SecondaryInterfacesT &&value)
void SetLicenseSpecifications(LicenseSpecificationsT &&value)
RequestLaunchTemplateData & WithHibernationOptions(HibernationOptionsT &&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