1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 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/LaunchTemplateBlockDeviceMapping.h> 24 #include <aws/ec2/model/LaunchTemplateInstanceNetworkInterfaceSpecification.h> 25 #include <aws/ec2/model/LaunchTemplateTagSpecification.h> 26 #include <aws/ec2/model/ElasticGpuSpecificationResponse.h> 27 #include <aws/ec2/model/LaunchTemplateElasticInferenceAcceleratorResponse.h> 28 #include <aws/ec2/model/LaunchTemplateLicenseConfiguration.h> 29 #include <utility> 30 31 namespace Aws 32 { 33 namespace Utils 34 { 35 namespace Xml 36 { 37 class XmlNode; 38 } // namespace Xml 39 } // namespace Utils 40 namespace EC2 41 { 42 namespace Model 43 { 44 45 /** 46 * <p>The information for a launch template. </p><p><h3>See Also:</h3> <a 47 * href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResponseLaunchTemplateData">AWS 48 * API Reference</a></p> 49 */ 50 class AWS_EC2_API ResponseLaunchTemplateData 51 { 52 public: 53 ResponseLaunchTemplateData(); 54 ResponseLaunchTemplateData(const Aws::Utils::Xml::XmlNode& xmlNode); 55 ResponseLaunchTemplateData& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); 56 57 void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; 58 void OutputToStream(Aws::OStream& oStream, const char* location) const; 59 60 61 /** 62 * <p>The ID of the kernel, if applicable.</p> 63 */ GetKernelId()64 inline const Aws::String& GetKernelId() const{ return m_kernelId; } 65 66 /** 67 * <p>The ID of the kernel, if applicable.</p> 68 */ KernelIdHasBeenSet()69 inline bool KernelIdHasBeenSet() const { return m_kernelIdHasBeenSet; } 70 71 /** 72 * <p>The ID of the kernel, if applicable.</p> 73 */ SetKernelId(const Aws::String & value)74 inline void SetKernelId(const Aws::String& value) { m_kernelIdHasBeenSet = true; m_kernelId = value; } 75 76 /** 77 * <p>The ID of the kernel, if applicable.</p> 78 */ SetKernelId(Aws::String && value)79 inline void SetKernelId(Aws::String&& value) { m_kernelIdHasBeenSet = true; m_kernelId = std::move(value); } 80 81 /** 82 * <p>The ID of the kernel, if applicable.</p> 83 */ SetKernelId(const char * value)84 inline void SetKernelId(const char* value) { m_kernelIdHasBeenSet = true; m_kernelId.assign(value); } 85 86 /** 87 * <p>The ID of the kernel, if applicable.</p> 88 */ WithKernelId(const Aws::String & value)89 inline ResponseLaunchTemplateData& WithKernelId(const Aws::String& value) { SetKernelId(value); return *this;} 90 91 /** 92 * <p>The ID of the kernel, if applicable.</p> 93 */ WithKernelId(Aws::String && value)94 inline ResponseLaunchTemplateData& WithKernelId(Aws::String&& value) { SetKernelId(std::move(value)); return *this;} 95 96 /** 97 * <p>The ID of the kernel, if applicable.</p> 98 */ WithKernelId(const char * value)99 inline ResponseLaunchTemplateData& WithKernelId(const char* value) { SetKernelId(value); return *this;} 100 101 102 /** 103 * <p>Indicates whether the instance is optimized for Amazon EBS I/O. </p> 104 */ GetEbsOptimized()105 inline bool GetEbsOptimized() const{ return m_ebsOptimized; } 106 107 /** 108 * <p>Indicates whether the instance is optimized for Amazon EBS I/O. </p> 109 */ EbsOptimizedHasBeenSet()110 inline bool EbsOptimizedHasBeenSet() const { return m_ebsOptimizedHasBeenSet; } 111 112 /** 113 * <p>Indicates whether the instance is optimized for Amazon EBS I/O. </p> 114 */ SetEbsOptimized(bool value)115 inline void SetEbsOptimized(bool value) { m_ebsOptimizedHasBeenSet = true; m_ebsOptimized = value; } 116 117 /** 118 * <p>Indicates whether the instance is optimized for Amazon EBS I/O. </p> 119 */ WithEbsOptimized(bool value)120 inline ResponseLaunchTemplateData& WithEbsOptimized(bool value) { SetEbsOptimized(value); return *this;} 121 122 123 /** 124 * <p>The IAM instance profile.</p> 125 */ GetIamInstanceProfile()126 inline const LaunchTemplateIamInstanceProfileSpecification& GetIamInstanceProfile() const{ return m_iamInstanceProfile; } 127 128 /** 129 * <p>The IAM instance profile.</p> 130 */ IamInstanceProfileHasBeenSet()131 inline bool IamInstanceProfileHasBeenSet() const { return m_iamInstanceProfileHasBeenSet; } 132 133 /** 134 * <p>The IAM instance profile.</p> 135 */ SetIamInstanceProfile(const LaunchTemplateIamInstanceProfileSpecification & value)136 inline void SetIamInstanceProfile(const LaunchTemplateIamInstanceProfileSpecification& value) { m_iamInstanceProfileHasBeenSet = true; m_iamInstanceProfile = value; } 137 138 /** 139 * <p>The IAM instance profile.</p> 140 */ SetIamInstanceProfile(LaunchTemplateIamInstanceProfileSpecification && value)141 inline void SetIamInstanceProfile(LaunchTemplateIamInstanceProfileSpecification&& value) { m_iamInstanceProfileHasBeenSet = true; m_iamInstanceProfile = std::move(value); } 142 143 /** 144 * <p>The IAM instance profile.</p> 145 */ WithIamInstanceProfile(const LaunchTemplateIamInstanceProfileSpecification & value)146 inline ResponseLaunchTemplateData& WithIamInstanceProfile(const LaunchTemplateIamInstanceProfileSpecification& value) { SetIamInstanceProfile(value); return *this;} 147 148 /** 149 * <p>The IAM instance profile.</p> 150 */ WithIamInstanceProfile(LaunchTemplateIamInstanceProfileSpecification && value)151 inline ResponseLaunchTemplateData& WithIamInstanceProfile(LaunchTemplateIamInstanceProfileSpecification&& value) { SetIamInstanceProfile(std::move(value)); return *this;} 152 153 154 /** 155 * <p>The block device mappings.</p> 156 */ GetBlockDeviceMappings()157 inline const Aws::Vector<LaunchTemplateBlockDeviceMapping>& GetBlockDeviceMappings() const{ return m_blockDeviceMappings; } 158 159 /** 160 * <p>The block device mappings.</p> 161 */ BlockDeviceMappingsHasBeenSet()162 inline bool BlockDeviceMappingsHasBeenSet() const { return m_blockDeviceMappingsHasBeenSet; } 163 164 /** 165 * <p>The block device mappings.</p> 166 */ SetBlockDeviceMappings(const Aws::Vector<LaunchTemplateBlockDeviceMapping> & value)167 inline void SetBlockDeviceMappings(const Aws::Vector<LaunchTemplateBlockDeviceMapping>& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings = value; } 168 169 /** 170 * <p>The block device mappings.</p> 171 */ SetBlockDeviceMappings(Aws::Vector<LaunchTemplateBlockDeviceMapping> && value)172 inline void SetBlockDeviceMappings(Aws::Vector<LaunchTemplateBlockDeviceMapping>&& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings = std::move(value); } 173 174 /** 175 * <p>The block device mappings.</p> 176 */ WithBlockDeviceMappings(const Aws::Vector<LaunchTemplateBlockDeviceMapping> & value)177 inline ResponseLaunchTemplateData& WithBlockDeviceMappings(const Aws::Vector<LaunchTemplateBlockDeviceMapping>& value) { SetBlockDeviceMappings(value); return *this;} 178 179 /** 180 * <p>The block device mappings.</p> 181 */ WithBlockDeviceMappings(Aws::Vector<LaunchTemplateBlockDeviceMapping> && value)182 inline ResponseLaunchTemplateData& WithBlockDeviceMappings(Aws::Vector<LaunchTemplateBlockDeviceMapping>&& value) { SetBlockDeviceMappings(std::move(value)); return *this;} 183 184 /** 185 * <p>The block device mappings.</p> 186 */ AddBlockDeviceMappings(const LaunchTemplateBlockDeviceMapping & value)187 inline ResponseLaunchTemplateData& AddBlockDeviceMappings(const LaunchTemplateBlockDeviceMapping& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings.push_back(value); return *this; } 188 189 /** 190 * <p>The block device mappings.</p> 191 */ AddBlockDeviceMappings(LaunchTemplateBlockDeviceMapping && value)192 inline ResponseLaunchTemplateData& AddBlockDeviceMappings(LaunchTemplateBlockDeviceMapping&& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings.push_back(std::move(value)); return *this; } 193 194 195 /** 196 * <p>The network interfaces.</p> 197 */ GetNetworkInterfaces()198 inline const Aws::Vector<LaunchTemplateInstanceNetworkInterfaceSpecification>& GetNetworkInterfaces() const{ return m_networkInterfaces; } 199 200 /** 201 * <p>The network interfaces.</p> 202 */ NetworkInterfacesHasBeenSet()203 inline bool NetworkInterfacesHasBeenSet() const { return m_networkInterfacesHasBeenSet; } 204 205 /** 206 * <p>The network interfaces.</p> 207 */ SetNetworkInterfaces(const Aws::Vector<LaunchTemplateInstanceNetworkInterfaceSpecification> & value)208 inline void SetNetworkInterfaces(const Aws::Vector<LaunchTemplateInstanceNetworkInterfaceSpecification>& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces = value; } 209 210 /** 211 * <p>The network interfaces.</p> 212 */ SetNetworkInterfaces(Aws::Vector<LaunchTemplateInstanceNetworkInterfaceSpecification> && value)213 inline void SetNetworkInterfaces(Aws::Vector<LaunchTemplateInstanceNetworkInterfaceSpecification>&& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces = std::move(value); } 214 215 /** 216 * <p>The network interfaces.</p> 217 */ WithNetworkInterfaces(const Aws::Vector<LaunchTemplateInstanceNetworkInterfaceSpecification> & value)218 inline ResponseLaunchTemplateData& WithNetworkInterfaces(const Aws::Vector<LaunchTemplateInstanceNetworkInterfaceSpecification>& value) { SetNetworkInterfaces(value); return *this;} 219 220 /** 221 * <p>The network interfaces.</p> 222 */ WithNetworkInterfaces(Aws::Vector<LaunchTemplateInstanceNetworkInterfaceSpecification> && value)223 inline ResponseLaunchTemplateData& WithNetworkInterfaces(Aws::Vector<LaunchTemplateInstanceNetworkInterfaceSpecification>&& value) { SetNetworkInterfaces(std::move(value)); return *this;} 224 225 /** 226 * <p>The network interfaces.</p> 227 */ AddNetworkInterfaces(const LaunchTemplateInstanceNetworkInterfaceSpecification & value)228 inline ResponseLaunchTemplateData& AddNetworkInterfaces(const LaunchTemplateInstanceNetworkInterfaceSpecification& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces.push_back(value); return *this; } 229 230 /** 231 * <p>The network interfaces.</p> 232 */ AddNetworkInterfaces(LaunchTemplateInstanceNetworkInterfaceSpecification && value)233 inline ResponseLaunchTemplateData& AddNetworkInterfaces(LaunchTemplateInstanceNetworkInterfaceSpecification&& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces.push_back(std::move(value)); return *this; } 234 235 236 /** 237 * <p>The ID of the AMI that was used to launch the instance.</p> 238 */ GetImageId()239 inline const Aws::String& GetImageId() const{ return m_imageId; } 240 241 /** 242 * <p>The ID of the AMI that was used to launch the instance.</p> 243 */ ImageIdHasBeenSet()244 inline bool ImageIdHasBeenSet() const { return m_imageIdHasBeenSet; } 245 246 /** 247 * <p>The ID of the AMI that was used to launch the instance.</p> 248 */ SetImageId(const Aws::String & value)249 inline void SetImageId(const Aws::String& value) { m_imageIdHasBeenSet = true; m_imageId = value; } 250 251 /** 252 * <p>The ID of the AMI that was used to launch the instance.</p> 253 */ SetImageId(Aws::String && value)254 inline void SetImageId(Aws::String&& value) { m_imageIdHasBeenSet = true; m_imageId = std::move(value); } 255 256 /** 257 * <p>The ID of the AMI that was used to launch the instance.</p> 258 */ SetImageId(const char * value)259 inline void SetImageId(const char* value) { m_imageIdHasBeenSet = true; m_imageId.assign(value); } 260 261 /** 262 * <p>The ID of the AMI that was used to launch the instance.</p> 263 */ WithImageId(const Aws::String & value)264 inline ResponseLaunchTemplateData& WithImageId(const Aws::String& value) { SetImageId(value); return *this;} 265 266 /** 267 * <p>The ID of the AMI that was used to launch the instance.</p> 268 */ WithImageId(Aws::String && value)269 inline ResponseLaunchTemplateData& WithImageId(Aws::String&& value) { SetImageId(std::move(value)); return *this;} 270 271 /** 272 * <p>The ID of the AMI that was used to launch the instance.</p> 273 */ WithImageId(const char * value)274 inline ResponseLaunchTemplateData& WithImageId(const char* value) { SetImageId(value); return *this;} 275 276 277 /** 278 * <p>The instance type.</p> 279 */ GetInstanceType()280 inline const InstanceType& GetInstanceType() const{ return m_instanceType; } 281 282 /** 283 * <p>The instance type.</p> 284 */ InstanceTypeHasBeenSet()285 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; } 286 287 /** 288 * <p>The instance type.</p> 289 */ SetInstanceType(const InstanceType & value)290 inline void SetInstanceType(const InstanceType& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; } 291 292 /** 293 * <p>The instance type.</p> 294 */ SetInstanceType(InstanceType && value)295 inline void SetInstanceType(InstanceType&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::move(value); } 296 297 /** 298 * <p>The instance type.</p> 299 */ WithInstanceType(const InstanceType & value)300 inline ResponseLaunchTemplateData& WithInstanceType(const InstanceType& value) { SetInstanceType(value); return *this;} 301 302 /** 303 * <p>The instance type.</p> 304 */ WithInstanceType(InstanceType && value)305 inline ResponseLaunchTemplateData& WithInstanceType(InstanceType&& value) { SetInstanceType(std::move(value)); return *this;} 306 307 308 /** 309 * <p>The name of the key pair.</p> 310 */ GetKeyName()311 inline const Aws::String& GetKeyName() const{ return m_keyName; } 312 313 /** 314 * <p>The name of the key pair.</p> 315 */ KeyNameHasBeenSet()316 inline bool KeyNameHasBeenSet() const { return m_keyNameHasBeenSet; } 317 318 /** 319 * <p>The name of the key pair.</p> 320 */ SetKeyName(const Aws::String & value)321 inline void SetKeyName(const Aws::String& value) { m_keyNameHasBeenSet = true; m_keyName = value; } 322 323 /** 324 * <p>The name of the key pair.</p> 325 */ SetKeyName(Aws::String && value)326 inline void SetKeyName(Aws::String&& value) { m_keyNameHasBeenSet = true; m_keyName = std::move(value); } 327 328 /** 329 * <p>The name of the key pair.</p> 330 */ SetKeyName(const char * value)331 inline void SetKeyName(const char* value) { m_keyNameHasBeenSet = true; m_keyName.assign(value); } 332 333 /** 334 * <p>The name of the key pair.</p> 335 */ WithKeyName(const Aws::String & value)336 inline ResponseLaunchTemplateData& WithKeyName(const Aws::String& value) { SetKeyName(value); return *this;} 337 338 /** 339 * <p>The name of the key pair.</p> 340 */ WithKeyName(Aws::String && value)341 inline ResponseLaunchTemplateData& WithKeyName(Aws::String&& value) { SetKeyName(std::move(value)); return *this;} 342 343 /** 344 * <p>The name of the key pair.</p> 345 */ WithKeyName(const char * value)346 inline ResponseLaunchTemplateData& WithKeyName(const char* value) { SetKeyName(value); return *this;} 347 348 349 /** 350 * <p>The monitoring for the instance.</p> 351 */ GetMonitoring()352 inline const LaunchTemplatesMonitoring& GetMonitoring() const{ return m_monitoring; } 353 354 /** 355 * <p>The monitoring for the instance.</p> 356 */ MonitoringHasBeenSet()357 inline bool MonitoringHasBeenSet() const { return m_monitoringHasBeenSet; } 358 359 /** 360 * <p>The monitoring for the instance.</p> 361 */ SetMonitoring(const LaunchTemplatesMonitoring & value)362 inline void SetMonitoring(const LaunchTemplatesMonitoring& value) { m_monitoringHasBeenSet = true; m_monitoring = value; } 363 364 /** 365 * <p>The monitoring for the instance.</p> 366 */ SetMonitoring(LaunchTemplatesMonitoring && value)367 inline void SetMonitoring(LaunchTemplatesMonitoring&& value) { m_monitoringHasBeenSet = true; m_monitoring = std::move(value); } 368 369 /** 370 * <p>The monitoring for the instance.</p> 371 */ WithMonitoring(const LaunchTemplatesMonitoring & value)372 inline ResponseLaunchTemplateData& WithMonitoring(const LaunchTemplatesMonitoring& value) { SetMonitoring(value); return *this;} 373 374 /** 375 * <p>The monitoring for the instance.</p> 376 */ WithMonitoring(LaunchTemplatesMonitoring && value)377 inline ResponseLaunchTemplateData& WithMonitoring(LaunchTemplatesMonitoring&& value) { SetMonitoring(std::move(value)); return *this;} 378 379 380 /** 381 * <p>The placement of the instance.</p> 382 */ GetPlacement()383 inline const LaunchTemplatePlacement& GetPlacement() const{ return m_placement; } 384 385 /** 386 * <p>The placement of the instance.</p> 387 */ PlacementHasBeenSet()388 inline bool PlacementHasBeenSet() const { return m_placementHasBeenSet; } 389 390 /** 391 * <p>The placement of the instance.</p> 392 */ SetPlacement(const LaunchTemplatePlacement & value)393 inline void SetPlacement(const LaunchTemplatePlacement& value) { m_placementHasBeenSet = true; m_placement = value; } 394 395 /** 396 * <p>The placement of the instance.</p> 397 */ SetPlacement(LaunchTemplatePlacement && value)398 inline void SetPlacement(LaunchTemplatePlacement&& value) { m_placementHasBeenSet = true; m_placement = std::move(value); } 399 400 /** 401 * <p>The placement of the instance.</p> 402 */ WithPlacement(const LaunchTemplatePlacement & value)403 inline ResponseLaunchTemplateData& WithPlacement(const LaunchTemplatePlacement& value) { SetPlacement(value); return *this;} 404 405 /** 406 * <p>The placement of the instance.</p> 407 */ WithPlacement(LaunchTemplatePlacement && value)408 inline ResponseLaunchTemplateData& WithPlacement(LaunchTemplatePlacement&& value) { SetPlacement(std::move(value)); return *this;} 409 410 411 /** 412 * <p>The ID of the RAM disk, if applicable.</p> 413 */ GetRamDiskId()414 inline const Aws::String& GetRamDiskId() const{ return m_ramDiskId; } 415 416 /** 417 * <p>The ID of the RAM disk, if applicable.</p> 418 */ RamDiskIdHasBeenSet()419 inline bool RamDiskIdHasBeenSet() const { return m_ramDiskIdHasBeenSet; } 420 421 /** 422 * <p>The ID of the RAM disk, if applicable.</p> 423 */ SetRamDiskId(const Aws::String & value)424 inline void SetRamDiskId(const Aws::String& value) { m_ramDiskIdHasBeenSet = true; m_ramDiskId = value; } 425 426 /** 427 * <p>The ID of the RAM disk, if applicable.</p> 428 */ SetRamDiskId(Aws::String && value)429 inline void SetRamDiskId(Aws::String&& value) { m_ramDiskIdHasBeenSet = true; m_ramDiskId = std::move(value); } 430 431 /** 432 * <p>The ID of the RAM disk, if applicable.</p> 433 */ SetRamDiskId(const char * value)434 inline void SetRamDiskId(const char* value) { m_ramDiskIdHasBeenSet = true; m_ramDiskId.assign(value); } 435 436 /** 437 * <p>The ID of the RAM disk, if applicable.</p> 438 */ WithRamDiskId(const Aws::String & value)439 inline ResponseLaunchTemplateData& WithRamDiskId(const Aws::String& value) { SetRamDiskId(value); return *this;} 440 441 /** 442 * <p>The ID of the RAM disk, if applicable.</p> 443 */ WithRamDiskId(Aws::String && value)444 inline ResponseLaunchTemplateData& WithRamDiskId(Aws::String&& value) { SetRamDiskId(std::move(value)); return *this;} 445 446 /** 447 * <p>The ID of the RAM disk, if applicable.</p> 448 */ WithRamDiskId(const char * value)449 inline ResponseLaunchTemplateData& WithRamDiskId(const char* value) { SetRamDiskId(value); return *this;} 450 451 452 /** 453 * <p>If set to <code>true</code>, indicates that the instance cannot be terminated 454 * using the Amazon EC2 console, command line tool, or API.</p> 455 */ GetDisableApiTermination()456 inline bool GetDisableApiTermination() const{ return m_disableApiTermination; } 457 458 /** 459 * <p>If set to <code>true</code>, indicates that the instance cannot be terminated 460 * using the Amazon EC2 console, command line tool, or API.</p> 461 */ DisableApiTerminationHasBeenSet()462 inline bool DisableApiTerminationHasBeenSet() const { return m_disableApiTerminationHasBeenSet; } 463 464 /** 465 * <p>If set to <code>true</code>, indicates that the instance cannot be terminated 466 * using the Amazon EC2 console, command line tool, or API.</p> 467 */ SetDisableApiTermination(bool value)468 inline void SetDisableApiTermination(bool value) { m_disableApiTerminationHasBeenSet = true; m_disableApiTermination = value; } 469 470 /** 471 * <p>If set to <code>true</code>, indicates that the instance cannot be terminated 472 * using the Amazon EC2 console, command line tool, or API.</p> 473 */ WithDisableApiTermination(bool value)474 inline ResponseLaunchTemplateData& WithDisableApiTermination(bool value) { SetDisableApiTermination(value); return *this;} 475 476 477 /** 478 * <p>Indicates whether an instance stops or terminates when you initiate shutdown 479 * from the instance (using the operating system command for system shutdown).</p> 480 */ GetInstanceInitiatedShutdownBehavior()481 inline const ShutdownBehavior& GetInstanceInitiatedShutdownBehavior() const{ return m_instanceInitiatedShutdownBehavior; } 482 483 /** 484 * <p>Indicates whether an instance stops or terminates when you initiate shutdown 485 * from the instance (using the operating system command for system shutdown).</p> 486 */ InstanceInitiatedShutdownBehaviorHasBeenSet()487 inline bool InstanceInitiatedShutdownBehaviorHasBeenSet() const { return m_instanceInitiatedShutdownBehaviorHasBeenSet; } 488 489 /** 490 * <p>Indicates whether an instance stops or terminates when you initiate shutdown 491 * from the instance (using the operating system command for system shutdown).</p> 492 */ SetInstanceInitiatedShutdownBehavior(const ShutdownBehavior & value)493 inline void SetInstanceInitiatedShutdownBehavior(const ShutdownBehavior& value) { m_instanceInitiatedShutdownBehaviorHasBeenSet = true; m_instanceInitiatedShutdownBehavior = value; } 494 495 /** 496 * <p>Indicates whether an instance stops or terminates when you initiate shutdown 497 * from the instance (using the operating system command for system shutdown).</p> 498 */ SetInstanceInitiatedShutdownBehavior(ShutdownBehavior && value)499 inline void SetInstanceInitiatedShutdownBehavior(ShutdownBehavior&& value) { m_instanceInitiatedShutdownBehaviorHasBeenSet = true; m_instanceInitiatedShutdownBehavior = std::move(value); } 500 501 /** 502 * <p>Indicates whether an instance stops or terminates when you initiate shutdown 503 * from the instance (using the operating system command for system shutdown).</p> 504 */ WithInstanceInitiatedShutdownBehavior(const ShutdownBehavior & value)505 inline ResponseLaunchTemplateData& WithInstanceInitiatedShutdownBehavior(const ShutdownBehavior& value) { SetInstanceInitiatedShutdownBehavior(value); return *this;} 506 507 /** 508 * <p>Indicates whether an instance stops or terminates when you initiate shutdown 509 * from the instance (using the operating system command for system shutdown).</p> 510 */ WithInstanceInitiatedShutdownBehavior(ShutdownBehavior && value)511 inline ResponseLaunchTemplateData& WithInstanceInitiatedShutdownBehavior(ShutdownBehavior&& value) { SetInstanceInitiatedShutdownBehavior(std::move(value)); return *this;} 512 513 514 /** 515 * <p>The user data for the instance. </p> 516 */ GetUserData()517 inline const Aws::String& GetUserData() const{ return m_userData; } 518 519 /** 520 * <p>The user data for the instance. </p> 521 */ UserDataHasBeenSet()522 inline bool UserDataHasBeenSet() const { return m_userDataHasBeenSet; } 523 524 /** 525 * <p>The user data for the instance. </p> 526 */ SetUserData(const Aws::String & value)527 inline void SetUserData(const Aws::String& value) { m_userDataHasBeenSet = true; m_userData = value; } 528 529 /** 530 * <p>The user data for the instance. </p> 531 */ SetUserData(Aws::String && value)532 inline void SetUserData(Aws::String&& value) { m_userDataHasBeenSet = true; m_userData = std::move(value); } 533 534 /** 535 * <p>The user data for the instance. </p> 536 */ SetUserData(const char * value)537 inline void SetUserData(const char* value) { m_userDataHasBeenSet = true; m_userData.assign(value); } 538 539 /** 540 * <p>The user data for the instance. </p> 541 */ WithUserData(const Aws::String & value)542 inline ResponseLaunchTemplateData& WithUserData(const Aws::String& value) { SetUserData(value); return *this;} 543 544 /** 545 * <p>The user data for the instance. </p> 546 */ WithUserData(Aws::String && value)547 inline ResponseLaunchTemplateData& WithUserData(Aws::String&& value) { SetUserData(std::move(value)); return *this;} 548 549 /** 550 * <p>The user data for the instance. </p> 551 */ WithUserData(const char * value)552 inline ResponseLaunchTemplateData& WithUserData(const char* value) { SetUserData(value); return *this;} 553 554 555 /** 556 * <p>The tags.</p> 557 */ GetTagSpecifications()558 inline const Aws::Vector<LaunchTemplateTagSpecification>& GetTagSpecifications() const{ return m_tagSpecifications; } 559 560 /** 561 * <p>The tags.</p> 562 */ TagSpecificationsHasBeenSet()563 inline bool TagSpecificationsHasBeenSet() const { return m_tagSpecificationsHasBeenSet; } 564 565 /** 566 * <p>The tags.</p> 567 */ SetTagSpecifications(const Aws::Vector<LaunchTemplateTagSpecification> & value)568 inline void SetTagSpecifications(const Aws::Vector<LaunchTemplateTagSpecification>& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications = value; } 569 570 /** 571 * <p>The tags.</p> 572 */ SetTagSpecifications(Aws::Vector<LaunchTemplateTagSpecification> && value)573 inline void SetTagSpecifications(Aws::Vector<LaunchTemplateTagSpecification>&& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications = std::move(value); } 574 575 /** 576 * <p>The tags.</p> 577 */ WithTagSpecifications(const Aws::Vector<LaunchTemplateTagSpecification> & value)578 inline ResponseLaunchTemplateData& WithTagSpecifications(const Aws::Vector<LaunchTemplateTagSpecification>& value) { SetTagSpecifications(value); return *this;} 579 580 /** 581 * <p>The tags.</p> 582 */ WithTagSpecifications(Aws::Vector<LaunchTemplateTagSpecification> && value)583 inline ResponseLaunchTemplateData& WithTagSpecifications(Aws::Vector<LaunchTemplateTagSpecification>&& value) { SetTagSpecifications(std::move(value)); return *this;} 584 585 /** 586 * <p>The tags.</p> 587 */ AddTagSpecifications(const LaunchTemplateTagSpecification & value)588 inline ResponseLaunchTemplateData& AddTagSpecifications(const LaunchTemplateTagSpecification& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications.push_back(value); return *this; } 589 590 /** 591 * <p>The tags.</p> 592 */ AddTagSpecifications(LaunchTemplateTagSpecification && value)593 inline ResponseLaunchTemplateData& AddTagSpecifications(LaunchTemplateTagSpecification&& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications.push_back(std::move(value)); return *this; } 594 595 596 /** 597 * <p>The elastic GPU specification.</p> 598 */ GetElasticGpuSpecifications()599 inline const Aws::Vector<ElasticGpuSpecificationResponse>& GetElasticGpuSpecifications() const{ return m_elasticGpuSpecifications; } 600 601 /** 602 * <p>The elastic GPU specification.</p> 603 */ ElasticGpuSpecificationsHasBeenSet()604 inline bool ElasticGpuSpecificationsHasBeenSet() const { return m_elasticGpuSpecificationsHasBeenSet; } 605 606 /** 607 * <p>The elastic GPU specification.</p> 608 */ SetElasticGpuSpecifications(const Aws::Vector<ElasticGpuSpecificationResponse> & value)609 inline void SetElasticGpuSpecifications(const Aws::Vector<ElasticGpuSpecificationResponse>& value) { m_elasticGpuSpecificationsHasBeenSet = true; m_elasticGpuSpecifications = value; } 610 611 /** 612 * <p>The elastic GPU specification.</p> 613 */ SetElasticGpuSpecifications(Aws::Vector<ElasticGpuSpecificationResponse> && value)614 inline void SetElasticGpuSpecifications(Aws::Vector<ElasticGpuSpecificationResponse>&& value) { m_elasticGpuSpecificationsHasBeenSet = true; m_elasticGpuSpecifications = std::move(value); } 615 616 /** 617 * <p>The elastic GPU specification.</p> 618 */ WithElasticGpuSpecifications(const Aws::Vector<ElasticGpuSpecificationResponse> & value)619 inline ResponseLaunchTemplateData& WithElasticGpuSpecifications(const Aws::Vector<ElasticGpuSpecificationResponse>& value) { SetElasticGpuSpecifications(value); return *this;} 620 621 /** 622 * <p>The elastic GPU specification.</p> 623 */ WithElasticGpuSpecifications(Aws::Vector<ElasticGpuSpecificationResponse> && value)624 inline ResponseLaunchTemplateData& WithElasticGpuSpecifications(Aws::Vector<ElasticGpuSpecificationResponse>&& value) { SetElasticGpuSpecifications(std::move(value)); return *this;} 625 626 /** 627 * <p>The elastic GPU specification.</p> 628 */ AddElasticGpuSpecifications(const ElasticGpuSpecificationResponse & value)629 inline ResponseLaunchTemplateData& AddElasticGpuSpecifications(const ElasticGpuSpecificationResponse& value) { m_elasticGpuSpecificationsHasBeenSet = true; m_elasticGpuSpecifications.push_back(value); return *this; } 630 631 /** 632 * <p>The elastic GPU specification.</p> 633 */ AddElasticGpuSpecifications(ElasticGpuSpecificationResponse && value)634 inline ResponseLaunchTemplateData& AddElasticGpuSpecifications(ElasticGpuSpecificationResponse&& value) { m_elasticGpuSpecificationsHasBeenSet = true; m_elasticGpuSpecifications.push_back(std::move(value)); return *this; } 635 636 637 /** 638 * <p> The elastic inference accelerator for the instance. </p> 639 */ GetElasticInferenceAccelerators()640 inline const Aws::Vector<LaunchTemplateElasticInferenceAcceleratorResponse>& GetElasticInferenceAccelerators() const{ return m_elasticInferenceAccelerators; } 641 642 /** 643 * <p> The elastic inference accelerator for the instance. </p> 644 */ ElasticInferenceAcceleratorsHasBeenSet()645 inline bool ElasticInferenceAcceleratorsHasBeenSet() const { return m_elasticInferenceAcceleratorsHasBeenSet; } 646 647 /** 648 * <p> The elastic inference accelerator for the instance. </p> 649 */ SetElasticInferenceAccelerators(const Aws::Vector<LaunchTemplateElasticInferenceAcceleratorResponse> & value)650 inline void SetElasticInferenceAccelerators(const Aws::Vector<LaunchTemplateElasticInferenceAcceleratorResponse>& value) { m_elasticInferenceAcceleratorsHasBeenSet = true; m_elasticInferenceAccelerators = value; } 651 652 /** 653 * <p> The elastic inference accelerator for the instance. </p> 654 */ SetElasticInferenceAccelerators(Aws::Vector<LaunchTemplateElasticInferenceAcceleratorResponse> && value)655 inline void SetElasticInferenceAccelerators(Aws::Vector<LaunchTemplateElasticInferenceAcceleratorResponse>&& value) { m_elasticInferenceAcceleratorsHasBeenSet = true; m_elasticInferenceAccelerators = std::move(value); } 656 657 /** 658 * <p> The elastic inference accelerator for the instance. </p> 659 */ WithElasticInferenceAccelerators(const Aws::Vector<LaunchTemplateElasticInferenceAcceleratorResponse> & value)660 inline ResponseLaunchTemplateData& WithElasticInferenceAccelerators(const Aws::Vector<LaunchTemplateElasticInferenceAcceleratorResponse>& value) { SetElasticInferenceAccelerators(value); return *this;} 661 662 /** 663 * <p> The elastic inference accelerator for the instance. </p> 664 */ WithElasticInferenceAccelerators(Aws::Vector<LaunchTemplateElasticInferenceAcceleratorResponse> && value)665 inline ResponseLaunchTemplateData& WithElasticInferenceAccelerators(Aws::Vector<LaunchTemplateElasticInferenceAcceleratorResponse>&& value) { SetElasticInferenceAccelerators(std::move(value)); return *this;} 666 667 /** 668 * <p> The elastic inference accelerator for the instance. </p> 669 */ AddElasticInferenceAccelerators(const LaunchTemplateElasticInferenceAcceleratorResponse & value)670 inline ResponseLaunchTemplateData& AddElasticInferenceAccelerators(const LaunchTemplateElasticInferenceAcceleratorResponse& value) { m_elasticInferenceAcceleratorsHasBeenSet = true; m_elasticInferenceAccelerators.push_back(value); return *this; } 671 672 /** 673 * <p> The elastic inference accelerator for the instance. </p> 674 */ AddElasticInferenceAccelerators(LaunchTemplateElasticInferenceAcceleratorResponse && value)675 inline ResponseLaunchTemplateData& AddElasticInferenceAccelerators(LaunchTemplateElasticInferenceAcceleratorResponse&& value) { m_elasticInferenceAcceleratorsHasBeenSet = true; m_elasticInferenceAccelerators.push_back(std::move(value)); return *this; } 676 677 678 /** 679 * <p>The security group IDs.</p> 680 */ GetSecurityGroupIds()681 inline const Aws::Vector<Aws::String>& GetSecurityGroupIds() const{ return m_securityGroupIds; } 682 683 /** 684 * <p>The security group IDs.</p> 685 */ SecurityGroupIdsHasBeenSet()686 inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; } 687 688 /** 689 * <p>The security group IDs.</p> 690 */ SetSecurityGroupIds(const Aws::Vector<Aws::String> & value)691 inline void SetSecurityGroupIds(const Aws::Vector<Aws::String>& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds = value; } 692 693 /** 694 * <p>The security group IDs.</p> 695 */ SetSecurityGroupIds(Aws::Vector<Aws::String> && value)696 inline void SetSecurityGroupIds(Aws::Vector<Aws::String>&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds = std::move(value); } 697 698 /** 699 * <p>The security group IDs.</p> 700 */ WithSecurityGroupIds(const Aws::Vector<Aws::String> & value)701 inline ResponseLaunchTemplateData& WithSecurityGroupIds(const Aws::Vector<Aws::String>& value) { SetSecurityGroupIds(value); return *this;} 702 703 /** 704 * <p>The security group IDs.</p> 705 */ WithSecurityGroupIds(Aws::Vector<Aws::String> && value)706 inline ResponseLaunchTemplateData& WithSecurityGroupIds(Aws::Vector<Aws::String>&& value) { SetSecurityGroupIds(std::move(value)); return *this;} 707 708 /** 709 * <p>The security group IDs.</p> 710 */ AddSecurityGroupIds(const Aws::String & value)711 inline ResponseLaunchTemplateData& AddSecurityGroupIds(const Aws::String& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(value); return *this; } 712 713 /** 714 * <p>The security group IDs.</p> 715 */ AddSecurityGroupIds(Aws::String && value)716 inline ResponseLaunchTemplateData& AddSecurityGroupIds(Aws::String&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(std::move(value)); return *this; } 717 718 /** 719 * <p>The security group IDs.</p> 720 */ AddSecurityGroupIds(const char * value)721 inline ResponseLaunchTemplateData& AddSecurityGroupIds(const char* value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(value); return *this; } 722 723 724 /** 725 * <p>The security group names.</p> 726 */ GetSecurityGroups()727 inline const Aws::Vector<Aws::String>& GetSecurityGroups() const{ return m_securityGroups; } 728 729 /** 730 * <p>The security group names.</p> 731 */ SecurityGroupsHasBeenSet()732 inline bool SecurityGroupsHasBeenSet() const { return m_securityGroupsHasBeenSet; } 733 734 /** 735 * <p>The security group names.</p> 736 */ SetSecurityGroups(const Aws::Vector<Aws::String> & value)737 inline void SetSecurityGroups(const Aws::Vector<Aws::String>& value) { m_securityGroupsHasBeenSet = true; m_securityGroups = value; } 738 739 /** 740 * <p>The security group names.</p> 741 */ SetSecurityGroups(Aws::Vector<Aws::String> && value)742 inline void SetSecurityGroups(Aws::Vector<Aws::String>&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups = std::move(value); } 743 744 /** 745 * <p>The security group names.</p> 746 */ WithSecurityGroups(const Aws::Vector<Aws::String> & value)747 inline ResponseLaunchTemplateData& WithSecurityGroups(const Aws::Vector<Aws::String>& value) { SetSecurityGroups(value); return *this;} 748 749 /** 750 * <p>The security group names.</p> 751 */ WithSecurityGroups(Aws::Vector<Aws::String> && value)752 inline ResponseLaunchTemplateData& WithSecurityGroups(Aws::Vector<Aws::String>&& value) { SetSecurityGroups(std::move(value)); return *this;} 753 754 /** 755 * <p>The security group names.</p> 756 */ AddSecurityGroups(const Aws::String & value)757 inline ResponseLaunchTemplateData& AddSecurityGroups(const Aws::String& value) { m_securityGroupsHasBeenSet = true; m_securityGroups.push_back(value); return *this; } 758 759 /** 760 * <p>The security group names.</p> 761 */ AddSecurityGroups(Aws::String && value)762 inline ResponseLaunchTemplateData& AddSecurityGroups(Aws::String&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups.push_back(std::move(value)); return *this; } 763 764 /** 765 * <p>The security group names.</p> 766 */ AddSecurityGroups(const char * value)767 inline ResponseLaunchTemplateData& AddSecurityGroups(const char* value) { m_securityGroupsHasBeenSet = true; m_securityGroups.push_back(value); return *this; } 768 769 770 /** 771 * <p>The market (purchasing) option for the instances.</p> 772 */ GetInstanceMarketOptions()773 inline const LaunchTemplateInstanceMarketOptions& GetInstanceMarketOptions() const{ return m_instanceMarketOptions; } 774 775 /** 776 * <p>The market (purchasing) option for the instances.</p> 777 */ InstanceMarketOptionsHasBeenSet()778 inline bool InstanceMarketOptionsHasBeenSet() const { return m_instanceMarketOptionsHasBeenSet; } 779 780 /** 781 * <p>The market (purchasing) option for the instances.</p> 782 */ SetInstanceMarketOptions(const LaunchTemplateInstanceMarketOptions & value)783 inline void SetInstanceMarketOptions(const LaunchTemplateInstanceMarketOptions& value) { m_instanceMarketOptionsHasBeenSet = true; m_instanceMarketOptions = value; } 784 785 /** 786 * <p>The market (purchasing) option for the instances.</p> 787 */ SetInstanceMarketOptions(LaunchTemplateInstanceMarketOptions && value)788 inline void SetInstanceMarketOptions(LaunchTemplateInstanceMarketOptions&& value) { m_instanceMarketOptionsHasBeenSet = true; m_instanceMarketOptions = std::move(value); } 789 790 /** 791 * <p>The market (purchasing) option for the instances.</p> 792 */ WithInstanceMarketOptions(const LaunchTemplateInstanceMarketOptions & value)793 inline ResponseLaunchTemplateData& WithInstanceMarketOptions(const LaunchTemplateInstanceMarketOptions& value) { SetInstanceMarketOptions(value); return *this;} 794 795 /** 796 * <p>The market (purchasing) option for the instances.</p> 797 */ WithInstanceMarketOptions(LaunchTemplateInstanceMarketOptions && value)798 inline ResponseLaunchTemplateData& WithInstanceMarketOptions(LaunchTemplateInstanceMarketOptions&& value) { SetInstanceMarketOptions(std::move(value)); return *this;} 799 800 801 /** 802 * <p>The credit option for CPU usage of the instance.</p> 803 */ GetCreditSpecification()804 inline const CreditSpecification& GetCreditSpecification() const{ return m_creditSpecification; } 805 806 /** 807 * <p>The credit option for CPU usage of the instance.</p> 808 */ CreditSpecificationHasBeenSet()809 inline bool CreditSpecificationHasBeenSet() const { return m_creditSpecificationHasBeenSet; } 810 811 /** 812 * <p>The credit option for CPU usage of the instance.</p> 813 */ SetCreditSpecification(const CreditSpecification & value)814 inline void SetCreditSpecification(const CreditSpecification& value) { m_creditSpecificationHasBeenSet = true; m_creditSpecification = value; } 815 816 /** 817 * <p>The credit option for CPU usage of the instance.</p> 818 */ SetCreditSpecification(CreditSpecification && value)819 inline void SetCreditSpecification(CreditSpecification&& value) { m_creditSpecificationHasBeenSet = true; m_creditSpecification = std::move(value); } 820 821 /** 822 * <p>The credit option for CPU usage of the instance.</p> 823 */ WithCreditSpecification(const CreditSpecification & value)824 inline ResponseLaunchTemplateData& WithCreditSpecification(const CreditSpecification& value) { SetCreditSpecification(value); return *this;} 825 826 /** 827 * <p>The credit option for CPU usage of the instance.</p> 828 */ WithCreditSpecification(CreditSpecification && value)829 inline ResponseLaunchTemplateData& WithCreditSpecification(CreditSpecification&& value) { SetCreditSpecification(std::move(value)); return *this;} 830 831 832 /** 833 * <p>The CPU options for the instance. For more information, see <a 834 * href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html">Optimizing 835 * CPU options</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> 836 */ GetCpuOptions()837 inline const LaunchTemplateCpuOptions& GetCpuOptions() const{ return m_cpuOptions; } 838 839 /** 840 * <p>The CPU options for the instance. For more information, see <a 841 * href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html">Optimizing 842 * CPU options</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> 843 */ CpuOptionsHasBeenSet()844 inline bool CpuOptionsHasBeenSet() const { return m_cpuOptionsHasBeenSet; } 845 846 /** 847 * <p>The CPU options for the instance. For more information, see <a 848 * href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html">Optimizing 849 * CPU options</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> 850 */ SetCpuOptions(const LaunchTemplateCpuOptions & value)851 inline void SetCpuOptions(const LaunchTemplateCpuOptions& value) { m_cpuOptionsHasBeenSet = true; m_cpuOptions = value; } 852 853 /** 854 * <p>The CPU options for the instance. For more information, see <a 855 * href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html">Optimizing 856 * CPU options</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> 857 */ SetCpuOptions(LaunchTemplateCpuOptions && value)858 inline void SetCpuOptions(LaunchTemplateCpuOptions&& value) { m_cpuOptionsHasBeenSet = true; m_cpuOptions = std::move(value); } 859 860 /** 861 * <p>The CPU options for the instance. For more information, see <a 862 * href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html">Optimizing 863 * CPU options</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> 864 */ WithCpuOptions(const LaunchTemplateCpuOptions & value)865 inline ResponseLaunchTemplateData& WithCpuOptions(const LaunchTemplateCpuOptions& value) { SetCpuOptions(value); return *this;} 866 867 /** 868 * <p>The CPU options for the instance. For more information, see <a 869 * href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html">Optimizing 870 * CPU options</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> 871 */ WithCpuOptions(LaunchTemplateCpuOptions && value)872 inline ResponseLaunchTemplateData& WithCpuOptions(LaunchTemplateCpuOptions&& value) { SetCpuOptions(std::move(value)); return *this;} 873 874 875 /** 876 * <p>Information about the Capacity Reservation targeting option.</p> 877 */ GetCapacityReservationSpecification()878 inline const LaunchTemplateCapacityReservationSpecificationResponse& GetCapacityReservationSpecification() const{ return m_capacityReservationSpecification; } 879 880 /** 881 * <p>Information about the Capacity Reservation targeting option.</p> 882 */ CapacityReservationSpecificationHasBeenSet()883 inline bool CapacityReservationSpecificationHasBeenSet() const { return m_capacityReservationSpecificationHasBeenSet; } 884 885 /** 886 * <p>Information about the Capacity Reservation targeting option.</p> 887 */ SetCapacityReservationSpecification(const LaunchTemplateCapacityReservationSpecificationResponse & value)888 inline void SetCapacityReservationSpecification(const LaunchTemplateCapacityReservationSpecificationResponse& value) { m_capacityReservationSpecificationHasBeenSet = true; m_capacityReservationSpecification = value; } 889 890 /** 891 * <p>Information about the Capacity Reservation targeting option.</p> 892 */ SetCapacityReservationSpecification(LaunchTemplateCapacityReservationSpecificationResponse && value)893 inline void SetCapacityReservationSpecification(LaunchTemplateCapacityReservationSpecificationResponse&& value) { m_capacityReservationSpecificationHasBeenSet = true; m_capacityReservationSpecification = std::move(value); } 894 895 /** 896 * <p>Information about the Capacity Reservation targeting option.</p> 897 */ WithCapacityReservationSpecification(const LaunchTemplateCapacityReservationSpecificationResponse & value)898 inline ResponseLaunchTemplateData& WithCapacityReservationSpecification(const LaunchTemplateCapacityReservationSpecificationResponse& value) { SetCapacityReservationSpecification(value); return *this;} 899 900 /** 901 * <p>Information about the Capacity Reservation targeting option.</p> 902 */ WithCapacityReservationSpecification(LaunchTemplateCapacityReservationSpecificationResponse && value)903 inline ResponseLaunchTemplateData& WithCapacityReservationSpecification(LaunchTemplateCapacityReservationSpecificationResponse&& value) { SetCapacityReservationSpecification(std::move(value)); return *this;} 904 905 906 /** 907 * <p>The license configurations.</p> 908 */ GetLicenseSpecifications()909 inline const Aws::Vector<LaunchTemplateLicenseConfiguration>& GetLicenseSpecifications() const{ return m_licenseSpecifications; } 910 911 /** 912 * <p>The license configurations.</p> 913 */ LicenseSpecificationsHasBeenSet()914 inline bool LicenseSpecificationsHasBeenSet() const { return m_licenseSpecificationsHasBeenSet; } 915 916 /** 917 * <p>The license configurations.</p> 918 */ SetLicenseSpecifications(const Aws::Vector<LaunchTemplateLicenseConfiguration> & value)919 inline void SetLicenseSpecifications(const Aws::Vector<LaunchTemplateLicenseConfiguration>& value) { m_licenseSpecificationsHasBeenSet = true; m_licenseSpecifications = value; } 920 921 /** 922 * <p>The license configurations.</p> 923 */ SetLicenseSpecifications(Aws::Vector<LaunchTemplateLicenseConfiguration> && value)924 inline void SetLicenseSpecifications(Aws::Vector<LaunchTemplateLicenseConfiguration>&& value) { m_licenseSpecificationsHasBeenSet = true; m_licenseSpecifications = std::move(value); } 925 926 /** 927 * <p>The license configurations.</p> 928 */ WithLicenseSpecifications(const Aws::Vector<LaunchTemplateLicenseConfiguration> & value)929 inline ResponseLaunchTemplateData& WithLicenseSpecifications(const Aws::Vector<LaunchTemplateLicenseConfiguration>& value) { SetLicenseSpecifications(value); return *this;} 930 931 /** 932 * <p>The license configurations.</p> 933 */ WithLicenseSpecifications(Aws::Vector<LaunchTemplateLicenseConfiguration> && value)934 inline ResponseLaunchTemplateData& WithLicenseSpecifications(Aws::Vector<LaunchTemplateLicenseConfiguration>&& value) { SetLicenseSpecifications(std::move(value)); return *this;} 935 936 /** 937 * <p>The license configurations.</p> 938 */ AddLicenseSpecifications(const LaunchTemplateLicenseConfiguration & value)939 inline ResponseLaunchTemplateData& AddLicenseSpecifications(const LaunchTemplateLicenseConfiguration& value) { m_licenseSpecificationsHasBeenSet = true; m_licenseSpecifications.push_back(value); return *this; } 940 941 /** 942 * <p>The license configurations.</p> 943 */ AddLicenseSpecifications(LaunchTemplateLicenseConfiguration && value)944 inline ResponseLaunchTemplateData& AddLicenseSpecifications(LaunchTemplateLicenseConfiguration&& value) { m_licenseSpecificationsHasBeenSet = true; m_licenseSpecifications.push_back(std::move(value)); return *this; } 945 946 947 /** 948 * <p>Indicates whether an instance is configured for hibernation. For more 949 * information, see <a 950 * href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html">Hibernate 951 * your instance</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> 952 */ GetHibernationOptions()953 inline const LaunchTemplateHibernationOptions& GetHibernationOptions() const{ return m_hibernationOptions; } 954 955 /** 956 * <p>Indicates whether an instance is configured for hibernation. For more 957 * information, see <a 958 * href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html">Hibernate 959 * your instance</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> 960 */ HibernationOptionsHasBeenSet()961 inline bool HibernationOptionsHasBeenSet() const { return m_hibernationOptionsHasBeenSet; } 962 963 /** 964 * <p>Indicates whether an instance is configured for hibernation. For more 965 * information, see <a 966 * href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html">Hibernate 967 * your instance</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> 968 */ SetHibernationOptions(const LaunchTemplateHibernationOptions & value)969 inline void SetHibernationOptions(const LaunchTemplateHibernationOptions& value) { m_hibernationOptionsHasBeenSet = true; m_hibernationOptions = value; } 970 971 /** 972 * <p>Indicates whether an instance is configured for hibernation. For more 973 * information, see <a 974 * href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html">Hibernate 975 * your instance</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> 976 */ SetHibernationOptions(LaunchTemplateHibernationOptions && value)977 inline void SetHibernationOptions(LaunchTemplateHibernationOptions&& value) { m_hibernationOptionsHasBeenSet = true; m_hibernationOptions = std::move(value); } 978 979 /** 980 * <p>Indicates whether an instance is configured for hibernation. For more 981 * information, see <a 982 * href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html">Hibernate 983 * your instance</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> 984 */ WithHibernationOptions(const LaunchTemplateHibernationOptions & value)985 inline ResponseLaunchTemplateData& WithHibernationOptions(const LaunchTemplateHibernationOptions& value) { SetHibernationOptions(value); return *this;} 986 987 /** 988 * <p>Indicates whether an instance is configured for hibernation. For more 989 * information, see <a 990 * href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html">Hibernate 991 * your instance</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p> 992 */ WithHibernationOptions(LaunchTemplateHibernationOptions && value)993 inline ResponseLaunchTemplateData& WithHibernationOptions(LaunchTemplateHibernationOptions&& value) { SetHibernationOptions(std::move(value)); return *this;} 994 995 996 /** 997 * <p>The metadata options for the instance. For more information, see <a 998 * href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html">Instance 999 * metadata and user data</a> in the <i>Amazon Elastic Compute Cloud User 1000 * Guide</i>.</p> 1001 */ GetMetadataOptions()1002 inline const LaunchTemplateInstanceMetadataOptions& GetMetadataOptions() const{ return m_metadataOptions; } 1003 1004 /** 1005 * <p>The metadata options for the instance. For more information, see <a 1006 * href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html">Instance 1007 * metadata and user data</a> in the <i>Amazon Elastic Compute Cloud User 1008 * Guide</i>.</p> 1009 */ MetadataOptionsHasBeenSet()1010 inline bool MetadataOptionsHasBeenSet() const { return m_metadataOptionsHasBeenSet; } 1011 1012 /** 1013 * <p>The metadata options for the instance. For more information, see <a 1014 * href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html">Instance 1015 * metadata and user data</a> in the <i>Amazon Elastic Compute Cloud User 1016 * Guide</i>.</p> 1017 */ SetMetadataOptions(const LaunchTemplateInstanceMetadataOptions & value)1018 inline void SetMetadataOptions(const LaunchTemplateInstanceMetadataOptions& value) { m_metadataOptionsHasBeenSet = true; m_metadataOptions = value; } 1019 1020 /** 1021 * <p>The metadata options for the instance. For more information, see <a 1022 * href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html">Instance 1023 * metadata and user data</a> in the <i>Amazon Elastic Compute Cloud User 1024 * Guide</i>.</p> 1025 */ SetMetadataOptions(LaunchTemplateInstanceMetadataOptions && value)1026 inline void SetMetadataOptions(LaunchTemplateInstanceMetadataOptions&& value) { m_metadataOptionsHasBeenSet = true; m_metadataOptions = std::move(value); } 1027 1028 /** 1029 * <p>The metadata options for the instance. For more information, see <a 1030 * href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html">Instance 1031 * metadata and user data</a> in the <i>Amazon Elastic Compute Cloud User 1032 * Guide</i>.</p> 1033 */ WithMetadataOptions(const LaunchTemplateInstanceMetadataOptions & value)1034 inline ResponseLaunchTemplateData& WithMetadataOptions(const LaunchTemplateInstanceMetadataOptions& value) { SetMetadataOptions(value); return *this;} 1035 1036 /** 1037 * <p>The metadata options for the instance. For more information, see <a 1038 * href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html">Instance 1039 * metadata and user data</a> in the <i>Amazon Elastic Compute Cloud User 1040 * Guide</i>.</p> 1041 */ WithMetadataOptions(LaunchTemplateInstanceMetadataOptions && value)1042 inline ResponseLaunchTemplateData& WithMetadataOptions(LaunchTemplateInstanceMetadataOptions&& value) { SetMetadataOptions(std::move(value)); return *this;} 1043 1044 1045 /** 1046 * <p>Indicates whether the instance is enabled for Amazon Web Services Nitro 1047 * Enclaves.</p> 1048 */ GetEnclaveOptions()1049 inline const LaunchTemplateEnclaveOptions& GetEnclaveOptions() const{ return m_enclaveOptions; } 1050 1051 /** 1052 * <p>Indicates whether the instance is enabled for Amazon Web Services Nitro 1053 * Enclaves.</p> 1054 */ EnclaveOptionsHasBeenSet()1055 inline bool EnclaveOptionsHasBeenSet() const { return m_enclaveOptionsHasBeenSet; } 1056 1057 /** 1058 * <p>Indicates whether the instance is enabled for Amazon Web Services Nitro 1059 * Enclaves.</p> 1060 */ SetEnclaveOptions(const LaunchTemplateEnclaveOptions & value)1061 inline void SetEnclaveOptions(const LaunchTemplateEnclaveOptions& value) { m_enclaveOptionsHasBeenSet = true; m_enclaveOptions = value; } 1062 1063 /** 1064 * <p>Indicates whether the instance is enabled for Amazon Web Services Nitro 1065 * Enclaves.</p> 1066 */ SetEnclaveOptions(LaunchTemplateEnclaveOptions && value)1067 inline void SetEnclaveOptions(LaunchTemplateEnclaveOptions&& value) { m_enclaveOptionsHasBeenSet = true; m_enclaveOptions = std::move(value); } 1068 1069 /** 1070 * <p>Indicates whether the instance is enabled for Amazon Web Services Nitro 1071 * Enclaves.</p> 1072 */ WithEnclaveOptions(const LaunchTemplateEnclaveOptions & value)1073 inline ResponseLaunchTemplateData& WithEnclaveOptions(const LaunchTemplateEnclaveOptions& value) { SetEnclaveOptions(value); return *this;} 1074 1075 /** 1076 * <p>Indicates whether the instance is enabled for Amazon Web Services Nitro 1077 * Enclaves.</p> 1078 */ WithEnclaveOptions(LaunchTemplateEnclaveOptions && value)1079 inline ResponseLaunchTemplateData& WithEnclaveOptions(LaunchTemplateEnclaveOptions&& value) { SetEnclaveOptions(std::move(value)); return *this;} 1080 1081 private: 1082 1083 Aws::String m_kernelId; 1084 bool m_kernelIdHasBeenSet; 1085 1086 bool m_ebsOptimized; 1087 bool m_ebsOptimizedHasBeenSet; 1088 1089 LaunchTemplateIamInstanceProfileSpecification m_iamInstanceProfile; 1090 bool m_iamInstanceProfileHasBeenSet; 1091 1092 Aws::Vector<LaunchTemplateBlockDeviceMapping> m_blockDeviceMappings; 1093 bool m_blockDeviceMappingsHasBeenSet; 1094 1095 Aws::Vector<LaunchTemplateInstanceNetworkInterfaceSpecification> m_networkInterfaces; 1096 bool m_networkInterfacesHasBeenSet; 1097 1098 Aws::String m_imageId; 1099 bool m_imageIdHasBeenSet; 1100 1101 InstanceType m_instanceType; 1102 bool m_instanceTypeHasBeenSet; 1103 1104 Aws::String m_keyName; 1105 bool m_keyNameHasBeenSet; 1106 1107 LaunchTemplatesMonitoring m_monitoring; 1108 bool m_monitoringHasBeenSet; 1109 1110 LaunchTemplatePlacement m_placement; 1111 bool m_placementHasBeenSet; 1112 1113 Aws::String m_ramDiskId; 1114 bool m_ramDiskIdHasBeenSet; 1115 1116 bool m_disableApiTermination; 1117 bool m_disableApiTerminationHasBeenSet; 1118 1119 ShutdownBehavior m_instanceInitiatedShutdownBehavior; 1120 bool m_instanceInitiatedShutdownBehaviorHasBeenSet; 1121 1122 Aws::String m_userData; 1123 bool m_userDataHasBeenSet; 1124 1125 Aws::Vector<LaunchTemplateTagSpecification> m_tagSpecifications; 1126 bool m_tagSpecificationsHasBeenSet; 1127 1128 Aws::Vector<ElasticGpuSpecificationResponse> m_elasticGpuSpecifications; 1129 bool m_elasticGpuSpecificationsHasBeenSet; 1130 1131 Aws::Vector<LaunchTemplateElasticInferenceAcceleratorResponse> m_elasticInferenceAccelerators; 1132 bool m_elasticInferenceAcceleratorsHasBeenSet; 1133 1134 Aws::Vector<Aws::String> m_securityGroupIds; 1135 bool m_securityGroupIdsHasBeenSet; 1136 1137 Aws::Vector<Aws::String> m_securityGroups; 1138 bool m_securityGroupsHasBeenSet; 1139 1140 LaunchTemplateInstanceMarketOptions m_instanceMarketOptions; 1141 bool m_instanceMarketOptionsHasBeenSet; 1142 1143 CreditSpecification m_creditSpecification; 1144 bool m_creditSpecificationHasBeenSet; 1145 1146 LaunchTemplateCpuOptions m_cpuOptions; 1147 bool m_cpuOptionsHasBeenSet; 1148 1149 LaunchTemplateCapacityReservationSpecificationResponse m_capacityReservationSpecification; 1150 bool m_capacityReservationSpecificationHasBeenSet; 1151 1152 Aws::Vector<LaunchTemplateLicenseConfiguration> m_licenseSpecifications; 1153 bool m_licenseSpecificationsHasBeenSet; 1154 1155 LaunchTemplateHibernationOptions m_hibernationOptions; 1156 bool m_hibernationOptionsHasBeenSet; 1157 1158 LaunchTemplateInstanceMetadataOptions m_metadataOptions; 1159 bool m_metadataOptionsHasBeenSet; 1160 1161 LaunchTemplateEnclaveOptions m_enclaveOptions; 1162 bool m_enclaveOptionsHasBeenSet; 1163 }; 1164 1165 } // namespace Model 1166 } // namespace EC2 1167 } // namespace Aws 1168