amazonka-ec2-2.0: Amazon Elastic Compute Cloud SDK.
Copyright(c) 2013-2023 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay
Stabilityauto-generated
Portabilitynon-portable (GHC extensions)
Safe HaskellSafe-Inferred
LanguageHaskell2010

Amazonka.EC2.Types.RequestLaunchTemplateData

Description

 
Synopsis

Documentation

data RequestLaunchTemplateData Source #

The information to include in the launch template.

You must specify at least one parameter for the launch template data.

See: newRequestLaunchTemplateData smart constructor.

Constructors

RequestLaunchTemplateData' 

Fields

Instances

Instances details
ToQuery RequestLaunchTemplateData Source # 
Instance details

Defined in Amazonka.EC2.Types.RequestLaunchTemplateData

Generic RequestLaunchTemplateData Source # 
Instance details

Defined in Amazonka.EC2.Types.RequestLaunchTemplateData

Associated Types

type Rep RequestLaunchTemplateData :: Type -> Type #

Show RequestLaunchTemplateData Source # 
Instance details

Defined in Amazonka.EC2.Types.RequestLaunchTemplateData

NFData RequestLaunchTemplateData Source # 
Instance details

Defined in Amazonka.EC2.Types.RequestLaunchTemplateData

Eq RequestLaunchTemplateData Source # 
Instance details

Defined in Amazonka.EC2.Types.RequestLaunchTemplateData

Hashable RequestLaunchTemplateData Source # 
Instance details

Defined in Amazonka.EC2.Types.RequestLaunchTemplateData

type Rep RequestLaunchTemplateData Source # 
Instance details

Defined in Amazonka.EC2.Types.RequestLaunchTemplateData

type Rep RequestLaunchTemplateData = D1 ('MetaData "RequestLaunchTemplateData" "Amazonka.EC2.Types.RequestLaunchTemplateData" "amazonka-ec2-2.0-48L9RAJvmvzAdBkRegqWCL" 'False) (C1 ('MetaCons "RequestLaunchTemplateData'" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "blockDeviceMappings") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [LaunchTemplateBlockDeviceMappingRequest])) :*: (S1 ('MetaSel ('Just "capacityReservationSpecification") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe LaunchTemplateCapacityReservationSpecificationRequest)) :*: S1 ('MetaSel ('Just "cpuOptions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe LaunchTemplateCpuOptionsRequest)))) :*: ((S1 ('MetaSel ('Just "creditSpecification") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe CreditSpecificationRequest)) :*: S1 ('MetaSel ('Just "disableApiStop") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Bool))) :*: (S1 ('MetaSel ('Just "disableApiTermination") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Bool)) :*: S1 ('MetaSel ('Just "ebsOptimized") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Bool))))) :*: (((S1 ('MetaSel ('Just "elasticGpuSpecifications") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [ElasticGpuSpecification])) :*: S1 ('MetaSel ('Just "elasticInferenceAccelerators") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [LaunchTemplateElasticInferenceAccelerator]))) :*: (S1 ('MetaSel ('Just "enclaveOptions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe LaunchTemplateEnclaveOptionsRequest)) :*: S1 ('MetaSel ('Just "hibernationOptions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe LaunchTemplateHibernationOptionsRequest)))) :*: ((S1 ('MetaSel ('Just "iamInstanceProfile") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe LaunchTemplateIamInstanceProfileSpecificationRequest)) :*: S1 ('MetaSel ('Just "imageId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))) :*: (S1 ('MetaSel ('Just "instanceInitiatedShutdownBehavior") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ShutdownBehavior)) :*: S1 ('MetaSel ('Just "instanceMarketOptions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe LaunchTemplateInstanceMarketOptionsRequest)))))) :*: ((((S1 ('MetaSel ('Just "instanceRequirements") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe InstanceRequirementsRequest)) :*: S1 ('MetaSel ('Just "instanceType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe InstanceType))) :*: (S1 ('MetaSel ('Just "kernelId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "keyName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)))) :*: ((S1 ('MetaSel ('Just "licenseSpecifications") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [LaunchTemplateLicenseConfigurationRequest])) :*: S1 ('MetaSel ('Just "maintenanceOptions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe LaunchTemplateInstanceMaintenanceOptionsRequest))) :*: (S1 ('MetaSel ('Just "metadataOptions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe LaunchTemplateInstanceMetadataOptionsRequest)) :*: S1 ('MetaSel ('Just "monitoring") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe LaunchTemplatesMonitoringRequest))))) :*: (((S1 ('MetaSel ('Just "networkInterfaces") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [LaunchTemplateInstanceNetworkInterfaceSpecificationRequest])) :*: S1 ('MetaSel ('Just "placement") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe LaunchTemplatePlacementRequest))) :*: (S1 ('MetaSel ('Just "privateDnsNameOptions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe LaunchTemplatePrivateDnsNameOptionsRequest)) :*: S1 ('MetaSel ('Just "ramDiskId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)))) :*: ((S1 ('MetaSel ('Just "securityGroupIds") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [Text])) :*: S1 ('MetaSel ('Just "securityGroups") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [Text]))) :*: (S1 ('MetaSel ('Just "tagSpecifications") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [LaunchTemplateTagSpecificationRequest])) :*: S1 ('MetaSel ('Just "userData") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))))))))

newRequestLaunchTemplateData :: RequestLaunchTemplateData Source #

Create a value of RequestLaunchTemplateData with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:blockDeviceMappings:RequestLaunchTemplateData', requestLaunchTemplateData_blockDeviceMappings - The block device mapping.

$sel:capacityReservationSpecification:RequestLaunchTemplateData', requestLaunchTemplateData_capacityReservationSpecification - The Capacity Reservation targeting option. If you do not specify this parameter, the instance's Capacity Reservation preference defaults to open, which enables it to run in any open Capacity Reservation that has matching attributes (instance type, platform, Availability Zone).

$sel:cpuOptions:RequestLaunchTemplateData', requestLaunchTemplateData_cpuOptions - The CPU options for the instance. For more information, see Optimizing CPU Options in the Amazon Elastic Compute Cloud User Guide.

$sel:creditSpecification:RequestLaunchTemplateData', requestLaunchTemplateData_creditSpecification - The credit option for CPU usage of the instance. Valid only for T instances.

$sel:disableApiStop:RequestLaunchTemplateData', requestLaunchTemplateData_disableApiStop - Indicates whether to enable the instance for stop protection. For more information, see Stop Protection.

$sel:disableApiTermination:RequestLaunchTemplateData', requestLaunchTemplateData_disableApiTermination - If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute after launch, use ModifyInstanceAttribute. Alternatively, if you set InstanceInitiatedShutdownBehavior to terminate, you can terminate the instance by running the shutdown command from the instance.

$sel:ebsOptimized:RequestLaunchTemplateData', requestLaunchTemplateData_ebsOptimized - Indicates whether the instance is optimized for Amazon EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal Amazon EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS-optimized instance.

$sel:elasticGpuSpecifications:RequestLaunchTemplateData', requestLaunchTemplateData_elasticGpuSpecifications - An elastic GPU to associate with the instance.

$sel:elasticInferenceAccelerators:RequestLaunchTemplateData', requestLaunchTemplateData_elasticInferenceAccelerators - The elastic inference accelerator for the instance.

$sel:enclaveOptions:RequestLaunchTemplateData', requestLaunchTemplateData_enclaveOptions - Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves. For more information, see What is Amazon Web Services Nitro Enclaves? in the Amazon Web Services Nitro Enclaves User Guide.

You can't enable Amazon Web Services Nitro Enclaves and hibernation on the same instance.

$sel:hibernationOptions:RequestLaunchTemplateData', requestLaunchTemplateData_hibernationOptions - Indicates whether an instance is enabled for hibernation. This parameter is valid only if the instance meets the hibernation prerequisites. For more information, see Hibernate your instance in the Amazon Elastic Compute Cloud User Guide.

$sel:iamInstanceProfile:RequestLaunchTemplateData', requestLaunchTemplateData_iamInstanceProfile - The name or Amazon Resource Name (ARN) of an IAM instance profile.

$sel:imageId:RequestLaunchTemplateData', requestLaunchTemplateData_imageId - The ID of the AMI.

$sel:instanceInitiatedShutdownBehavior:RequestLaunchTemplateData', requestLaunchTemplateData_instanceInitiatedShutdownBehavior - Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).

Default: stop

$sel:instanceMarketOptions:RequestLaunchTemplateData', requestLaunchTemplateData_instanceMarketOptions - The market (purchasing) option for the instances.

$sel:instanceRequirements:RequestLaunchTemplateData', requestLaunchTemplateData_instanceRequirements - 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.

$sel:instanceType:RequestLaunchTemplateData', requestLaunchTemplateData_instanceType - The instance type. For more information, see Instance types in the Amazon Elastic Compute Cloud User Guide.

If you specify InstanceType, you can't specify InstanceRequirements.

$sel:kernelId:RequestLaunchTemplateData', requestLaunchTemplateData_kernelId - The ID of the kernel.

We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see User provided kernels in the Amazon Elastic Compute Cloud User Guide.

$sel:keyName:RequestLaunchTemplateData', requestLaunchTemplateData_keyName - The name of the key pair. You can create a key pair using CreateKeyPair or ImportKeyPair.

If you do not specify a key pair, you can't connect to the instance unless you choose an AMI that is configured to allow users another way to log in.

$sel:licenseSpecifications:RequestLaunchTemplateData', requestLaunchTemplateData_licenseSpecifications - The license configurations.

$sel:maintenanceOptions:RequestLaunchTemplateData', requestLaunchTemplateData_maintenanceOptions - The maintenance options for the instance.

$sel:metadataOptions:RequestLaunchTemplateData', requestLaunchTemplateData_metadataOptions - The metadata options for the instance. For more information, see Instance metadata and user data in the Amazon Elastic Compute Cloud User Guide.

$sel:monitoring:RequestLaunchTemplateData', requestLaunchTemplateData_monitoring - The monitoring for the instance.

$sel:networkInterfaces:RequestLaunchTemplateData', requestLaunchTemplateData_networkInterfaces - One or more network interfaces. If you specify a network interface, you must specify any security groups and subnets as part of the network interface.

$sel:placement:RequestLaunchTemplateData', requestLaunchTemplateData_placement - The placement for the instance.

$sel:privateDnsNameOptions:RequestLaunchTemplateData', requestLaunchTemplateData_privateDnsNameOptions - The options for the instance hostname. The default values are inherited from the subnet.

$sel:ramDiskId:RequestLaunchTemplateData', requestLaunchTemplateData_ramDiskId - The ID of the RAM disk.

We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see User provided kernels in the Amazon Elastic Compute Cloud User Guide.

$sel:securityGroupIds:RequestLaunchTemplateData', requestLaunchTemplateData_securityGroupIds - One or more security group IDs. You can create a security group using CreateSecurityGroup. You cannot specify both a security group ID and security name in the same request.

$sel:securityGroups:RequestLaunchTemplateData', requestLaunchTemplateData_securityGroups - 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.

$sel:tagSpecifications:RequestLaunchTemplateData', requestLaunchTemplateData_tagSpecifications - The tags to apply to the resources that are created during instance launch.

You can specify tags for the following resources only:

  • Instances
  • Volumes
  • Elastic graphics
  • Spot Instance requests
  • Network interfaces

To tag a resource after it has been created, see CreateTags.

To tag the launch template itself, you must use the TagSpecification parameter.

$sel:userData:RequestLaunchTemplateData', requestLaunchTemplateData_userData - The user data to make available to the instance. You must provide base64-encoded text. User data is limited to 16 KB. For more information, see Run commands on your Linux instance at launch (Linux) or Work with instance user data (Windows) in the Amazon Elastic Compute Cloud User Guide.

If you are creating the launch template for use with Batch, the user data must be provided in the MIME multi-part archive format. For more information, see Amazon EC2 user data in launch templates in the Batch User Guide.

requestLaunchTemplateData_capacityReservationSpecification :: Lens' RequestLaunchTemplateData (Maybe LaunchTemplateCapacityReservationSpecificationRequest) Source #

The Capacity Reservation targeting option. If you do not specify this parameter, the instance's Capacity Reservation preference defaults to open, which enables it to run in any open Capacity Reservation that has matching attributes (instance type, platform, Availability Zone).

requestLaunchTemplateData_cpuOptions :: Lens' RequestLaunchTemplateData (Maybe LaunchTemplateCpuOptionsRequest) Source #

The CPU options for the instance. For more information, see Optimizing CPU Options in the Amazon Elastic Compute Cloud User Guide.

requestLaunchTemplateData_creditSpecification :: Lens' RequestLaunchTemplateData (Maybe CreditSpecificationRequest) Source #

The credit option for CPU usage of the instance. Valid only for T instances.

requestLaunchTemplateData_disableApiStop :: Lens' RequestLaunchTemplateData (Maybe Bool) Source #

Indicates whether to enable the instance for stop protection. For more information, see Stop Protection.

requestLaunchTemplateData_disableApiTermination :: Lens' RequestLaunchTemplateData (Maybe Bool) Source #

If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute after launch, use ModifyInstanceAttribute. Alternatively, if you set InstanceInitiatedShutdownBehavior to terminate, you can terminate the instance by running the shutdown command from the instance.

requestLaunchTemplateData_ebsOptimized :: Lens' RequestLaunchTemplateData (Maybe Bool) Source #

Indicates whether the instance is optimized for Amazon EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal Amazon EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS-optimized instance.

requestLaunchTemplateData_enclaveOptions :: Lens' RequestLaunchTemplateData (Maybe LaunchTemplateEnclaveOptionsRequest) Source #

Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves. For more information, see What is Amazon Web Services Nitro Enclaves? in the Amazon Web Services Nitro Enclaves User Guide.

You can't enable Amazon Web Services Nitro Enclaves and hibernation on the same instance.

requestLaunchTemplateData_hibernationOptions :: Lens' RequestLaunchTemplateData (Maybe LaunchTemplateHibernationOptionsRequest) Source #

Indicates whether an instance is enabled for hibernation. This parameter is valid only if the instance meets the hibernation prerequisites. For more information, see Hibernate your instance in the Amazon Elastic Compute Cloud User Guide.

requestLaunchTemplateData_instanceInitiatedShutdownBehavior :: Lens' RequestLaunchTemplateData (Maybe ShutdownBehavior) Source #

Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).

Default: stop

requestLaunchTemplateData_instanceRequirements :: Lens' RequestLaunchTemplateData (Maybe InstanceRequirementsRequest) Source #

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.

requestLaunchTemplateData_instanceType :: Lens' RequestLaunchTemplateData (Maybe InstanceType) Source #

The instance type. For more information, see Instance types in the Amazon Elastic Compute Cloud User Guide.

If you specify InstanceType, you can't specify InstanceRequirements.

requestLaunchTemplateData_kernelId :: Lens' RequestLaunchTemplateData (Maybe Text) Source #

The ID of the kernel.

We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see User provided kernels in the Amazon Elastic Compute Cloud User Guide.

requestLaunchTemplateData_keyName :: Lens' RequestLaunchTemplateData (Maybe Text) Source #

The name of the key pair. You can create a key pair using CreateKeyPair or ImportKeyPair.

If you do not specify a key pair, you can't connect to the instance unless you choose an AMI that is configured to allow users another way to log in.

requestLaunchTemplateData_metadataOptions :: Lens' RequestLaunchTemplateData (Maybe LaunchTemplateInstanceMetadataOptionsRequest) Source #

The metadata options for the instance. For more information, see Instance metadata and user data in the Amazon Elastic Compute Cloud User Guide.

requestLaunchTemplateData_networkInterfaces :: Lens' RequestLaunchTemplateData (Maybe [LaunchTemplateInstanceNetworkInterfaceSpecificationRequest]) Source #

One or more network interfaces. If you specify a network interface, you must specify any security groups and subnets as part of the network interface.

requestLaunchTemplateData_privateDnsNameOptions :: Lens' RequestLaunchTemplateData (Maybe LaunchTemplatePrivateDnsNameOptionsRequest) Source #

The options for the instance hostname. The default values are inherited from the subnet.

requestLaunchTemplateData_ramDiskId :: Lens' RequestLaunchTemplateData (Maybe Text) Source #

The ID of the RAM disk.

We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see User provided kernels in the Amazon Elastic Compute Cloud User Guide.

requestLaunchTemplateData_securityGroupIds :: Lens' RequestLaunchTemplateData (Maybe [Text]) Source #

One or more security group IDs. You can create a security group using CreateSecurityGroup. You cannot specify both a security group ID and security name in the same request.

requestLaunchTemplateData_securityGroups :: Lens' RequestLaunchTemplateData (Maybe [Text]) Source #

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.

requestLaunchTemplateData_tagSpecifications :: Lens' RequestLaunchTemplateData (Maybe [LaunchTemplateTagSpecificationRequest]) Source #

The tags to apply to the resources that are created during instance launch.

You can specify tags for the following resources only:

  • Instances
  • Volumes
  • Elastic graphics
  • Spot Instance requests
  • Network interfaces

To tag a resource after it has been created, see CreateTags.

To tag the launch template itself, you must use the TagSpecification parameter.

requestLaunchTemplateData_userData :: Lens' RequestLaunchTemplateData (Maybe Text) Source #

The user data to make available to the instance. You must provide base64-encoded text. User data is limited to 16 KB. For more information, see Run commands on your Linux instance at launch (Linux) or Work with instance user data (Windows) in the Amazon Elastic Compute Cloud User Guide.

If you are creating the launch template for use with Batch, the user data must be provided in the MIME multi-part archive format. For more information, see Amazon EC2 user data in launch templates in the Batch User Guide.