---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "awscc_autoscaling_launch_configuration Resource - terraform-provider-awscc"
subcategory: ""
description: |-
The AWS::AutoScaling::LaunchConfiguration resource specifies the launch configuration that can be used by an Auto Scaling group to configure Amazon EC2 instances.
---
# awscc_autoscaling_launch_configuration (Resource)
The AWS::AutoScaling::LaunchConfiguration resource specifies the launch configuration that can be used by an Auto Scaling group to configure Amazon EC2 instances.
## Schema
### Required
- `image_id` (String) Provides the unique ID of the Amazon Machine Image (AMI) that was assigned during registration.
- `instance_type` (String) Specifies the instance type of the EC2 instance.
### Optional
- `associate_public_ip_address` (Boolean) 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.
- `block_device_mappings` (Attributes Set) Specifies how block devices are exposed to the instance. You can specify virtual devices and EBS volumes. (see [below for nested schema](#nestedatt--block_device_mappings))
- `classic_link_vpc_id` (String) The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to.
- `classic_link_vpc_security_groups` (List of String) The IDs of one or more security groups for the VPC that you specified in the ClassicLinkVPCId property.
- `ebs_optimized` (Boolean) Specifies whether the launch configuration is optimized for EBS I/O (true) or not (false).
- `iam_instance_profile` (String) 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.
- `instance_id` (String) The ID of the Amazon EC2 instance you want to use to create the launch configuration.
- `instance_monitoring` (Boolean) Controls whether instances in this group are launched with detailed (true) or basic (false) monitoring.
- `kernel_id` (String) Provides the ID of the kernel associated with the EC2 AMI.
- `key_name` (String) Provides the name of the EC2 key pair.
- `launch_configuration_name` (String) The name of the launch configuration. This name must be unique per Region per account.
- `metadata_options` (Attributes) The metadata options for the instances. (see [below for nested schema](#nestedatt--metadata_options))
- `placement_tenancy` (String) The tenancy of the instance, either default or dedicated.
- `ram_disk_id` (String) The ID of the RAM disk to select.
- `security_groups` (List of String) A list that contains the security groups to assign to the instances in the Auto Scaling group.
- `spot_price` (String) The maximum hourly price you are willing to pay for any Spot Instances launched to fulfill the request.
- `user_data` (String) The Base64-encoded user data to make available to the launched EC2 instances.
### Read-Only
- `id` (String) Uniquely identifies the resource.
### Nested Schema for `block_device_mappings`
Optional:
- `device_name` (String) The device name exposed to the EC2 instance (for example, /dev/sdh or xvdh).
- `ebs` (Attributes) Parameters used to automatically set up EBS volumes when an instance is launched. (see [below for nested schema](#nestedatt--block_device_mappings--ebs))
- `no_device` (Boolean) Setting this value to true suppresses the specified device included in the block device mapping of the AMI.
- `virtual_name` (String) The name of the virtual device.
### Nested Schema for `block_device_mappings.ebs`
Optional:
- `delete_on_termination` (Boolean) Indicates whether the volume is deleted on instance termination.
- `encrypted` (Boolean) Specifies whether the volume should be encrypted.
- `iops` (Number) The number of input/output (I/O) operations per second (IOPS) to provision for the volume.
- `snapshot_id` (String) The snapshot ID of the volume to use.
- `throughput` (Number) The throughput (MiBps) to provision for a gp3 volume.
- `volume_size` (Number) The volume size, in GiBs.
- `volume_type` (String) The volume type.
### Nested Schema for `metadata_options`
Optional:
- `http_endpoint` (String) This parameter enables or disables the HTTP metadata endpoint on your instances.
- `http_put_response_hop_limit` (Number) The desired HTTP PUT response hop limit for instance metadata requests.
- `http_tokens` (String) The state of token usage for your instance metadata requests.
## Import
Import is supported using the following syntax:
```shell
$ terraform import awscc_autoscaling_launch_configuration.example
```