AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
RequestLaunchTemplateData.h
1
6#pragma once
7#include <aws/ec2/EC2_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/ec2/model/LaunchTemplateIamInstanceProfileSpecificationRequest.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/ec2/model/InstanceType.h>
13#include <aws/ec2/model/LaunchTemplatesMonitoringRequest.h>
14#include <aws/ec2/model/LaunchTemplatePlacementRequest.h>
15#include <aws/ec2/model/ShutdownBehavior.h>
16#include <aws/ec2/model/LaunchTemplateInstanceMarketOptionsRequest.h>
17#include <aws/ec2/model/CreditSpecificationRequest.h>
18#include <aws/ec2/model/LaunchTemplateCpuOptionsRequest.h>
19#include <aws/ec2/model/LaunchTemplateCapacityReservationSpecificationRequest.h>
20#include <aws/ec2/model/LaunchTemplateHibernationOptionsRequest.h>
21#include <aws/ec2/model/LaunchTemplateInstanceMetadataOptionsRequest.h>
22#include <aws/ec2/model/LaunchTemplateEnclaveOptionsRequest.h>
23#include <aws/ec2/model/InstanceRequirementsRequest.h>
24#include <aws/ec2/model/LaunchTemplatePrivateDnsNameOptionsRequest.h>
25#include <aws/ec2/model/LaunchTemplateInstanceMaintenanceOptionsRequest.h>
26#include <aws/ec2/model/OperatorRequest.h>
27#include <aws/ec2/model/LaunchTemplateNetworkPerformanceOptionsRequest.h>
28#include <aws/ec2/model/LaunchTemplateBlockDeviceMappingRequest.h>
29#include <aws/ec2/model/LaunchTemplateInstanceNetworkInterfaceSpecificationRequest.h>
30#include <aws/ec2/model/LaunchTemplateTagSpecificationRequest.h>
31#include <aws/ec2/model/ElasticGpuSpecification.h>
32#include <aws/ec2/model/LaunchTemplateElasticInferenceAccelerator.h>
33#include <aws/ec2/model/LaunchTemplateLicenseConfigurationRequest.h>
34#include <utility>
35
36namespace Aws
37{
38namespace Utils
39{
40namespace Xml
41{
42 class XmlNode;
43} // namespace Xml
44} // namespace Utils
45namespace EC2
46{
47namespace Model
48{
49
58 {
59 public:
60 AWS_EC2_API RequestLaunchTemplateData() = default;
63
64 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
65 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
66
67
69
75 inline const Aws::String& GetKernelId() const { return m_kernelId; }
76 inline bool KernelIdHasBeenSet() const { return m_kernelIdHasBeenSet; }
77 template<typename KernelIdT = Aws::String>
78 void SetKernelId(KernelIdT&& value) { m_kernelIdHasBeenSet = true; m_kernelId = std::forward<KernelIdT>(value); }
79 template<typename KernelIdT = Aws::String>
80 RequestLaunchTemplateData& WithKernelId(KernelIdT&& value) { SetKernelId(std::forward<KernelIdT>(value)); return *this;}
82
84
91 inline bool GetEbsOptimized() const { return m_ebsOptimized; }
92 inline bool EbsOptimizedHasBeenSet() const { return m_ebsOptimizedHasBeenSet; }
93 inline void SetEbsOptimized(bool value) { m_ebsOptimizedHasBeenSet = true; m_ebsOptimized = value; }
94 inline RequestLaunchTemplateData& WithEbsOptimized(bool value) { SetEbsOptimized(value); return *this;}
96
98
101 inline const LaunchTemplateIamInstanceProfileSpecificationRequest& GetIamInstanceProfile() const { return m_iamInstanceProfile; }
102 inline bool IamInstanceProfileHasBeenSet() const { return m_iamInstanceProfileHasBeenSet; }
103 template<typename IamInstanceProfileT = LaunchTemplateIamInstanceProfileSpecificationRequest>
104 void SetIamInstanceProfile(IamInstanceProfileT&& value) { m_iamInstanceProfileHasBeenSet = true; m_iamInstanceProfile = std::forward<IamInstanceProfileT>(value); }
105 template<typename IamInstanceProfileT = LaunchTemplateIamInstanceProfileSpecificationRequest>
106 RequestLaunchTemplateData& WithIamInstanceProfile(IamInstanceProfileT&& value) { SetIamInstanceProfile(std::forward<IamInstanceProfileT>(value)); return *this;}
108
110
113 inline const Aws::Vector<LaunchTemplateBlockDeviceMappingRequest>& GetBlockDeviceMappings() const { return m_blockDeviceMappings; }
114 inline bool BlockDeviceMappingsHasBeenSet() const { return m_blockDeviceMappingsHasBeenSet; }
115 template<typename BlockDeviceMappingsT = Aws::Vector<LaunchTemplateBlockDeviceMappingRequest>>
116 void SetBlockDeviceMappings(BlockDeviceMappingsT&& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings = std::forward<BlockDeviceMappingsT>(value); }
117 template<typename BlockDeviceMappingsT = Aws::Vector<LaunchTemplateBlockDeviceMappingRequest>>
118 RequestLaunchTemplateData& WithBlockDeviceMappings(BlockDeviceMappingsT&& value) { SetBlockDeviceMappings(std::forward<BlockDeviceMappingsT>(value)); return *this;}
119 template<typename BlockDeviceMappingsT = LaunchTemplateBlockDeviceMappingRequest>
120 RequestLaunchTemplateData& AddBlockDeviceMappings(BlockDeviceMappingsT&& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings.emplace_back(std::forward<BlockDeviceMappingsT>(value)); return *this; }
122
124
128 inline bool NetworkInterfacesHasBeenSet() const { return m_networkInterfacesHasBeenSet; }
129 template<typename NetworkInterfacesT = Aws::Vector<LaunchTemplateInstanceNetworkInterfaceSpecificationRequest>>
130 void SetNetworkInterfaces(NetworkInterfacesT&& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces = std::forward<NetworkInterfacesT>(value); }
131 template<typename NetworkInterfacesT = Aws::Vector<LaunchTemplateInstanceNetworkInterfaceSpecificationRequest>>
132 RequestLaunchTemplateData& WithNetworkInterfaces(NetworkInterfacesT&& value) { SetNetworkInterfaces(std::forward<NetworkInterfacesT>(value)); return *this;}
133 template<typename NetworkInterfacesT = LaunchTemplateInstanceNetworkInterfaceSpecificationRequest>
134 RequestLaunchTemplateData& AddNetworkInterfaces(NetworkInterfacesT&& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces.emplace_back(std::forward<NetworkInterfacesT>(value)); return *this; }
136
138
161 inline const Aws::String& GetImageId() const { return m_imageId; }
162 inline bool ImageIdHasBeenSet() const { return m_imageIdHasBeenSet; }
163 template<typename ImageIdT = Aws::String>
164 void SetImageId(ImageIdT&& value) { m_imageIdHasBeenSet = true; m_imageId = std::forward<ImageIdT>(value); }
165 template<typename ImageIdT = Aws::String>
166 RequestLaunchTemplateData& WithImageId(ImageIdT&& value) { SetImageId(std::forward<ImageIdT>(value)); return *this;}
168
170
177 inline InstanceType GetInstanceType() const { return m_instanceType; }
178 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
179 inline void SetInstanceType(InstanceType value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; }
182
184
193 inline const Aws::String& GetKeyName() const { return m_keyName; }
194 inline bool KeyNameHasBeenSet() const { return m_keyNameHasBeenSet; }
195 template<typename KeyNameT = Aws::String>
196 void SetKeyName(KeyNameT&& value) { m_keyNameHasBeenSet = true; m_keyName = std::forward<KeyNameT>(value); }
197 template<typename KeyNameT = Aws::String>
198 RequestLaunchTemplateData& WithKeyName(KeyNameT&& value) { SetKeyName(std::forward<KeyNameT>(value)); return *this;}
200
202
205 inline const LaunchTemplatesMonitoringRequest& GetMonitoring() const { return m_monitoring; }
206 inline bool MonitoringHasBeenSet() const { return m_monitoringHasBeenSet; }
207 template<typename MonitoringT = LaunchTemplatesMonitoringRequest>
208 void SetMonitoring(MonitoringT&& value) { m_monitoringHasBeenSet = true; m_monitoring = std::forward<MonitoringT>(value); }
209 template<typename MonitoringT = LaunchTemplatesMonitoringRequest>
210 RequestLaunchTemplateData& WithMonitoring(MonitoringT&& value) { SetMonitoring(std::forward<MonitoringT>(value)); return *this;}
212
214
217 inline const LaunchTemplatePlacementRequest& GetPlacement() const { return m_placement; }
218 inline bool PlacementHasBeenSet() const { return m_placementHasBeenSet; }
219 template<typename PlacementT = LaunchTemplatePlacementRequest>
220 void SetPlacement(PlacementT&& value) { m_placementHasBeenSet = true; m_placement = std::forward<PlacementT>(value); }
221 template<typename PlacementT = LaunchTemplatePlacementRequest>
222 RequestLaunchTemplateData& WithPlacement(PlacementT&& value) { SetPlacement(std::forward<PlacementT>(value)); return *this;}
224
226
232 inline const Aws::String& GetRamDiskId() const { return m_ramDiskId; }
233 inline bool RamDiskIdHasBeenSet() const { return m_ramDiskIdHasBeenSet; }
234 template<typename RamDiskIdT = Aws::String>
235 void SetRamDiskId(RamDiskIdT&& value) { m_ramDiskIdHasBeenSet = true; m_ramDiskId = std::forward<RamDiskIdT>(value); }
236 template<typename RamDiskIdT = Aws::String>
237 RequestLaunchTemplateData& WithRamDiskId(RamDiskIdT&& value) { SetRamDiskId(std::forward<RamDiskIdT>(value)); return *this;}
239
241
248 inline bool GetDisableApiTermination() const { return m_disableApiTermination; }
249 inline bool DisableApiTerminationHasBeenSet() const { return m_disableApiTerminationHasBeenSet; }
250 inline void SetDisableApiTermination(bool value) { m_disableApiTerminationHasBeenSet = true; m_disableApiTermination = value; }
253
255
260 inline ShutdownBehavior GetInstanceInitiatedShutdownBehavior() const { return m_instanceInitiatedShutdownBehavior; }
261 inline bool InstanceInitiatedShutdownBehaviorHasBeenSet() const { return m_instanceInitiatedShutdownBehaviorHasBeenSet; }
262 inline void SetInstanceInitiatedShutdownBehavior(ShutdownBehavior value) { m_instanceInitiatedShutdownBehaviorHasBeenSet = true; m_instanceInitiatedShutdownBehavior = value; }
265
267
279 inline const Aws::String& GetUserData() const { return m_userData; }
280 inline bool UserDataHasBeenSet() const { return m_userDataHasBeenSet; }
281 template<typename UserDataT = Aws::String>
282 void SetUserData(UserDataT&& value) { m_userDataHasBeenSet = true; m_userData = std::forward<UserDataT>(value); }
283 template<typename UserDataT = Aws::String>
284 RequestLaunchTemplateData& WithUserData(UserDataT&& value) { SetUserData(std::forward<UserDataT>(value)); return *this;}
286
288
292 inline const Aws::Vector<LaunchTemplateTagSpecificationRequest>& GetTagSpecifications() const { return m_tagSpecifications; }
293 inline bool TagSpecificationsHasBeenSet() const { return m_tagSpecificationsHasBeenSet; }
294 template<typename TagSpecificationsT = Aws::Vector<LaunchTemplateTagSpecificationRequest>>
295 void SetTagSpecifications(TagSpecificationsT&& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications = std::forward<TagSpecificationsT>(value); }
296 template<typename TagSpecificationsT = Aws::Vector<LaunchTemplateTagSpecificationRequest>>
297 RequestLaunchTemplateData& WithTagSpecifications(TagSpecificationsT&& value) { SetTagSpecifications(std::forward<TagSpecificationsT>(value)); return *this;}
298 template<typename TagSpecificationsT = LaunchTemplateTagSpecificationRequest>
299 RequestLaunchTemplateData& AddTagSpecifications(TagSpecificationsT&& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications.emplace_back(std::forward<TagSpecificationsT>(value)); return *this; }
301
303
307 inline const Aws::Vector<ElasticGpuSpecification>& GetElasticGpuSpecifications() const { return m_elasticGpuSpecifications; }
308 inline bool ElasticGpuSpecificationsHasBeenSet() const { return m_elasticGpuSpecificationsHasBeenSet; }
309 template<typename ElasticGpuSpecificationsT = Aws::Vector<ElasticGpuSpecification>>
310 void SetElasticGpuSpecifications(ElasticGpuSpecificationsT&& value) { m_elasticGpuSpecificationsHasBeenSet = true; m_elasticGpuSpecifications = std::forward<ElasticGpuSpecificationsT>(value); }
311 template<typename ElasticGpuSpecificationsT = Aws::Vector<ElasticGpuSpecification>>
312 RequestLaunchTemplateData& WithElasticGpuSpecifications(ElasticGpuSpecificationsT&& value) { SetElasticGpuSpecifications(std::forward<ElasticGpuSpecificationsT>(value)); return *this;}
313 template<typename ElasticGpuSpecificationsT = ElasticGpuSpecification>
314 RequestLaunchTemplateData& AddElasticGpuSpecifications(ElasticGpuSpecificationsT&& value) { m_elasticGpuSpecificationsHasBeenSet = true; m_elasticGpuSpecifications.emplace_back(std::forward<ElasticGpuSpecificationsT>(value)); return *this; }
316
318
325 inline const Aws::Vector<LaunchTemplateElasticInferenceAccelerator>& GetElasticInferenceAccelerators() const { return m_elasticInferenceAccelerators; }
326 inline bool ElasticInferenceAcceleratorsHasBeenSet() const { return m_elasticInferenceAcceleratorsHasBeenSet; }
327 template<typename ElasticInferenceAcceleratorsT = Aws::Vector<LaunchTemplateElasticInferenceAccelerator>>
328 void SetElasticInferenceAccelerators(ElasticInferenceAcceleratorsT&& value) { m_elasticInferenceAcceleratorsHasBeenSet = true; m_elasticInferenceAccelerators = std::forward<ElasticInferenceAcceleratorsT>(value); }
329 template<typename ElasticInferenceAcceleratorsT = Aws::Vector<LaunchTemplateElasticInferenceAccelerator>>
330 RequestLaunchTemplateData& WithElasticInferenceAccelerators(ElasticInferenceAcceleratorsT&& value) { SetElasticInferenceAccelerators(std::forward<ElasticInferenceAcceleratorsT>(value)); return *this;}
331 template<typename ElasticInferenceAcceleratorsT = LaunchTemplateElasticInferenceAccelerator>
332 RequestLaunchTemplateData& AddElasticInferenceAccelerators(ElasticInferenceAcceleratorsT&& value) { m_elasticInferenceAcceleratorsHasBeenSet = true; m_elasticInferenceAccelerators.emplace_back(std::forward<ElasticInferenceAcceleratorsT>(value)); return *this; }
334
336
341 inline const Aws::Vector<Aws::String>& GetSecurityGroupIds() const { return m_securityGroupIds; }
342 inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; }
343 template<typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
344 void SetSecurityGroupIds(SecurityGroupIdsT&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds = std::forward<SecurityGroupIdsT>(value); }
345 template<typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
346 RequestLaunchTemplateData& WithSecurityGroupIds(SecurityGroupIdsT&& value) { SetSecurityGroupIds(std::forward<SecurityGroupIdsT>(value)); return *this;}
347 template<typename SecurityGroupIdsT = Aws::String>
348 RequestLaunchTemplateData& AddSecurityGroupIds(SecurityGroupIdsT&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.emplace_back(std::forward<SecurityGroupIdsT>(value)); return *this; }
350
352
358 inline const Aws::Vector<Aws::String>& GetSecurityGroups() const { return m_securityGroups; }
359 inline bool SecurityGroupsHasBeenSet() const { return m_securityGroupsHasBeenSet; }
360 template<typename SecurityGroupsT = Aws::Vector<Aws::String>>
361 void SetSecurityGroups(SecurityGroupsT&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups = std::forward<SecurityGroupsT>(value); }
362 template<typename SecurityGroupsT = Aws::Vector<Aws::String>>
363 RequestLaunchTemplateData& WithSecurityGroups(SecurityGroupsT&& value) { SetSecurityGroups(std::forward<SecurityGroupsT>(value)); return *this;}
364 template<typename SecurityGroupsT = Aws::String>
365 RequestLaunchTemplateData& AddSecurityGroups(SecurityGroupsT&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups.emplace_back(std::forward<SecurityGroupsT>(value)); return *this; }
367
369
372 inline const LaunchTemplateInstanceMarketOptionsRequest& GetInstanceMarketOptions() const { return m_instanceMarketOptions; }
373 inline bool InstanceMarketOptionsHasBeenSet() const { return m_instanceMarketOptionsHasBeenSet; }
374 template<typename InstanceMarketOptionsT = LaunchTemplateInstanceMarketOptionsRequest>
375 void SetInstanceMarketOptions(InstanceMarketOptionsT&& value) { m_instanceMarketOptionsHasBeenSet = true; m_instanceMarketOptions = std::forward<InstanceMarketOptionsT>(value); }
376 template<typename InstanceMarketOptionsT = LaunchTemplateInstanceMarketOptionsRequest>
377 RequestLaunchTemplateData& WithInstanceMarketOptions(InstanceMarketOptionsT&& value) { SetInstanceMarketOptions(std::forward<InstanceMarketOptionsT>(value)); return *this;}
379
381
385 inline const CreditSpecificationRequest& GetCreditSpecification() const { return m_creditSpecification; }
386 inline bool CreditSpecificationHasBeenSet() const { return m_creditSpecificationHasBeenSet; }
387 template<typename CreditSpecificationT = CreditSpecificationRequest>
388 void SetCreditSpecification(CreditSpecificationT&& value) { m_creditSpecificationHasBeenSet = true; m_creditSpecification = std::forward<CreditSpecificationT>(value); }
389 template<typename CreditSpecificationT = CreditSpecificationRequest>
390 RequestLaunchTemplateData& WithCreditSpecification(CreditSpecificationT&& value) { SetCreditSpecification(std::forward<CreditSpecificationT>(value)); return *this;}
392
394
399 inline const LaunchTemplateCpuOptionsRequest& GetCpuOptions() const { return m_cpuOptions; }
400 inline bool CpuOptionsHasBeenSet() const { return m_cpuOptionsHasBeenSet; }
401 template<typename CpuOptionsT = LaunchTemplateCpuOptionsRequest>
402 void SetCpuOptions(CpuOptionsT&& value) { m_cpuOptionsHasBeenSet = true; m_cpuOptions = std::forward<CpuOptionsT>(value); }
403 template<typename CpuOptionsT = LaunchTemplateCpuOptionsRequest>
404 RequestLaunchTemplateData& WithCpuOptions(CpuOptionsT&& value) { SetCpuOptions(std::forward<CpuOptionsT>(value)); return *this;}
406
408
414 inline const LaunchTemplateCapacityReservationSpecificationRequest& GetCapacityReservationSpecification() const { return m_capacityReservationSpecification; }
415 inline bool CapacityReservationSpecificationHasBeenSet() const { return m_capacityReservationSpecificationHasBeenSet; }
416 template<typename CapacityReservationSpecificationT = LaunchTemplateCapacityReservationSpecificationRequest>
417 void SetCapacityReservationSpecification(CapacityReservationSpecificationT&& value) { m_capacityReservationSpecificationHasBeenSet = true; m_capacityReservationSpecification = std::forward<CapacityReservationSpecificationT>(value); }
418 template<typename CapacityReservationSpecificationT = LaunchTemplateCapacityReservationSpecificationRequest>
419 RequestLaunchTemplateData& WithCapacityReservationSpecification(CapacityReservationSpecificationT&& value) { SetCapacityReservationSpecification(std::forward<CapacityReservationSpecificationT>(value)); return *this;}
421
423
426 inline const Aws::Vector<LaunchTemplateLicenseConfigurationRequest>& GetLicenseSpecifications() const { return m_licenseSpecifications; }
427 inline bool LicenseSpecificationsHasBeenSet() const { return m_licenseSpecificationsHasBeenSet; }
428 template<typename LicenseSpecificationsT = Aws::Vector<LaunchTemplateLicenseConfigurationRequest>>
429 void SetLicenseSpecifications(LicenseSpecificationsT&& value) { m_licenseSpecificationsHasBeenSet = true; m_licenseSpecifications = std::forward<LicenseSpecificationsT>(value); }
430 template<typename LicenseSpecificationsT = Aws::Vector<LaunchTemplateLicenseConfigurationRequest>>
431 RequestLaunchTemplateData& WithLicenseSpecifications(LicenseSpecificationsT&& value) { SetLicenseSpecifications(std::forward<LicenseSpecificationsT>(value)); return *this;}
432 template<typename LicenseSpecificationsT = LaunchTemplateLicenseConfigurationRequest>
433 RequestLaunchTemplateData& AddLicenseSpecifications(LicenseSpecificationsT&& value) { m_licenseSpecificationsHasBeenSet = true; m_licenseSpecifications.emplace_back(std::forward<LicenseSpecificationsT>(value)); return *this; }
435
437
445 inline const LaunchTemplateHibernationOptionsRequest& GetHibernationOptions() const { return m_hibernationOptions; }
446 inline bool HibernationOptionsHasBeenSet() const { return m_hibernationOptionsHasBeenSet; }
447 template<typename HibernationOptionsT = LaunchTemplateHibernationOptionsRequest>
448 void SetHibernationOptions(HibernationOptionsT&& value) { m_hibernationOptionsHasBeenSet = true; m_hibernationOptions = std::forward<HibernationOptionsT>(value); }
449 template<typename HibernationOptionsT = LaunchTemplateHibernationOptionsRequest>
450 RequestLaunchTemplateData& WithHibernationOptions(HibernationOptionsT&& value) { SetHibernationOptions(std::forward<HibernationOptionsT>(value)); return *this;}
452
454
460 inline const LaunchTemplateInstanceMetadataOptionsRequest& GetMetadataOptions() const { return m_metadataOptions; }
461 inline bool MetadataOptionsHasBeenSet() const { return m_metadataOptionsHasBeenSet; }
462 template<typename MetadataOptionsT = LaunchTemplateInstanceMetadataOptionsRequest>
463 void SetMetadataOptions(MetadataOptionsT&& value) { m_metadataOptionsHasBeenSet = true; m_metadataOptions = std::forward<MetadataOptionsT>(value); }
464 template<typename MetadataOptionsT = LaunchTemplateInstanceMetadataOptionsRequest>
465 RequestLaunchTemplateData& WithMetadataOptions(MetadataOptionsT&& value) { SetMetadataOptions(std::forward<MetadataOptionsT>(value)); return *this;}
467
469
477 inline const LaunchTemplateEnclaveOptionsRequest& GetEnclaveOptions() const { return m_enclaveOptions; }
478 inline bool EnclaveOptionsHasBeenSet() const { return m_enclaveOptionsHasBeenSet; }
479 template<typename EnclaveOptionsT = LaunchTemplateEnclaveOptionsRequest>
480 void SetEnclaveOptions(EnclaveOptionsT&& value) { m_enclaveOptionsHasBeenSet = true; m_enclaveOptions = std::forward<EnclaveOptionsT>(value); }
481 template<typename EnclaveOptionsT = LaunchTemplateEnclaveOptionsRequest>
482 RequestLaunchTemplateData& WithEnclaveOptions(EnclaveOptionsT&& value) { SetEnclaveOptions(std::forward<EnclaveOptionsT>(value)); return *this;}
484
486
517 inline const InstanceRequirementsRequest& GetInstanceRequirements() const { return m_instanceRequirements; }
518 inline bool InstanceRequirementsHasBeenSet() const { return m_instanceRequirementsHasBeenSet; }
519 template<typename InstanceRequirementsT = InstanceRequirementsRequest>
520 void SetInstanceRequirements(InstanceRequirementsT&& value) { m_instanceRequirementsHasBeenSet = true; m_instanceRequirements = std::forward<InstanceRequirementsT>(value); }
521 template<typename InstanceRequirementsT = InstanceRequirementsRequest>
522 RequestLaunchTemplateData& WithInstanceRequirements(InstanceRequirementsT&& value) { SetInstanceRequirements(std::forward<InstanceRequirementsT>(value)); return *this;}
524
526
530 inline const LaunchTemplatePrivateDnsNameOptionsRequest& GetPrivateDnsNameOptions() const { return m_privateDnsNameOptions; }
531 inline bool PrivateDnsNameOptionsHasBeenSet() const { return m_privateDnsNameOptionsHasBeenSet; }
532 template<typename PrivateDnsNameOptionsT = LaunchTemplatePrivateDnsNameOptionsRequest>
533 void SetPrivateDnsNameOptions(PrivateDnsNameOptionsT&& value) { m_privateDnsNameOptionsHasBeenSet = true; m_privateDnsNameOptions = std::forward<PrivateDnsNameOptionsT>(value); }
534 template<typename PrivateDnsNameOptionsT = LaunchTemplatePrivateDnsNameOptionsRequest>
535 RequestLaunchTemplateData& WithPrivateDnsNameOptions(PrivateDnsNameOptionsT&& value) { SetPrivateDnsNameOptions(std::forward<PrivateDnsNameOptionsT>(value)); return *this;}
537
539
542 inline const LaunchTemplateInstanceMaintenanceOptionsRequest& GetMaintenanceOptions() const { return m_maintenanceOptions; }
543 inline bool MaintenanceOptionsHasBeenSet() const { return m_maintenanceOptionsHasBeenSet; }
544 template<typename MaintenanceOptionsT = LaunchTemplateInstanceMaintenanceOptionsRequest>
545 void SetMaintenanceOptions(MaintenanceOptionsT&& value) { m_maintenanceOptionsHasBeenSet = true; m_maintenanceOptions = std::forward<MaintenanceOptionsT>(value); }
546 template<typename MaintenanceOptionsT = LaunchTemplateInstanceMaintenanceOptionsRequest>
547 RequestLaunchTemplateData& WithMaintenanceOptions(MaintenanceOptionsT&& value) { SetMaintenanceOptions(std::forward<MaintenanceOptionsT>(value)); return *this;}
549
551
558 inline bool GetDisableApiStop() const { return m_disableApiStop; }
559 inline bool DisableApiStopHasBeenSet() const { return m_disableApiStopHasBeenSet; }
560 inline void SetDisableApiStop(bool value) { m_disableApiStopHasBeenSet = true; m_disableApiStop = value; }
561 inline RequestLaunchTemplateData& WithDisableApiStop(bool value) { SetDisableApiStop(value); return *this;}
563
565
568 inline const OperatorRequest& GetOperator() const { return m_operator; }
569 inline bool OperatorHasBeenSet() const { return m_operatorHasBeenSet; }
570 template<typename OperatorT = OperatorRequest>
571 void SetOperator(OperatorT&& value) { m_operatorHasBeenSet = true; m_operator = std::forward<OperatorT>(value); }
572 template<typename OperatorT = OperatorRequest>
573 RequestLaunchTemplateData& WithOperator(OperatorT&& value) { SetOperator(std::forward<OperatorT>(value)); return *this;}
575
577
581 inline const LaunchTemplateNetworkPerformanceOptionsRequest& GetNetworkPerformanceOptions() const { return m_networkPerformanceOptions; }
582 inline bool NetworkPerformanceOptionsHasBeenSet() const { return m_networkPerformanceOptionsHasBeenSet; }
583 template<typename NetworkPerformanceOptionsT = LaunchTemplateNetworkPerformanceOptionsRequest>
584 void SetNetworkPerformanceOptions(NetworkPerformanceOptionsT&& value) { m_networkPerformanceOptionsHasBeenSet = true; m_networkPerformanceOptions = std::forward<NetworkPerformanceOptionsT>(value); }
585 template<typename NetworkPerformanceOptionsT = LaunchTemplateNetworkPerformanceOptionsRequest>
586 RequestLaunchTemplateData& WithNetworkPerformanceOptions(NetworkPerformanceOptionsT&& value) { SetNetworkPerformanceOptions(std::forward<NetworkPerformanceOptionsT>(value)); return *this;}
588 private:
589
590 Aws::String m_kernelId;
591 bool m_kernelIdHasBeenSet = false;
592
593 bool m_ebsOptimized{false};
594 bool m_ebsOptimizedHasBeenSet = false;
595
596 LaunchTemplateIamInstanceProfileSpecificationRequest m_iamInstanceProfile;
597 bool m_iamInstanceProfileHasBeenSet = false;
598
600 bool m_blockDeviceMappingsHasBeenSet = false;
601
603 bool m_networkInterfacesHasBeenSet = false;
604
605 Aws::String m_imageId;
606 bool m_imageIdHasBeenSet = false;
607
608 InstanceType m_instanceType{InstanceType::NOT_SET};
609 bool m_instanceTypeHasBeenSet = false;
610
611 Aws::String m_keyName;
612 bool m_keyNameHasBeenSet = false;
613
614 LaunchTemplatesMonitoringRequest m_monitoring;
615 bool m_monitoringHasBeenSet = false;
616
617 LaunchTemplatePlacementRequest m_placement;
618 bool m_placementHasBeenSet = false;
619
620 Aws::String m_ramDiskId;
621 bool m_ramDiskIdHasBeenSet = false;
622
623 bool m_disableApiTermination{false};
624 bool m_disableApiTerminationHasBeenSet = false;
625
626 ShutdownBehavior m_instanceInitiatedShutdownBehavior{ShutdownBehavior::NOT_SET};
627 bool m_instanceInitiatedShutdownBehaviorHasBeenSet = false;
628
629 Aws::String m_userData;
630 bool m_userDataHasBeenSet = false;
631
633 bool m_tagSpecificationsHasBeenSet = false;
634
635 Aws::Vector<ElasticGpuSpecification> m_elasticGpuSpecifications;
636 bool m_elasticGpuSpecificationsHasBeenSet = false;
637
638 Aws::Vector<LaunchTemplateElasticInferenceAccelerator> m_elasticInferenceAccelerators;
639 bool m_elasticInferenceAcceleratorsHasBeenSet = false;
640
641 Aws::Vector<Aws::String> m_securityGroupIds;
642 bool m_securityGroupIdsHasBeenSet = false;
643
644 Aws::Vector<Aws::String> m_securityGroups;
645 bool m_securityGroupsHasBeenSet = false;
646
647 LaunchTemplateInstanceMarketOptionsRequest m_instanceMarketOptions;
648 bool m_instanceMarketOptionsHasBeenSet = false;
649
650 CreditSpecificationRequest m_creditSpecification;
651 bool m_creditSpecificationHasBeenSet = false;
652
653 LaunchTemplateCpuOptionsRequest m_cpuOptions;
654 bool m_cpuOptionsHasBeenSet = false;
655
656 LaunchTemplateCapacityReservationSpecificationRequest m_capacityReservationSpecification;
657 bool m_capacityReservationSpecificationHasBeenSet = false;
658
660 bool m_licenseSpecificationsHasBeenSet = false;
661
662 LaunchTemplateHibernationOptionsRequest m_hibernationOptions;
663 bool m_hibernationOptionsHasBeenSet = false;
664
665 LaunchTemplateInstanceMetadataOptionsRequest m_metadataOptions;
666 bool m_metadataOptionsHasBeenSet = false;
667
668 LaunchTemplateEnclaveOptionsRequest m_enclaveOptions;
669 bool m_enclaveOptionsHasBeenSet = false;
670
671 InstanceRequirementsRequest m_instanceRequirements;
672 bool m_instanceRequirementsHasBeenSet = false;
673
674 LaunchTemplatePrivateDnsNameOptionsRequest m_privateDnsNameOptions;
675 bool m_privateDnsNameOptionsHasBeenSet = false;
676
677 LaunchTemplateInstanceMaintenanceOptionsRequest m_maintenanceOptions;
678 bool m_maintenanceOptionsHasBeenSet = false;
679
680 bool m_disableApiStop{false};
681 bool m_disableApiStopHasBeenSet = false;
682
683 OperatorRequest m_operator;
684 bool m_operatorHasBeenSet = false;
685
686 LaunchTemplateNetworkPerformanceOptionsRequest m_networkPerformanceOptions;
687 bool m_networkPerformanceOptionsHasBeenSet = false;
688 };
689
690} // namespace Model
691} // namespace EC2
692} // namespace Aws
RequestLaunchTemplateData & WithTagSpecifications(TagSpecificationsT &&value)
const Aws::Vector< LaunchTemplateElasticInferenceAccelerator > & GetElasticInferenceAccelerators() const
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)
RequestLaunchTemplateData & AddElasticInferenceAccelerators(ElasticInferenceAcceleratorsT &&value)
void SetElasticGpuSpecifications(ElasticGpuSpecificationsT &&value)
RequestLaunchTemplateData & AddElasticGpuSpecifications(ElasticGpuSpecificationsT &&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 Aws::Vector< ElasticGpuSpecification > & GetElasticGpuSpecifications() const
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 & WithElasticInferenceAccelerators(ElasticInferenceAcceleratorsT &&value)
RequestLaunchTemplateData & WithRamDiskId(RamDiskIdT &&value)
RequestLaunchTemplateData & AddNetworkInterfaces(NetworkInterfacesT &&value)
const Aws::Vector< Aws::String > & GetSecurityGroupIds() const
const Aws::Vector< LaunchTemplateInstanceNetworkInterfaceSpecificationRequest > & GetNetworkInterfaces() const
RequestLaunchTemplateData & WithEnclaveOptions(EnclaveOptionsT &&value)
RequestLaunchTemplateData & WithPrivateDnsNameOptions(PrivateDnsNameOptionsT &&value)
const LaunchTemplateInstanceMetadataOptionsRequest & GetMetadataOptions() const
RequestLaunchTemplateData & WithOperator(OperatorT &&value)
AWS_EC2_API RequestLaunchTemplateData()=default
const Aws::Vector< LaunchTemplateTagSpecificationRequest > & GetTagSpecifications() const
RequestLaunchTemplateData & WithSecurityGroupIds(SecurityGroupIdsT &&value)
void SetHibernationOptions(HibernationOptionsT &&value)
const Aws::Vector< LaunchTemplateBlockDeviceMappingRequest > & GetBlockDeviceMappings() const
RequestLaunchTemplateData & WithCpuOptions(CpuOptionsT &&value)
RequestLaunchTemplateData & WithCreditSpecification(CreditSpecificationT &&value)
const LaunchTemplatePrivateDnsNameOptionsRequest & GetPrivateDnsNameOptions() const
RequestLaunchTemplateData & AddBlockDeviceMappings(BlockDeviceMappingsT &&value)
RequestLaunchTemplateData & WithMaintenanceOptions(MaintenanceOptionsT &&value)
void SetTagSpecifications(TagSpecificationsT &&value)
void SetElasticInferenceAccelerators(ElasticInferenceAcceleratorsT &&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
RequestLaunchTemplateData & WithElasticGpuSpecifications(ElasticGpuSpecificationsT &&value)
void SetLicenseSpecifications(LicenseSpecificationsT &&value)
RequestLaunchTemplateData & WithHibernationOptions(HibernationOptionsT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream