AWS SDK for C++

AWS SDK for C++ Version 1.11.748

Loading...
Searching...
No Matches
ResponseLaunchTemplateData.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/CreditSpecification.h>
12#include <aws/ec2/model/ElasticGpuSpecificationResponse.h>
13#include <aws/ec2/model/InstanceRequirements.h>
14#include <aws/ec2/model/InstanceType.h>
15#include <aws/ec2/model/LaunchTemplateBlockDeviceMapping.h>
16#include <aws/ec2/model/LaunchTemplateCapacityReservationSpecificationResponse.h>
17#include <aws/ec2/model/LaunchTemplateCpuOptions.h>
18#include <aws/ec2/model/LaunchTemplateElasticInferenceAcceleratorResponse.h>
19#include <aws/ec2/model/LaunchTemplateEnclaveOptions.h>
20#include <aws/ec2/model/LaunchTemplateHibernationOptions.h>
21#include <aws/ec2/model/LaunchTemplateIamInstanceProfileSpecification.h>
22#include <aws/ec2/model/LaunchTemplateInstanceMaintenanceOptions.h>
23#include <aws/ec2/model/LaunchTemplateInstanceMarketOptions.h>
24#include <aws/ec2/model/LaunchTemplateInstanceMetadataOptions.h>
25#include <aws/ec2/model/LaunchTemplateInstanceNetworkInterfaceSpecification.h>
26#include <aws/ec2/model/LaunchTemplateInstanceSecondaryInterfaceSpecification.h>
27#include <aws/ec2/model/LaunchTemplateLicenseConfiguration.h>
28#include <aws/ec2/model/LaunchTemplateNetworkPerformanceOptions.h>
29#include <aws/ec2/model/LaunchTemplatePlacement.h>
30#include <aws/ec2/model/LaunchTemplatePrivateDnsNameOptions.h>
31#include <aws/ec2/model/LaunchTemplateTagSpecification.h>
32#include <aws/ec2/model/LaunchTemplatesMonitoring.h>
33#include <aws/ec2/model/OperatorResponse.h>
34#include <aws/ec2/model/ShutdownBehavior.h>
35
36#include <utility>
37
38namespace Aws {
39namespace Utils {
40namespace Xml {
41class XmlNode;
42} // namespace Xml
43} // namespace Utils
44namespace EC2 {
45namespace Model {
46
53 public:
54 AWS_EC2_API ResponseLaunchTemplateData() = 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
65 inline const Aws::String& GetKernelId() const { return m_kernelId; }
66 inline bool KernelIdHasBeenSet() const { return m_kernelIdHasBeenSet; }
67 template <typename KernelIdT = Aws::String>
68 void SetKernelId(KernelIdT&& value) {
69 m_kernelIdHasBeenSet = true;
70 m_kernelId = std::forward<KernelIdT>(value);
71 }
72 template <typename KernelIdT = Aws::String>
74 SetKernelId(std::forward<KernelIdT>(value));
75 return *this;
76 }
78
80
83 inline bool GetEbsOptimized() const { return m_ebsOptimized; }
84 inline bool EbsOptimizedHasBeenSet() const { return m_ebsOptimizedHasBeenSet; }
85 inline void SetEbsOptimized(bool value) {
86 m_ebsOptimizedHasBeenSet = true;
87 m_ebsOptimized = value;
88 }
90 SetEbsOptimized(value);
91 return *this;
92 }
94
96
99 inline const LaunchTemplateIamInstanceProfileSpecification& GetIamInstanceProfile() const { return m_iamInstanceProfile; }
100 inline bool IamInstanceProfileHasBeenSet() const { return m_iamInstanceProfileHasBeenSet; }
101 template <typename IamInstanceProfileT = LaunchTemplateIamInstanceProfileSpecification>
102 void SetIamInstanceProfile(IamInstanceProfileT&& value) {
103 m_iamInstanceProfileHasBeenSet = true;
104 m_iamInstanceProfile = std::forward<IamInstanceProfileT>(value);
105 }
106 template <typename IamInstanceProfileT = LaunchTemplateIamInstanceProfileSpecification>
108 SetIamInstanceProfile(std::forward<IamInstanceProfileT>(value));
109 return *this;
110 }
112
114
117 inline const Aws::Vector<LaunchTemplateBlockDeviceMapping>& GetBlockDeviceMappings() const { return m_blockDeviceMappings; }
118 inline bool BlockDeviceMappingsHasBeenSet() const { return m_blockDeviceMappingsHasBeenSet; }
119 template <typename BlockDeviceMappingsT = Aws::Vector<LaunchTemplateBlockDeviceMapping>>
120 void SetBlockDeviceMappings(BlockDeviceMappingsT&& value) {
121 m_blockDeviceMappingsHasBeenSet = true;
122 m_blockDeviceMappings = std::forward<BlockDeviceMappingsT>(value);
123 }
124 template <typename BlockDeviceMappingsT = Aws::Vector<LaunchTemplateBlockDeviceMapping>>
126 SetBlockDeviceMappings(std::forward<BlockDeviceMappingsT>(value));
127 return *this;
128 }
129 template <typename BlockDeviceMappingsT = LaunchTemplateBlockDeviceMapping>
130 ResponseLaunchTemplateData& AddBlockDeviceMappings(BlockDeviceMappingsT&& value) {
131 m_blockDeviceMappingsHasBeenSet = true;
132 m_blockDeviceMappings.emplace_back(std::forward<BlockDeviceMappingsT>(value));
133 return *this;
134 }
136
138
142 return m_networkInterfaces;
143 }
144 inline bool NetworkInterfacesHasBeenSet() const { return m_networkInterfacesHasBeenSet; }
145 template <typename NetworkInterfacesT = Aws::Vector<LaunchTemplateInstanceNetworkInterfaceSpecification>>
146 void SetNetworkInterfaces(NetworkInterfacesT&& value) {
147 m_networkInterfacesHasBeenSet = true;
148 m_networkInterfaces = std::forward<NetworkInterfacesT>(value);
149 }
150 template <typename NetworkInterfacesT = Aws::Vector<LaunchTemplateInstanceNetworkInterfaceSpecification>>
152 SetNetworkInterfaces(std::forward<NetworkInterfacesT>(value));
153 return *this;
154 }
155 template <typename NetworkInterfacesT = LaunchTemplateInstanceNetworkInterfaceSpecification>
157 m_networkInterfacesHasBeenSet = true;
158 m_networkInterfaces.emplace_back(std::forward<NetworkInterfacesT>(value));
159 return *this;
160 }
162
164
179 inline const Aws::String& GetImageId() const { return m_imageId; }
180 inline bool ImageIdHasBeenSet() const { return m_imageIdHasBeenSet; }
181 template <typename ImageIdT = Aws::String>
182 void SetImageId(ImageIdT&& value) {
183 m_imageIdHasBeenSet = true;
184 m_imageId = std::forward<ImageIdT>(value);
185 }
186 template <typename ImageIdT = Aws::String>
188 SetImageId(std::forward<ImageIdT>(value));
189 return *this;
190 }
192
194
197 inline InstanceType GetInstanceType() const { return m_instanceType; }
198 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
199 inline void SetInstanceType(InstanceType value) {
200 m_instanceTypeHasBeenSet = true;
201 m_instanceType = value;
202 }
204 SetInstanceType(value);
205 return *this;
206 }
208
210
213 inline const Aws::String& GetKeyName() const { return m_keyName; }
214 inline bool KeyNameHasBeenSet() const { return m_keyNameHasBeenSet; }
215 template <typename KeyNameT = Aws::String>
216 void SetKeyName(KeyNameT&& value) {
217 m_keyNameHasBeenSet = true;
218 m_keyName = std::forward<KeyNameT>(value);
219 }
220 template <typename KeyNameT = Aws::String>
222 SetKeyName(std::forward<KeyNameT>(value));
223 return *this;
224 }
226
228
231 inline const LaunchTemplatesMonitoring& GetMonitoring() const { return m_monitoring; }
232 inline bool MonitoringHasBeenSet() const { return m_monitoringHasBeenSet; }
233 template <typename MonitoringT = LaunchTemplatesMonitoring>
234 void SetMonitoring(MonitoringT&& value) {
235 m_monitoringHasBeenSet = true;
236 m_monitoring = std::forward<MonitoringT>(value);
237 }
238 template <typename MonitoringT = LaunchTemplatesMonitoring>
240 SetMonitoring(std::forward<MonitoringT>(value));
241 return *this;
242 }
244
246
249 inline const LaunchTemplatePlacement& GetPlacement() const { return m_placement; }
250 inline bool PlacementHasBeenSet() const { return m_placementHasBeenSet; }
251 template <typename PlacementT = LaunchTemplatePlacement>
252 void SetPlacement(PlacementT&& value) {
253 m_placementHasBeenSet = true;
254 m_placement = std::forward<PlacementT>(value);
255 }
256 template <typename PlacementT = LaunchTemplatePlacement>
258 SetPlacement(std::forward<PlacementT>(value));
259 return *this;
260 }
262
264
267 inline const Aws::String& GetRamDiskId() const { return m_ramDiskId; }
268 inline bool RamDiskIdHasBeenSet() const { return m_ramDiskIdHasBeenSet; }
269 template <typename RamDiskIdT = Aws::String>
270 void SetRamDiskId(RamDiskIdT&& value) {
271 m_ramDiskIdHasBeenSet = true;
272 m_ramDiskId = std::forward<RamDiskIdT>(value);
273 }
274 template <typename RamDiskIdT = Aws::String>
276 SetRamDiskId(std::forward<RamDiskIdT>(value));
277 return *this;
278 }
280
282
286 inline bool GetDisableApiTermination() const { return m_disableApiTermination; }
287 inline bool DisableApiTerminationHasBeenSet() const { return m_disableApiTerminationHasBeenSet; }
288 inline void SetDisableApiTermination(bool value) {
289 m_disableApiTerminationHasBeenSet = true;
290 m_disableApiTermination = value;
291 }
294 return *this;
295 }
297
299
303 inline ShutdownBehavior GetInstanceInitiatedShutdownBehavior() const { return m_instanceInitiatedShutdownBehavior; }
304 inline bool InstanceInitiatedShutdownBehaviorHasBeenSet() const { return m_instanceInitiatedShutdownBehaviorHasBeenSet; }
306 m_instanceInitiatedShutdownBehaviorHasBeenSet = true;
307 m_instanceInitiatedShutdownBehavior = value;
308 }
311 return *this;
312 }
314
316
319 inline const Aws::String& GetUserData() const { return m_userData; }
320 inline bool UserDataHasBeenSet() const { return m_userDataHasBeenSet; }
321 template <typename UserDataT = Aws::String>
322 void SetUserData(UserDataT&& value) {
323 m_userDataHasBeenSet = true;
324 m_userData = std::forward<UserDataT>(value);
325 }
326 template <typename UserDataT = Aws::String>
328 SetUserData(std::forward<UserDataT>(value));
329 return *this;
330 }
332
334
338 inline const Aws::Vector<LaunchTemplateTagSpecification>& GetTagSpecifications() const { return m_tagSpecifications; }
339 inline bool TagSpecificationsHasBeenSet() const { return m_tagSpecificationsHasBeenSet; }
340 template <typename TagSpecificationsT = Aws::Vector<LaunchTemplateTagSpecification>>
341 void SetTagSpecifications(TagSpecificationsT&& value) {
342 m_tagSpecificationsHasBeenSet = true;
343 m_tagSpecifications = std::forward<TagSpecificationsT>(value);
344 }
345 template <typename TagSpecificationsT = Aws::Vector<LaunchTemplateTagSpecification>>
347 SetTagSpecifications(std::forward<TagSpecificationsT>(value));
348 return *this;
349 }
350 template <typename TagSpecificationsT = LaunchTemplateTagSpecification>
352 m_tagSpecificationsHasBeenSet = true;
353 m_tagSpecifications.emplace_back(std::forward<TagSpecificationsT>(value));
354 return *this;
355 }
357
359
363 inline const Aws::Vector<ElasticGpuSpecificationResponse>& GetElasticGpuSpecifications() const { return m_elasticGpuSpecifications; }
364 inline bool ElasticGpuSpecificationsHasBeenSet() const { return m_elasticGpuSpecificationsHasBeenSet; }
365 template <typename ElasticGpuSpecificationsT = Aws::Vector<ElasticGpuSpecificationResponse>>
366 void SetElasticGpuSpecifications(ElasticGpuSpecificationsT&& value) {
367 m_elasticGpuSpecificationsHasBeenSet = true;
368 m_elasticGpuSpecifications = std::forward<ElasticGpuSpecificationsT>(value);
369 }
370 template <typename ElasticGpuSpecificationsT = Aws::Vector<ElasticGpuSpecificationResponse>>
371 ResponseLaunchTemplateData& WithElasticGpuSpecifications(ElasticGpuSpecificationsT&& value) {
372 SetElasticGpuSpecifications(std::forward<ElasticGpuSpecificationsT>(value));
373 return *this;
374 }
375 template <typename ElasticGpuSpecificationsT = ElasticGpuSpecificationResponse>
376 ResponseLaunchTemplateData& AddElasticGpuSpecifications(ElasticGpuSpecificationsT&& value) {
377 m_elasticGpuSpecificationsHasBeenSet = true;
378 m_elasticGpuSpecifications.emplace_back(std::forward<ElasticGpuSpecificationsT>(value));
379 return *this;
380 }
382
384
392 return m_elasticInferenceAccelerators;
393 }
394 inline bool ElasticInferenceAcceleratorsHasBeenSet() const { return m_elasticInferenceAcceleratorsHasBeenSet; }
395 template <typename ElasticInferenceAcceleratorsT = Aws::Vector<LaunchTemplateElasticInferenceAcceleratorResponse>>
396 void SetElasticInferenceAccelerators(ElasticInferenceAcceleratorsT&& value) {
397 m_elasticInferenceAcceleratorsHasBeenSet = true;
398 m_elasticInferenceAccelerators = std::forward<ElasticInferenceAcceleratorsT>(value);
399 }
400 template <typename ElasticInferenceAcceleratorsT = Aws::Vector<LaunchTemplateElasticInferenceAcceleratorResponse>>
401 ResponseLaunchTemplateData& WithElasticInferenceAccelerators(ElasticInferenceAcceleratorsT&& value) {
402 SetElasticInferenceAccelerators(std::forward<ElasticInferenceAcceleratorsT>(value));
403 return *this;
404 }
405 template <typename ElasticInferenceAcceleratorsT = LaunchTemplateElasticInferenceAcceleratorResponse>
406 ResponseLaunchTemplateData& AddElasticInferenceAccelerators(ElasticInferenceAcceleratorsT&& value) {
407 m_elasticInferenceAcceleratorsHasBeenSet = true;
408 m_elasticInferenceAccelerators.emplace_back(std::forward<ElasticInferenceAcceleratorsT>(value));
409 return *this;
410 }
412
414
417 inline const Aws::Vector<Aws::String>& GetSecurityGroupIds() const { return m_securityGroupIds; }
418 inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; }
419 template <typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
420 void SetSecurityGroupIds(SecurityGroupIdsT&& value) {
421 m_securityGroupIdsHasBeenSet = true;
422 m_securityGroupIds = std::forward<SecurityGroupIdsT>(value);
423 }
424 template <typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
426 SetSecurityGroupIds(std::forward<SecurityGroupIdsT>(value));
427 return *this;
428 }
429 template <typename SecurityGroupIdsT = Aws::String>
431 m_securityGroupIdsHasBeenSet = true;
432 m_securityGroupIds.emplace_back(std::forward<SecurityGroupIdsT>(value));
433 return *this;
434 }
436
438
441 inline const Aws::Vector<Aws::String>& GetSecurityGroups() const { return m_securityGroups; }
442 inline bool SecurityGroupsHasBeenSet() const { return m_securityGroupsHasBeenSet; }
443 template <typename SecurityGroupsT = Aws::Vector<Aws::String>>
444 void SetSecurityGroups(SecurityGroupsT&& value) {
445 m_securityGroupsHasBeenSet = true;
446 m_securityGroups = std::forward<SecurityGroupsT>(value);
447 }
448 template <typename SecurityGroupsT = Aws::Vector<Aws::String>>
450 SetSecurityGroups(std::forward<SecurityGroupsT>(value));
451 return *this;
452 }
453 template <typename SecurityGroupsT = Aws::String>
455 m_securityGroupsHasBeenSet = true;
456 m_securityGroups.emplace_back(std::forward<SecurityGroupsT>(value));
457 return *this;
458 }
460
462
465 inline const LaunchTemplateInstanceMarketOptions& GetInstanceMarketOptions() const { return m_instanceMarketOptions; }
466 inline bool InstanceMarketOptionsHasBeenSet() const { return m_instanceMarketOptionsHasBeenSet; }
467 template <typename InstanceMarketOptionsT = LaunchTemplateInstanceMarketOptions>
468 void SetInstanceMarketOptions(InstanceMarketOptionsT&& value) {
469 m_instanceMarketOptionsHasBeenSet = true;
470 m_instanceMarketOptions = std::forward<InstanceMarketOptionsT>(value);
471 }
472 template <typename InstanceMarketOptionsT = LaunchTemplateInstanceMarketOptions>
473 ResponseLaunchTemplateData& WithInstanceMarketOptions(InstanceMarketOptionsT&& value) {
474 SetInstanceMarketOptions(std::forward<InstanceMarketOptionsT>(value));
475 return *this;
476 }
478
480
483 inline const CreditSpecification& GetCreditSpecification() const { return m_creditSpecification; }
484 inline bool CreditSpecificationHasBeenSet() const { return m_creditSpecificationHasBeenSet; }
485 template <typename CreditSpecificationT = CreditSpecification>
486 void SetCreditSpecification(CreditSpecificationT&& value) {
487 m_creditSpecificationHasBeenSet = true;
488 m_creditSpecification = std::forward<CreditSpecificationT>(value);
489 }
490 template <typename CreditSpecificationT = CreditSpecification>
492 SetCreditSpecification(std::forward<CreditSpecificationT>(value));
493 return *this;
494 }
496
498
503 inline const LaunchTemplateCpuOptions& GetCpuOptions() const { return m_cpuOptions; }
504 inline bool CpuOptionsHasBeenSet() const { return m_cpuOptionsHasBeenSet; }
505 template <typename CpuOptionsT = LaunchTemplateCpuOptions>
506 void SetCpuOptions(CpuOptionsT&& value) {
507 m_cpuOptionsHasBeenSet = true;
508 m_cpuOptions = std::forward<CpuOptionsT>(value);
509 }
510 template <typename CpuOptionsT = LaunchTemplateCpuOptions>
512 SetCpuOptions(std::forward<CpuOptionsT>(value));
513 return *this;
514 }
516
518
522 return m_capacityReservationSpecification;
523 }
524 inline bool CapacityReservationSpecificationHasBeenSet() const { return m_capacityReservationSpecificationHasBeenSet; }
525 template <typename CapacityReservationSpecificationT = LaunchTemplateCapacityReservationSpecificationResponse>
526 void SetCapacityReservationSpecification(CapacityReservationSpecificationT&& value) {
527 m_capacityReservationSpecificationHasBeenSet = true;
528 m_capacityReservationSpecification = std::forward<CapacityReservationSpecificationT>(value);
529 }
530 template <typename CapacityReservationSpecificationT = LaunchTemplateCapacityReservationSpecificationResponse>
531 ResponseLaunchTemplateData& WithCapacityReservationSpecification(CapacityReservationSpecificationT&& value) {
532 SetCapacityReservationSpecification(std::forward<CapacityReservationSpecificationT>(value));
533 return *this;
534 }
536
538
541 inline const Aws::Vector<LaunchTemplateLicenseConfiguration>& GetLicenseSpecifications() const { return m_licenseSpecifications; }
542 inline bool LicenseSpecificationsHasBeenSet() const { return m_licenseSpecificationsHasBeenSet; }
543 template <typename LicenseSpecificationsT = Aws::Vector<LaunchTemplateLicenseConfiguration>>
544 void SetLicenseSpecifications(LicenseSpecificationsT&& value) {
545 m_licenseSpecificationsHasBeenSet = true;
546 m_licenseSpecifications = std::forward<LicenseSpecificationsT>(value);
547 }
548 template <typename LicenseSpecificationsT = Aws::Vector<LaunchTemplateLicenseConfiguration>>
549 ResponseLaunchTemplateData& WithLicenseSpecifications(LicenseSpecificationsT&& value) {
550 SetLicenseSpecifications(std::forward<LicenseSpecificationsT>(value));
551 return *this;
552 }
553 template <typename LicenseSpecificationsT = LaunchTemplateLicenseConfiguration>
554 ResponseLaunchTemplateData& AddLicenseSpecifications(LicenseSpecificationsT&& value) {
555 m_licenseSpecificationsHasBeenSet = true;
556 m_licenseSpecifications.emplace_back(std::forward<LicenseSpecificationsT>(value));
557 return *this;
558 }
560
562
568 inline const LaunchTemplateHibernationOptions& GetHibernationOptions() const { return m_hibernationOptions; }
569 inline bool HibernationOptionsHasBeenSet() const { return m_hibernationOptionsHasBeenSet; }
570 template <typename HibernationOptionsT = LaunchTemplateHibernationOptions>
571 void SetHibernationOptions(HibernationOptionsT&& value) {
572 m_hibernationOptionsHasBeenSet = true;
573 m_hibernationOptions = std::forward<HibernationOptionsT>(value);
574 }
575 template <typename HibernationOptionsT = LaunchTemplateHibernationOptions>
577 SetHibernationOptions(std::forward<HibernationOptionsT>(value));
578 return *this;
579 }
581
583
589 inline const LaunchTemplateInstanceMetadataOptions& GetMetadataOptions() const { return m_metadataOptions; }
590 inline bool MetadataOptionsHasBeenSet() const { return m_metadataOptionsHasBeenSet; }
591 template <typename MetadataOptionsT = LaunchTemplateInstanceMetadataOptions>
592 void SetMetadataOptions(MetadataOptionsT&& value) {
593 m_metadataOptionsHasBeenSet = true;
594 m_metadataOptions = std::forward<MetadataOptionsT>(value);
595 }
596 template <typename MetadataOptionsT = LaunchTemplateInstanceMetadataOptions>
598 SetMetadataOptions(std::forward<MetadataOptionsT>(value));
599 return *this;
600 }
602
604
608 inline const LaunchTemplateEnclaveOptions& GetEnclaveOptions() const { return m_enclaveOptions; }
609 inline bool EnclaveOptionsHasBeenSet() const { return m_enclaveOptionsHasBeenSet; }
610 template <typename EnclaveOptionsT = LaunchTemplateEnclaveOptions>
611 void SetEnclaveOptions(EnclaveOptionsT&& value) {
612 m_enclaveOptionsHasBeenSet = true;
613 m_enclaveOptions = std::forward<EnclaveOptionsT>(value);
614 }
615 template <typename EnclaveOptionsT = LaunchTemplateEnclaveOptions>
617 SetEnclaveOptions(std::forward<EnclaveOptionsT>(value));
618 return *this;
619 }
621
623
629 inline const InstanceRequirements& GetInstanceRequirements() const { return m_instanceRequirements; }
630 inline bool InstanceRequirementsHasBeenSet() const { return m_instanceRequirementsHasBeenSet; }
631 template <typename InstanceRequirementsT = InstanceRequirements>
632 void SetInstanceRequirements(InstanceRequirementsT&& value) {
633 m_instanceRequirementsHasBeenSet = true;
634 m_instanceRequirements = std::forward<InstanceRequirementsT>(value);
635 }
636 template <typename InstanceRequirementsT = InstanceRequirements>
637 ResponseLaunchTemplateData& WithInstanceRequirements(InstanceRequirementsT&& value) {
638 SetInstanceRequirements(std::forward<InstanceRequirementsT>(value));
639 return *this;
640 }
642
644
647 inline const LaunchTemplatePrivateDnsNameOptions& GetPrivateDnsNameOptions() const { return m_privateDnsNameOptions; }
648 inline bool PrivateDnsNameOptionsHasBeenSet() const { return m_privateDnsNameOptionsHasBeenSet; }
649 template <typename PrivateDnsNameOptionsT = LaunchTemplatePrivateDnsNameOptions>
650 void SetPrivateDnsNameOptions(PrivateDnsNameOptionsT&& value) {
651 m_privateDnsNameOptionsHasBeenSet = true;
652 m_privateDnsNameOptions = std::forward<PrivateDnsNameOptionsT>(value);
653 }
654 template <typename PrivateDnsNameOptionsT = LaunchTemplatePrivateDnsNameOptions>
655 ResponseLaunchTemplateData& WithPrivateDnsNameOptions(PrivateDnsNameOptionsT&& value) {
656 SetPrivateDnsNameOptions(std::forward<PrivateDnsNameOptionsT>(value));
657 return *this;
658 }
660
662
665 inline const LaunchTemplateInstanceMaintenanceOptions& GetMaintenanceOptions() const { return m_maintenanceOptions; }
666 inline bool MaintenanceOptionsHasBeenSet() const { return m_maintenanceOptionsHasBeenSet; }
667 template <typename MaintenanceOptionsT = LaunchTemplateInstanceMaintenanceOptions>
668 void SetMaintenanceOptions(MaintenanceOptionsT&& value) {
669 m_maintenanceOptionsHasBeenSet = true;
670 m_maintenanceOptions = std::forward<MaintenanceOptionsT>(value);
671 }
672 template <typename MaintenanceOptionsT = LaunchTemplateInstanceMaintenanceOptions>
674 SetMaintenanceOptions(std::forward<MaintenanceOptionsT>(value));
675 return *this;
676 }
678
680
687 inline bool GetDisableApiStop() const { return m_disableApiStop; }
688 inline bool DisableApiStopHasBeenSet() const { return m_disableApiStopHasBeenSet; }
689 inline void SetDisableApiStop(bool value) {
690 m_disableApiStopHasBeenSet = true;
691 m_disableApiStop = value;
692 }
694 SetDisableApiStop(value);
695 return *this;
696 }
698
700
703 inline const OperatorResponse& GetOperator() const { return m_operator; }
704 inline bool OperatorHasBeenSet() const { return m_operatorHasBeenSet; }
705 template <typename OperatorT = OperatorResponse>
706 void SetOperator(OperatorT&& value) {
707 m_operatorHasBeenSet = true;
708 m_operator = std::forward<OperatorT>(value);
709 }
710 template <typename OperatorT = OperatorResponse>
712 SetOperator(std::forward<OperatorT>(value));
713 return *this;
714 }
716
718
722 inline const LaunchTemplateNetworkPerformanceOptions& GetNetworkPerformanceOptions() const { return m_networkPerformanceOptions; }
723 inline bool NetworkPerformanceOptionsHasBeenSet() const { return m_networkPerformanceOptionsHasBeenSet; }
724 template <typename NetworkPerformanceOptionsT = LaunchTemplateNetworkPerformanceOptions>
725 void SetNetworkPerformanceOptions(NetworkPerformanceOptionsT&& value) {
726 m_networkPerformanceOptionsHasBeenSet = true;
727 m_networkPerformanceOptions = std::forward<NetworkPerformanceOptionsT>(value);
728 }
729 template <typename NetworkPerformanceOptionsT = LaunchTemplateNetworkPerformanceOptions>
730 ResponseLaunchTemplateData& WithNetworkPerformanceOptions(NetworkPerformanceOptionsT&& value) {
731 SetNetworkPerformanceOptions(std::forward<NetworkPerformanceOptionsT>(value));
732 return *this;
733 }
735
737
741 return m_secondaryInterfaces;
742 }
743 inline bool SecondaryInterfacesHasBeenSet() const { return m_secondaryInterfacesHasBeenSet; }
744 template <typename SecondaryInterfacesT = Aws::Vector<LaunchTemplateInstanceSecondaryInterfaceSpecification>>
745 void SetSecondaryInterfaces(SecondaryInterfacesT&& value) {
746 m_secondaryInterfacesHasBeenSet = true;
747 m_secondaryInterfaces = std::forward<SecondaryInterfacesT>(value);
748 }
749 template <typename SecondaryInterfacesT = Aws::Vector<LaunchTemplateInstanceSecondaryInterfaceSpecification>>
751 SetSecondaryInterfaces(std::forward<SecondaryInterfacesT>(value));
752 return *this;
753 }
754 template <typename SecondaryInterfacesT = LaunchTemplateInstanceSecondaryInterfaceSpecification>
755 ResponseLaunchTemplateData& AddSecondaryInterfaces(SecondaryInterfacesT&& value) {
756 m_secondaryInterfacesHasBeenSet = true;
757 m_secondaryInterfaces.emplace_back(std::forward<SecondaryInterfacesT>(value));
758 return *this;
759 }
761 private:
762 Aws::String m_kernelId;
763
764 bool m_ebsOptimized{false};
765
766 LaunchTemplateIamInstanceProfileSpecification 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 LaunchTemplatesMonitoring m_monitoring;
779
780 LaunchTemplatePlacement 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<ElasticGpuSpecificationResponse> m_elasticGpuSpecifications;
793
795
796 Aws::Vector<Aws::String> m_securityGroupIds;
797
798 Aws::Vector<Aws::String> m_securityGroups;
799
800 LaunchTemplateInstanceMarketOptions m_instanceMarketOptions;
801
802 CreditSpecification m_creditSpecification;
803
804 LaunchTemplateCpuOptions m_cpuOptions;
805
806 LaunchTemplateCapacityReservationSpecificationResponse m_capacityReservationSpecification;
807
809
810 LaunchTemplateHibernationOptions m_hibernationOptions;
811
812 LaunchTemplateInstanceMetadataOptions m_metadataOptions;
813
814 LaunchTemplateEnclaveOptions m_enclaveOptions;
815
816 InstanceRequirements m_instanceRequirements;
817
818 LaunchTemplatePrivateDnsNameOptions m_privateDnsNameOptions;
819
820 LaunchTemplateInstanceMaintenanceOptions m_maintenanceOptions;
821
822 bool m_disableApiStop{false};
823
824 OperatorResponse m_operator;
825
826 LaunchTemplateNetworkPerformanceOptions m_networkPerformanceOptions;
827
829 bool m_kernelIdHasBeenSet = false;
830 bool m_ebsOptimizedHasBeenSet = false;
831 bool m_iamInstanceProfileHasBeenSet = false;
832 bool m_blockDeviceMappingsHasBeenSet = false;
833 bool m_networkInterfacesHasBeenSet = false;
834 bool m_imageIdHasBeenSet = false;
835 bool m_instanceTypeHasBeenSet = false;
836 bool m_keyNameHasBeenSet = false;
837 bool m_monitoringHasBeenSet = false;
838 bool m_placementHasBeenSet = false;
839 bool m_ramDiskIdHasBeenSet = false;
840 bool m_disableApiTerminationHasBeenSet = false;
841 bool m_instanceInitiatedShutdownBehaviorHasBeenSet = false;
842 bool m_userDataHasBeenSet = false;
843 bool m_tagSpecificationsHasBeenSet = false;
844 bool m_elasticGpuSpecificationsHasBeenSet = false;
845 bool m_elasticInferenceAcceleratorsHasBeenSet = false;
846 bool m_securityGroupIdsHasBeenSet = false;
847 bool m_securityGroupsHasBeenSet = false;
848 bool m_instanceMarketOptionsHasBeenSet = false;
849 bool m_creditSpecificationHasBeenSet = false;
850 bool m_cpuOptionsHasBeenSet = false;
851 bool m_capacityReservationSpecificationHasBeenSet = false;
852 bool m_licenseSpecificationsHasBeenSet = false;
853 bool m_hibernationOptionsHasBeenSet = false;
854 bool m_metadataOptionsHasBeenSet = false;
855 bool m_enclaveOptionsHasBeenSet = false;
856 bool m_instanceRequirementsHasBeenSet = false;
857 bool m_privateDnsNameOptionsHasBeenSet = false;
858 bool m_maintenanceOptionsHasBeenSet = false;
859 bool m_disableApiStopHasBeenSet = false;
860 bool m_operatorHasBeenSet = false;
861 bool m_networkPerformanceOptionsHasBeenSet = false;
862 bool m_secondaryInterfacesHasBeenSet = false;
863};
864
865} // namespace Model
866} // namespace EC2
867} // namespace Aws
const LaunchTemplateCpuOptions & GetCpuOptions() const
const LaunchTemplatesMonitoring & GetMonitoring() const
AWS_EC2_API ResponseLaunchTemplateData & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
ResponseLaunchTemplateData & WithPrivateDnsNameOptions(PrivateDnsNameOptionsT &&value)
ResponseLaunchTemplateData & WithInstanceMarketOptions(InstanceMarketOptionsT &&value)
ResponseLaunchTemplateData & WithSecurityGroups(SecurityGroupsT &&value)
const InstanceRequirements & GetInstanceRequirements() const
void SetElasticInferenceAccelerators(ElasticInferenceAcceleratorsT &&value)
const LaunchTemplateInstanceMetadataOptions & GetMetadataOptions() const
ResponseLaunchTemplateData & AddElasticGpuSpecifications(ElasticGpuSpecificationsT &&value)
ResponseLaunchTemplateData & AddBlockDeviceMappings(BlockDeviceMappingsT &&value)
const LaunchTemplateInstanceMaintenanceOptions & GetMaintenanceOptions() const
ResponseLaunchTemplateData & AddSecondaryInterfaces(SecondaryInterfacesT &&value)
const LaunchTemplatePrivateDnsNameOptions & GetPrivateDnsNameOptions() const
ResponseLaunchTemplateData & WithSecurityGroupIds(SecurityGroupIdsT &&value)
const LaunchTemplateInstanceMarketOptions & GetInstanceMarketOptions() const
void SetInstanceInitiatedShutdownBehavior(ShutdownBehavior value)
void SetBlockDeviceMappings(BlockDeviceMappingsT &&value)
const Aws::Vector< LaunchTemplateBlockDeviceMapping > & GetBlockDeviceMappings() const
ResponseLaunchTemplateData & WithCreditSpecification(CreditSpecificationT &&value)
const Aws::Vector< LaunchTemplateInstanceSecondaryInterfaceSpecification > & GetSecondaryInterfaces() const
ResponseLaunchTemplateData & WithLicenseSpecifications(LicenseSpecificationsT &&value)
void SetHibernationOptions(HibernationOptionsT &&value)
void SetLicenseSpecifications(LicenseSpecificationsT &&value)
AWS_EC2_API ResponseLaunchTemplateData(const Aws::Utils::Xml::XmlNode &xmlNode)
ResponseLaunchTemplateData & WithOperator(OperatorT &&value)
void SetPrivateDnsNameOptions(PrivateDnsNameOptionsT &&value)
ResponseLaunchTemplateData & AddNetworkInterfaces(NetworkInterfacesT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
const Aws::Vector< LaunchTemplateLicenseConfiguration > & GetLicenseSpecifications() const
AWS_EC2_API ResponseLaunchTemplateData()=default
ResponseLaunchTemplateData & WithDisableApiTermination(bool value)
const CreditSpecification & GetCreditSpecification() const
const Aws::Vector< ElasticGpuSpecificationResponse > & GetElasticGpuSpecifications() const
ResponseLaunchTemplateData & WithIamInstanceProfile(IamInstanceProfileT &&value)
ResponseLaunchTemplateData & WithDisableApiStop(bool value)
ResponseLaunchTemplateData & WithSecondaryInterfaces(SecondaryInterfacesT &&value)
ResponseLaunchTemplateData & WithBlockDeviceMappings(BlockDeviceMappingsT &&value)
const LaunchTemplateIamInstanceProfileSpecification & GetIamInstanceProfile() const
ResponseLaunchTemplateData & WithElasticInferenceAccelerators(ElasticInferenceAcceleratorsT &&value)
ResponseLaunchTemplateData & WithPlacement(PlacementT &&value)
ResponseLaunchTemplateData & WithHibernationOptions(HibernationOptionsT &&value)
ResponseLaunchTemplateData & AddSecurityGroupIds(SecurityGroupIdsT &&value)
ResponseLaunchTemplateData & WithUserData(UserDataT &&value)
void SetIamInstanceProfile(IamInstanceProfileT &&value)
ResponseLaunchTemplateData & WithInstanceRequirements(InstanceRequirementsT &&value)
ResponseLaunchTemplateData & WithTagSpecifications(TagSpecificationsT &&value)
const Aws::Vector< LaunchTemplateElasticInferenceAcceleratorResponse > & GetElasticInferenceAccelerators() const
ResponseLaunchTemplateData & WithKernelId(KernelIdT &&value)
ResponseLaunchTemplateData & WithInstanceType(InstanceType value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
void SetElasticGpuSpecifications(ElasticGpuSpecificationsT &&value)
ResponseLaunchTemplateData & WithRamDiskId(RamDiskIdT &&value)
ResponseLaunchTemplateData & AddElasticInferenceAccelerators(ElasticInferenceAcceleratorsT &&value)
ResponseLaunchTemplateData & AddSecurityGroups(SecurityGroupsT &&value)
const Aws::Vector< Aws::String > & GetSecurityGroups() const
ResponseLaunchTemplateData & WithKeyName(KeyNameT &&value)
ResponseLaunchTemplateData & WithMaintenanceOptions(MaintenanceOptionsT &&value)
ResponseLaunchTemplateData & WithMetadataOptions(MetadataOptionsT &&value)
ResponseLaunchTemplateData & WithNetworkInterfaces(NetworkInterfacesT &&value)
ResponseLaunchTemplateData & WithCapacityReservationSpecification(CapacityReservationSpecificationT &&value)
ResponseLaunchTemplateData & WithElasticGpuSpecifications(ElasticGpuSpecificationsT &&value)
const Aws::Vector< LaunchTemplateTagSpecification > & GetTagSpecifications() const
void SetInstanceRequirements(InstanceRequirementsT &&value)
void SetCapacityReservationSpecification(CapacityReservationSpecificationT &&value)
ResponseLaunchTemplateData & WithEnclaveOptions(EnclaveOptionsT &&value)
ResponseLaunchTemplateData & WithNetworkPerformanceOptions(NetworkPerformanceOptionsT &&value)
ResponseLaunchTemplateData & WithCpuOptions(CpuOptionsT &&value)
void SetCreditSpecification(CreditSpecificationT &&value)
void SetInstanceMarketOptions(InstanceMarketOptionsT &&value)
ResponseLaunchTemplateData & AddTagSpecifications(TagSpecificationsT &&value)
void SetNetworkPerformanceOptions(NetworkPerformanceOptionsT &&value)
void SetMaintenanceOptions(MaintenanceOptionsT &&value)
ResponseLaunchTemplateData & WithMonitoring(MonitoringT &&value)
ResponseLaunchTemplateData & WithInstanceInitiatedShutdownBehavior(ShutdownBehavior value)
const Aws::Vector< Aws::String > & GetSecurityGroupIds() const
const LaunchTemplatePlacement & GetPlacement() const
ResponseLaunchTemplateData & WithEbsOptimized(bool value)
const Aws::Vector< LaunchTemplateInstanceNetworkInterfaceSpecification > & GetNetworkInterfaces() const
const LaunchTemplateCapacityReservationSpecificationResponse & GetCapacityReservationSpecification() const
ResponseLaunchTemplateData & WithImageId(ImageIdT &&value)
void SetSecondaryInterfaces(SecondaryInterfacesT &&value)
const LaunchTemplateEnclaveOptions & GetEnclaveOptions() const
ResponseLaunchTemplateData & AddLicenseSpecifications(LicenseSpecificationsT &&value)
const LaunchTemplateHibernationOptions & GetHibernationOptions() const
const LaunchTemplateNetworkPerformanceOptions & GetNetworkPerformanceOptions() const
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