AWS SDK for C++

AWS SDK for C++ Version 1.11.440

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/LaunchTemplateBlockDeviceMappingRequest.h>
27#include <aws/ec2/model/LaunchTemplateInstanceNetworkInterfaceSpecificationRequest.h>
28#include <aws/ec2/model/LaunchTemplateTagSpecificationRequest.h>
29#include <aws/ec2/model/ElasticGpuSpecification.h>
30#include <aws/ec2/model/LaunchTemplateElasticInferenceAccelerator.h>
31#include <aws/ec2/model/LaunchTemplateLicenseConfigurationRequest.h>
32#include <utility>
33
34namespace Aws
35{
36namespace Utils
37{
38namespace Xml
39{
40 class XmlNode;
41} // namespace Xml
42} // namespace Utils
43namespace EC2
44{
45namespace Model
46{
47
56 {
57 public:
61
62 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
63 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
64
65
67
73 inline const Aws::String& GetKernelId() const{ return m_kernelId; }
74 inline bool KernelIdHasBeenSet() const { return m_kernelIdHasBeenSet; }
75 inline void SetKernelId(const Aws::String& value) { m_kernelIdHasBeenSet = true; m_kernelId = value; }
76 inline void SetKernelId(Aws::String&& value) { m_kernelIdHasBeenSet = true; m_kernelId = std::move(value); }
77 inline void SetKernelId(const char* value) { m_kernelIdHasBeenSet = true; m_kernelId.assign(value); }
78 inline RequestLaunchTemplateData& WithKernelId(const Aws::String& value) { SetKernelId(value); return *this;}
79 inline RequestLaunchTemplateData& WithKernelId(Aws::String&& value) { SetKernelId(std::move(value)); return *this;}
80 inline RequestLaunchTemplateData& WithKernelId(const char* value) { SetKernelId(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 inline void SetIamInstanceProfile(const LaunchTemplateIamInstanceProfileSpecificationRequest& value) { m_iamInstanceProfileHasBeenSet = true; m_iamInstanceProfile = value; }
104 inline void SetIamInstanceProfile(LaunchTemplateIamInstanceProfileSpecificationRequest&& value) { m_iamInstanceProfileHasBeenSet = true; m_iamInstanceProfile = std::move(value); }
108
110
113 inline const Aws::Vector<LaunchTemplateBlockDeviceMappingRequest>& GetBlockDeviceMappings() const{ return m_blockDeviceMappings; }
114 inline bool BlockDeviceMappingsHasBeenSet() const { return m_blockDeviceMappingsHasBeenSet; }
115 inline void SetBlockDeviceMappings(const Aws::Vector<LaunchTemplateBlockDeviceMappingRequest>& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings = value; }
116 inline void SetBlockDeviceMappings(Aws::Vector<LaunchTemplateBlockDeviceMappingRequest>&& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings = std::move(value); }
119 inline RequestLaunchTemplateData& AddBlockDeviceMappings(const LaunchTemplateBlockDeviceMappingRequest& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings.push_back(value); return *this; }
120 inline RequestLaunchTemplateData& AddBlockDeviceMappings(LaunchTemplateBlockDeviceMappingRequest&& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings.push_back(std::move(value)); return *this; }
122
124
128 inline bool NetworkInterfacesHasBeenSet() const { return m_networkInterfacesHasBeenSet; }
129 inline void SetNetworkInterfaces(const Aws::Vector<LaunchTemplateInstanceNetworkInterfaceSpecificationRequest>& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces = value; }
130 inline void SetNetworkInterfaces(Aws::Vector<LaunchTemplateInstanceNetworkInterfaceSpecificationRequest>&& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces = std::move(value); }
133 inline RequestLaunchTemplateData& AddNetworkInterfaces(const LaunchTemplateInstanceNetworkInterfaceSpecificationRequest& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces.push_back(value); return *this; }
134 inline RequestLaunchTemplateData& AddNetworkInterfaces(LaunchTemplateInstanceNetworkInterfaceSpecificationRequest&& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces.push_back(std::move(value)); return *this; }
136
138
161 inline const Aws::String& GetImageId() const{ return m_imageId; }
162 inline bool ImageIdHasBeenSet() const { return m_imageIdHasBeenSet; }
163 inline void SetImageId(const Aws::String& value) { m_imageIdHasBeenSet = true; m_imageId = value; }
164 inline void SetImageId(Aws::String&& value) { m_imageIdHasBeenSet = true; m_imageId = std::move(value); }
165 inline void SetImageId(const char* value) { m_imageIdHasBeenSet = true; m_imageId.assign(value); }
166 inline RequestLaunchTemplateData& WithImageId(const Aws::String& value) { SetImageId(value); return *this;}
167 inline RequestLaunchTemplateData& WithImageId(Aws::String&& value) { SetImageId(std::move(value)); return *this;}
168 inline RequestLaunchTemplateData& WithImageId(const char* value) { SetImageId(value); return *this;}
170
172
179 inline const InstanceType& GetInstanceType() const{ return m_instanceType; }
180 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
181 inline void SetInstanceType(const InstanceType& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; }
182 inline void SetInstanceType(InstanceType&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::move(value); }
183 inline RequestLaunchTemplateData& WithInstanceType(const InstanceType& value) { SetInstanceType(value); return *this;}
184 inline RequestLaunchTemplateData& WithInstanceType(InstanceType&& value) { SetInstanceType(std::move(value)); return *this;}
186
188
197 inline const Aws::String& GetKeyName() const{ return m_keyName; }
198 inline bool KeyNameHasBeenSet() const { return m_keyNameHasBeenSet; }
199 inline void SetKeyName(const Aws::String& value) { m_keyNameHasBeenSet = true; m_keyName = value; }
200 inline void SetKeyName(Aws::String&& value) { m_keyNameHasBeenSet = true; m_keyName = std::move(value); }
201 inline void SetKeyName(const char* value) { m_keyNameHasBeenSet = true; m_keyName.assign(value); }
202 inline RequestLaunchTemplateData& WithKeyName(const Aws::String& value) { SetKeyName(value); return *this;}
203 inline RequestLaunchTemplateData& WithKeyName(Aws::String&& value) { SetKeyName(std::move(value)); return *this;}
204 inline RequestLaunchTemplateData& WithKeyName(const char* value) { SetKeyName(value); return *this;}
206
208
211 inline const LaunchTemplatesMonitoringRequest& GetMonitoring() const{ return m_monitoring; }
212 inline bool MonitoringHasBeenSet() const { return m_monitoringHasBeenSet; }
213 inline void SetMonitoring(const LaunchTemplatesMonitoringRequest& value) { m_monitoringHasBeenSet = true; m_monitoring = value; }
214 inline void SetMonitoring(LaunchTemplatesMonitoringRequest&& value) { m_monitoringHasBeenSet = true; m_monitoring = std::move(value); }
218
220
223 inline const LaunchTemplatePlacementRequest& GetPlacement() const{ return m_placement; }
224 inline bool PlacementHasBeenSet() const { return m_placementHasBeenSet; }
225 inline void SetPlacement(const LaunchTemplatePlacementRequest& value) { m_placementHasBeenSet = true; m_placement = value; }
226 inline void SetPlacement(LaunchTemplatePlacementRequest&& value) { m_placementHasBeenSet = true; m_placement = std::move(value); }
228 inline RequestLaunchTemplateData& WithPlacement(LaunchTemplatePlacementRequest&& value) { SetPlacement(std::move(value)); return *this;}
230
232
238 inline const Aws::String& GetRamDiskId() const{ return m_ramDiskId; }
239 inline bool RamDiskIdHasBeenSet() const { return m_ramDiskIdHasBeenSet; }
240 inline void SetRamDiskId(const Aws::String& value) { m_ramDiskIdHasBeenSet = true; m_ramDiskId = value; }
241 inline void SetRamDiskId(Aws::String&& value) { m_ramDiskIdHasBeenSet = true; m_ramDiskId = std::move(value); }
242 inline void SetRamDiskId(const char* value) { m_ramDiskIdHasBeenSet = true; m_ramDiskId.assign(value); }
243 inline RequestLaunchTemplateData& WithRamDiskId(const Aws::String& value) { SetRamDiskId(value); return *this;}
244 inline RequestLaunchTemplateData& WithRamDiskId(Aws::String&& value) { SetRamDiskId(std::move(value)); return *this;}
245 inline RequestLaunchTemplateData& WithRamDiskId(const char* value) { SetRamDiskId(value); return *this;}
247
249
258 inline bool GetDisableApiTermination() const{ return m_disableApiTermination; }
259 inline bool DisableApiTerminationHasBeenSet() const { return m_disableApiTerminationHasBeenSet; }
260 inline void SetDisableApiTermination(bool value) { m_disableApiTerminationHasBeenSet = true; m_disableApiTermination = value; }
263
265
270 inline const ShutdownBehavior& GetInstanceInitiatedShutdownBehavior() const{ return m_instanceInitiatedShutdownBehavior; }
271 inline bool InstanceInitiatedShutdownBehaviorHasBeenSet() const { return m_instanceInitiatedShutdownBehaviorHasBeenSet; }
272 inline void SetInstanceInitiatedShutdownBehavior(const ShutdownBehavior& value) { m_instanceInitiatedShutdownBehaviorHasBeenSet = true; m_instanceInitiatedShutdownBehavior = value; }
273 inline void SetInstanceInitiatedShutdownBehavior(ShutdownBehavior&& value) { m_instanceInitiatedShutdownBehaviorHasBeenSet = true; m_instanceInitiatedShutdownBehavior = std::move(value); }
277
279
291 inline const Aws::String& GetUserData() const{ return m_userData; }
292 inline bool UserDataHasBeenSet() const { return m_userDataHasBeenSet; }
293 inline void SetUserData(const Aws::String& value) { m_userDataHasBeenSet = true; m_userData = value; }
294 inline void SetUserData(Aws::String&& value) { m_userDataHasBeenSet = true; m_userData = std::move(value); }
295 inline void SetUserData(const char* value) { m_userDataHasBeenSet = true; m_userData.assign(value); }
296 inline RequestLaunchTemplateData& WithUserData(const Aws::String& value) { SetUserData(value); return *this;}
297 inline RequestLaunchTemplateData& WithUserData(Aws::String&& value) { SetUserData(std::move(value)); return *this;}
298 inline RequestLaunchTemplateData& WithUserData(const char* value) { SetUserData(value); return *this;}
300
302
306 inline const Aws::Vector<LaunchTemplateTagSpecificationRequest>& GetTagSpecifications() const{ return m_tagSpecifications; }
307 inline bool TagSpecificationsHasBeenSet() const { return m_tagSpecificationsHasBeenSet; }
308 inline void SetTagSpecifications(const Aws::Vector<LaunchTemplateTagSpecificationRequest>& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications = value; }
309 inline void SetTagSpecifications(Aws::Vector<LaunchTemplateTagSpecificationRequest>&& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications = std::move(value); }
312 inline RequestLaunchTemplateData& AddTagSpecifications(const LaunchTemplateTagSpecificationRequest& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications.push_back(value); return *this; }
313 inline RequestLaunchTemplateData& AddTagSpecifications(LaunchTemplateTagSpecificationRequest&& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications.push_back(std::move(value)); return *this; }
315
317
322 inline const Aws::Vector<ElasticGpuSpecification>& GetElasticGpuSpecifications() const{ return m_elasticGpuSpecifications; }
323 inline bool ElasticGpuSpecificationsHasBeenSet() const { return m_elasticGpuSpecificationsHasBeenSet; }
324 inline void SetElasticGpuSpecifications(const Aws::Vector<ElasticGpuSpecification>& value) { m_elasticGpuSpecificationsHasBeenSet = true; m_elasticGpuSpecifications = value; }
325 inline void SetElasticGpuSpecifications(Aws::Vector<ElasticGpuSpecification>&& value) { m_elasticGpuSpecificationsHasBeenSet = true; m_elasticGpuSpecifications = std::move(value); }
328 inline RequestLaunchTemplateData& AddElasticGpuSpecifications(const ElasticGpuSpecification& value) { m_elasticGpuSpecificationsHasBeenSet = true; m_elasticGpuSpecifications.push_back(value); return *this; }
329 inline RequestLaunchTemplateData& AddElasticGpuSpecifications(ElasticGpuSpecification&& value) { m_elasticGpuSpecificationsHasBeenSet = true; m_elasticGpuSpecifications.push_back(std::move(value)); return *this; }
331
333
348 inline const Aws::Vector<LaunchTemplateElasticInferenceAccelerator>& GetElasticInferenceAccelerators() const{ return m_elasticInferenceAccelerators; }
349 inline bool ElasticInferenceAcceleratorsHasBeenSet() const { return m_elasticInferenceAcceleratorsHasBeenSet; }
350 inline void SetElasticInferenceAccelerators(const Aws::Vector<LaunchTemplateElasticInferenceAccelerator>& value) { m_elasticInferenceAcceleratorsHasBeenSet = true; m_elasticInferenceAccelerators = value; }
351 inline void SetElasticInferenceAccelerators(Aws::Vector<LaunchTemplateElasticInferenceAccelerator>&& value) { m_elasticInferenceAcceleratorsHasBeenSet = true; m_elasticInferenceAccelerators = std::move(value); }
354 inline RequestLaunchTemplateData& AddElasticInferenceAccelerators(const LaunchTemplateElasticInferenceAccelerator& value) { m_elasticInferenceAcceleratorsHasBeenSet = true; m_elasticInferenceAccelerators.push_back(value); return *this; }
355 inline RequestLaunchTemplateData& AddElasticInferenceAccelerators(LaunchTemplateElasticInferenceAccelerator&& value) { m_elasticInferenceAcceleratorsHasBeenSet = true; m_elasticInferenceAccelerators.push_back(std::move(value)); return *this; }
357
359
364 inline const Aws::Vector<Aws::String>& GetSecurityGroupIds() const{ return m_securityGroupIds; }
365 inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; }
366 inline void SetSecurityGroupIds(const Aws::Vector<Aws::String>& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds = value; }
367 inline void SetSecurityGroupIds(Aws::Vector<Aws::String>&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds = std::move(value); }
370 inline RequestLaunchTemplateData& AddSecurityGroupIds(const Aws::String& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(value); return *this; }
371 inline RequestLaunchTemplateData& AddSecurityGroupIds(Aws::String&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(std::move(value)); return *this; }
372 inline RequestLaunchTemplateData& AddSecurityGroupIds(const char* value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(value); return *this; }
374
376
382 inline const Aws::Vector<Aws::String>& GetSecurityGroups() const{ return m_securityGroups; }
383 inline bool SecurityGroupsHasBeenSet() const { return m_securityGroupsHasBeenSet; }
384 inline void SetSecurityGroups(const Aws::Vector<Aws::String>& value) { m_securityGroupsHasBeenSet = true; m_securityGroups = value; }
385 inline void SetSecurityGroups(Aws::Vector<Aws::String>&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups = std::move(value); }
388 inline RequestLaunchTemplateData& AddSecurityGroups(const Aws::String& value) { m_securityGroupsHasBeenSet = true; m_securityGroups.push_back(value); return *this; }
389 inline RequestLaunchTemplateData& AddSecurityGroups(Aws::String&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups.push_back(std::move(value)); return *this; }
390 inline RequestLaunchTemplateData& AddSecurityGroups(const char* value) { m_securityGroupsHasBeenSet = true; m_securityGroups.push_back(value); return *this; }
392
394
397 inline const LaunchTemplateInstanceMarketOptionsRequest& GetInstanceMarketOptions() const{ return m_instanceMarketOptions; }
398 inline bool InstanceMarketOptionsHasBeenSet() const { return m_instanceMarketOptionsHasBeenSet; }
399 inline void SetInstanceMarketOptions(const LaunchTemplateInstanceMarketOptionsRequest& value) { m_instanceMarketOptionsHasBeenSet = true; m_instanceMarketOptions = value; }
400 inline void SetInstanceMarketOptions(LaunchTemplateInstanceMarketOptionsRequest&& value) { m_instanceMarketOptionsHasBeenSet = true; m_instanceMarketOptions = std::move(value); }
404
406
410 inline const CreditSpecificationRequest& GetCreditSpecification() const{ return m_creditSpecification; }
411 inline bool CreditSpecificationHasBeenSet() const { return m_creditSpecificationHasBeenSet; }
412 inline void SetCreditSpecification(const CreditSpecificationRequest& value) { m_creditSpecificationHasBeenSet = true; m_creditSpecification = value; }
413 inline void SetCreditSpecification(CreditSpecificationRequest&& value) { m_creditSpecificationHasBeenSet = true; m_creditSpecification = std::move(value); }
417
419
424 inline const LaunchTemplateCpuOptionsRequest& GetCpuOptions() const{ return m_cpuOptions; }
425 inline bool CpuOptionsHasBeenSet() const { return m_cpuOptionsHasBeenSet; }
426 inline void SetCpuOptions(const LaunchTemplateCpuOptionsRequest& value) { m_cpuOptionsHasBeenSet = true; m_cpuOptions = value; }
427 inline void SetCpuOptions(LaunchTemplateCpuOptionsRequest&& value) { m_cpuOptionsHasBeenSet = true; m_cpuOptions = std::move(value); }
431
433
439 inline const LaunchTemplateCapacityReservationSpecificationRequest& GetCapacityReservationSpecification() const{ return m_capacityReservationSpecification; }
440 inline bool CapacityReservationSpecificationHasBeenSet() const { return m_capacityReservationSpecificationHasBeenSet; }
441 inline void SetCapacityReservationSpecification(const LaunchTemplateCapacityReservationSpecificationRequest& value) { m_capacityReservationSpecificationHasBeenSet = true; m_capacityReservationSpecification = value; }
442 inline void SetCapacityReservationSpecification(LaunchTemplateCapacityReservationSpecificationRequest&& value) { m_capacityReservationSpecificationHasBeenSet = true; m_capacityReservationSpecification = std::move(value); }
446
448
451 inline const Aws::Vector<LaunchTemplateLicenseConfigurationRequest>& GetLicenseSpecifications() const{ return m_licenseSpecifications; }
452 inline bool LicenseSpecificationsHasBeenSet() const { return m_licenseSpecificationsHasBeenSet; }
453 inline void SetLicenseSpecifications(const Aws::Vector<LaunchTemplateLicenseConfigurationRequest>& value) { m_licenseSpecificationsHasBeenSet = true; m_licenseSpecifications = value; }
454 inline void SetLicenseSpecifications(Aws::Vector<LaunchTemplateLicenseConfigurationRequest>&& value) { m_licenseSpecificationsHasBeenSet = true; m_licenseSpecifications = std::move(value); }
457 inline RequestLaunchTemplateData& AddLicenseSpecifications(const LaunchTemplateLicenseConfigurationRequest& value) { m_licenseSpecificationsHasBeenSet = true; m_licenseSpecifications.push_back(value); return *this; }
458 inline RequestLaunchTemplateData& AddLicenseSpecifications(LaunchTemplateLicenseConfigurationRequest&& value) { m_licenseSpecificationsHasBeenSet = true; m_licenseSpecifications.push_back(std::move(value)); return *this; }
460
462
470 inline const LaunchTemplateHibernationOptionsRequest& GetHibernationOptions() const{ return m_hibernationOptions; }
471 inline bool HibernationOptionsHasBeenSet() const { return m_hibernationOptionsHasBeenSet; }
472 inline void SetHibernationOptions(const LaunchTemplateHibernationOptionsRequest& value) { m_hibernationOptionsHasBeenSet = true; m_hibernationOptions = value; }
473 inline void SetHibernationOptions(LaunchTemplateHibernationOptionsRequest&& value) { m_hibernationOptionsHasBeenSet = true; m_hibernationOptions = std::move(value); }
477
479
484 inline const LaunchTemplateInstanceMetadataOptionsRequest& GetMetadataOptions() const{ return m_metadataOptions; }
485 inline bool MetadataOptionsHasBeenSet() const { return m_metadataOptionsHasBeenSet; }
486 inline void SetMetadataOptions(const LaunchTemplateInstanceMetadataOptionsRequest& value) { m_metadataOptionsHasBeenSet = true; m_metadataOptions = value; }
487 inline void SetMetadataOptions(LaunchTemplateInstanceMetadataOptionsRequest&& value) { m_metadataOptionsHasBeenSet = true; m_metadataOptions = std::move(value); }
491
493
501 inline const LaunchTemplateEnclaveOptionsRequest& GetEnclaveOptions() const{ return m_enclaveOptions; }
502 inline bool EnclaveOptionsHasBeenSet() const { return m_enclaveOptionsHasBeenSet; }
503 inline void SetEnclaveOptions(const LaunchTemplateEnclaveOptionsRequest& value) { m_enclaveOptionsHasBeenSet = true; m_enclaveOptions = value; }
504 inline void SetEnclaveOptions(LaunchTemplateEnclaveOptionsRequest&& value) { m_enclaveOptionsHasBeenSet = true; m_enclaveOptions = std::move(value); }
508
510
541 inline const InstanceRequirementsRequest& GetInstanceRequirements() const{ return m_instanceRequirements; }
542 inline bool InstanceRequirementsHasBeenSet() const { return m_instanceRequirementsHasBeenSet; }
543 inline void SetInstanceRequirements(const InstanceRequirementsRequest& value) { m_instanceRequirementsHasBeenSet = true; m_instanceRequirements = value; }
544 inline void SetInstanceRequirements(InstanceRequirementsRequest&& value) { m_instanceRequirementsHasBeenSet = true; m_instanceRequirements = std::move(value); }
548
550
554 inline const LaunchTemplatePrivateDnsNameOptionsRequest& GetPrivateDnsNameOptions() const{ return m_privateDnsNameOptions; }
555 inline bool PrivateDnsNameOptionsHasBeenSet() const { return m_privateDnsNameOptionsHasBeenSet; }
556 inline void SetPrivateDnsNameOptions(const LaunchTemplatePrivateDnsNameOptionsRequest& value) { m_privateDnsNameOptionsHasBeenSet = true; m_privateDnsNameOptions = value; }
557 inline void SetPrivateDnsNameOptions(LaunchTemplatePrivateDnsNameOptionsRequest&& value) { m_privateDnsNameOptionsHasBeenSet = true; m_privateDnsNameOptions = std::move(value); }
561
563
566 inline const LaunchTemplateInstanceMaintenanceOptionsRequest& GetMaintenanceOptions() const{ return m_maintenanceOptions; }
567 inline bool MaintenanceOptionsHasBeenSet() const { return m_maintenanceOptionsHasBeenSet; }
568 inline void SetMaintenanceOptions(const LaunchTemplateInstanceMaintenanceOptionsRequest& value) { m_maintenanceOptionsHasBeenSet = true; m_maintenanceOptions = value; }
569 inline void SetMaintenanceOptions(LaunchTemplateInstanceMaintenanceOptionsRequest&& value) { m_maintenanceOptionsHasBeenSet = true; m_maintenanceOptions = std::move(value); }
573
575
581 inline bool GetDisableApiStop() const{ return m_disableApiStop; }
582 inline bool DisableApiStopHasBeenSet() const { return m_disableApiStopHasBeenSet; }
583 inline void SetDisableApiStop(bool value) { m_disableApiStopHasBeenSet = true; m_disableApiStop = value; }
584 inline RequestLaunchTemplateData& WithDisableApiStop(bool value) { SetDisableApiStop(value); return *this;}
586 private:
587
588 Aws::String m_kernelId;
589 bool m_kernelIdHasBeenSet = false;
590
591 bool m_ebsOptimized;
592 bool m_ebsOptimizedHasBeenSet = false;
593
595 bool m_iamInstanceProfileHasBeenSet = false;
596
598 bool m_blockDeviceMappingsHasBeenSet = false;
599
601 bool m_networkInterfacesHasBeenSet = false;
602
603 Aws::String m_imageId;
604 bool m_imageIdHasBeenSet = false;
605
606 InstanceType m_instanceType;
607 bool m_instanceTypeHasBeenSet = false;
608
609 Aws::String m_keyName;
610 bool m_keyNameHasBeenSet = false;
611
613 bool m_monitoringHasBeenSet = false;
614
616 bool m_placementHasBeenSet = false;
617
618 Aws::String m_ramDiskId;
619 bool m_ramDiskIdHasBeenSet = false;
620
621 bool m_disableApiTermination;
622 bool m_disableApiTerminationHasBeenSet = false;
623
624 ShutdownBehavior m_instanceInitiatedShutdownBehavior;
625 bool m_instanceInitiatedShutdownBehaviorHasBeenSet = false;
626
627 Aws::String m_userData;
628 bool m_userDataHasBeenSet = false;
629
631 bool m_tagSpecificationsHasBeenSet = false;
632
633 Aws::Vector<ElasticGpuSpecification> m_elasticGpuSpecifications;
634 bool m_elasticGpuSpecificationsHasBeenSet = false;
635
636 Aws::Vector<LaunchTemplateElasticInferenceAccelerator> m_elasticInferenceAccelerators;
637 bool m_elasticInferenceAcceleratorsHasBeenSet = false;
638
639 Aws::Vector<Aws::String> m_securityGroupIds;
640 bool m_securityGroupIdsHasBeenSet = false;
641
642 Aws::Vector<Aws::String> m_securityGroups;
643 bool m_securityGroupsHasBeenSet = false;
644
645 LaunchTemplateInstanceMarketOptionsRequest m_instanceMarketOptions;
646 bool m_instanceMarketOptionsHasBeenSet = false;
647
648 CreditSpecificationRequest m_creditSpecification;
649 bool m_creditSpecificationHasBeenSet = false;
650
652 bool m_cpuOptionsHasBeenSet = false;
653
654 LaunchTemplateCapacityReservationSpecificationRequest m_capacityReservationSpecification;
655 bool m_capacityReservationSpecificationHasBeenSet = false;
656
658 bool m_licenseSpecificationsHasBeenSet = false;
659
660 LaunchTemplateHibernationOptionsRequest m_hibernationOptions;
661 bool m_hibernationOptionsHasBeenSet = false;
662
664 bool m_metadataOptionsHasBeenSet = false;
665
667 bool m_enclaveOptionsHasBeenSet = false;
668
669 InstanceRequirementsRequest m_instanceRequirements;
670 bool m_instanceRequirementsHasBeenSet = false;
671
672 LaunchTemplatePrivateDnsNameOptionsRequest m_privateDnsNameOptions;
673 bool m_privateDnsNameOptionsHasBeenSet = false;
674
676 bool m_maintenanceOptionsHasBeenSet = false;
677
678 bool m_disableApiStop;
679 bool m_disableApiStopHasBeenSet = false;
680 };
681
682} // namespace Model
683} // namespace EC2
684} // namespace Aws
RequestLaunchTemplateData & WithHibernationOptions(LaunchTemplateHibernationOptionsRequest &&value)
RequestLaunchTemplateData & AddTagSpecifications(LaunchTemplateTagSpecificationRequest &&value)
void SetMetadataOptions(const LaunchTemplateInstanceMetadataOptionsRequest &value)
void SetEnclaveOptions(const LaunchTemplateEnclaveOptionsRequest &value)
void SetInstanceMarketOptions(const LaunchTemplateInstanceMarketOptionsRequest &value)
void SetInstanceRequirements(InstanceRequirementsRequest &&value)
const Aws::Vector< LaunchTemplateElasticInferenceAccelerator > & GetElasticInferenceAccelerators() const
const ShutdownBehavior & GetInstanceInitiatedShutdownBehavior() const
RequestLaunchTemplateData & AddElasticInferenceAccelerators(const LaunchTemplateElasticInferenceAccelerator &value)
RequestLaunchTemplateData & AddNetworkInterfaces(LaunchTemplateInstanceNetworkInterfaceSpecificationRequest &&value)
RequestLaunchTemplateData & WithKeyName(const Aws::String &value)
const LaunchTemplateInstanceMarketOptionsRequest & GetInstanceMarketOptions() const
void SetSecurityGroupIds(Aws::Vector< Aws::String > &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
RequestLaunchTemplateData & WithRamDiskId(Aws::String &&value)
RequestLaunchTemplateData & WithTagSpecifications(const Aws::Vector< LaunchTemplateTagSpecificationRequest > &value)
RequestLaunchTemplateData & WithInstanceMarketOptions(LaunchTemplateInstanceMarketOptionsRequest &&value)
RequestLaunchTemplateData & WithInstanceRequirements(InstanceRequirementsRequest &&value)
RequestLaunchTemplateData & WithBlockDeviceMappings(Aws::Vector< LaunchTemplateBlockDeviceMappingRequest > &&value)
RequestLaunchTemplateData & WithEnclaveOptions(LaunchTemplateEnclaveOptionsRequest &&value)
RequestLaunchTemplateData & WithInstanceRequirements(const InstanceRequirementsRequest &value)
const Aws::Vector< LaunchTemplateLicenseConfigurationRequest > & GetLicenseSpecifications() const
void SetSecurityGroups(Aws::Vector< Aws::String > &&value)
RequestLaunchTemplateData & AddTagSpecifications(const LaunchTemplateTagSpecificationRequest &value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
RequestLaunchTemplateData & WithMaintenanceOptions(LaunchTemplateInstanceMaintenanceOptionsRequest &&value)
const LaunchTemplatePlacementRequest & GetPlacement() const
void SetSecurityGroups(const Aws::Vector< Aws::String > &value)
RequestLaunchTemplateData & AddSecurityGroupIds(const Aws::String &value)
RequestLaunchTemplateData & WithMaintenanceOptions(const LaunchTemplateInstanceMaintenanceOptionsRequest &value)
RequestLaunchTemplateData & WithMonitoring(LaunchTemplatesMonitoringRequest &&value)
RequestLaunchTemplateData & WithKernelId(Aws::String &&value)
const Aws::Vector< Aws::String > & GetSecurityGroups() const
const LaunchTemplatesMonitoringRequest & GetMonitoring() const
RequestLaunchTemplateData & AddBlockDeviceMappings(LaunchTemplateBlockDeviceMappingRequest &&value)
RequestLaunchTemplateData & AddElasticGpuSpecifications(const ElasticGpuSpecification &value)
RequestLaunchTemplateData & WithRamDiskId(const char *value)
RequestLaunchTemplateData & AddSecurityGroupIds(Aws::String &&value)
RequestLaunchTemplateData & AddElasticGpuSpecifications(ElasticGpuSpecification &&value)
RequestLaunchTemplateData & WithCapacityReservationSpecification(LaunchTemplateCapacityReservationSpecificationRequest &&value)
RequestLaunchTemplateData & WithHibernationOptions(const LaunchTemplateHibernationOptionsRequest &value)
RequestLaunchTemplateData & AddSecurityGroups(const Aws::String &value)
RequestLaunchTemplateData & WithCapacityReservationSpecification(const LaunchTemplateCapacityReservationSpecificationRequest &value)
const InstanceRequirementsRequest & GetInstanceRequirements() const
void SetCapacityReservationSpecification(LaunchTemplateCapacityReservationSpecificationRequest &&value)
RequestLaunchTemplateData & WithEnclaveOptions(const LaunchTemplateEnclaveOptionsRequest &value)
void SetEnclaveOptions(LaunchTemplateEnclaveOptionsRequest &&value)
void SetMonitoring(const LaunchTemplatesMonitoringRequest &value)
void SetHibernationOptions(LaunchTemplateHibernationOptionsRequest &&value)
RequestLaunchTemplateData & WithIamInstanceProfile(const LaunchTemplateIamInstanceProfileSpecificationRequest &value)
RequestLaunchTemplateData & WithImageId(Aws::String &&value)
RequestLaunchTemplateData & AddBlockDeviceMappings(const LaunchTemplateBlockDeviceMappingRequest &value)
RequestLaunchTemplateData & WithCpuOptions(LaunchTemplateCpuOptionsRequest &&value)
void SetPrivateDnsNameOptions(LaunchTemplatePrivateDnsNameOptionsRequest &&value)
void SetPlacement(const LaunchTemplatePlacementRequest &value)
RequestLaunchTemplateData & AddLicenseSpecifications(const LaunchTemplateLicenseConfigurationRequest &value)
RequestLaunchTemplateData & WithPrivateDnsNameOptions(LaunchTemplatePrivateDnsNameOptionsRequest &&value)
const CreditSpecificationRequest & GetCreditSpecification() const
void SetBlockDeviceMappings(const Aws::Vector< LaunchTemplateBlockDeviceMappingRequest > &value)
RequestLaunchTemplateData & WithInstanceInitiatedShutdownBehavior(ShutdownBehavior &&value)
RequestLaunchTemplateData & WithCreditSpecification(const CreditSpecificationRequest &value)
RequestLaunchTemplateData & WithUserData(const char *value)
RequestLaunchTemplateData & AddElasticInferenceAccelerators(LaunchTemplateElasticInferenceAccelerator &&value)
const Aws::Vector< ElasticGpuSpecification > & GetElasticGpuSpecifications() const
RequestLaunchTemplateData & WithIamInstanceProfile(LaunchTemplateIamInstanceProfileSpecificationRequest &&value)
RequestLaunchTemplateData & WithUserData(const Aws::String &value)
const LaunchTemplateInstanceMaintenanceOptionsRequest & GetMaintenanceOptions() const
RequestLaunchTemplateData & WithInstanceMarketOptions(const LaunchTemplateInstanceMarketOptionsRequest &value)
RequestLaunchTemplateData & WithImageId(const Aws::String &value)
const LaunchTemplateIamInstanceProfileSpecificationRequest & GetIamInstanceProfile() const
const LaunchTemplateCapacityReservationSpecificationRequest & GetCapacityReservationSpecification() const
RequestLaunchTemplateData & WithSecurityGroups(Aws::Vector< Aws::String > &&value)
void SetPlacement(LaunchTemplatePlacementRequest &&value)
void SetSecurityGroupIds(const Aws::Vector< Aws::String > &value)
void SetCreditSpecification(const CreditSpecificationRequest &value)
AWS_EC2_API RequestLaunchTemplateData & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
RequestLaunchTemplateData & WithElasticGpuSpecifications(Aws::Vector< ElasticGpuSpecification > &&value)
void SetNetworkInterfaces(const Aws::Vector< LaunchTemplateInstanceNetworkInterfaceSpecificationRequest > &value)
RequestLaunchTemplateData & WithRamDiskId(const Aws::String &value)
RequestLaunchTemplateData & AddSecurityGroupIds(const char *value)
RequestLaunchTemplateData & WithMetadataOptions(const LaunchTemplateInstanceMetadataOptionsRequest &value)
void SetCreditSpecification(CreditSpecificationRequest &&value)
const Aws::Vector< Aws::String > & GetSecurityGroupIds() const
void SetMaintenanceOptions(LaunchTemplateInstanceMaintenanceOptionsRequest &&value)
RequestLaunchTemplateData & WithLicenseSpecifications(Aws::Vector< LaunchTemplateLicenseConfigurationRequest > &&value)
const Aws::Vector< LaunchTemplateInstanceNetworkInterfaceSpecificationRequest > & GetNetworkInterfaces() const
void SetInstanceInitiatedShutdownBehavior(const ShutdownBehavior &value)
void SetInstanceMarketOptions(LaunchTemplateInstanceMarketOptionsRequest &&value)
void SetMonitoring(LaunchTemplatesMonitoringRequest &&value)
RequestLaunchTemplateData & WithElasticInferenceAccelerators(Aws::Vector< LaunchTemplateElasticInferenceAccelerator > &&value)
RequestLaunchTemplateData & AddLicenseSpecifications(LaunchTemplateLicenseConfigurationRequest &&value)
void SetIamInstanceProfile(const LaunchTemplateIamInstanceProfileSpecificationRequest &value)
RequestLaunchTemplateData & WithBlockDeviceMappings(const Aws::Vector< LaunchTemplateBlockDeviceMappingRequest > &value)
void SetLicenseSpecifications(const Aws::Vector< LaunchTemplateLicenseConfigurationRequest > &value)
RequestLaunchTemplateData & WithPlacement(const LaunchTemplatePlacementRequest &value)
void SetTagSpecifications(Aws::Vector< LaunchTemplateTagSpecificationRequest > &&value)
void SetLicenseSpecifications(Aws::Vector< LaunchTemplateLicenseConfigurationRequest > &&value)
RequestLaunchTemplateData & WithElasticInferenceAccelerators(const Aws::Vector< LaunchTemplateElasticInferenceAccelerator > &value)
const LaunchTemplateInstanceMetadataOptionsRequest & GetMetadataOptions() const
RequestLaunchTemplateData & WithLicenseSpecifications(const Aws::Vector< LaunchTemplateLicenseConfigurationRequest > &value)
const Aws::Vector< LaunchTemplateTagSpecificationRequest > & GetTagSpecifications() const
const Aws::Vector< LaunchTemplateBlockDeviceMappingRequest > & GetBlockDeviceMappings() const
RequestLaunchTemplateData & WithPlacement(LaunchTemplatePlacementRequest &&value)
void SetNetworkInterfaces(Aws::Vector< LaunchTemplateInstanceNetworkInterfaceSpecificationRequest > &&value)
RequestLaunchTemplateData & AddSecurityGroups(Aws::String &&value)
const LaunchTemplatePrivateDnsNameOptionsRequest & GetPrivateDnsNameOptions() const
RequestLaunchTemplateData & WithPrivateDnsNameOptions(const LaunchTemplatePrivateDnsNameOptionsRequest &value)
void SetIamInstanceProfile(LaunchTemplateIamInstanceProfileSpecificationRequest &&value)
void SetMaintenanceOptions(const LaunchTemplateInstanceMaintenanceOptionsRequest &value)
void SetBlockDeviceMappings(Aws::Vector< LaunchTemplateBlockDeviceMappingRequest > &&value)
RequestLaunchTemplateData & WithUserData(Aws::String &&value)
RequestLaunchTemplateData & AddNetworkInterfaces(const LaunchTemplateInstanceNetworkInterfaceSpecificationRequest &value)
void SetTagSpecifications(const Aws::Vector< LaunchTemplateTagSpecificationRequest > &value)
void SetCpuOptions(LaunchTemplateCpuOptionsRequest &&value)
RequestLaunchTemplateData & WithSecurityGroupIds(Aws::Vector< Aws::String > &&value)
AWS_EC2_API RequestLaunchTemplateData(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetCpuOptions(const LaunchTemplateCpuOptionsRequest &value)
void SetPrivateDnsNameOptions(const LaunchTemplatePrivateDnsNameOptionsRequest &value)
RequestLaunchTemplateData & WithCreditSpecification(CreditSpecificationRequest &&value)
RequestLaunchTemplateData & WithDisableApiStop(bool value)
RequestLaunchTemplateData & WithCpuOptions(const LaunchTemplateCpuOptionsRequest &value)
RequestLaunchTemplateData & WithNetworkInterfaces(Aws::Vector< LaunchTemplateInstanceNetworkInterfaceSpecificationRequest > &&value)
RequestLaunchTemplateData & WithImageId(const char *value)
void SetElasticInferenceAccelerators(Aws::Vector< LaunchTemplateElasticInferenceAccelerator > &&value)
RequestLaunchTemplateData & WithKeyName(Aws::String &&value)
const LaunchTemplateCpuOptionsRequest & GetCpuOptions() const
RequestLaunchTemplateData & WithTagSpecifications(Aws::Vector< LaunchTemplateTagSpecificationRequest > &&value)
RequestLaunchTemplateData & WithElasticGpuSpecifications(const Aws::Vector< ElasticGpuSpecification > &value)
RequestLaunchTemplateData & WithSecurityGroups(const Aws::Vector< Aws::String > &value)
RequestLaunchTemplateData & WithKernelId(const Aws::String &value)
const LaunchTemplateEnclaveOptionsRequest & GetEnclaveOptions() const
RequestLaunchTemplateData & AddSecurityGroups(const char *value)
void SetInstanceInitiatedShutdownBehavior(ShutdownBehavior &&value)
void SetElasticGpuSpecifications(Aws::Vector< ElasticGpuSpecification > &&value)
RequestLaunchTemplateData & WithDisableApiTermination(bool value)
RequestLaunchTemplateData & WithKeyName(const char *value)
RequestLaunchTemplateData & WithKernelId(const char *value)
RequestLaunchTemplateData & WithInstanceInitiatedShutdownBehavior(const ShutdownBehavior &value)
void SetMetadataOptions(LaunchTemplateInstanceMetadataOptionsRequest &&value)
RequestLaunchTemplateData & WithSecurityGroupIds(const Aws::Vector< Aws::String > &value)
RequestLaunchTemplateData & WithEbsOptimized(bool value)
const LaunchTemplateHibernationOptionsRequest & GetHibernationOptions() const
void SetElasticInferenceAccelerators(const Aws::Vector< LaunchTemplateElasticInferenceAccelerator > &value)
void SetElasticGpuSpecifications(const Aws::Vector< ElasticGpuSpecification > &value)
RequestLaunchTemplateData & WithMetadataOptions(LaunchTemplateInstanceMetadataOptionsRequest &&value)
RequestLaunchTemplateData & WithInstanceType(const InstanceType &value)
void SetInstanceRequirements(const InstanceRequirementsRequest &value)
void SetHibernationOptions(const LaunchTemplateHibernationOptionsRequest &value)
void SetCapacityReservationSpecification(const LaunchTemplateCapacityReservationSpecificationRequest &value)
RequestLaunchTemplateData & WithMonitoring(const LaunchTemplatesMonitoringRequest &value)
RequestLaunchTemplateData & WithNetworkInterfaces(const Aws::Vector< LaunchTemplateInstanceNetworkInterfaceSpecificationRequest > &value)
RequestLaunchTemplateData & WithInstanceType(InstanceType &&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