AWS SDK for C++

AWS SDK for C++ Version 1.11.717

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/LaunchTemplateLicenseConfiguration.h>
27#include <aws/ec2/model/LaunchTemplateNetworkPerformanceOptions.h>
28#include <aws/ec2/model/LaunchTemplatePlacement.h>
29#include <aws/ec2/model/LaunchTemplatePrivateDnsNameOptions.h>
30#include <aws/ec2/model/LaunchTemplateTagSpecification.h>
31#include <aws/ec2/model/LaunchTemplatesMonitoring.h>
32#include <aws/ec2/model/OperatorResponse.h>
33#include <aws/ec2/model/ShutdownBehavior.h>
34
35#include <utility>
36
37namespace Aws {
38namespace Utils {
39namespace Xml {
40class XmlNode;
41} // namespace Xml
42} // namespace Utils
43namespace EC2 {
44namespace Model {
45
52 public:
53 AWS_EC2_API ResponseLaunchTemplateData() = 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
64 inline const Aws::String& GetKernelId() const { return m_kernelId; }
65 inline bool KernelIdHasBeenSet() const { return m_kernelIdHasBeenSet; }
66 template <typename KernelIdT = Aws::String>
67 void SetKernelId(KernelIdT&& value) {
68 m_kernelIdHasBeenSet = true;
69 m_kernelId = std::forward<KernelIdT>(value);
70 }
71 template <typename KernelIdT = Aws::String>
73 SetKernelId(std::forward<KernelIdT>(value));
74 return *this;
75 }
77
79
82 inline bool GetEbsOptimized() const { return m_ebsOptimized; }
83 inline bool EbsOptimizedHasBeenSet() const { return m_ebsOptimizedHasBeenSet; }
84 inline void SetEbsOptimized(bool value) {
85 m_ebsOptimizedHasBeenSet = true;
86 m_ebsOptimized = value;
87 }
89 SetEbsOptimized(value);
90 return *this;
91 }
93
95
98 inline const LaunchTemplateIamInstanceProfileSpecification& GetIamInstanceProfile() const { return m_iamInstanceProfile; }
99 inline bool IamInstanceProfileHasBeenSet() const { return m_iamInstanceProfileHasBeenSet; }
100 template <typename IamInstanceProfileT = LaunchTemplateIamInstanceProfileSpecification>
101 void SetIamInstanceProfile(IamInstanceProfileT&& value) {
102 m_iamInstanceProfileHasBeenSet = true;
103 m_iamInstanceProfile = std::forward<IamInstanceProfileT>(value);
104 }
105 template <typename IamInstanceProfileT = LaunchTemplateIamInstanceProfileSpecification>
107 SetIamInstanceProfile(std::forward<IamInstanceProfileT>(value));
108 return *this;
109 }
111
113
116 inline const Aws::Vector<LaunchTemplateBlockDeviceMapping>& GetBlockDeviceMappings() const { return m_blockDeviceMappings; }
117 inline bool BlockDeviceMappingsHasBeenSet() const { return m_blockDeviceMappingsHasBeenSet; }
118 template <typename BlockDeviceMappingsT = Aws::Vector<LaunchTemplateBlockDeviceMapping>>
119 void SetBlockDeviceMappings(BlockDeviceMappingsT&& value) {
120 m_blockDeviceMappingsHasBeenSet = true;
121 m_blockDeviceMappings = std::forward<BlockDeviceMappingsT>(value);
122 }
123 template <typename BlockDeviceMappingsT = Aws::Vector<LaunchTemplateBlockDeviceMapping>>
125 SetBlockDeviceMappings(std::forward<BlockDeviceMappingsT>(value));
126 return *this;
127 }
128 template <typename BlockDeviceMappingsT = LaunchTemplateBlockDeviceMapping>
129 ResponseLaunchTemplateData& AddBlockDeviceMappings(BlockDeviceMappingsT&& value) {
130 m_blockDeviceMappingsHasBeenSet = true;
131 m_blockDeviceMappings.emplace_back(std::forward<BlockDeviceMappingsT>(value));
132 return *this;
133 }
135
137
141 return m_networkInterfaces;
142 }
143 inline bool NetworkInterfacesHasBeenSet() const { return m_networkInterfacesHasBeenSet; }
144 template <typename NetworkInterfacesT = Aws::Vector<LaunchTemplateInstanceNetworkInterfaceSpecification>>
145 void SetNetworkInterfaces(NetworkInterfacesT&& value) {
146 m_networkInterfacesHasBeenSet = true;
147 m_networkInterfaces = std::forward<NetworkInterfacesT>(value);
148 }
149 template <typename NetworkInterfacesT = Aws::Vector<LaunchTemplateInstanceNetworkInterfaceSpecification>>
151 SetNetworkInterfaces(std::forward<NetworkInterfacesT>(value));
152 return *this;
153 }
154 template <typename NetworkInterfacesT = LaunchTemplateInstanceNetworkInterfaceSpecification>
156 m_networkInterfacesHasBeenSet = true;
157 m_networkInterfaces.emplace_back(std::forward<NetworkInterfacesT>(value));
158 return *this;
159 }
161
163
178 inline const Aws::String& GetImageId() const { return m_imageId; }
179 inline bool ImageIdHasBeenSet() const { return m_imageIdHasBeenSet; }
180 template <typename ImageIdT = Aws::String>
181 void SetImageId(ImageIdT&& value) {
182 m_imageIdHasBeenSet = true;
183 m_imageId = std::forward<ImageIdT>(value);
184 }
185 template <typename ImageIdT = Aws::String>
187 SetImageId(std::forward<ImageIdT>(value));
188 return *this;
189 }
191
193
196 inline InstanceType GetInstanceType() const { return m_instanceType; }
197 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
198 inline void SetInstanceType(InstanceType value) {
199 m_instanceTypeHasBeenSet = true;
200 m_instanceType = value;
201 }
203 SetInstanceType(value);
204 return *this;
205 }
207
209
212 inline const Aws::String& GetKeyName() const { return m_keyName; }
213 inline bool KeyNameHasBeenSet() const { return m_keyNameHasBeenSet; }
214 template <typename KeyNameT = Aws::String>
215 void SetKeyName(KeyNameT&& value) {
216 m_keyNameHasBeenSet = true;
217 m_keyName = std::forward<KeyNameT>(value);
218 }
219 template <typename KeyNameT = Aws::String>
221 SetKeyName(std::forward<KeyNameT>(value));
222 return *this;
223 }
225
227
230 inline const LaunchTemplatesMonitoring& GetMonitoring() const { return m_monitoring; }
231 inline bool MonitoringHasBeenSet() const { return m_monitoringHasBeenSet; }
232 template <typename MonitoringT = LaunchTemplatesMonitoring>
233 void SetMonitoring(MonitoringT&& value) {
234 m_monitoringHasBeenSet = true;
235 m_monitoring = std::forward<MonitoringT>(value);
236 }
237 template <typename MonitoringT = LaunchTemplatesMonitoring>
239 SetMonitoring(std::forward<MonitoringT>(value));
240 return *this;
241 }
243
245
248 inline const LaunchTemplatePlacement& GetPlacement() const { return m_placement; }
249 inline bool PlacementHasBeenSet() const { return m_placementHasBeenSet; }
250 template <typename PlacementT = LaunchTemplatePlacement>
251 void SetPlacement(PlacementT&& value) {
252 m_placementHasBeenSet = true;
253 m_placement = std::forward<PlacementT>(value);
254 }
255 template <typename PlacementT = LaunchTemplatePlacement>
257 SetPlacement(std::forward<PlacementT>(value));
258 return *this;
259 }
261
263
266 inline const Aws::String& GetRamDiskId() const { return m_ramDiskId; }
267 inline bool RamDiskIdHasBeenSet() const { return m_ramDiskIdHasBeenSet; }
268 template <typename RamDiskIdT = Aws::String>
269 void SetRamDiskId(RamDiskIdT&& value) {
270 m_ramDiskIdHasBeenSet = true;
271 m_ramDiskId = std::forward<RamDiskIdT>(value);
272 }
273 template <typename RamDiskIdT = Aws::String>
275 SetRamDiskId(std::forward<RamDiskIdT>(value));
276 return *this;
277 }
279
281
285 inline bool GetDisableApiTermination() const { return m_disableApiTermination; }
286 inline bool DisableApiTerminationHasBeenSet() const { return m_disableApiTerminationHasBeenSet; }
287 inline void SetDisableApiTermination(bool value) {
288 m_disableApiTerminationHasBeenSet = true;
289 m_disableApiTermination = value;
290 }
293 return *this;
294 }
296
298
302 inline ShutdownBehavior GetInstanceInitiatedShutdownBehavior() const { return m_instanceInitiatedShutdownBehavior; }
303 inline bool InstanceInitiatedShutdownBehaviorHasBeenSet() const { return m_instanceInitiatedShutdownBehaviorHasBeenSet; }
305 m_instanceInitiatedShutdownBehaviorHasBeenSet = true;
306 m_instanceInitiatedShutdownBehavior = value;
307 }
310 return *this;
311 }
313
315
318 inline const Aws::String& GetUserData() const { return m_userData; }
319 inline bool UserDataHasBeenSet() const { return m_userDataHasBeenSet; }
320 template <typename UserDataT = Aws::String>
321 void SetUserData(UserDataT&& value) {
322 m_userDataHasBeenSet = true;
323 m_userData = std::forward<UserDataT>(value);
324 }
325 template <typename UserDataT = Aws::String>
327 SetUserData(std::forward<UserDataT>(value));
328 return *this;
329 }
331
333
337 inline const Aws::Vector<LaunchTemplateTagSpecification>& GetTagSpecifications() const { return m_tagSpecifications; }
338 inline bool TagSpecificationsHasBeenSet() const { return m_tagSpecificationsHasBeenSet; }
339 template <typename TagSpecificationsT = Aws::Vector<LaunchTemplateTagSpecification>>
340 void SetTagSpecifications(TagSpecificationsT&& value) {
341 m_tagSpecificationsHasBeenSet = true;
342 m_tagSpecifications = std::forward<TagSpecificationsT>(value);
343 }
344 template <typename TagSpecificationsT = Aws::Vector<LaunchTemplateTagSpecification>>
346 SetTagSpecifications(std::forward<TagSpecificationsT>(value));
347 return *this;
348 }
349 template <typename TagSpecificationsT = LaunchTemplateTagSpecification>
351 m_tagSpecificationsHasBeenSet = true;
352 m_tagSpecifications.emplace_back(std::forward<TagSpecificationsT>(value));
353 return *this;
354 }
356
358
362 inline const Aws::Vector<ElasticGpuSpecificationResponse>& GetElasticGpuSpecifications() const { return m_elasticGpuSpecifications; }
363 inline bool ElasticGpuSpecificationsHasBeenSet() const { return m_elasticGpuSpecificationsHasBeenSet; }
364 template <typename ElasticGpuSpecificationsT = Aws::Vector<ElasticGpuSpecificationResponse>>
365 void SetElasticGpuSpecifications(ElasticGpuSpecificationsT&& value) {
366 m_elasticGpuSpecificationsHasBeenSet = true;
367 m_elasticGpuSpecifications = std::forward<ElasticGpuSpecificationsT>(value);
368 }
369 template <typename ElasticGpuSpecificationsT = Aws::Vector<ElasticGpuSpecificationResponse>>
370 ResponseLaunchTemplateData& WithElasticGpuSpecifications(ElasticGpuSpecificationsT&& value) {
371 SetElasticGpuSpecifications(std::forward<ElasticGpuSpecificationsT>(value));
372 return *this;
373 }
374 template <typename ElasticGpuSpecificationsT = ElasticGpuSpecificationResponse>
375 ResponseLaunchTemplateData& AddElasticGpuSpecifications(ElasticGpuSpecificationsT&& value) {
376 m_elasticGpuSpecificationsHasBeenSet = true;
377 m_elasticGpuSpecifications.emplace_back(std::forward<ElasticGpuSpecificationsT>(value));
378 return *this;
379 }
381
383
391 return m_elasticInferenceAccelerators;
392 }
393 inline bool ElasticInferenceAcceleratorsHasBeenSet() const { return m_elasticInferenceAcceleratorsHasBeenSet; }
394 template <typename ElasticInferenceAcceleratorsT = Aws::Vector<LaunchTemplateElasticInferenceAcceleratorResponse>>
395 void SetElasticInferenceAccelerators(ElasticInferenceAcceleratorsT&& value) {
396 m_elasticInferenceAcceleratorsHasBeenSet = true;
397 m_elasticInferenceAccelerators = std::forward<ElasticInferenceAcceleratorsT>(value);
398 }
399 template <typename ElasticInferenceAcceleratorsT = Aws::Vector<LaunchTemplateElasticInferenceAcceleratorResponse>>
400 ResponseLaunchTemplateData& WithElasticInferenceAccelerators(ElasticInferenceAcceleratorsT&& value) {
401 SetElasticInferenceAccelerators(std::forward<ElasticInferenceAcceleratorsT>(value));
402 return *this;
403 }
404 template <typename ElasticInferenceAcceleratorsT = LaunchTemplateElasticInferenceAcceleratorResponse>
405 ResponseLaunchTemplateData& AddElasticInferenceAccelerators(ElasticInferenceAcceleratorsT&& value) {
406 m_elasticInferenceAcceleratorsHasBeenSet = true;
407 m_elasticInferenceAccelerators.emplace_back(std::forward<ElasticInferenceAcceleratorsT>(value));
408 return *this;
409 }
411
413
416 inline const Aws::Vector<Aws::String>& GetSecurityGroupIds() const { return m_securityGroupIds; }
417 inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; }
418 template <typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
419 void SetSecurityGroupIds(SecurityGroupIdsT&& value) {
420 m_securityGroupIdsHasBeenSet = true;
421 m_securityGroupIds = std::forward<SecurityGroupIdsT>(value);
422 }
423 template <typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
425 SetSecurityGroupIds(std::forward<SecurityGroupIdsT>(value));
426 return *this;
427 }
428 template <typename SecurityGroupIdsT = Aws::String>
430 m_securityGroupIdsHasBeenSet = true;
431 m_securityGroupIds.emplace_back(std::forward<SecurityGroupIdsT>(value));
432 return *this;
433 }
435
437
440 inline const Aws::Vector<Aws::String>& GetSecurityGroups() const { return m_securityGroups; }
441 inline bool SecurityGroupsHasBeenSet() const { return m_securityGroupsHasBeenSet; }
442 template <typename SecurityGroupsT = Aws::Vector<Aws::String>>
443 void SetSecurityGroups(SecurityGroupsT&& value) {
444 m_securityGroupsHasBeenSet = true;
445 m_securityGroups = std::forward<SecurityGroupsT>(value);
446 }
447 template <typename SecurityGroupsT = Aws::Vector<Aws::String>>
449 SetSecurityGroups(std::forward<SecurityGroupsT>(value));
450 return *this;
451 }
452 template <typename SecurityGroupsT = Aws::String>
454 m_securityGroupsHasBeenSet = true;
455 m_securityGroups.emplace_back(std::forward<SecurityGroupsT>(value));
456 return *this;
457 }
459
461
464 inline const LaunchTemplateInstanceMarketOptions& GetInstanceMarketOptions() const { return m_instanceMarketOptions; }
465 inline bool InstanceMarketOptionsHasBeenSet() const { return m_instanceMarketOptionsHasBeenSet; }
466 template <typename InstanceMarketOptionsT = LaunchTemplateInstanceMarketOptions>
467 void SetInstanceMarketOptions(InstanceMarketOptionsT&& value) {
468 m_instanceMarketOptionsHasBeenSet = true;
469 m_instanceMarketOptions = std::forward<InstanceMarketOptionsT>(value);
470 }
471 template <typename InstanceMarketOptionsT = LaunchTemplateInstanceMarketOptions>
472 ResponseLaunchTemplateData& WithInstanceMarketOptions(InstanceMarketOptionsT&& value) {
473 SetInstanceMarketOptions(std::forward<InstanceMarketOptionsT>(value));
474 return *this;
475 }
477
479
482 inline const CreditSpecification& GetCreditSpecification() const { return m_creditSpecification; }
483 inline bool CreditSpecificationHasBeenSet() const { return m_creditSpecificationHasBeenSet; }
484 template <typename CreditSpecificationT = CreditSpecification>
485 void SetCreditSpecification(CreditSpecificationT&& value) {
486 m_creditSpecificationHasBeenSet = true;
487 m_creditSpecification = std::forward<CreditSpecificationT>(value);
488 }
489 template <typename CreditSpecificationT = CreditSpecification>
491 SetCreditSpecification(std::forward<CreditSpecificationT>(value));
492 return *this;
493 }
495
497
502 inline const LaunchTemplateCpuOptions& GetCpuOptions() const { return m_cpuOptions; }
503 inline bool CpuOptionsHasBeenSet() const { return m_cpuOptionsHasBeenSet; }
504 template <typename CpuOptionsT = LaunchTemplateCpuOptions>
505 void SetCpuOptions(CpuOptionsT&& value) {
506 m_cpuOptionsHasBeenSet = true;
507 m_cpuOptions = std::forward<CpuOptionsT>(value);
508 }
509 template <typename CpuOptionsT = LaunchTemplateCpuOptions>
511 SetCpuOptions(std::forward<CpuOptionsT>(value));
512 return *this;
513 }
515
517
521 return m_capacityReservationSpecification;
522 }
523 inline bool CapacityReservationSpecificationHasBeenSet() const { return m_capacityReservationSpecificationHasBeenSet; }
524 template <typename CapacityReservationSpecificationT = LaunchTemplateCapacityReservationSpecificationResponse>
525 void SetCapacityReservationSpecification(CapacityReservationSpecificationT&& value) {
526 m_capacityReservationSpecificationHasBeenSet = true;
527 m_capacityReservationSpecification = std::forward<CapacityReservationSpecificationT>(value);
528 }
529 template <typename CapacityReservationSpecificationT = LaunchTemplateCapacityReservationSpecificationResponse>
530 ResponseLaunchTemplateData& WithCapacityReservationSpecification(CapacityReservationSpecificationT&& value) {
531 SetCapacityReservationSpecification(std::forward<CapacityReservationSpecificationT>(value));
532 return *this;
533 }
535
537
540 inline const Aws::Vector<LaunchTemplateLicenseConfiguration>& GetLicenseSpecifications() const { return m_licenseSpecifications; }
541 inline bool LicenseSpecificationsHasBeenSet() const { return m_licenseSpecificationsHasBeenSet; }
542 template <typename LicenseSpecificationsT = Aws::Vector<LaunchTemplateLicenseConfiguration>>
543 void SetLicenseSpecifications(LicenseSpecificationsT&& value) {
544 m_licenseSpecificationsHasBeenSet = true;
545 m_licenseSpecifications = std::forward<LicenseSpecificationsT>(value);
546 }
547 template <typename LicenseSpecificationsT = Aws::Vector<LaunchTemplateLicenseConfiguration>>
548 ResponseLaunchTemplateData& WithLicenseSpecifications(LicenseSpecificationsT&& value) {
549 SetLicenseSpecifications(std::forward<LicenseSpecificationsT>(value));
550 return *this;
551 }
552 template <typename LicenseSpecificationsT = LaunchTemplateLicenseConfiguration>
553 ResponseLaunchTemplateData& AddLicenseSpecifications(LicenseSpecificationsT&& value) {
554 m_licenseSpecificationsHasBeenSet = true;
555 m_licenseSpecifications.emplace_back(std::forward<LicenseSpecificationsT>(value));
556 return *this;
557 }
559
561
567 inline const LaunchTemplateHibernationOptions& GetHibernationOptions() const { return m_hibernationOptions; }
568 inline bool HibernationOptionsHasBeenSet() const { return m_hibernationOptionsHasBeenSet; }
569 template <typename HibernationOptionsT = LaunchTemplateHibernationOptions>
570 void SetHibernationOptions(HibernationOptionsT&& value) {
571 m_hibernationOptionsHasBeenSet = true;
572 m_hibernationOptions = std::forward<HibernationOptionsT>(value);
573 }
574 template <typename HibernationOptionsT = LaunchTemplateHibernationOptions>
576 SetHibernationOptions(std::forward<HibernationOptionsT>(value));
577 return *this;
578 }
580
582
588 inline const LaunchTemplateInstanceMetadataOptions& GetMetadataOptions() const { return m_metadataOptions; }
589 inline bool MetadataOptionsHasBeenSet() const { return m_metadataOptionsHasBeenSet; }
590 template <typename MetadataOptionsT = LaunchTemplateInstanceMetadataOptions>
591 void SetMetadataOptions(MetadataOptionsT&& value) {
592 m_metadataOptionsHasBeenSet = true;
593 m_metadataOptions = std::forward<MetadataOptionsT>(value);
594 }
595 template <typename MetadataOptionsT = LaunchTemplateInstanceMetadataOptions>
597 SetMetadataOptions(std::forward<MetadataOptionsT>(value));
598 return *this;
599 }
601
603
607 inline const LaunchTemplateEnclaveOptions& GetEnclaveOptions() const { return m_enclaveOptions; }
608 inline bool EnclaveOptionsHasBeenSet() const { return m_enclaveOptionsHasBeenSet; }
609 template <typename EnclaveOptionsT = LaunchTemplateEnclaveOptions>
610 void SetEnclaveOptions(EnclaveOptionsT&& value) {
611 m_enclaveOptionsHasBeenSet = true;
612 m_enclaveOptions = std::forward<EnclaveOptionsT>(value);
613 }
614 template <typename EnclaveOptionsT = LaunchTemplateEnclaveOptions>
616 SetEnclaveOptions(std::forward<EnclaveOptionsT>(value));
617 return *this;
618 }
620
622
628 inline const InstanceRequirements& GetInstanceRequirements() const { return m_instanceRequirements; }
629 inline bool InstanceRequirementsHasBeenSet() const { return m_instanceRequirementsHasBeenSet; }
630 template <typename InstanceRequirementsT = InstanceRequirements>
631 void SetInstanceRequirements(InstanceRequirementsT&& value) {
632 m_instanceRequirementsHasBeenSet = true;
633 m_instanceRequirements = std::forward<InstanceRequirementsT>(value);
634 }
635 template <typename InstanceRequirementsT = InstanceRequirements>
636 ResponseLaunchTemplateData& WithInstanceRequirements(InstanceRequirementsT&& value) {
637 SetInstanceRequirements(std::forward<InstanceRequirementsT>(value));
638 return *this;
639 }
641
643
646 inline const LaunchTemplatePrivateDnsNameOptions& GetPrivateDnsNameOptions() const { return m_privateDnsNameOptions; }
647 inline bool PrivateDnsNameOptionsHasBeenSet() const { return m_privateDnsNameOptionsHasBeenSet; }
648 template <typename PrivateDnsNameOptionsT = LaunchTemplatePrivateDnsNameOptions>
649 void SetPrivateDnsNameOptions(PrivateDnsNameOptionsT&& value) {
650 m_privateDnsNameOptionsHasBeenSet = true;
651 m_privateDnsNameOptions = std::forward<PrivateDnsNameOptionsT>(value);
652 }
653 template <typename PrivateDnsNameOptionsT = LaunchTemplatePrivateDnsNameOptions>
654 ResponseLaunchTemplateData& WithPrivateDnsNameOptions(PrivateDnsNameOptionsT&& value) {
655 SetPrivateDnsNameOptions(std::forward<PrivateDnsNameOptionsT>(value));
656 return *this;
657 }
659
661
664 inline const LaunchTemplateInstanceMaintenanceOptions& GetMaintenanceOptions() const { return m_maintenanceOptions; }
665 inline bool MaintenanceOptionsHasBeenSet() const { return m_maintenanceOptionsHasBeenSet; }
666 template <typename MaintenanceOptionsT = LaunchTemplateInstanceMaintenanceOptions>
667 void SetMaintenanceOptions(MaintenanceOptionsT&& value) {
668 m_maintenanceOptionsHasBeenSet = true;
669 m_maintenanceOptions = std::forward<MaintenanceOptionsT>(value);
670 }
671 template <typename MaintenanceOptionsT = LaunchTemplateInstanceMaintenanceOptions>
673 SetMaintenanceOptions(std::forward<MaintenanceOptionsT>(value));
674 return *this;
675 }
677
679
686 inline bool GetDisableApiStop() const { return m_disableApiStop; }
687 inline bool DisableApiStopHasBeenSet() const { return m_disableApiStopHasBeenSet; }
688 inline void SetDisableApiStop(bool value) {
689 m_disableApiStopHasBeenSet = true;
690 m_disableApiStop = value;
691 }
693 SetDisableApiStop(value);
694 return *this;
695 }
697
699
702 inline const OperatorResponse& GetOperator() const { return m_operator; }
703 inline bool OperatorHasBeenSet() const { return m_operatorHasBeenSet; }
704 template <typename OperatorT = OperatorResponse>
705 void SetOperator(OperatorT&& value) {
706 m_operatorHasBeenSet = true;
707 m_operator = std::forward<OperatorT>(value);
708 }
709 template <typename OperatorT = OperatorResponse>
711 SetOperator(std::forward<OperatorT>(value));
712 return *this;
713 }
715
717
721 inline const LaunchTemplateNetworkPerformanceOptions& GetNetworkPerformanceOptions() const { return m_networkPerformanceOptions; }
722 inline bool NetworkPerformanceOptionsHasBeenSet() const { return m_networkPerformanceOptionsHasBeenSet; }
723 template <typename NetworkPerformanceOptionsT = LaunchTemplateNetworkPerformanceOptions>
724 void SetNetworkPerformanceOptions(NetworkPerformanceOptionsT&& value) {
725 m_networkPerformanceOptionsHasBeenSet = true;
726 m_networkPerformanceOptions = std::forward<NetworkPerformanceOptionsT>(value);
727 }
728 template <typename NetworkPerformanceOptionsT = LaunchTemplateNetworkPerformanceOptions>
729 ResponseLaunchTemplateData& WithNetworkPerformanceOptions(NetworkPerformanceOptionsT&& value) {
730 SetNetworkPerformanceOptions(std::forward<NetworkPerformanceOptionsT>(value));
731 return *this;
732 }
734 private:
735 Aws::String m_kernelId;
736
737 bool m_ebsOptimized{false};
738
739 LaunchTemplateIamInstanceProfileSpecification m_iamInstanceProfile;
740
742
744
745 Aws::String m_imageId;
746
747 InstanceType m_instanceType{InstanceType::NOT_SET};
748
749 Aws::String m_keyName;
750
751 LaunchTemplatesMonitoring m_monitoring;
752
753 LaunchTemplatePlacement m_placement;
754
755 Aws::String m_ramDiskId;
756
757 bool m_disableApiTermination{false};
758
759 ShutdownBehavior m_instanceInitiatedShutdownBehavior{ShutdownBehavior::NOT_SET};
760
761 Aws::String m_userData;
762
764
765 Aws::Vector<ElasticGpuSpecificationResponse> m_elasticGpuSpecifications;
766
768
769 Aws::Vector<Aws::String> m_securityGroupIds;
770
771 Aws::Vector<Aws::String> m_securityGroups;
772
773 LaunchTemplateInstanceMarketOptions m_instanceMarketOptions;
774
775 CreditSpecification m_creditSpecification;
776
777 LaunchTemplateCpuOptions m_cpuOptions;
778
779 LaunchTemplateCapacityReservationSpecificationResponse m_capacityReservationSpecification;
780
782
783 LaunchTemplateHibernationOptions m_hibernationOptions;
784
785 LaunchTemplateInstanceMetadataOptions m_metadataOptions;
786
787 LaunchTemplateEnclaveOptions m_enclaveOptions;
788
789 InstanceRequirements m_instanceRequirements;
790
791 LaunchTemplatePrivateDnsNameOptions m_privateDnsNameOptions;
792
793 LaunchTemplateInstanceMaintenanceOptions m_maintenanceOptions;
794
795 bool m_disableApiStop{false};
796
797 OperatorResponse m_operator;
798
799 LaunchTemplateNetworkPerformanceOptions m_networkPerformanceOptions;
800 bool m_kernelIdHasBeenSet = false;
801 bool m_ebsOptimizedHasBeenSet = false;
802 bool m_iamInstanceProfileHasBeenSet = false;
803 bool m_blockDeviceMappingsHasBeenSet = false;
804 bool m_networkInterfacesHasBeenSet = false;
805 bool m_imageIdHasBeenSet = false;
806 bool m_instanceTypeHasBeenSet = false;
807 bool m_keyNameHasBeenSet = false;
808 bool m_monitoringHasBeenSet = false;
809 bool m_placementHasBeenSet = false;
810 bool m_ramDiskIdHasBeenSet = false;
811 bool m_disableApiTerminationHasBeenSet = false;
812 bool m_instanceInitiatedShutdownBehaviorHasBeenSet = false;
813 bool m_userDataHasBeenSet = false;
814 bool m_tagSpecificationsHasBeenSet = false;
815 bool m_elasticGpuSpecificationsHasBeenSet = false;
816 bool m_elasticInferenceAcceleratorsHasBeenSet = false;
817 bool m_securityGroupIdsHasBeenSet = false;
818 bool m_securityGroupsHasBeenSet = false;
819 bool m_instanceMarketOptionsHasBeenSet = false;
820 bool m_creditSpecificationHasBeenSet = false;
821 bool m_cpuOptionsHasBeenSet = false;
822 bool m_capacityReservationSpecificationHasBeenSet = false;
823 bool m_licenseSpecificationsHasBeenSet = false;
824 bool m_hibernationOptionsHasBeenSet = false;
825 bool m_metadataOptionsHasBeenSet = false;
826 bool m_enclaveOptionsHasBeenSet = false;
827 bool m_instanceRequirementsHasBeenSet = false;
828 bool m_privateDnsNameOptionsHasBeenSet = false;
829 bool m_maintenanceOptionsHasBeenSet = false;
830 bool m_disableApiStopHasBeenSet = false;
831 bool m_operatorHasBeenSet = false;
832 bool m_networkPerformanceOptionsHasBeenSet = false;
833};
834
835} // namespace Model
836} // namespace EC2
837} // 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
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)
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 & 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)
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