/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The information to include in an Amazon Elastic Compute Cloud (Amazon EC2)
* launch template. See Also:
AWS
* API Reference
Information about a block device mapping for an Amazon EC2 launch template. *
*/ inline const Aws::VectorInformation about a block device mapping for an Amazon EC2 launch template. *
*/ inline bool BlockDeviceMappingSetHasBeenSet() const { return m_blockDeviceMappingSetHasBeenSet; } /** *Information about a block device mapping for an Amazon EC2 launch template. *
*/ inline void SetBlockDeviceMappingSet(const Aws::VectorInformation about a block device mapping for an Amazon EC2 launch template. *
*/ inline void SetBlockDeviceMappingSet(Aws::VectorInformation about a block device mapping for an Amazon EC2 launch template. *
*/ inline AwsEc2LaunchTemplateDataDetails& WithBlockDeviceMappingSet(const Aws::VectorInformation about a block device mapping for an Amazon EC2 launch template. *
*/ inline AwsEc2LaunchTemplateDataDetails& WithBlockDeviceMappingSet(Aws::VectorInformation about a block device mapping for an Amazon EC2 launch template. *
*/ inline AwsEc2LaunchTemplateDataDetails& AddBlockDeviceMappingSet(const AwsEc2LaunchTemplateDataBlockDeviceMappingSetDetails& value) { m_blockDeviceMappingSetHasBeenSet = true; m_blockDeviceMappingSet.push_back(value); return *this; } /** *Information about a block device mapping for an Amazon EC2 launch template. *
*/ inline AwsEc2LaunchTemplateDataDetails& AddBlockDeviceMappingSet(AwsEc2LaunchTemplateDataBlockDeviceMappingSetDetails&& value) { m_blockDeviceMappingSetHasBeenSet = true; m_blockDeviceMappingSet.push_back(std::move(value)); return *this; } /** *Specifies an instance's Capacity Reservation targeting option. You can * specify only one option at a time.
*/ inline const AwsEc2LaunchTemplateDataCapacityReservationSpecificationDetails& GetCapacityReservationSpecification() const{ return m_capacityReservationSpecification; } /** *Specifies an instance's Capacity Reservation targeting option. You can * specify only one option at a time.
*/ inline bool CapacityReservationSpecificationHasBeenSet() const { return m_capacityReservationSpecificationHasBeenSet; } /** *Specifies an instance's Capacity Reservation targeting option. You can * specify only one option at a time.
*/ inline void SetCapacityReservationSpecification(const AwsEc2LaunchTemplateDataCapacityReservationSpecificationDetails& value) { m_capacityReservationSpecificationHasBeenSet = true; m_capacityReservationSpecification = value; } /** *Specifies an instance's Capacity Reservation targeting option. You can * specify only one option at a time.
*/ inline void SetCapacityReservationSpecification(AwsEc2LaunchTemplateDataCapacityReservationSpecificationDetails&& value) { m_capacityReservationSpecificationHasBeenSet = true; m_capacityReservationSpecification = std::move(value); } /** *Specifies an instance's Capacity Reservation targeting option. You can * specify only one option at a time.
*/ inline AwsEc2LaunchTemplateDataDetails& WithCapacityReservationSpecification(const AwsEc2LaunchTemplateDataCapacityReservationSpecificationDetails& value) { SetCapacityReservationSpecification(value); return *this;} /** *Specifies an instance's Capacity Reservation targeting option. You can * specify only one option at a time.
*/ inline AwsEc2LaunchTemplateDataDetails& WithCapacityReservationSpecification(AwsEc2LaunchTemplateDataCapacityReservationSpecificationDetails&& value) { SetCapacityReservationSpecification(std::move(value)); return *this;} /** *Specifies the CPU options for an instance. For more information, see Optimize * CPU options in the Amazon Elastic Compute Cloud User Guide.
*/ inline const AwsEc2LaunchTemplateDataCpuOptionsDetails& GetCpuOptions() const{ return m_cpuOptions; } /** *Specifies the CPU options for an instance. For more information, see Optimize * CPU options in the Amazon Elastic Compute Cloud User Guide.
*/ inline bool CpuOptionsHasBeenSet() const { return m_cpuOptionsHasBeenSet; } /** *Specifies the CPU options for an instance. For more information, see Optimize * CPU options in the Amazon Elastic Compute Cloud User Guide.
*/ inline void SetCpuOptions(const AwsEc2LaunchTemplateDataCpuOptionsDetails& value) { m_cpuOptionsHasBeenSet = true; m_cpuOptions = value; } /** *Specifies the CPU options for an instance. For more information, see Optimize * CPU options in the Amazon Elastic Compute Cloud User Guide.
*/ inline void SetCpuOptions(AwsEc2LaunchTemplateDataCpuOptionsDetails&& value) { m_cpuOptionsHasBeenSet = true; m_cpuOptions = std::move(value); } /** *Specifies the CPU options for an instance. For more information, see Optimize * CPU options in the Amazon Elastic Compute Cloud User Guide.
*/ inline AwsEc2LaunchTemplateDataDetails& WithCpuOptions(const AwsEc2LaunchTemplateDataCpuOptionsDetails& value) { SetCpuOptions(value); return *this;} /** *Specifies the CPU options for an instance. For more information, see Optimize * CPU options in the Amazon Elastic Compute Cloud User Guide.
*/ inline AwsEc2LaunchTemplateDataDetails& WithCpuOptions(AwsEc2LaunchTemplateDataCpuOptionsDetails&& value) { SetCpuOptions(std::move(value)); return *this;} /** *Specifies the credit option for CPU usage of a T2, T3, or T3a instance.
*/ inline const AwsEc2LaunchTemplateDataCreditSpecificationDetails& GetCreditSpecification() const{ return m_creditSpecification; } /** *Specifies the credit option for CPU usage of a T2, T3, or T3a instance.
*/ inline bool CreditSpecificationHasBeenSet() const { return m_creditSpecificationHasBeenSet; } /** *Specifies the credit option for CPU usage of a T2, T3, or T3a instance.
*/ inline void SetCreditSpecification(const AwsEc2LaunchTemplateDataCreditSpecificationDetails& value) { m_creditSpecificationHasBeenSet = true; m_creditSpecification = value; } /** *Specifies the credit option for CPU usage of a T2, T3, or T3a instance.
*/ inline void SetCreditSpecification(AwsEc2LaunchTemplateDataCreditSpecificationDetails&& value) { m_creditSpecificationHasBeenSet = true; m_creditSpecification = std::move(value); } /** *Specifies the credit option for CPU usage of a T2, T3, or T3a instance.
*/ inline AwsEc2LaunchTemplateDataDetails& WithCreditSpecification(const AwsEc2LaunchTemplateDataCreditSpecificationDetails& value) { SetCreditSpecification(value); return *this;} /** *Specifies the credit option for CPU usage of a T2, T3, or T3a instance.
*/ inline AwsEc2LaunchTemplateDataDetails& WithCreditSpecification(AwsEc2LaunchTemplateDataCreditSpecificationDetails&& value) { SetCreditSpecification(std::move(value)); return *this;} /** *Indicates whether to enable the instance for stop protection. For more * information, see Enable * stop protection in the Amazon EC2 User Guide.
*/ inline bool GetDisableApiStop() const{ return m_disableApiStop; } /** *Indicates whether to enable the instance for stop protection. For more * information, see Enable * stop protection in the Amazon EC2 User Guide.
*/ inline bool DisableApiStopHasBeenSet() const { return m_disableApiStopHasBeenSet; } /** *Indicates whether to enable the instance for stop protection. For more * information, see Enable * stop protection in the Amazon EC2 User Guide.
*/ inline void SetDisableApiStop(bool value) { m_disableApiStopHasBeenSet = true; m_disableApiStop = value; } /** *Indicates whether to enable the instance for stop protection. For more * information, see Enable * stop protection in the Amazon EC2 User Guide.
*/ inline AwsEc2LaunchTemplateDataDetails& WithDisableApiStop(bool value) { SetDisableApiStop(value); return *this;} /** * If you set this parameter to true
, you can't terminate the
* instance using the Amazon EC2 console, CLI, or API. If set to true
,
* you can.
If you set this parameter to true
, you can't terminate the
* instance using the Amazon EC2 console, CLI, or API. If set to true
,
* you can.
If you set this parameter to true
, you can't terminate the
* instance using the Amazon EC2 console, CLI, or API. If set to true
,
* you can.
If you set this parameter to true
, you can't terminate the
* instance using the Amazon EC2 console, CLI, or API. If set to true
,
* you can.
Indicates whether the instance is optimized for Amazon EBS I/O.
*/ inline bool GetEbsOptimized() const{ return m_ebsOptimized; } /** *Indicates whether the instance is optimized for Amazon EBS I/O.
*/ inline bool EbsOptimizedHasBeenSet() const { return m_ebsOptimizedHasBeenSet; } /** *Indicates whether the instance is optimized for Amazon EBS I/O.
*/ inline void SetEbsOptimized(bool value) { m_ebsOptimizedHasBeenSet = true; m_ebsOptimized = value; } /** *Indicates whether the instance is optimized for Amazon EBS I/O.
*/ inline AwsEc2LaunchTemplateDataDetails& WithEbsOptimized(bool value) { SetEbsOptimized(value); return *this;} /** *Provides details about Elastic Graphics accelerators to associate with the * instance.
*/ inline const Aws::VectorProvides details about Elastic Graphics accelerators to associate with the * instance.
*/ inline bool ElasticGpuSpecificationSetHasBeenSet() const { return m_elasticGpuSpecificationSetHasBeenSet; } /** *Provides details about Elastic Graphics accelerators to associate with the * instance.
*/ inline void SetElasticGpuSpecificationSet(const Aws::VectorProvides details about Elastic Graphics accelerators to associate with the * instance.
*/ inline void SetElasticGpuSpecificationSet(Aws::VectorProvides details about Elastic Graphics accelerators to associate with the * instance.
*/ inline AwsEc2LaunchTemplateDataDetails& WithElasticGpuSpecificationSet(const Aws::VectorProvides details about Elastic Graphics accelerators to associate with the * instance.
*/ inline AwsEc2LaunchTemplateDataDetails& WithElasticGpuSpecificationSet(Aws::VectorProvides details about Elastic Graphics accelerators to associate with the * instance.
*/ inline AwsEc2LaunchTemplateDataDetails& AddElasticGpuSpecificationSet(const AwsEc2LaunchTemplateDataElasticGpuSpecificationSetDetails& value) { m_elasticGpuSpecificationSetHasBeenSet = true; m_elasticGpuSpecificationSet.push_back(value); return *this; } /** *Provides details about Elastic Graphics accelerators to associate with the * instance.
*/ inline AwsEc2LaunchTemplateDataDetails& AddElasticGpuSpecificationSet(AwsEc2LaunchTemplateDataElasticGpuSpecificationSetDetails&& value) { m_elasticGpuSpecificationSetHasBeenSet = true; m_elasticGpuSpecificationSet.push_back(std::move(value)); return *this; } /** *The Amazon Elastic Inference accelerator for the instance.
*/ inline const Aws::VectorThe Amazon Elastic Inference accelerator for the instance.
*/ inline bool ElasticInferenceAcceleratorSetHasBeenSet() const { return m_elasticInferenceAcceleratorSetHasBeenSet; } /** *The Amazon Elastic Inference accelerator for the instance.
*/ inline void SetElasticInferenceAcceleratorSet(const Aws::VectorThe Amazon Elastic Inference accelerator for the instance.
*/ inline void SetElasticInferenceAcceleratorSet(Aws::VectorThe Amazon Elastic Inference accelerator for the instance.
*/ inline AwsEc2LaunchTemplateDataDetails& WithElasticInferenceAcceleratorSet(const Aws::VectorThe Amazon Elastic Inference accelerator for the instance.
*/ inline AwsEc2LaunchTemplateDataDetails& WithElasticInferenceAcceleratorSet(Aws::VectorThe Amazon Elastic Inference accelerator for the instance.
*/ inline AwsEc2LaunchTemplateDataDetails& AddElasticInferenceAcceleratorSet(const AwsEc2LaunchTemplateDataElasticInferenceAcceleratorSetDetails& value) { m_elasticInferenceAcceleratorSetHasBeenSet = true; m_elasticInferenceAcceleratorSet.push_back(value); return *this; } /** *The Amazon Elastic Inference accelerator for the instance.
*/ inline AwsEc2LaunchTemplateDataDetails& AddElasticInferenceAcceleratorSet(AwsEc2LaunchTemplateDataElasticInferenceAcceleratorSetDetails&& value) { m_elasticInferenceAcceleratorSetHasBeenSet = true; m_elasticInferenceAcceleratorSet.push_back(std::move(value)); return *this; } /** *Indicates whether the Amazon EC2 instance is enabled for Amazon Web Services * Nitro Enclaves.
*/ inline const AwsEc2LaunchTemplateDataEnclaveOptionsDetails& GetEnclaveOptions() const{ return m_enclaveOptions; } /** *Indicates whether the Amazon EC2 instance is enabled for Amazon Web Services * Nitro Enclaves.
*/ inline bool EnclaveOptionsHasBeenSet() const { return m_enclaveOptionsHasBeenSet; } /** *Indicates whether the Amazon EC2 instance is enabled for Amazon Web Services * Nitro Enclaves.
*/ inline void SetEnclaveOptions(const AwsEc2LaunchTemplateDataEnclaveOptionsDetails& value) { m_enclaveOptionsHasBeenSet = true; m_enclaveOptions = value; } /** *Indicates whether the Amazon EC2 instance is enabled for Amazon Web Services * Nitro Enclaves.
*/ inline void SetEnclaveOptions(AwsEc2LaunchTemplateDataEnclaveOptionsDetails&& value) { m_enclaveOptionsHasBeenSet = true; m_enclaveOptions = std::move(value); } /** *Indicates whether the Amazon EC2 instance is enabled for Amazon Web Services * Nitro Enclaves.
*/ inline AwsEc2LaunchTemplateDataDetails& WithEnclaveOptions(const AwsEc2LaunchTemplateDataEnclaveOptionsDetails& value) { SetEnclaveOptions(value); return *this;} /** *Indicates whether the Amazon EC2 instance is enabled for Amazon Web Services * Nitro Enclaves.
*/ inline AwsEc2LaunchTemplateDataDetails& WithEnclaveOptions(AwsEc2LaunchTemplateDataEnclaveOptionsDetails&& value) { SetEnclaveOptions(std::move(value)); return *this;} /** *Specifies whether your Amazon EC2 instance is configured for hibernation. *
*/ inline const AwsEc2LaunchTemplateDataHibernationOptionsDetails& GetHibernationOptions() const{ return m_hibernationOptions; } /** *Specifies whether your Amazon EC2 instance is configured for hibernation. *
*/ inline bool HibernationOptionsHasBeenSet() const { return m_hibernationOptionsHasBeenSet; } /** *Specifies whether your Amazon EC2 instance is configured for hibernation. *
*/ inline void SetHibernationOptions(const AwsEc2LaunchTemplateDataHibernationOptionsDetails& value) { m_hibernationOptionsHasBeenSet = true; m_hibernationOptions = value; } /** *Specifies whether your Amazon EC2 instance is configured for hibernation. *
*/ inline void SetHibernationOptions(AwsEc2LaunchTemplateDataHibernationOptionsDetails&& value) { m_hibernationOptionsHasBeenSet = true; m_hibernationOptions = std::move(value); } /** *Specifies whether your Amazon EC2 instance is configured for hibernation. *
*/ inline AwsEc2LaunchTemplateDataDetails& WithHibernationOptions(const AwsEc2LaunchTemplateDataHibernationOptionsDetails& value) { SetHibernationOptions(value); return *this;} /** *Specifies whether your Amazon EC2 instance is configured for hibernation. *
*/ inline AwsEc2LaunchTemplateDataDetails& WithHibernationOptions(AwsEc2LaunchTemplateDataHibernationOptionsDetails&& value) { SetHibernationOptions(std::move(value)); return *this;} /** *The name or Amazon Resource Name (ARN) of an IAM instance profile.
*/ inline const AwsEc2LaunchTemplateDataIamInstanceProfileDetails& GetIamInstanceProfile() const{ return m_iamInstanceProfile; } /** *The name or Amazon Resource Name (ARN) of an IAM instance profile.
*/ inline bool IamInstanceProfileHasBeenSet() const { return m_iamInstanceProfileHasBeenSet; } /** *The name or Amazon Resource Name (ARN) of an IAM instance profile.
*/ inline void SetIamInstanceProfile(const AwsEc2LaunchTemplateDataIamInstanceProfileDetails& value) { m_iamInstanceProfileHasBeenSet = true; m_iamInstanceProfile = value; } /** *The name or Amazon Resource Name (ARN) of an IAM instance profile.
*/ inline void SetIamInstanceProfile(AwsEc2LaunchTemplateDataIamInstanceProfileDetails&& value) { m_iamInstanceProfileHasBeenSet = true; m_iamInstanceProfile = std::move(value); } /** *The name or Amazon Resource Name (ARN) of an IAM instance profile.
*/ inline AwsEc2LaunchTemplateDataDetails& WithIamInstanceProfile(const AwsEc2LaunchTemplateDataIamInstanceProfileDetails& value) { SetIamInstanceProfile(value); return *this;} /** *The name or Amazon Resource Name (ARN) of an IAM instance profile.
*/ inline AwsEc2LaunchTemplateDataDetails& WithIamInstanceProfile(AwsEc2LaunchTemplateDataIamInstanceProfileDetails&& value) { SetIamInstanceProfile(std::move(value)); return *this;} /** *The ID of the Amazon Machine Image (AMI).
*/ inline const Aws::String& GetImageId() const{ return m_imageId; } /** *The ID of the Amazon Machine Image (AMI).
*/ inline bool ImageIdHasBeenSet() const { return m_imageIdHasBeenSet; } /** *The ID of the Amazon Machine Image (AMI).
*/ inline void SetImageId(const Aws::String& value) { m_imageIdHasBeenSet = true; m_imageId = value; } /** *The ID of the Amazon Machine Image (AMI).
*/ inline void SetImageId(Aws::String&& value) { m_imageIdHasBeenSet = true; m_imageId = std::move(value); } /** *The ID of the Amazon Machine Image (AMI).
*/ inline void SetImageId(const char* value) { m_imageIdHasBeenSet = true; m_imageId.assign(value); } /** *The ID of the Amazon Machine Image (AMI).
*/ inline AwsEc2LaunchTemplateDataDetails& WithImageId(const Aws::String& value) { SetImageId(value); return *this;} /** *The ID of the Amazon Machine Image (AMI).
*/ inline AwsEc2LaunchTemplateDataDetails& WithImageId(Aws::String&& value) { SetImageId(std::move(value)); return *this;} /** *The ID of the Amazon Machine Image (AMI).
*/ inline AwsEc2LaunchTemplateDataDetails& WithImageId(const char* value) { SetImageId(value); return *this;} /** *Provides the options for specifying the instance initiated shutdown * behavior.
*/ inline const Aws::String& GetInstanceInitiatedShutdownBehavior() const{ return m_instanceInitiatedShutdownBehavior; } /** *Provides the options for specifying the instance initiated shutdown * behavior.
*/ inline bool InstanceInitiatedShutdownBehaviorHasBeenSet() const { return m_instanceInitiatedShutdownBehaviorHasBeenSet; } /** *Provides the options for specifying the instance initiated shutdown * behavior.
*/ inline void SetInstanceInitiatedShutdownBehavior(const Aws::String& value) { m_instanceInitiatedShutdownBehaviorHasBeenSet = true; m_instanceInitiatedShutdownBehavior = value; } /** *Provides the options for specifying the instance initiated shutdown * behavior.
*/ inline void SetInstanceInitiatedShutdownBehavior(Aws::String&& value) { m_instanceInitiatedShutdownBehaviorHasBeenSet = true; m_instanceInitiatedShutdownBehavior = std::move(value); } /** *Provides the options for specifying the instance initiated shutdown * behavior.
*/ inline void SetInstanceInitiatedShutdownBehavior(const char* value) { m_instanceInitiatedShutdownBehaviorHasBeenSet = true; m_instanceInitiatedShutdownBehavior.assign(value); } /** *Provides the options for specifying the instance initiated shutdown * behavior.
*/ inline AwsEc2LaunchTemplateDataDetails& WithInstanceInitiatedShutdownBehavior(const Aws::String& value) { SetInstanceInitiatedShutdownBehavior(value); return *this;} /** *Provides the options for specifying the instance initiated shutdown * behavior.
*/ inline AwsEc2LaunchTemplateDataDetails& WithInstanceInitiatedShutdownBehavior(Aws::String&& value) { SetInstanceInitiatedShutdownBehavior(std::move(value)); return *this;} /** *Provides the options for specifying the instance initiated shutdown * behavior.
*/ inline AwsEc2LaunchTemplateDataDetails& WithInstanceInitiatedShutdownBehavior(const char* value) { SetInstanceInitiatedShutdownBehavior(value); return *this;} /** *Specifies the market (purchasing) option for an instance.
*/ inline const AwsEc2LaunchTemplateDataInstanceMarketOptionsDetails& GetInstanceMarketOptions() const{ return m_instanceMarketOptions; } /** *Specifies the market (purchasing) option for an instance.
*/ inline bool InstanceMarketOptionsHasBeenSet() const { return m_instanceMarketOptionsHasBeenSet; } /** *Specifies the market (purchasing) option for an instance.
*/ inline void SetInstanceMarketOptions(const AwsEc2LaunchTemplateDataInstanceMarketOptionsDetails& value) { m_instanceMarketOptionsHasBeenSet = true; m_instanceMarketOptions = value; } /** *Specifies the market (purchasing) option for an instance.
*/ inline void SetInstanceMarketOptions(AwsEc2LaunchTemplateDataInstanceMarketOptionsDetails&& value) { m_instanceMarketOptionsHasBeenSet = true; m_instanceMarketOptions = std::move(value); } /** *Specifies the market (purchasing) option for an instance.
*/ inline AwsEc2LaunchTemplateDataDetails& WithInstanceMarketOptions(const AwsEc2LaunchTemplateDataInstanceMarketOptionsDetails& value) { SetInstanceMarketOptions(value); return *this;} /** *Specifies the market (purchasing) option for an instance.
*/ inline AwsEc2LaunchTemplateDataDetails& WithInstanceMarketOptions(AwsEc2LaunchTemplateDataInstanceMarketOptionsDetails&& value) { SetInstanceMarketOptions(std::move(value)); return *this;} /** * The attributes for the instance types. When you specify instance attributes,
* Amazon EC2 will identify instance types with these attributes. If you specify
* InstanceRequirements
, you can't specify InstanceType
.
*
The attributes for the instance types. When you specify instance attributes,
* Amazon EC2 will identify instance types with these attributes. If you specify
* InstanceRequirements
, you can't specify InstanceType
.
*
The attributes for the instance types. When you specify instance attributes,
* Amazon EC2 will identify instance types with these attributes. If you specify
* InstanceRequirements
, you can't specify InstanceType
.
*
The attributes for the instance types. When you specify instance attributes,
* Amazon EC2 will identify instance types with these attributes. If you specify
* InstanceRequirements
, you can't specify InstanceType
.
*
The attributes for the instance types. When you specify instance attributes,
* Amazon EC2 will identify instance types with these attributes. If you specify
* InstanceRequirements
, you can't specify InstanceType
.
*
The attributes for the instance types. When you specify instance attributes,
* Amazon EC2 will identify instance types with these attributes. If you specify
* InstanceRequirements
, you can't specify InstanceType
.
*
The instance type. For more information, see Instance
* types in the Amazon EC2 User Guide. If you specify
* InstanceType
, you can't specify InstanceRequirements
.
*
The instance type. For more information, see Instance
* types in the Amazon EC2 User Guide. If you specify
* InstanceType
, you can't specify InstanceRequirements
.
*
The instance type. For more information, see Instance
* types in the Amazon EC2 User Guide. If you specify
* InstanceType
, you can't specify InstanceRequirements
.
*
The instance type. For more information, see Instance
* types in the Amazon EC2 User Guide. If you specify
* InstanceType
, you can't specify InstanceRequirements
.
*
The instance type. For more information, see Instance
* types in the Amazon EC2 User Guide. If you specify
* InstanceType
, you can't specify InstanceRequirements
.
*
The instance type. For more information, see Instance
* types in the Amazon EC2 User Guide. If you specify
* InstanceType
, you can't specify InstanceRequirements
.
*
The instance type. For more information, see Instance
* types in the Amazon EC2 User Guide. If you specify
* InstanceType
, you can't specify InstanceRequirements
.
*
The instance type. For more information, see Instance
* types in the Amazon EC2 User Guide. If you specify
* InstanceType
, you can't specify InstanceRequirements
.
*
The ID of the kernel.
*/ inline const Aws::String& GetKernelId() const{ return m_kernelId; } /** *The ID of the kernel.
*/ inline bool KernelIdHasBeenSet() const { return m_kernelIdHasBeenSet; } /** *The ID of the kernel.
*/ inline void SetKernelId(const Aws::String& value) { m_kernelIdHasBeenSet = true; m_kernelId = value; } /** *The ID of the kernel.
*/ inline void SetKernelId(Aws::String&& value) { m_kernelIdHasBeenSet = true; m_kernelId = std::move(value); } /** *The ID of the kernel.
*/ inline void SetKernelId(const char* value) { m_kernelIdHasBeenSet = true; m_kernelId.assign(value); } /** *The ID of the kernel.
*/ inline AwsEc2LaunchTemplateDataDetails& WithKernelId(const Aws::String& value) { SetKernelId(value); return *this;} /** *The ID of the kernel.
*/ inline AwsEc2LaunchTemplateDataDetails& WithKernelId(Aws::String&& value) { SetKernelId(std::move(value)); return *this;} /** *The ID of the kernel.
*/ inline AwsEc2LaunchTemplateDataDetails& WithKernelId(const char* value) { SetKernelId(value); return *this;} /** *The name of the key pair that allows users to connect to the instance.
*/ inline const Aws::String& GetKeyName() const{ return m_keyName; } /** *The name of the key pair that allows users to connect to the instance.
*/ inline bool KeyNameHasBeenSet() const { return m_keyNameHasBeenSet; } /** *The name of the key pair that allows users to connect to the instance.
*/ inline void SetKeyName(const Aws::String& value) { m_keyNameHasBeenSet = true; m_keyName = value; } /** *The name of the key pair that allows users to connect to the instance.
*/ inline void SetKeyName(Aws::String&& value) { m_keyNameHasBeenSet = true; m_keyName = std::move(value); } /** *The name of the key pair that allows users to connect to the instance.
*/ inline void SetKeyName(const char* value) { m_keyNameHasBeenSet = true; m_keyName.assign(value); } /** *The name of the key pair that allows users to connect to the instance.
*/ inline AwsEc2LaunchTemplateDataDetails& WithKeyName(const Aws::String& value) { SetKeyName(value); return *this;} /** *The name of the key pair that allows users to connect to the instance.
*/ inline AwsEc2LaunchTemplateDataDetails& WithKeyName(Aws::String&& value) { SetKeyName(std::move(value)); return *this;} /** *The name of the key pair that allows users to connect to the instance.
*/ inline AwsEc2LaunchTemplateDataDetails& WithKeyName(const char* value) { SetKeyName(value); return *this;} /** *Specifies a license configuration for an instance.
*/ inline const Aws::VectorSpecifies a license configuration for an instance.
*/ inline bool LicenseSetHasBeenSet() const { return m_licenseSetHasBeenSet; } /** *Specifies a license configuration for an instance.
*/ inline void SetLicenseSet(const Aws::VectorSpecifies a license configuration for an instance.
*/ inline void SetLicenseSet(Aws::VectorSpecifies a license configuration for an instance.
*/ inline AwsEc2LaunchTemplateDataDetails& WithLicenseSet(const Aws::VectorSpecifies a license configuration for an instance.
*/ inline AwsEc2LaunchTemplateDataDetails& WithLicenseSet(Aws::VectorSpecifies a license configuration for an instance.
*/ inline AwsEc2LaunchTemplateDataDetails& AddLicenseSet(const AwsEc2LaunchTemplateDataLicenseSetDetails& value) { m_licenseSetHasBeenSet = true; m_licenseSet.push_back(value); return *this; } /** *Specifies a license configuration for an instance.
*/ inline AwsEc2LaunchTemplateDataDetails& AddLicenseSet(AwsEc2LaunchTemplateDataLicenseSetDetails&& value) { m_licenseSetHasBeenSet = true; m_licenseSet.push_back(std::move(value)); return *this; } /** *The maintenance options of your instance.
*/ inline const AwsEc2LaunchTemplateDataMaintenanceOptionsDetails& GetMaintenanceOptions() const{ return m_maintenanceOptions; } /** *The maintenance options of your instance.
*/ inline bool MaintenanceOptionsHasBeenSet() const { return m_maintenanceOptionsHasBeenSet; } /** *The maintenance options of your instance.
*/ inline void SetMaintenanceOptions(const AwsEc2LaunchTemplateDataMaintenanceOptionsDetails& value) { m_maintenanceOptionsHasBeenSet = true; m_maintenanceOptions = value; } /** *The maintenance options of your instance.
*/ inline void SetMaintenanceOptions(AwsEc2LaunchTemplateDataMaintenanceOptionsDetails&& value) { m_maintenanceOptionsHasBeenSet = true; m_maintenanceOptions = std::move(value); } /** *The maintenance options of your instance.
*/ inline AwsEc2LaunchTemplateDataDetails& WithMaintenanceOptions(const AwsEc2LaunchTemplateDataMaintenanceOptionsDetails& value) { SetMaintenanceOptions(value); return *this;} /** *The maintenance options of your instance.
*/ inline AwsEc2LaunchTemplateDataDetails& WithMaintenanceOptions(AwsEc2LaunchTemplateDataMaintenanceOptionsDetails&& value) { SetMaintenanceOptions(std::move(value)); return *this;} /** *The metadata options for the instance. For more information, see Instance * metadata and user data in the Amazon EC2 User Guide.
*/ inline const AwsEc2LaunchTemplateDataMetadataOptionsDetails& GetMetadataOptions() const{ return m_metadataOptions; } /** *The metadata options for the instance. For more information, see Instance * metadata and user data in the Amazon EC2 User Guide.
*/ inline bool MetadataOptionsHasBeenSet() const { return m_metadataOptionsHasBeenSet; } /** *The metadata options for the instance. For more information, see Instance * metadata and user data in the Amazon EC2 User Guide.
*/ inline void SetMetadataOptions(const AwsEc2LaunchTemplateDataMetadataOptionsDetails& value) { m_metadataOptionsHasBeenSet = true; m_metadataOptions = value; } /** *The metadata options for the instance. For more information, see Instance * metadata and user data in the Amazon EC2 User Guide.
*/ inline void SetMetadataOptions(AwsEc2LaunchTemplateDataMetadataOptionsDetails&& value) { m_metadataOptionsHasBeenSet = true; m_metadataOptions = std::move(value); } /** *The metadata options for the instance. For more information, see Instance * metadata and user data in the Amazon EC2 User Guide.
*/ inline AwsEc2LaunchTemplateDataDetails& WithMetadataOptions(const AwsEc2LaunchTemplateDataMetadataOptionsDetails& value) { SetMetadataOptions(value); return *this;} /** *The metadata options for the instance. For more information, see Instance * metadata and user data in the Amazon EC2 User Guide.
*/ inline AwsEc2LaunchTemplateDataDetails& WithMetadataOptions(AwsEc2LaunchTemplateDataMetadataOptionsDetails&& value) { SetMetadataOptions(std::move(value)); return *this;} /** *The monitoring for the instance.
*/ inline const AwsEc2LaunchTemplateDataMonitoringDetails& GetMonitoring() const{ return m_monitoring; } /** *The monitoring for the instance.
*/ inline bool MonitoringHasBeenSet() const { return m_monitoringHasBeenSet; } /** *The monitoring for the instance.
*/ inline void SetMonitoring(const AwsEc2LaunchTemplateDataMonitoringDetails& value) { m_monitoringHasBeenSet = true; m_monitoring = value; } /** *The monitoring for the instance.
*/ inline void SetMonitoring(AwsEc2LaunchTemplateDataMonitoringDetails&& value) { m_monitoringHasBeenSet = true; m_monitoring = std::move(value); } /** *The monitoring for the instance.
*/ inline AwsEc2LaunchTemplateDataDetails& WithMonitoring(const AwsEc2LaunchTemplateDataMonitoringDetails& value) { SetMonitoring(value); return *this;} /** *The monitoring for the instance.
*/ inline AwsEc2LaunchTemplateDataDetails& WithMonitoring(AwsEc2LaunchTemplateDataMonitoringDetails&& value) { SetMonitoring(std::move(value)); return *this;} /** *Specifies the parameters for a network interface that is attached to the * instance.
*/ inline const Aws::VectorSpecifies the parameters for a network interface that is attached to the * instance.
*/ inline bool NetworkInterfaceSetHasBeenSet() const { return m_networkInterfaceSetHasBeenSet; } /** *Specifies the parameters for a network interface that is attached to the * instance.
*/ inline void SetNetworkInterfaceSet(const Aws::VectorSpecifies the parameters for a network interface that is attached to the * instance.
*/ inline void SetNetworkInterfaceSet(Aws::VectorSpecifies the parameters for a network interface that is attached to the * instance.
*/ inline AwsEc2LaunchTemplateDataDetails& WithNetworkInterfaceSet(const Aws::VectorSpecifies the parameters for a network interface that is attached to the * instance.
*/ inline AwsEc2LaunchTemplateDataDetails& WithNetworkInterfaceSet(Aws::VectorSpecifies the parameters for a network interface that is attached to the * instance.
*/ inline AwsEc2LaunchTemplateDataDetails& AddNetworkInterfaceSet(const AwsEc2LaunchTemplateDataNetworkInterfaceSetDetails& value) { m_networkInterfaceSetHasBeenSet = true; m_networkInterfaceSet.push_back(value); return *this; } /** *Specifies the parameters for a network interface that is attached to the * instance.
*/ inline AwsEc2LaunchTemplateDataDetails& AddNetworkInterfaceSet(AwsEc2LaunchTemplateDataNetworkInterfaceSetDetails&& value) { m_networkInterfaceSetHasBeenSet = true; m_networkInterfaceSet.push_back(std::move(value)); return *this; } /** *Specifies the placement of an instance.
*/ inline const AwsEc2LaunchTemplateDataPlacementDetails& GetPlacement() const{ return m_placement; } /** *Specifies the placement of an instance.
*/ inline bool PlacementHasBeenSet() const { return m_placementHasBeenSet; } /** *Specifies the placement of an instance.
*/ inline void SetPlacement(const AwsEc2LaunchTemplateDataPlacementDetails& value) { m_placementHasBeenSet = true; m_placement = value; } /** *Specifies the placement of an instance.
*/ inline void SetPlacement(AwsEc2LaunchTemplateDataPlacementDetails&& value) { m_placementHasBeenSet = true; m_placement = std::move(value); } /** *Specifies the placement of an instance.
*/ inline AwsEc2LaunchTemplateDataDetails& WithPlacement(const AwsEc2LaunchTemplateDataPlacementDetails& value) { SetPlacement(value); return *this;} /** *Specifies the placement of an instance.
*/ inline AwsEc2LaunchTemplateDataDetails& WithPlacement(AwsEc2LaunchTemplateDataPlacementDetails&& value) { SetPlacement(std::move(value)); return *this;} /** *The options for the instance hostname.
*/ inline const AwsEc2LaunchTemplateDataPrivateDnsNameOptionsDetails& GetPrivateDnsNameOptions() const{ return m_privateDnsNameOptions; } /** *The options for the instance hostname.
*/ inline bool PrivateDnsNameOptionsHasBeenSet() const { return m_privateDnsNameOptionsHasBeenSet; } /** *The options for the instance hostname.
*/ inline void SetPrivateDnsNameOptions(const AwsEc2LaunchTemplateDataPrivateDnsNameOptionsDetails& value) { m_privateDnsNameOptionsHasBeenSet = true; m_privateDnsNameOptions = value; } /** *The options for the instance hostname.
*/ inline void SetPrivateDnsNameOptions(AwsEc2LaunchTemplateDataPrivateDnsNameOptionsDetails&& value) { m_privateDnsNameOptionsHasBeenSet = true; m_privateDnsNameOptions = std::move(value); } /** *The options for the instance hostname.
*/ inline AwsEc2LaunchTemplateDataDetails& WithPrivateDnsNameOptions(const AwsEc2LaunchTemplateDataPrivateDnsNameOptionsDetails& value) { SetPrivateDnsNameOptions(value); return *this;} /** *The options for the instance hostname.
*/ inline AwsEc2LaunchTemplateDataDetails& WithPrivateDnsNameOptions(AwsEc2LaunchTemplateDataPrivateDnsNameOptionsDetails&& value) { SetPrivateDnsNameOptions(std::move(value)); return *this;} /** *The ID of the RAM disk.
*/ inline const Aws::String& GetRamDiskId() const{ return m_ramDiskId; } /** *The ID of the RAM disk.
*/ inline bool RamDiskIdHasBeenSet() const { return m_ramDiskIdHasBeenSet; } /** *The ID of the RAM disk.
*/ inline void SetRamDiskId(const Aws::String& value) { m_ramDiskIdHasBeenSet = true; m_ramDiskId = value; } /** *The ID of the RAM disk.
*/ inline void SetRamDiskId(Aws::String&& value) { m_ramDiskIdHasBeenSet = true; m_ramDiskId = std::move(value); } /** *The ID of the RAM disk.
*/ inline void SetRamDiskId(const char* value) { m_ramDiskIdHasBeenSet = true; m_ramDiskId.assign(value); } /** *The ID of the RAM disk.
*/ inline AwsEc2LaunchTemplateDataDetails& WithRamDiskId(const Aws::String& value) { SetRamDiskId(value); return *this;} /** *The ID of the RAM disk.
*/ inline AwsEc2LaunchTemplateDataDetails& WithRamDiskId(Aws::String&& value) { SetRamDiskId(std::move(value)); return *this;} /** *The ID of the RAM disk.
*/ inline AwsEc2LaunchTemplateDataDetails& WithRamDiskId(const char* value) { SetRamDiskId(value); return *this;} /** *One or more security group IDs.
*/ inline const Aws::VectorOne or more security group IDs.
*/ inline bool SecurityGroupIdSetHasBeenSet() const { return m_securityGroupIdSetHasBeenSet; } /** *One or more security group IDs.
*/ inline void SetSecurityGroupIdSet(const Aws::VectorOne or more security group IDs.
*/ inline void SetSecurityGroupIdSet(Aws::VectorOne or more security group IDs.
*/ inline AwsEc2LaunchTemplateDataDetails& WithSecurityGroupIdSet(const Aws::VectorOne or more security group IDs.
*/ inline AwsEc2LaunchTemplateDataDetails& WithSecurityGroupIdSet(Aws::VectorOne or more security group IDs.
*/ inline AwsEc2LaunchTemplateDataDetails& AddSecurityGroupIdSet(const Aws::String& value) { m_securityGroupIdSetHasBeenSet = true; m_securityGroupIdSet.push_back(value); return *this; } /** *One or more security group IDs.
*/ inline AwsEc2LaunchTemplateDataDetails& AddSecurityGroupIdSet(Aws::String&& value) { m_securityGroupIdSetHasBeenSet = true; m_securityGroupIdSet.push_back(std::move(value)); return *this; } /** *One or more security group IDs.
*/ inline AwsEc2LaunchTemplateDataDetails& AddSecurityGroupIdSet(const char* value) { m_securityGroupIdSetHasBeenSet = true; m_securityGroupIdSet.push_back(value); return *this; } /** *One or more security group names. For a nondefault VPC, you must use * security group IDs instead. You cannot specify both a security group ID and * security name in the same request.
*/ inline const Aws::VectorOne or more security group names. For a nondefault VPC, you must use * security group IDs instead. You cannot specify both a security group ID and * security name in the same request.
*/ inline bool SecurityGroupSetHasBeenSet() const { return m_securityGroupSetHasBeenSet; } /** *One or more security group names. For a nondefault VPC, you must use * security group IDs instead. You cannot specify both a security group ID and * security name in the same request.
*/ inline void SetSecurityGroupSet(const Aws::VectorOne or more security group names. For a nondefault VPC, you must use * security group IDs instead. You cannot specify both a security group ID and * security name in the same request.
*/ inline void SetSecurityGroupSet(Aws::VectorOne or more security group names. For a nondefault VPC, you must use * security group IDs instead. You cannot specify both a security group ID and * security name in the same request.
*/ inline AwsEc2LaunchTemplateDataDetails& WithSecurityGroupSet(const Aws::VectorOne or more security group names. For a nondefault VPC, you must use * security group IDs instead. You cannot specify both a security group ID and * security name in the same request.
*/ inline AwsEc2LaunchTemplateDataDetails& WithSecurityGroupSet(Aws::VectorOne or more security group names. For a nondefault VPC, you must use * security group IDs instead. You cannot specify both a security group ID and * security name in the same request.
*/ inline AwsEc2LaunchTemplateDataDetails& AddSecurityGroupSet(const Aws::String& value) { m_securityGroupSetHasBeenSet = true; m_securityGroupSet.push_back(value); return *this; } /** *One or more security group names. For a nondefault VPC, you must use * security group IDs instead. You cannot specify both a security group ID and * security name in the same request.
*/ inline AwsEc2LaunchTemplateDataDetails& AddSecurityGroupSet(Aws::String&& value) { m_securityGroupSetHasBeenSet = true; m_securityGroupSet.push_back(std::move(value)); return *this; } /** *One or more security group names. For a nondefault VPC, you must use * security group IDs instead. You cannot specify both a security group ID and * security name in the same request.
*/ inline AwsEc2LaunchTemplateDataDetails& AddSecurityGroupSet(const char* value) { m_securityGroupSetHasBeenSet = true; m_securityGroupSet.push_back(value); return *this; } /** *The user data to make available to the instance.
*/ inline const Aws::String& GetUserData() const{ return m_userData; } /** *The user data to make available to the instance.
*/ inline bool UserDataHasBeenSet() const { return m_userDataHasBeenSet; } /** *The user data to make available to the instance.
*/ inline void SetUserData(const Aws::String& value) { m_userDataHasBeenSet = true; m_userData = value; } /** *The user data to make available to the instance.
*/ inline void SetUserData(Aws::String&& value) { m_userDataHasBeenSet = true; m_userData = std::move(value); } /** *The user data to make available to the instance.
*/ inline void SetUserData(const char* value) { m_userDataHasBeenSet = true; m_userData.assign(value); } /** *The user data to make available to the instance.
*/ inline AwsEc2LaunchTemplateDataDetails& WithUserData(const Aws::String& value) { SetUserData(value); return *this;} /** *The user data to make available to the instance.
*/ inline AwsEc2LaunchTemplateDataDetails& WithUserData(Aws::String&& value) { SetUserData(std::move(value)); return *this;} /** *The user data to make available to the instance.
*/ inline AwsEc2LaunchTemplateDataDetails& WithUserData(const char* value) { SetUserData(value); return *this;} private: Aws::Vector