---
type: resource-type
title: LaunchConfiguration
description: aws resource type AWS::AutoScaling::LaunchConfiguration
name: LaunchConfiguration
lexicon: aws
resource_type: AWS::AutoScaling::LaunchConfiguration
---
`AWS::AutoScaling::LaunchConfiguration`, a resource type of the aws lexicon.

## Properties

- `ImageId` (`string`, required): Provides the unique ID of the Amazon Machine Image (AMI) that was assigned during registration.
- `InstanceType` (`string`, required): Specifies the instance type of the EC2 instance.
- `AssociatePublicIpAddress` (`boolean`, optional): For Auto Scaling groups that are running in a virtual private cloud (VPC), specifies whether to assign a public IP address to the group's instances.
- `BlockDeviceMappings` (`LaunchConfiguration_BlockDeviceMapping[]`, optional): Specifies how block devices are exposed to the instance. You can specify virtual devices and EBS volumes.
- `ClassicLinkVPCId` (`string`, optional): The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to.
- `ClassicLinkVPCSecurityGroups` (`string[]`, optional): The IDs of one or more security groups for the VPC that you specified in the ClassicLinkVPCId property.
- `EbsOptimized` (`boolean`, optional): Specifies whether the launch configuration is optimized for EBS I/O (true) or not (false).
- `IamInstanceProfile` (`string`, optional): Provides the name or the Amazon Resource Name (ARN) of the instance profile associated with the IAM role for the instance. The instance profile contains the IAM role.
- `InstanceId` (`string`, optional): The ID of the Amazon EC2 instance you want to use to create the launch configuration.
- `InstanceMonitoring` (`boolean`, optional): Controls whether instances in this group are launched with detailed (true) or basic (false) monitoring.
- `KernelId` (`string`, optional): Provides the ID of the kernel associated with the EC2 AMI.
- `KeyName` (`string`, optional): Provides the name of the EC2 key pair.
- `LaunchConfigurationName` (`string`, optional): The name of the launch configuration. This name must be unique per Region per account.
- `MetadataOptions` (`LaunchConfiguration_MetadataOptions`, optional): The metadata options for the instances.
- `PlacementTenancy` (`string`, optional): The tenancy of the instance, either default or dedicated.
- `RamDiskId` (`string`, optional): The ID of the RAM disk to select.
- `SecurityGroups` (`any`, optional): A list that contains the security groups to assign to the instances in the Auto Scaling group.
- `SpotPrice` (`string`, optional): The maximum hourly price you are willing to pay for any Spot Instances launched to fulfill the request.
- `UserData` (`string`, optional): The Base64-encoded user data to make available to the launched EC2 instances.
