AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
ResponseLaunchTemplateData.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/LaunchTemplateIamInstanceProfileSpecification.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/ec2/model/InstanceType.h>
13#include <aws/ec2/model/LaunchTemplatesMonitoring.h>
14#include <aws/ec2/model/LaunchTemplatePlacement.h>
15#include <aws/ec2/model/ShutdownBehavior.h>
16#include <aws/ec2/model/LaunchTemplateInstanceMarketOptions.h>
17#include <aws/ec2/model/CreditSpecification.h>
18#include <aws/ec2/model/LaunchTemplateCpuOptions.h>
19#include <aws/ec2/model/LaunchTemplateCapacityReservationSpecificationResponse.h>
20#include <aws/ec2/model/LaunchTemplateHibernationOptions.h>
21#include <aws/ec2/model/LaunchTemplateInstanceMetadataOptions.h>
22#include <aws/ec2/model/LaunchTemplateEnclaveOptions.h>
23#include <aws/ec2/model/InstanceRequirements.h>
24#include <aws/ec2/model/LaunchTemplatePrivateDnsNameOptions.h>
25#include <aws/ec2/model/LaunchTemplateInstanceMaintenanceOptions.h>
26#include <aws/ec2/model/OperatorResponse.h>
27#include <aws/ec2/model/LaunchTemplateNetworkPerformanceOptions.h>
28#include <aws/ec2/model/LaunchTemplateBlockDeviceMapping.h>
29#include <aws/ec2/model/LaunchTemplateInstanceNetworkInterfaceSpecification.h>
30#include <aws/ec2/model/LaunchTemplateTagSpecification.h>
31#include <aws/ec2/model/ElasticGpuSpecificationResponse.h>
32#include <aws/ec2/model/LaunchTemplateElasticInferenceAcceleratorResponse.h>
33#include <aws/ec2/model/LaunchTemplateLicenseConfiguration.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
56 {
57 public:
58 AWS_EC2_API ResponseLaunchTemplateData() = default;
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
70 inline const Aws::String& GetKernelId() const { return m_kernelId; }
71 inline bool KernelIdHasBeenSet() const { return m_kernelIdHasBeenSet; }
72 template<typename KernelIdT = Aws::String>
73 void SetKernelId(KernelIdT&& value) { m_kernelIdHasBeenSet = true; m_kernelId = std::forward<KernelIdT>(value); }
74 template<typename KernelIdT = Aws::String>
75 ResponseLaunchTemplateData& WithKernelId(KernelIdT&& value) { SetKernelId(std::forward<KernelIdT>(value)); return *this;}
77
79
82 inline bool GetEbsOptimized() const { return m_ebsOptimized; }
83 inline bool EbsOptimizedHasBeenSet() const { return m_ebsOptimizedHasBeenSet; }
84 inline void SetEbsOptimized(bool value) { m_ebsOptimizedHasBeenSet = true; m_ebsOptimized = value; }
85 inline ResponseLaunchTemplateData& WithEbsOptimized(bool value) { SetEbsOptimized(value); return *this;}
87
89
92 inline const LaunchTemplateIamInstanceProfileSpecification& GetIamInstanceProfile() const { return m_iamInstanceProfile; }
93 inline bool IamInstanceProfileHasBeenSet() const { return m_iamInstanceProfileHasBeenSet; }
94 template<typename IamInstanceProfileT = LaunchTemplateIamInstanceProfileSpecification>
95 void SetIamInstanceProfile(IamInstanceProfileT&& value) { m_iamInstanceProfileHasBeenSet = true; m_iamInstanceProfile = std::forward<IamInstanceProfileT>(value); }
96 template<typename IamInstanceProfileT = LaunchTemplateIamInstanceProfileSpecification>
97 ResponseLaunchTemplateData& WithIamInstanceProfile(IamInstanceProfileT&& value) { SetIamInstanceProfile(std::forward<IamInstanceProfileT>(value)); return *this;}
99
101
104 inline const Aws::Vector<LaunchTemplateBlockDeviceMapping>& GetBlockDeviceMappings() const { return m_blockDeviceMappings; }
105 inline bool BlockDeviceMappingsHasBeenSet() const { return m_blockDeviceMappingsHasBeenSet; }
106 template<typename BlockDeviceMappingsT = Aws::Vector<LaunchTemplateBlockDeviceMapping>>
107 void SetBlockDeviceMappings(BlockDeviceMappingsT&& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings = std::forward<BlockDeviceMappingsT>(value); }
108 template<typename BlockDeviceMappingsT = Aws::Vector<LaunchTemplateBlockDeviceMapping>>
109 ResponseLaunchTemplateData& WithBlockDeviceMappings(BlockDeviceMappingsT&& value) { SetBlockDeviceMappings(std::forward<BlockDeviceMappingsT>(value)); return *this;}
110 template<typename BlockDeviceMappingsT = LaunchTemplateBlockDeviceMapping>
111 ResponseLaunchTemplateData& AddBlockDeviceMappings(BlockDeviceMappingsT&& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings.emplace_back(std::forward<BlockDeviceMappingsT>(value)); return *this; }
113
115
119 inline bool NetworkInterfacesHasBeenSet() const { return m_networkInterfacesHasBeenSet; }
120 template<typename NetworkInterfacesT = Aws::Vector<LaunchTemplateInstanceNetworkInterfaceSpecification>>
121 void SetNetworkInterfaces(NetworkInterfacesT&& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces = std::forward<NetworkInterfacesT>(value); }
122 template<typename NetworkInterfacesT = Aws::Vector<LaunchTemplateInstanceNetworkInterfaceSpecification>>
123 ResponseLaunchTemplateData& WithNetworkInterfaces(NetworkInterfacesT&& value) { SetNetworkInterfaces(std::forward<NetworkInterfacesT>(value)); return *this;}
124 template<typename NetworkInterfacesT = LaunchTemplateInstanceNetworkInterfaceSpecification>
125 ResponseLaunchTemplateData& AddNetworkInterfaces(NetworkInterfacesT&& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces.emplace_back(std::forward<NetworkInterfacesT>(value)); return *this; }
127
129
144 inline const Aws::String& GetImageId() const { return m_imageId; }
145 inline bool ImageIdHasBeenSet() const { return m_imageIdHasBeenSet; }
146 template<typename ImageIdT = Aws::String>
147 void SetImageId(ImageIdT&& value) { m_imageIdHasBeenSet = true; m_imageId = std::forward<ImageIdT>(value); }
148 template<typename ImageIdT = Aws::String>
149 ResponseLaunchTemplateData& WithImageId(ImageIdT&& value) { SetImageId(std::forward<ImageIdT>(value)); return *this;}
151
153
156 inline InstanceType GetInstanceType() const { return m_instanceType; }
157 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
158 inline void SetInstanceType(InstanceType value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; }
161
163
166 inline const Aws::String& GetKeyName() const { return m_keyName; }
167 inline bool KeyNameHasBeenSet() const { return m_keyNameHasBeenSet; }
168 template<typename KeyNameT = Aws::String>
169 void SetKeyName(KeyNameT&& value) { m_keyNameHasBeenSet = true; m_keyName = std::forward<KeyNameT>(value); }
170 template<typename KeyNameT = Aws::String>
171 ResponseLaunchTemplateData& WithKeyName(KeyNameT&& value) { SetKeyName(std::forward<KeyNameT>(value)); return *this;}
173
175
178 inline const LaunchTemplatesMonitoring& GetMonitoring() const { return m_monitoring; }
179 inline bool MonitoringHasBeenSet() const { return m_monitoringHasBeenSet; }
180 template<typename MonitoringT = LaunchTemplatesMonitoring>
181 void SetMonitoring(MonitoringT&& value) { m_monitoringHasBeenSet = true; m_monitoring = std::forward<MonitoringT>(value); }
182 template<typename MonitoringT = LaunchTemplatesMonitoring>
183 ResponseLaunchTemplateData& WithMonitoring(MonitoringT&& value) { SetMonitoring(std::forward<MonitoringT>(value)); return *this;}
185
187
190 inline const LaunchTemplatePlacement& GetPlacement() const { return m_placement; }
191 inline bool PlacementHasBeenSet() const { return m_placementHasBeenSet; }
192 template<typename PlacementT = LaunchTemplatePlacement>
193 void SetPlacement(PlacementT&& value) { m_placementHasBeenSet = true; m_placement = std::forward<PlacementT>(value); }
194 template<typename PlacementT = LaunchTemplatePlacement>
195 ResponseLaunchTemplateData& WithPlacement(PlacementT&& value) { SetPlacement(std::forward<PlacementT>(value)); return *this;}
197
199
202 inline const Aws::String& GetRamDiskId() const { return m_ramDiskId; }
203 inline bool RamDiskIdHasBeenSet() const { return m_ramDiskIdHasBeenSet; }
204 template<typename RamDiskIdT = Aws::String>
205 void SetRamDiskId(RamDiskIdT&& value) { m_ramDiskIdHasBeenSet = true; m_ramDiskId = std::forward<RamDiskIdT>(value); }
206 template<typename RamDiskIdT = Aws::String>
207 ResponseLaunchTemplateData& WithRamDiskId(RamDiskIdT&& value) { SetRamDiskId(std::forward<RamDiskIdT>(value)); return *this;}
209
211
215 inline bool GetDisableApiTermination() const { return m_disableApiTermination; }
216 inline bool DisableApiTerminationHasBeenSet() const { return m_disableApiTerminationHasBeenSet; }
217 inline void SetDisableApiTermination(bool value) { m_disableApiTerminationHasBeenSet = true; m_disableApiTermination = value; }
220
222
226 inline ShutdownBehavior GetInstanceInitiatedShutdownBehavior() const { return m_instanceInitiatedShutdownBehavior; }
227 inline bool InstanceInitiatedShutdownBehaviorHasBeenSet() const { return m_instanceInitiatedShutdownBehaviorHasBeenSet; }
228 inline void SetInstanceInitiatedShutdownBehavior(ShutdownBehavior value) { m_instanceInitiatedShutdownBehaviorHasBeenSet = true; m_instanceInitiatedShutdownBehavior = value; }
231
233
236 inline const Aws::String& GetUserData() const { return m_userData; }
237 inline bool UserDataHasBeenSet() const { return m_userDataHasBeenSet; }
238 template<typename UserDataT = Aws::String>
239 void SetUserData(UserDataT&& value) { m_userDataHasBeenSet = true; m_userData = std::forward<UserDataT>(value); }
240 template<typename UserDataT = Aws::String>
241 ResponseLaunchTemplateData& WithUserData(UserDataT&& value) { SetUserData(std::forward<UserDataT>(value)); return *this;}
243
245
249 inline const Aws::Vector<LaunchTemplateTagSpecification>& GetTagSpecifications() const { return m_tagSpecifications; }
250 inline bool TagSpecificationsHasBeenSet() const { return m_tagSpecificationsHasBeenSet; }
251 template<typename TagSpecificationsT = Aws::Vector<LaunchTemplateTagSpecification>>
252 void SetTagSpecifications(TagSpecificationsT&& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications = std::forward<TagSpecificationsT>(value); }
253 template<typename TagSpecificationsT = Aws::Vector<LaunchTemplateTagSpecification>>
254 ResponseLaunchTemplateData& WithTagSpecifications(TagSpecificationsT&& value) { SetTagSpecifications(std::forward<TagSpecificationsT>(value)); return *this;}
255 template<typename TagSpecificationsT = LaunchTemplateTagSpecification>
256 ResponseLaunchTemplateData& AddTagSpecifications(TagSpecificationsT&& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications.emplace_back(std::forward<TagSpecificationsT>(value)); return *this; }
258
260
264 inline const Aws::Vector<ElasticGpuSpecificationResponse>& GetElasticGpuSpecifications() const { return m_elasticGpuSpecifications; }
265 inline bool ElasticGpuSpecificationsHasBeenSet() const { return m_elasticGpuSpecificationsHasBeenSet; }
266 template<typename ElasticGpuSpecificationsT = Aws::Vector<ElasticGpuSpecificationResponse>>
267 void SetElasticGpuSpecifications(ElasticGpuSpecificationsT&& value) { m_elasticGpuSpecificationsHasBeenSet = true; m_elasticGpuSpecifications = std::forward<ElasticGpuSpecificationsT>(value); }
268 template<typename ElasticGpuSpecificationsT = Aws::Vector<ElasticGpuSpecificationResponse>>
269 ResponseLaunchTemplateData& WithElasticGpuSpecifications(ElasticGpuSpecificationsT&& value) { SetElasticGpuSpecifications(std::forward<ElasticGpuSpecificationsT>(value)); return *this;}
270 template<typename ElasticGpuSpecificationsT = ElasticGpuSpecificationResponse>
271 ResponseLaunchTemplateData& AddElasticGpuSpecifications(ElasticGpuSpecificationsT&& value) { m_elasticGpuSpecificationsHasBeenSet = true; m_elasticGpuSpecifications.emplace_back(std::forward<ElasticGpuSpecificationsT>(value)); return *this; }
273
275
282 inline const Aws::Vector<LaunchTemplateElasticInferenceAcceleratorResponse>& GetElasticInferenceAccelerators() const { return m_elasticInferenceAccelerators; }
283 inline bool ElasticInferenceAcceleratorsHasBeenSet() const { return m_elasticInferenceAcceleratorsHasBeenSet; }
284 template<typename ElasticInferenceAcceleratorsT = Aws::Vector<LaunchTemplateElasticInferenceAcceleratorResponse>>
285 void SetElasticInferenceAccelerators(ElasticInferenceAcceleratorsT&& value) { m_elasticInferenceAcceleratorsHasBeenSet = true; m_elasticInferenceAccelerators = std::forward<ElasticInferenceAcceleratorsT>(value); }
286 template<typename ElasticInferenceAcceleratorsT = Aws::Vector<LaunchTemplateElasticInferenceAcceleratorResponse>>
287 ResponseLaunchTemplateData& WithElasticInferenceAccelerators(ElasticInferenceAcceleratorsT&& value) { SetElasticInferenceAccelerators(std::forward<ElasticInferenceAcceleratorsT>(value)); return *this;}
288 template<typename ElasticInferenceAcceleratorsT = LaunchTemplateElasticInferenceAcceleratorResponse>
289 ResponseLaunchTemplateData& AddElasticInferenceAccelerators(ElasticInferenceAcceleratorsT&& value) { m_elasticInferenceAcceleratorsHasBeenSet = true; m_elasticInferenceAccelerators.emplace_back(std::forward<ElasticInferenceAcceleratorsT>(value)); return *this; }
291
293
296 inline const Aws::Vector<Aws::String>& GetSecurityGroupIds() const { return m_securityGroupIds; }
297 inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; }
298 template<typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
299 void SetSecurityGroupIds(SecurityGroupIdsT&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds = std::forward<SecurityGroupIdsT>(value); }
300 template<typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
301 ResponseLaunchTemplateData& WithSecurityGroupIds(SecurityGroupIdsT&& value) { SetSecurityGroupIds(std::forward<SecurityGroupIdsT>(value)); return *this;}
302 template<typename SecurityGroupIdsT = Aws::String>
303 ResponseLaunchTemplateData& AddSecurityGroupIds(SecurityGroupIdsT&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.emplace_back(std::forward<SecurityGroupIdsT>(value)); return *this; }
305
307
310 inline const Aws::Vector<Aws::String>& GetSecurityGroups() const { return m_securityGroups; }
311 inline bool SecurityGroupsHasBeenSet() const { return m_securityGroupsHasBeenSet; }
312 template<typename SecurityGroupsT = Aws::Vector<Aws::String>>
313 void SetSecurityGroups(SecurityGroupsT&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups = std::forward<SecurityGroupsT>(value); }
314 template<typename SecurityGroupsT = Aws::Vector<Aws::String>>
315 ResponseLaunchTemplateData& WithSecurityGroups(SecurityGroupsT&& value) { SetSecurityGroups(std::forward<SecurityGroupsT>(value)); return *this;}
316 template<typename SecurityGroupsT = Aws::String>
317 ResponseLaunchTemplateData& AddSecurityGroups(SecurityGroupsT&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups.emplace_back(std::forward<SecurityGroupsT>(value)); return *this; }
319
321
324 inline const LaunchTemplateInstanceMarketOptions& GetInstanceMarketOptions() const { return m_instanceMarketOptions; }
325 inline bool InstanceMarketOptionsHasBeenSet() const { return m_instanceMarketOptionsHasBeenSet; }
326 template<typename InstanceMarketOptionsT = LaunchTemplateInstanceMarketOptions>
327 void SetInstanceMarketOptions(InstanceMarketOptionsT&& value) { m_instanceMarketOptionsHasBeenSet = true; m_instanceMarketOptions = std::forward<InstanceMarketOptionsT>(value); }
328 template<typename InstanceMarketOptionsT = LaunchTemplateInstanceMarketOptions>
329 ResponseLaunchTemplateData& WithInstanceMarketOptions(InstanceMarketOptionsT&& value) { SetInstanceMarketOptions(std::forward<InstanceMarketOptionsT>(value)); return *this;}
331
333
336 inline const CreditSpecification& GetCreditSpecification() const { return m_creditSpecification; }
337 inline bool CreditSpecificationHasBeenSet() const { return m_creditSpecificationHasBeenSet; }
338 template<typename CreditSpecificationT = CreditSpecification>
339 void SetCreditSpecification(CreditSpecificationT&& value) { m_creditSpecificationHasBeenSet = true; m_creditSpecification = std::forward<CreditSpecificationT>(value); }
340 template<typename CreditSpecificationT = CreditSpecification>
341 ResponseLaunchTemplateData& WithCreditSpecification(CreditSpecificationT&& value) { SetCreditSpecification(std::forward<CreditSpecificationT>(value)); return *this;}
343
345
350 inline const LaunchTemplateCpuOptions& GetCpuOptions() const { return m_cpuOptions; }
351 inline bool CpuOptionsHasBeenSet() const { return m_cpuOptionsHasBeenSet; }
352 template<typename CpuOptionsT = LaunchTemplateCpuOptions>
353 void SetCpuOptions(CpuOptionsT&& value) { m_cpuOptionsHasBeenSet = true; m_cpuOptions = std::forward<CpuOptionsT>(value); }
354 template<typename CpuOptionsT = LaunchTemplateCpuOptions>
355 ResponseLaunchTemplateData& WithCpuOptions(CpuOptionsT&& value) { SetCpuOptions(std::forward<CpuOptionsT>(value)); return *this;}
357
359
362 inline const LaunchTemplateCapacityReservationSpecificationResponse& GetCapacityReservationSpecification() const { return m_capacityReservationSpecification; }
363 inline bool CapacityReservationSpecificationHasBeenSet() const { return m_capacityReservationSpecificationHasBeenSet; }
364 template<typename CapacityReservationSpecificationT = LaunchTemplateCapacityReservationSpecificationResponse>
365 void SetCapacityReservationSpecification(CapacityReservationSpecificationT&& value) { m_capacityReservationSpecificationHasBeenSet = true; m_capacityReservationSpecification = std::forward<CapacityReservationSpecificationT>(value); }
366 template<typename CapacityReservationSpecificationT = LaunchTemplateCapacityReservationSpecificationResponse>
367 ResponseLaunchTemplateData& WithCapacityReservationSpecification(CapacityReservationSpecificationT&& value) { SetCapacityReservationSpecification(std::forward<CapacityReservationSpecificationT>(value)); return *this;}
369
371
374 inline const Aws::Vector<LaunchTemplateLicenseConfiguration>& GetLicenseSpecifications() const { return m_licenseSpecifications; }
375 inline bool LicenseSpecificationsHasBeenSet() const { return m_licenseSpecificationsHasBeenSet; }
376 template<typename LicenseSpecificationsT = Aws::Vector<LaunchTemplateLicenseConfiguration>>
377 void SetLicenseSpecifications(LicenseSpecificationsT&& value) { m_licenseSpecificationsHasBeenSet = true; m_licenseSpecifications = std::forward<LicenseSpecificationsT>(value); }
378 template<typename LicenseSpecificationsT = Aws::Vector<LaunchTemplateLicenseConfiguration>>
379 ResponseLaunchTemplateData& WithLicenseSpecifications(LicenseSpecificationsT&& value) { SetLicenseSpecifications(std::forward<LicenseSpecificationsT>(value)); return *this;}
380 template<typename LicenseSpecificationsT = LaunchTemplateLicenseConfiguration>
381 ResponseLaunchTemplateData& AddLicenseSpecifications(LicenseSpecificationsT&& value) { m_licenseSpecificationsHasBeenSet = true; m_licenseSpecifications.emplace_back(std::forward<LicenseSpecificationsT>(value)); return *this; }
383
385
391 inline const LaunchTemplateHibernationOptions& GetHibernationOptions() const { return m_hibernationOptions; }
392 inline bool HibernationOptionsHasBeenSet() const { return m_hibernationOptionsHasBeenSet; }
393 template<typename HibernationOptionsT = LaunchTemplateHibernationOptions>
394 void SetHibernationOptions(HibernationOptionsT&& value) { m_hibernationOptionsHasBeenSet = true; m_hibernationOptions = std::forward<HibernationOptionsT>(value); }
395 template<typename HibernationOptionsT = LaunchTemplateHibernationOptions>
396 ResponseLaunchTemplateData& WithHibernationOptions(HibernationOptionsT&& value) { SetHibernationOptions(std::forward<HibernationOptionsT>(value)); return *this;}
398
400
406 inline const LaunchTemplateInstanceMetadataOptions& GetMetadataOptions() const { return m_metadataOptions; }
407 inline bool MetadataOptionsHasBeenSet() const { return m_metadataOptionsHasBeenSet; }
408 template<typename MetadataOptionsT = LaunchTemplateInstanceMetadataOptions>
409 void SetMetadataOptions(MetadataOptionsT&& value) { m_metadataOptionsHasBeenSet = true; m_metadataOptions = std::forward<MetadataOptionsT>(value); }
410 template<typename MetadataOptionsT = LaunchTemplateInstanceMetadataOptions>
411 ResponseLaunchTemplateData& WithMetadataOptions(MetadataOptionsT&& value) { SetMetadataOptions(std::forward<MetadataOptionsT>(value)); return *this;}
413
415
419 inline const LaunchTemplateEnclaveOptions& GetEnclaveOptions() const { return m_enclaveOptions; }
420 inline bool EnclaveOptionsHasBeenSet() const { return m_enclaveOptionsHasBeenSet; }
421 template<typename EnclaveOptionsT = LaunchTemplateEnclaveOptions>
422 void SetEnclaveOptions(EnclaveOptionsT&& value) { m_enclaveOptionsHasBeenSet = true; m_enclaveOptions = std::forward<EnclaveOptionsT>(value); }
423 template<typename EnclaveOptionsT = LaunchTemplateEnclaveOptions>
424 ResponseLaunchTemplateData& WithEnclaveOptions(EnclaveOptionsT&& value) { SetEnclaveOptions(std::forward<EnclaveOptionsT>(value)); return *this;}
426
428
434 inline const InstanceRequirements& GetInstanceRequirements() const { return m_instanceRequirements; }
435 inline bool InstanceRequirementsHasBeenSet() const { return m_instanceRequirementsHasBeenSet; }
436 template<typename InstanceRequirementsT = InstanceRequirements>
437 void SetInstanceRequirements(InstanceRequirementsT&& value) { m_instanceRequirementsHasBeenSet = true; m_instanceRequirements = std::forward<InstanceRequirementsT>(value); }
438 template<typename InstanceRequirementsT = InstanceRequirements>
439 ResponseLaunchTemplateData& WithInstanceRequirements(InstanceRequirementsT&& value) { SetInstanceRequirements(std::forward<InstanceRequirementsT>(value)); return *this;}
441
443
446 inline const LaunchTemplatePrivateDnsNameOptions& GetPrivateDnsNameOptions() const { return m_privateDnsNameOptions; }
447 inline bool PrivateDnsNameOptionsHasBeenSet() const { return m_privateDnsNameOptionsHasBeenSet; }
448 template<typename PrivateDnsNameOptionsT = LaunchTemplatePrivateDnsNameOptions>
449 void SetPrivateDnsNameOptions(PrivateDnsNameOptionsT&& value) { m_privateDnsNameOptionsHasBeenSet = true; m_privateDnsNameOptions = std::forward<PrivateDnsNameOptionsT>(value); }
450 template<typename PrivateDnsNameOptionsT = LaunchTemplatePrivateDnsNameOptions>
451 ResponseLaunchTemplateData& WithPrivateDnsNameOptions(PrivateDnsNameOptionsT&& value) { SetPrivateDnsNameOptions(std::forward<PrivateDnsNameOptionsT>(value)); return *this;}
453
455
458 inline const LaunchTemplateInstanceMaintenanceOptions& GetMaintenanceOptions() const { return m_maintenanceOptions; }
459 inline bool MaintenanceOptionsHasBeenSet() const { return m_maintenanceOptionsHasBeenSet; }
460 template<typename MaintenanceOptionsT = LaunchTemplateInstanceMaintenanceOptions>
461 void SetMaintenanceOptions(MaintenanceOptionsT&& value) { m_maintenanceOptionsHasBeenSet = true; m_maintenanceOptions = std::forward<MaintenanceOptionsT>(value); }
462 template<typename MaintenanceOptionsT = LaunchTemplateInstanceMaintenanceOptions>
463 ResponseLaunchTemplateData& WithMaintenanceOptions(MaintenanceOptionsT&& value) { SetMaintenanceOptions(std::forward<MaintenanceOptionsT>(value)); return *this;}
465
467
474 inline bool GetDisableApiStop() const { return m_disableApiStop; }
475 inline bool DisableApiStopHasBeenSet() const { return m_disableApiStopHasBeenSet; }
476 inline void SetDisableApiStop(bool value) { m_disableApiStopHasBeenSet = true; m_disableApiStop = value; }
477 inline ResponseLaunchTemplateData& WithDisableApiStop(bool value) { SetDisableApiStop(value); return *this;}
479
481
484 inline const OperatorResponse& GetOperator() const { return m_operator; }
485 inline bool OperatorHasBeenSet() const { return m_operatorHasBeenSet; }
486 template<typename OperatorT = OperatorResponse>
487 void SetOperator(OperatorT&& value) { m_operatorHasBeenSet = true; m_operator = std::forward<OperatorT>(value); }
488 template<typename OperatorT = OperatorResponse>
489 ResponseLaunchTemplateData& WithOperator(OperatorT&& value) { SetOperator(std::forward<OperatorT>(value)); return *this;}
491
493
497 inline const LaunchTemplateNetworkPerformanceOptions& GetNetworkPerformanceOptions() const { return m_networkPerformanceOptions; }
498 inline bool NetworkPerformanceOptionsHasBeenSet() const { return m_networkPerformanceOptionsHasBeenSet; }
499 template<typename NetworkPerformanceOptionsT = LaunchTemplateNetworkPerformanceOptions>
500 void SetNetworkPerformanceOptions(NetworkPerformanceOptionsT&& value) { m_networkPerformanceOptionsHasBeenSet = true; m_networkPerformanceOptions = std::forward<NetworkPerformanceOptionsT>(value); }
501 template<typename NetworkPerformanceOptionsT = LaunchTemplateNetworkPerformanceOptions>
502 ResponseLaunchTemplateData& WithNetworkPerformanceOptions(NetworkPerformanceOptionsT&& value) { SetNetworkPerformanceOptions(std::forward<NetworkPerformanceOptionsT>(value)); return *this;}
504 private:
505
506 Aws::String m_kernelId;
507 bool m_kernelIdHasBeenSet = false;
508
509 bool m_ebsOptimized{false};
510 bool m_ebsOptimizedHasBeenSet = false;
511
512 LaunchTemplateIamInstanceProfileSpecification m_iamInstanceProfile;
513 bool m_iamInstanceProfileHasBeenSet = false;
514
516 bool m_blockDeviceMappingsHasBeenSet = false;
517
519 bool m_networkInterfacesHasBeenSet = false;
520
521 Aws::String m_imageId;
522 bool m_imageIdHasBeenSet = false;
523
524 InstanceType m_instanceType{InstanceType::NOT_SET};
525 bool m_instanceTypeHasBeenSet = false;
526
527 Aws::String m_keyName;
528 bool m_keyNameHasBeenSet = false;
529
530 LaunchTemplatesMonitoring m_monitoring;
531 bool m_monitoringHasBeenSet = false;
532
533 LaunchTemplatePlacement m_placement;
534 bool m_placementHasBeenSet = false;
535
536 Aws::String m_ramDiskId;
537 bool m_ramDiskIdHasBeenSet = false;
538
539 bool m_disableApiTermination{false};
540 bool m_disableApiTerminationHasBeenSet = false;
541
542 ShutdownBehavior m_instanceInitiatedShutdownBehavior{ShutdownBehavior::NOT_SET};
543 bool m_instanceInitiatedShutdownBehaviorHasBeenSet = false;
544
545 Aws::String m_userData;
546 bool m_userDataHasBeenSet = false;
547
549 bool m_tagSpecificationsHasBeenSet = false;
550
551 Aws::Vector<ElasticGpuSpecificationResponse> m_elasticGpuSpecifications;
552 bool m_elasticGpuSpecificationsHasBeenSet = false;
553
555 bool m_elasticInferenceAcceleratorsHasBeenSet = false;
556
557 Aws::Vector<Aws::String> m_securityGroupIds;
558 bool m_securityGroupIdsHasBeenSet = false;
559
560 Aws::Vector<Aws::String> m_securityGroups;
561 bool m_securityGroupsHasBeenSet = false;
562
563 LaunchTemplateInstanceMarketOptions m_instanceMarketOptions;
564 bool m_instanceMarketOptionsHasBeenSet = false;
565
566 CreditSpecification m_creditSpecification;
567 bool m_creditSpecificationHasBeenSet = false;
568
569 LaunchTemplateCpuOptions m_cpuOptions;
570 bool m_cpuOptionsHasBeenSet = false;
571
572 LaunchTemplateCapacityReservationSpecificationResponse m_capacityReservationSpecification;
573 bool m_capacityReservationSpecificationHasBeenSet = false;
574
576 bool m_licenseSpecificationsHasBeenSet = false;
577
578 LaunchTemplateHibernationOptions m_hibernationOptions;
579 bool m_hibernationOptionsHasBeenSet = false;
580
581 LaunchTemplateInstanceMetadataOptions m_metadataOptions;
582 bool m_metadataOptionsHasBeenSet = false;
583
584 LaunchTemplateEnclaveOptions m_enclaveOptions;
585 bool m_enclaveOptionsHasBeenSet = false;
586
587 InstanceRequirements m_instanceRequirements;
588 bool m_instanceRequirementsHasBeenSet = false;
589
590 LaunchTemplatePrivateDnsNameOptions m_privateDnsNameOptions;
591 bool m_privateDnsNameOptionsHasBeenSet = false;
592
593 LaunchTemplateInstanceMaintenanceOptions m_maintenanceOptions;
594 bool m_maintenanceOptionsHasBeenSet = false;
595
596 bool m_disableApiStop{false};
597 bool m_disableApiStopHasBeenSet = false;
598
599 OperatorResponse m_operator;
600 bool m_operatorHasBeenSet = false;
601
602 LaunchTemplateNetworkPerformanceOptions m_networkPerformanceOptions;
603 bool m_networkPerformanceOptionsHasBeenSet = false;
604 };
605
606} // namespace Model
607} // namespace EC2
608} // 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