AWS SDK for C++

AWS SDK for C++ Version 1.11.716

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/LaunchTemplateLicenseConfigurationRequest.h>
25#include <aws/ec2/model/LaunchTemplateNetworkPerformanceOptionsRequest.h>
26#include <aws/ec2/model/LaunchTemplatePlacementRequest.h>
27#include <aws/ec2/model/LaunchTemplatePrivateDnsNameOptionsRequest.h>
28#include <aws/ec2/model/LaunchTemplateTagSpecificationRequest.h>
29#include <aws/ec2/model/LaunchTemplatesMonitoringRequest.h>
30#include <aws/ec2/model/OperatorRequest.h>
31#include <aws/ec2/model/ShutdownBehavior.h>
32
33#include <utility>
34
35namespace Aws {
36namespace Utils {
37namespace Xml {
38class XmlNode;
39} // namespace Xml
40} // namespace Utils
41namespace EC2 {
42namespace Model {
43
52 public:
53 AWS_EC2_API RequestLaunchTemplateData() = default;
56
57 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
58 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
59
61
67 inline const Aws::String& GetKernelId() const { return m_kernelId; }
68 inline bool KernelIdHasBeenSet() const { return m_kernelIdHasBeenSet; }
69 template <typename KernelIdT = Aws::String>
70 void SetKernelId(KernelIdT&& value) {
71 m_kernelIdHasBeenSet = true;
72 m_kernelId = std::forward<KernelIdT>(value);
73 }
74 template <typename KernelIdT = Aws::String>
76 SetKernelId(std::forward<KernelIdT>(value));
77 return *this;
78 }
80
82
89 inline bool GetEbsOptimized() const { return m_ebsOptimized; }
90 inline bool EbsOptimizedHasBeenSet() const { return m_ebsOptimizedHasBeenSet; }
91 inline void SetEbsOptimized(bool value) {
92 m_ebsOptimizedHasBeenSet = true;
93 m_ebsOptimized = value;
94 }
96 SetEbsOptimized(value);
97 return *this;
98 }
100
102
105 inline const LaunchTemplateIamInstanceProfileSpecificationRequest& GetIamInstanceProfile() const { return m_iamInstanceProfile; }
106 inline bool IamInstanceProfileHasBeenSet() const { return m_iamInstanceProfileHasBeenSet; }
107 template <typename IamInstanceProfileT = LaunchTemplateIamInstanceProfileSpecificationRequest>
108 void SetIamInstanceProfile(IamInstanceProfileT&& value) {
109 m_iamInstanceProfileHasBeenSet = true;
110 m_iamInstanceProfile = std::forward<IamInstanceProfileT>(value);
111 }
112 template <typename IamInstanceProfileT = LaunchTemplateIamInstanceProfileSpecificationRequest>
113 RequestLaunchTemplateData& WithIamInstanceProfile(IamInstanceProfileT&& value) {
114 SetIamInstanceProfile(std::forward<IamInstanceProfileT>(value));
115 return *this;
116 }
118
120
123 inline const Aws::Vector<LaunchTemplateBlockDeviceMappingRequest>& GetBlockDeviceMappings() const { return m_blockDeviceMappings; }
124 inline bool BlockDeviceMappingsHasBeenSet() const { return m_blockDeviceMappingsHasBeenSet; }
125 template <typename BlockDeviceMappingsT = Aws::Vector<LaunchTemplateBlockDeviceMappingRequest>>
126 void SetBlockDeviceMappings(BlockDeviceMappingsT&& value) {
127 m_blockDeviceMappingsHasBeenSet = true;
128 m_blockDeviceMappings = std::forward<BlockDeviceMappingsT>(value);
129 }
130 template <typename BlockDeviceMappingsT = Aws::Vector<LaunchTemplateBlockDeviceMappingRequest>>
131 RequestLaunchTemplateData& WithBlockDeviceMappings(BlockDeviceMappingsT&& value) {
132 SetBlockDeviceMappings(std::forward<BlockDeviceMappingsT>(value));
133 return *this;
134 }
135 template <typename BlockDeviceMappingsT = LaunchTemplateBlockDeviceMappingRequest>
136 RequestLaunchTemplateData& AddBlockDeviceMappings(BlockDeviceMappingsT&& value) {
137 m_blockDeviceMappingsHasBeenSet = true;
138 m_blockDeviceMappings.emplace_back(std::forward<BlockDeviceMappingsT>(value));
139 return *this;
140 }
142
144
148 return m_networkInterfaces;
149 }
150 inline bool NetworkInterfacesHasBeenSet() const { return m_networkInterfacesHasBeenSet; }
151 template <typename NetworkInterfacesT = Aws::Vector<LaunchTemplateInstanceNetworkInterfaceSpecificationRequest>>
152 void SetNetworkInterfaces(NetworkInterfacesT&& value) {
153 m_networkInterfacesHasBeenSet = true;
154 m_networkInterfaces = std::forward<NetworkInterfacesT>(value);
155 }
156 template <typename NetworkInterfacesT = Aws::Vector<LaunchTemplateInstanceNetworkInterfaceSpecificationRequest>>
158 SetNetworkInterfaces(std::forward<NetworkInterfacesT>(value));
159 return *this;
160 }
161 template <typename NetworkInterfacesT = LaunchTemplateInstanceNetworkInterfaceSpecificationRequest>
162 RequestLaunchTemplateData& AddNetworkInterfaces(NetworkInterfacesT&& value) {
163 m_networkInterfacesHasBeenSet = true;
164 m_networkInterfaces.emplace_back(std::forward<NetworkInterfacesT>(value));
165 return *this;
166 }
168
170
193 inline const Aws::String& GetImageId() const { return m_imageId; }
194 inline bool ImageIdHasBeenSet() const { return m_imageIdHasBeenSet; }
195 template <typename ImageIdT = Aws::String>
196 void SetImageId(ImageIdT&& value) {
197 m_imageIdHasBeenSet = true;
198 m_imageId = std::forward<ImageIdT>(value);
199 }
200 template <typename ImageIdT = Aws::String>
202 SetImageId(std::forward<ImageIdT>(value));
203 return *this;
204 }
206
208
215 inline InstanceType GetInstanceType() const { return m_instanceType; }
216 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
217 inline void SetInstanceType(InstanceType value) {
218 m_instanceTypeHasBeenSet = true;
219 m_instanceType = value;
220 }
222 SetInstanceType(value);
223 return *this;
224 }
226
228
237 inline const Aws::String& GetKeyName() const { return m_keyName; }
238 inline bool KeyNameHasBeenSet() const { return m_keyNameHasBeenSet; }
239 template <typename KeyNameT = Aws::String>
240 void SetKeyName(KeyNameT&& value) {
241 m_keyNameHasBeenSet = true;
242 m_keyName = std::forward<KeyNameT>(value);
243 }
244 template <typename KeyNameT = Aws::String>
246 SetKeyName(std::forward<KeyNameT>(value));
247 return *this;
248 }
250
252
255 inline const LaunchTemplatesMonitoringRequest& GetMonitoring() const { return m_monitoring; }
256 inline bool MonitoringHasBeenSet() const { return m_monitoringHasBeenSet; }
257 template <typename MonitoringT = LaunchTemplatesMonitoringRequest>
258 void SetMonitoring(MonitoringT&& value) {
259 m_monitoringHasBeenSet = true;
260 m_monitoring = std::forward<MonitoringT>(value);
261 }
262 template <typename MonitoringT = LaunchTemplatesMonitoringRequest>
264 SetMonitoring(std::forward<MonitoringT>(value));
265 return *this;
266 }
268
270
273 inline const LaunchTemplatePlacementRequest& GetPlacement() const { return m_placement; }
274 inline bool PlacementHasBeenSet() const { return m_placementHasBeenSet; }
275 template <typename PlacementT = LaunchTemplatePlacementRequest>
276 void SetPlacement(PlacementT&& value) {
277 m_placementHasBeenSet = true;
278 m_placement = std::forward<PlacementT>(value);
279 }
280 template <typename PlacementT = LaunchTemplatePlacementRequest>
282 SetPlacement(std::forward<PlacementT>(value));
283 return *this;
284 }
286
288
294 inline const Aws::String& GetRamDiskId() const { return m_ramDiskId; }
295 inline bool RamDiskIdHasBeenSet() const { return m_ramDiskIdHasBeenSet; }
296 template <typename RamDiskIdT = Aws::String>
297 void SetRamDiskId(RamDiskIdT&& value) {
298 m_ramDiskIdHasBeenSet = true;
299 m_ramDiskId = std::forward<RamDiskIdT>(value);
300 }
301 template <typename RamDiskIdT = Aws::String>
303 SetRamDiskId(std::forward<RamDiskIdT>(value));
304 return *this;
305 }
307
309
316 inline bool GetDisableApiTermination() const { return m_disableApiTermination; }
317 inline bool DisableApiTerminationHasBeenSet() const { return m_disableApiTerminationHasBeenSet; }
318 inline void SetDisableApiTermination(bool value) {
319 m_disableApiTerminationHasBeenSet = true;
320 m_disableApiTermination = value;
321 }
324 return *this;
325 }
327
329
334 inline ShutdownBehavior GetInstanceInitiatedShutdownBehavior() const { return m_instanceInitiatedShutdownBehavior; }
335 inline bool InstanceInitiatedShutdownBehaviorHasBeenSet() const { return m_instanceInitiatedShutdownBehaviorHasBeenSet; }
337 m_instanceInitiatedShutdownBehaviorHasBeenSet = true;
338 m_instanceInitiatedShutdownBehavior = value;
339 }
342 return *this;
343 }
345
347
359 inline const Aws::String& GetUserData() const { return m_userData; }
360 inline bool UserDataHasBeenSet() const { return m_userDataHasBeenSet; }
361 template <typename UserDataT = Aws::String>
362 void SetUserData(UserDataT&& value) {
363 m_userDataHasBeenSet = true;
364 m_userData = std::forward<UserDataT>(value);
365 }
366 template <typename UserDataT = Aws::String>
368 SetUserData(std::forward<UserDataT>(value));
369 return *this;
370 }
372
374
378 inline const Aws::Vector<LaunchTemplateTagSpecificationRequest>& GetTagSpecifications() const { return m_tagSpecifications; }
379 inline bool TagSpecificationsHasBeenSet() const { return m_tagSpecificationsHasBeenSet; }
380 template <typename TagSpecificationsT = Aws::Vector<LaunchTemplateTagSpecificationRequest>>
381 void SetTagSpecifications(TagSpecificationsT&& value) {
382 m_tagSpecificationsHasBeenSet = true;
383 m_tagSpecifications = std::forward<TagSpecificationsT>(value);
384 }
385 template <typename TagSpecificationsT = Aws::Vector<LaunchTemplateTagSpecificationRequest>>
387 SetTagSpecifications(std::forward<TagSpecificationsT>(value));
388 return *this;
389 }
390 template <typename TagSpecificationsT = LaunchTemplateTagSpecificationRequest>
391 RequestLaunchTemplateData& AddTagSpecifications(TagSpecificationsT&& value) {
392 m_tagSpecificationsHasBeenSet = true;
393 m_tagSpecifications.emplace_back(std::forward<TagSpecificationsT>(value));
394 return *this;
395 }
397
399
404 inline const Aws::Vector<Aws::String>& GetSecurityGroupIds() const { return m_securityGroupIds; }
405 inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; }
406 template <typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
407 void SetSecurityGroupIds(SecurityGroupIdsT&& value) {
408 m_securityGroupIdsHasBeenSet = true;
409 m_securityGroupIds = std::forward<SecurityGroupIdsT>(value);
410 }
411 template <typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
413 SetSecurityGroupIds(std::forward<SecurityGroupIdsT>(value));
414 return *this;
415 }
416 template <typename SecurityGroupIdsT = Aws::String>
417 RequestLaunchTemplateData& AddSecurityGroupIds(SecurityGroupIdsT&& value) {
418 m_securityGroupIdsHasBeenSet = true;
419 m_securityGroupIds.emplace_back(std::forward<SecurityGroupIdsT>(value));
420 return *this;
421 }
423
425
431 inline const Aws::Vector<Aws::String>& GetSecurityGroups() const { return m_securityGroups; }
432 inline bool SecurityGroupsHasBeenSet() const { return m_securityGroupsHasBeenSet; }
433 template <typename SecurityGroupsT = Aws::Vector<Aws::String>>
434 void SetSecurityGroups(SecurityGroupsT&& value) {
435 m_securityGroupsHasBeenSet = true;
436 m_securityGroups = std::forward<SecurityGroupsT>(value);
437 }
438 template <typename SecurityGroupsT = Aws::Vector<Aws::String>>
440 SetSecurityGroups(std::forward<SecurityGroupsT>(value));
441 return *this;
442 }
443 template <typename SecurityGroupsT = Aws::String>
445 m_securityGroupsHasBeenSet = true;
446 m_securityGroups.emplace_back(std::forward<SecurityGroupsT>(value));
447 return *this;
448 }
450
452
455 inline const LaunchTemplateInstanceMarketOptionsRequest& GetInstanceMarketOptions() const { return m_instanceMarketOptions; }
456 inline bool InstanceMarketOptionsHasBeenSet() const { return m_instanceMarketOptionsHasBeenSet; }
457 template <typename InstanceMarketOptionsT = LaunchTemplateInstanceMarketOptionsRequest>
458 void SetInstanceMarketOptions(InstanceMarketOptionsT&& value) {
459 m_instanceMarketOptionsHasBeenSet = true;
460 m_instanceMarketOptions = std::forward<InstanceMarketOptionsT>(value);
461 }
462 template <typename InstanceMarketOptionsT = LaunchTemplateInstanceMarketOptionsRequest>
463 RequestLaunchTemplateData& WithInstanceMarketOptions(InstanceMarketOptionsT&& value) {
464 SetInstanceMarketOptions(std::forward<InstanceMarketOptionsT>(value));
465 return *this;
466 }
468
470
474 inline const CreditSpecificationRequest& GetCreditSpecification() const { return m_creditSpecification; }
475 inline bool CreditSpecificationHasBeenSet() const { return m_creditSpecificationHasBeenSet; }
476 template <typename CreditSpecificationT = CreditSpecificationRequest>
477 void SetCreditSpecification(CreditSpecificationT&& value) {
478 m_creditSpecificationHasBeenSet = true;
479 m_creditSpecification = std::forward<CreditSpecificationT>(value);
480 }
481 template <typename CreditSpecificationT = CreditSpecificationRequest>
482 RequestLaunchTemplateData& WithCreditSpecification(CreditSpecificationT&& value) {
483 SetCreditSpecification(std::forward<CreditSpecificationT>(value));
484 return *this;
485 }
487
489
494 inline const LaunchTemplateCpuOptionsRequest& GetCpuOptions() const { return m_cpuOptions; }
495 inline bool CpuOptionsHasBeenSet() const { return m_cpuOptionsHasBeenSet; }
496 template <typename CpuOptionsT = LaunchTemplateCpuOptionsRequest>
497 void SetCpuOptions(CpuOptionsT&& value) {
498 m_cpuOptionsHasBeenSet = true;
499 m_cpuOptions = std::forward<CpuOptionsT>(value);
500 }
501 template <typename CpuOptionsT = LaunchTemplateCpuOptionsRequest>
503 SetCpuOptions(std::forward<CpuOptionsT>(value));
504 return *this;
505 }
507
509
516 return m_capacityReservationSpecification;
517 }
518 inline bool CapacityReservationSpecificationHasBeenSet() const { return m_capacityReservationSpecificationHasBeenSet; }
519 template <typename CapacityReservationSpecificationT = LaunchTemplateCapacityReservationSpecificationRequest>
520 void SetCapacityReservationSpecification(CapacityReservationSpecificationT&& value) {
521 m_capacityReservationSpecificationHasBeenSet = true;
522 m_capacityReservationSpecification = std::forward<CapacityReservationSpecificationT>(value);
523 }
524 template <typename CapacityReservationSpecificationT = LaunchTemplateCapacityReservationSpecificationRequest>
525 RequestLaunchTemplateData& WithCapacityReservationSpecification(CapacityReservationSpecificationT&& value) {
526 SetCapacityReservationSpecification(std::forward<CapacityReservationSpecificationT>(value));
527 return *this;
528 }
530
532
535 inline const Aws::Vector<LaunchTemplateLicenseConfigurationRequest>& GetLicenseSpecifications() const { return m_licenseSpecifications; }
536 inline bool LicenseSpecificationsHasBeenSet() const { return m_licenseSpecificationsHasBeenSet; }
537 template <typename LicenseSpecificationsT = Aws::Vector<LaunchTemplateLicenseConfigurationRequest>>
538 void SetLicenseSpecifications(LicenseSpecificationsT&& value) {
539 m_licenseSpecificationsHasBeenSet = true;
540 m_licenseSpecifications = std::forward<LicenseSpecificationsT>(value);
541 }
542 template <typename LicenseSpecificationsT = Aws::Vector<LaunchTemplateLicenseConfigurationRequest>>
543 RequestLaunchTemplateData& WithLicenseSpecifications(LicenseSpecificationsT&& value) {
544 SetLicenseSpecifications(std::forward<LicenseSpecificationsT>(value));
545 return *this;
546 }
547 template <typename LicenseSpecificationsT = LaunchTemplateLicenseConfigurationRequest>
548 RequestLaunchTemplateData& AddLicenseSpecifications(LicenseSpecificationsT&& value) {
549 m_licenseSpecificationsHasBeenSet = true;
550 m_licenseSpecifications.emplace_back(std::forward<LicenseSpecificationsT>(value));
551 return *this;
552 }
554
556
564 inline const LaunchTemplateHibernationOptionsRequest& GetHibernationOptions() const { return m_hibernationOptions; }
565 inline bool HibernationOptionsHasBeenSet() const { return m_hibernationOptionsHasBeenSet; }
566 template <typename HibernationOptionsT = LaunchTemplateHibernationOptionsRequest>
567 void SetHibernationOptions(HibernationOptionsT&& value) {
568 m_hibernationOptionsHasBeenSet = true;
569 m_hibernationOptions = std::forward<HibernationOptionsT>(value);
570 }
571 template <typename HibernationOptionsT = LaunchTemplateHibernationOptionsRequest>
572 RequestLaunchTemplateData& WithHibernationOptions(HibernationOptionsT&& value) {
573 SetHibernationOptions(std::forward<HibernationOptionsT>(value));
574 return *this;
575 }
577
579
585 inline const LaunchTemplateInstanceMetadataOptionsRequest& GetMetadataOptions() const { return m_metadataOptions; }
586 inline bool MetadataOptionsHasBeenSet() const { return m_metadataOptionsHasBeenSet; }
587 template <typename MetadataOptionsT = LaunchTemplateInstanceMetadataOptionsRequest>
588 void SetMetadataOptions(MetadataOptionsT&& value) {
589 m_metadataOptionsHasBeenSet = true;
590 m_metadataOptions = std::forward<MetadataOptionsT>(value);
591 }
592 template <typename MetadataOptionsT = LaunchTemplateInstanceMetadataOptionsRequest>
594 SetMetadataOptions(std::forward<MetadataOptionsT>(value));
595 return *this;
596 }
598
600
608 inline const LaunchTemplateEnclaveOptionsRequest& GetEnclaveOptions() const { return m_enclaveOptions; }
609 inline bool EnclaveOptionsHasBeenSet() const { return m_enclaveOptionsHasBeenSet; }
610 template <typename EnclaveOptionsT = LaunchTemplateEnclaveOptionsRequest>
611 void SetEnclaveOptions(EnclaveOptionsT&& value) {
612 m_enclaveOptionsHasBeenSet = true;
613 m_enclaveOptions = std::forward<EnclaveOptionsT>(value);
614 }
615 template <typename EnclaveOptionsT = LaunchTemplateEnclaveOptionsRequest>
617 SetEnclaveOptions(std::forward<EnclaveOptionsT>(value));
618 return *this;
619 }
621
623
654 inline const InstanceRequirementsRequest& GetInstanceRequirements() const { return m_instanceRequirements; }
655 inline bool InstanceRequirementsHasBeenSet() const { return m_instanceRequirementsHasBeenSet; }
656 template <typename InstanceRequirementsT = InstanceRequirementsRequest>
657 void SetInstanceRequirements(InstanceRequirementsT&& value) {
658 m_instanceRequirementsHasBeenSet = true;
659 m_instanceRequirements = std::forward<InstanceRequirementsT>(value);
660 }
661 template <typename InstanceRequirementsT = InstanceRequirementsRequest>
662 RequestLaunchTemplateData& WithInstanceRequirements(InstanceRequirementsT&& value) {
663 SetInstanceRequirements(std::forward<InstanceRequirementsT>(value));
664 return *this;
665 }
667
669
673 inline const LaunchTemplatePrivateDnsNameOptionsRequest& GetPrivateDnsNameOptions() const { return m_privateDnsNameOptions; }
674 inline bool PrivateDnsNameOptionsHasBeenSet() const { return m_privateDnsNameOptionsHasBeenSet; }
675 template <typename PrivateDnsNameOptionsT = LaunchTemplatePrivateDnsNameOptionsRequest>
676 void SetPrivateDnsNameOptions(PrivateDnsNameOptionsT&& value) {
677 m_privateDnsNameOptionsHasBeenSet = true;
678 m_privateDnsNameOptions = std::forward<PrivateDnsNameOptionsT>(value);
679 }
680 template <typename PrivateDnsNameOptionsT = LaunchTemplatePrivateDnsNameOptionsRequest>
681 RequestLaunchTemplateData& WithPrivateDnsNameOptions(PrivateDnsNameOptionsT&& value) {
682 SetPrivateDnsNameOptions(std::forward<PrivateDnsNameOptionsT>(value));
683 return *this;
684 }
686
688
691 inline const LaunchTemplateInstanceMaintenanceOptionsRequest& GetMaintenanceOptions() const { return m_maintenanceOptions; }
692 inline bool MaintenanceOptionsHasBeenSet() const { return m_maintenanceOptionsHasBeenSet; }
693 template <typename MaintenanceOptionsT = LaunchTemplateInstanceMaintenanceOptionsRequest>
694 void SetMaintenanceOptions(MaintenanceOptionsT&& value) {
695 m_maintenanceOptionsHasBeenSet = true;
696 m_maintenanceOptions = std::forward<MaintenanceOptionsT>(value);
697 }
698 template <typename MaintenanceOptionsT = LaunchTemplateInstanceMaintenanceOptionsRequest>
699 RequestLaunchTemplateData& WithMaintenanceOptions(MaintenanceOptionsT&& value) {
700 SetMaintenanceOptions(std::forward<MaintenanceOptionsT>(value));
701 return *this;
702 }
704
706
713 inline bool GetDisableApiStop() const { return m_disableApiStop; }
714 inline bool DisableApiStopHasBeenSet() const { return m_disableApiStopHasBeenSet; }
715 inline void SetDisableApiStop(bool value) {
716 m_disableApiStopHasBeenSet = true;
717 m_disableApiStop = value;
718 }
720 SetDisableApiStop(value);
721 return *this;
722 }
724
726
729 inline const OperatorRequest& GetOperator() const { return m_operator; }
730 inline bool OperatorHasBeenSet() const { return m_operatorHasBeenSet; }
731 template <typename OperatorT = OperatorRequest>
732 void SetOperator(OperatorT&& value) {
733 m_operatorHasBeenSet = true;
734 m_operator = std::forward<OperatorT>(value);
735 }
736 template <typename OperatorT = OperatorRequest>
738 SetOperator(std::forward<OperatorT>(value));
739 return *this;
740 }
742
744
748 inline const LaunchTemplateNetworkPerformanceOptionsRequest& GetNetworkPerformanceOptions() const { return m_networkPerformanceOptions; }
749 inline bool NetworkPerformanceOptionsHasBeenSet() const { return m_networkPerformanceOptionsHasBeenSet; }
750 template <typename NetworkPerformanceOptionsT = LaunchTemplateNetworkPerformanceOptionsRequest>
751 void SetNetworkPerformanceOptions(NetworkPerformanceOptionsT&& value) {
752 m_networkPerformanceOptionsHasBeenSet = true;
753 m_networkPerformanceOptions = std::forward<NetworkPerformanceOptionsT>(value);
754 }
755 template <typename NetworkPerformanceOptionsT = LaunchTemplateNetworkPerformanceOptionsRequest>
756 RequestLaunchTemplateData& WithNetworkPerformanceOptions(NetworkPerformanceOptionsT&& value) {
757 SetNetworkPerformanceOptions(std::forward<NetworkPerformanceOptionsT>(value));
758 return *this;
759 }
761 private:
762 Aws::String m_kernelId;
763
764 bool m_ebsOptimized{false};
765
766 LaunchTemplateIamInstanceProfileSpecificationRequest m_iamInstanceProfile;
767
769
771
772 Aws::String m_imageId;
773
774 InstanceType m_instanceType{InstanceType::NOT_SET};
775
776 Aws::String m_keyName;
777
778 LaunchTemplatesMonitoringRequest m_monitoring;
779
780 LaunchTemplatePlacementRequest m_placement;
781
782 Aws::String m_ramDiskId;
783
784 bool m_disableApiTermination{false};
785
786 ShutdownBehavior m_instanceInitiatedShutdownBehavior{ShutdownBehavior::NOT_SET};
787
788 Aws::String m_userData;
789
791
792 Aws::Vector<Aws::String> m_securityGroupIds;
793
794 Aws::Vector<Aws::String> m_securityGroups;
795
796 LaunchTemplateInstanceMarketOptionsRequest m_instanceMarketOptions;
797
798 CreditSpecificationRequest m_creditSpecification;
799
800 LaunchTemplateCpuOptionsRequest m_cpuOptions;
801
802 LaunchTemplateCapacityReservationSpecificationRequest m_capacityReservationSpecification;
803
805
806 LaunchTemplateHibernationOptionsRequest m_hibernationOptions;
807
808 LaunchTemplateInstanceMetadataOptionsRequest m_metadataOptions;
809
810 LaunchTemplateEnclaveOptionsRequest m_enclaveOptions;
811
812 InstanceRequirementsRequest m_instanceRequirements;
813
814 LaunchTemplatePrivateDnsNameOptionsRequest m_privateDnsNameOptions;
815
816 LaunchTemplateInstanceMaintenanceOptionsRequest m_maintenanceOptions;
817
818 bool m_disableApiStop{false};
819
820 OperatorRequest m_operator;
821
822 LaunchTemplateNetworkPerformanceOptionsRequest m_networkPerformanceOptions;
823 bool m_kernelIdHasBeenSet = false;
824 bool m_ebsOptimizedHasBeenSet = false;
825 bool m_iamInstanceProfileHasBeenSet = false;
826 bool m_blockDeviceMappingsHasBeenSet = false;
827 bool m_networkInterfacesHasBeenSet = false;
828 bool m_imageIdHasBeenSet = false;
829 bool m_instanceTypeHasBeenSet = false;
830 bool m_keyNameHasBeenSet = false;
831 bool m_monitoringHasBeenSet = false;
832 bool m_placementHasBeenSet = false;
833 bool m_ramDiskIdHasBeenSet = false;
834 bool m_disableApiTerminationHasBeenSet = false;
835 bool m_instanceInitiatedShutdownBehaviorHasBeenSet = false;
836 bool m_userDataHasBeenSet = false;
837 bool m_tagSpecificationsHasBeenSet = false;
838 bool m_securityGroupIdsHasBeenSet = false;
839 bool m_securityGroupsHasBeenSet = false;
840 bool m_instanceMarketOptionsHasBeenSet = false;
841 bool m_creditSpecificationHasBeenSet = false;
842 bool m_cpuOptionsHasBeenSet = false;
843 bool m_capacityReservationSpecificationHasBeenSet = false;
844 bool m_licenseSpecificationsHasBeenSet = false;
845 bool m_hibernationOptionsHasBeenSet = false;
846 bool m_metadataOptionsHasBeenSet = false;
847 bool m_enclaveOptionsHasBeenSet = false;
848 bool m_instanceRequirementsHasBeenSet = false;
849 bool m_privateDnsNameOptionsHasBeenSet = false;
850 bool m_maintenanceOptionsHasBeenSet = false;
851 bool m_disableApiStopHasBeenSet = false;
852 bool m_operatorHasBeenSet = false;
853 bool m_networkPerformanceOptionsHasBeenSet = false;
854};
855
856} // namespace Model
857} // namespace EC2
858} // 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)
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)
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)
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
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