1. Packages
  2. AWS Cloud Control
  3. API Docs
  4. autoscaling
  5. LaunchConfiguration

We recommend new projects start with resources from the AWS provider.

AWS Cloud Control v1.27.0 published on Monday, Apr 14, 2025 by Pulumi

aws-native.autoscaling.LaunchConfiguration

Explore with Pulumi AI

We recommend new projects start with resources from the AWS provider.

AWS Cloud Control v1.27.0 published on Monday, Apr 14, 2025 by Pulumi

The AWS::AutoScaling::LaunchConfiguration resource specifies the launch configuration that can be used by an Auto Scaling group to configure Amazon EC2 instances.

Create LaunchConfiguration Resource

Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

Constructor syntax

new LaunchConfiguration(name: string, args: LaunchConfigurationArgs, opts?: CustomResourceOptions);
@overload
def LaunchConfiguration(resource_name: str,
                        args: LaunchConfigurationArgs,
                        opts: Optional[ResourceOptions] = None)

@overload
def LaunchConfiguration(resource_name: str,
                        opts: Optional[ResourceOptions] = None,
                        image_id: Optional[str] = None,
                        instance_type: Optional[str] = None,
                        instance_monitoring: Optional[bool] = None,
                        key_name: Optional[str] = None,
                        ebs_optimized: Optional[bool] = None,
                        iam_instance_profile: Optional[str] = None,
                        classic_link_vpc_id: Optional[str] = None,
                        instance_id: Optional[str] = None,
                        associate_public_ip_address: Optional[bool] = None,
                        block_device_mappings: Optional[Sequence[LaunchConfigurationBlockDeviceMappingArgs]] = None,
                        kernel_id: Optional[str] = None,
                        classic_link_vpc_security_groups: Optional[Sequence[str]] = None,
                        launch_configuration_name: Optional[str] = None,
                        metadata_options: Optional[LaunchConfigurationMetadataOptionsArgs] = None,
                        placement_tenancy: Optional[str] = None,
                        ram_disk_id: Optional[str] = None,
                        security_groups: Optional[Sequence[str]] = None,
                        spot_price: Optional[str] = None,
                        user_data: Optional[str] = None)
func NewLaunchConfiguration(ctx *Context, name string, args LaunchConfigurationArgs, opts ...ResourceOption) (*LaunchConfiguration, error)
public LaunchConfiguration(string name, LaunchConfigurationArgs args, CustomResourceOptions? opts = null)
public LaunchConfiguration(String name, LaunchConfigurationArgs args)
public LaunchConfiguration(String name, LaunchConfigurationArgs args, CustomResourceOptions options)
type: aws-native:autoscaling:LaunchConfiguration
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. LaunchConfigurationArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. LaunchConfigurationArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args This property is required. LaunchConfigurationArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. LaunchConfigurationArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. LaunchConfigurationArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

LaunchConfiguration Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The LaunchConfiguration resource accepts the following input properties:

ImageId This property is required. string
Provides the unique ID of the Amazon Machine Image (AMI) that was assigned during registration.
InstanceType This property is required. string
Specifies the instance type of the EC2 instance.
AssociatePublicIpAddress bool
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 List<Pulumi.AwsNative.AutoScaling.Inputs.LaunchConfigurationBlockDeviceMapping>
Specifies how block devices are exposed to the instance. You can specify virtual devices and EBS volumes.
ClassicLinkVpcId string
The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to.
ClassicLinkVpcSecurityGroups List<string>
The IDs of one or more security groups for the VPC that you specified in the ClassicLinkVPCId property.
EbsOptimized bool
Specifies whether the launch configuration is optimized for EBS I/O (true) or not (false).
IamInstanceProfile 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.
InstanceId string
The ID of the Amazon EC2 instance you want to use to create the launch configuration.
InstanceMonitoring bool
Controls whether instances in this group are launched with detailed (true) or basic (false) monitoring.
KernelId string
Provides the ID of the kernel associated with the EC2 AMI.
KeyName string
Provides the name of the EC2 key pair.
LaunchConfigurationName string
The name of the launch configuration. This name must be unique per Region per account.
MetadataOptions Pulumi.AwsNative.AutoScaling.Inputs.LaunchConfigurationMetadataOptions
The metadata options for the instances.
PlacementTenancy string
The tenancy of the instance, either default or dedicated.
RamDiskId string
The ID of the RAM disk to select.
SecurityGroups List<string>
A list that contains the security groups to assign to the instances in the Auto Scaling group.
SpotPrice string
The maximum hourly price you are willing to pay for any Spot Instances launched to fulfill the request.
UserData string
The Base64-encoded user data to make available to the launched EC2 instances.
ImageId This property is required. string
Provides the unique ID of the Amazon Machine Image (AMI) that was assigned during registration.
InstanceType This property is required. string
Specifies the instance type of the EC2 instance.
AssociatePublicIpAddress bool
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 []LaunchConfigurationBlockDeviceMappingArgs
Specifies how block devices are exposed to the instance. You can specify virtual devices and EBS volumes.
ClassicLinkVpcId string
The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to.
ClassicLinkVpcSecurityGroups []string
The IDs of one or more security groups for the VPC that you specified in the ClassicLinkVPCId property.
EbsOptimized bool
Specifies whether the launch configuration is optimized for EBS I/O (true) or not (false).
IamInstanceProfile 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.
InstanceId string
The ID of the Amazon EC2 instance you want to use to create the launch configuration.
InstanceMonitoring bool
Controls whether instances in this group are launched with detailed (true) or basic (false) monitoring.
KernelId string
Provides the ID of the kernel associated with the EC2 AMI.
KeyName string
Provides the name of the EC2 key pair.
LaunchConfigurationName string
The name of the launch configuration. This name must be unique per Region per account.
MetadataOptions LaunchConfigurationMetadataOptionsArgs
The metadata options for the instances.
PlacementTenancy string
The tenancy of the instance, either default or dedicated.
RamDiskId string
The ID of the RAM disk to select.
SecurityGroups []string
A list that contains the security groups to assign to the instances in the Auto Scaling group.
SpotPrice string
The maximum hourly price you are willing to pay for any Spot Instances launched to fulfill the request.
UserData string
The Base64-encoded user data to make available to the launched EC2 instances.
imageId This property is required. String
Provides the unique ID of the Amazon Machine Image (AMI) that was assigned during registration.
instanceType This property is required. String
Specifies the instance type of the EC2 instance.
associatePublicIpAddress 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.
blockDeviceMappings List<LaunchConfigurationBlockDeviceMapping>
Specifies how block devices are exposed to the instance. You can specify virtual devices and EBS volumes.
classicLinkVpcId String
The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to.
classicLinkVpcSecurityGroups List<String>
The IDs of one or more security groups for the VPC that you specified in the ClassicLinkVPCId property.
ebsOptimized Boolean
Specifies whether the launch configuration is optimized for EBS I/O (true) or not (false).
iamInstanceProfile 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.
instanceId String
The ID of the Amazon EC2 instance you want to use to create the launch configuration.
instanceMonitoring Boolean
Controls whether instances in this group are launched with detailed (true) or basic (false) monitoring.
kernelId String
Provides the ID of the kernel associated with the EC2 AMI.
keyName String
Provides the name of the EC2 key pair.
launchConfigurationName String
The name of the launch configuration. This name must be unique per Region per account.
metadataOptions LaunchConfigurationMetadataOptions
The metadata options for the instances.
placementTenancy String
The tenancy of the instance, either default or dedicated.
ramDiskId String
The ID of the RAM disk to select.
securityGroups List<String>
A list that contains the security groups to assign to the instances in the Auto Scaling group.
spotPrice String
The maximum hourly price you are willing to pay for any Spot Instances launched to fulfill the request.
userData String
The Base64-encoded user data to make available to the launched EC2 instances.
imageId This property is required. string
Provides the unique ID of the Amazon Machine Image (AMI) that was assigned during registration.
instanceType This property is required. string
Specifies the instance type of the EC2 instance.
associatePublicIpAddress 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.
blockDeviceMappings LaunchConfigurationBlockDeviceMapping[]
Specifies how block devices are exposed to the instance. You can specify virtual devices and EBS volumes.
classicLinkVpcId string
The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to.
classicLinkVpcSecurityGroups string[]
The IDs of one or more security groups for the VPC that you specified in the ClassicLinkVPCId property.
ebsOptimized boolean
Specifies whether the launch configuration is optimized for EBS I/O (true) or not (false).
iamInstanceProfile 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.
instanceId string
The ID of the Amazon EC2 instance you want to use to create the launch configuration.
instanceMonitoring boolean
Controls whether instances in this group are launched with detailed (true) or basic (false) monitoring.
kernelId string
Provides the ID of the kernel associated with the EC2 AMI.
keyName string
Provides the name of the EC2 key pair.
launchConfigurationName string
The name of the launch configuration. This name must be unique per Region per account.
metadataOptions LaunchConfigurationMetadataOptions
The metadata options for the instances.
placementTenancy string
The tenancy of the instance, either default or dedicated.
ramDiskId string
The ID of the RAM disk to select.
securityGroups string[]
A list that contains the security groups to assign to the instances in the Auto Scaling group.
spotPrice string
The maximum hourly price you are willing to pay for any Spot Instances launched to fulfill the request.
userData string
The Base64-encoded user data to make available to the launched EC2 instances.
image_id This property is required. str
Provides the unique ID of the Amazon Machine Image (AMI) that was assigned during registration.
instance_type This property is required. str
Specifies the instance type of the EC2 instance.
associate_public_ip_address bool
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 Sequence[LaunchConfigurationBlockDeviceMappingArgs]
Specifies how block devices are exposed to the instance. You can specify virtual devices and EBS volumes.
classic_link_vpc_id str
The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to.
classic_link_vpc_security_groups Sequence[str]
The IDs of one or more security groups for the VPC that you specified in the ClassicLinkVPCId property.
ebs_optimized bool
Specifies whether the launch configuration is optimized for EBS I/O (true) or not (false).
iam_instance_profile str
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 str
The ID of the Amazon EC2 instance you want to use to create the launch configuration.
instance_monitoring bool
Controls whether instances in this group are launched with detailed (true) or basic (false) monitoring.
kernel_id str
Provides the ID of the kernel associated with the EC2 AMI.
key_name str
Provides the name of the EC2 key pair.
launch_configuration_name str
The name of the launch configuration. This name must be unique per Region per account.
metadata_options LaunchConfigurationMetadataOptionsArgs
The metadata options for the instances.
placement_tenancy str
The tenancy of the instance, either default or dedicated.
ram_disk_id str
The ID of the RAM disk to select.
security_groups Sequence[str]
A list that contains the security groups to assign to the instances in the Auto Scaling group.
spot_price str
The maximum hourly price you are willing to pay for any Spot Instances launched to fulfill the request.
user_data str
The Base64-encoded user data to make available to the launched EC2 instances.
imageId This property is required. String
Provides the unique ID of the Amazon Machine Image (AMI) that was assigned during registration.
instanceType This property is required. String
Specifies the instance type of the EC2 instance.
associatePublicIpAddress 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.
blockDeviceMappings List<Property Map>
Specifies how block devices are exposed to the instance. You can specify virtual devices and EBS volumes.
classicLinkVpcId String
The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to.
classicLinkVpcSecurityGroups List<String>
The IDs of one or more security groups for the VPC that you specified in the ClassicLinkVPCId property.
ebsOptimized Boolean
Specifies whether the launch configuration is optimized for EBS I/O (true) or not (false).
iamInstanceProfile 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.
instanceId String
The ID of the Amazon EC2 instance you want to use to create the launch configuration.
instanceMonitoring Boolean
Controls whether instances in this group are launched with detailed (true) or basic (false) monitoring.
kernelId String
Provides the ID of the kernel associated with the EC2 AMI.
keyName String
Provides the name of the EC2 key pair.
launchConfigurationName String
The name of the launch configuration. This name must be unique per Region per account.
metadataOptions Property Map
The metadata options for the instances.
placementTenancy String
The tenancy of the instance, either default or dedicated.
ramDiskId String
The ID of the RAM disk to select.
securityGroups List<String>
A list that contains the security groups to assign to the instances in the Auto Scaling group.
spotPrice String
The maximum hourly price you are willing to pay for any Spot Instances launched to fulfill the request.
userData String
The Base64-encoded user data to make available to the launched EC2 instances.

Outputs

All input properties are implicitly available as output properties. Additionally, the LaunchConfiguration resource produces the following output properties:

Id string
The provider-assigned unique ID for this managed resource.
Id string
The provider-assigned unique ID for this managed resource.
id String
The provider-assigned unique ID for this managed resource.
id string
The provider-assigned unique ID for this managed resource.
id str
The provider-assigned unique ID for this managed resource.
id String
The provider-assigned unique ID for this managed resource.

Supporting Types

LaunchConfigurationBlockDevice
, LaunchConfigurationBlockDeviceArgs

DeleteOnTermination bool
Indicates whether the volume is deleted on instance termination.
Encrypted bool
Specifies whether the volume should be encrypted.
Iops int
The number of input/output (I/O) operations per second (IOPS) to provision for the volume.
SnapshotId string
The snapshot ID of the volume to use.
Throughput int
The throughput (MiBps) to provision for a gp3 volume.
VolumeSize int
The volume size, in GiBs.
VolumeType string
The volume type.
DeleteOnTermination bool
Indicates whether the volume is deleted on instance termination.
Encrypted bool
Specifies whether the volume should be encrypted.
Iops int
The number of input/output (I/O) operations per second (IOPS) to provision for the volume.
SnapshotId string
The snapshot ID of the volume to use.
Throughput int
The throughput (MiBps) to provision for a gp3 volume.
VolumeSize int
The volume size, in GiBs.
VolumeType string
The volume type.
deleteOnTermination Boolean
Indicates whether the volume is deleted on instance termination.
encrypted Boolean
Specifies whether the volume should be encrypted.
iops Integer
The number of input/output (I/O) operations per second (IOPS) to provision for the volume.
snapshotId String
The snapshot ID of the volume to use.
throughput Integer
The throughput (MiBps) to provision for a gp3 volume.
volumeSize Integer
The volume size, in GiBs.
volumeType String
The volume type.
deleteOnTermination 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.
snapshotId string
The snapshot ID of the volume to use.
throughput number
The throughput (MiBps) to provision for a gp3 volume.
volumeSize number
The volume size, in GiBs.
volumeType string
The volume type.
delete_on_termination bool
Indicates whether the volume is deleted on instance termination.
encrypted bool
Specifies whether the volume should be encrypted.
iops int
The number of input/output (I/O) operations per second (IOPS) to provision for the volume.
snapshot_id str
The snapshot ID of the volume to use.
throughput int
The throughput (MiBps) to provision for a gp3 volume.
volume_size int
The volume size, in GiBs.
volume_type str
The volume type.
deleteOnTermination 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.
snapshotId String
The snapshot ID of the volume to use.
throughput Number
The throughput (MiBps) to provision for a gp3 volume.
volumeSize Number
The volume size, in GiBs.
volumeType String
The volume type.

LaunchConfigurationBlockDeviceMapping
, LaunchConfigurationBlockDeviceMappingArgs

DeviceName This property is required. string
The device name exposed to the EC2 instance (for example, /dev/sdh or xvdh).
Ebs Pulumi.AwsNative.AutoScaling.Inputs.LaunchConfigurationBlockDevice
Parameters used to automatically set up EBS volumes when an instance is launched.
NoDevice bool
Setting this value to true suppresses the specified device included in the block device mapping of the AMI.
VirtualName string
The name of the virtual device.
DeviceName This property is required. string
The device name exposed to the EC2 instance (for example, /dev/sdh or xvdh).
Ebs LaunchConfigurationBlockDevice
Parameters used to automatically set up EBS volumes when an instance is launched.
NoDevice bool
Setting this value to true suppresses the specified device included in the block device mapping of the AMI.
VirtualName string
The name of the virtual device.
deviceName This property is required. String
The device name exposed to the EC2 instance (for example, /dev/sdh or xvdh).
ebs LaunchConfigurationBlockDevice
Parameters used to automatically set up EBS volumes when an instance is launched.
noDevice Boolean
Setting this value to true suppresses the specified device included in the block device mapping of the AMI.
virtualName String
The name of the virtual device.
deviceName This property is required. string
The device name exposed to the EC2 instance (for example, /dev/sdh or xvdh).
ebs LaunchConfigurationBlockDevice
Parameters used to automatically set up EBS volumes when an instance is launched.
noDevice boolean
Setting this value to true suppresses the specified device included in the block device mapping of the AMI.
virtualName string
The name of the virtual device.
device_name This property is required. str
The device name exposed to the EC2 instance (for example, /dev/sdh or xvdh).
ebs LaunchConfigurationBlockDevice
Parameters used to automatically set up EBS volumes when an instance is launched.
no_device bool
Setting this value to true suppresses the specified device included in the block device mapping of the AMI.
virtual_name str
The name of the virtual device.
deviceName This property is required. String
The device name exposed to the EC2 instance (for example, /dev/sdh or xvdh).
ebs Property Map
Parameters used to automatically set up EBS volumes when an instance is launched.
noDevice Boolean
Setting this value to true suppresses the specified device included in the block device mapping of the AMI.
virtualName String
The name of the virtual device.

LaunchConfigurationMetadataOptions
, LaunchConfigurationMetadataOptionsArgs

HttpEndpoint string
This parameter enables or disables the HTTP metadata endpoint on your instances.
HttpPutResponseHopLimit int
The desired HTTP PUT response hop limit for instance metadata requests.
HttpTokens string
The state of token usage for your instance metadata requests.
HttpEndpoint string
This parameter enables or disables the HTTP metadata endpoint on your instances.
HttpPutResponseHopLimit int
The desired HTTP PUT response hop limit for instance metadata requests.
HttpTokens string
The state of token usage for your instance metadata requests.
httpEndpoint String
This parameter enables or disables the HTTP metadata endpoint on your instances.
httpPutResponseHopLimit Integer
The desired HTTP PUT response hop limit for instance metadata requests.
httpTokens String
The state of token usage for your instance metadata requests.
httpEndpoint string
This parameter enables or disables the HTTP metadata endpoint on your instances.
httpPutResponseHopLimit number
The desired HTTP PUT response hop limit for instance metadata requests.
httpTokens string
The state of token usage for your instance metadata requests.
http_endpoint str
This parameter enables or disables the HTTP metadata endpoint on your instances.
http_put_response_hop_limit int
The desired HTTP PUT response hop limit for instance metadata requests.
http_tokens str
The state of token usage for your instance metadata requests.
httpEndpoint String
This parameter enables or disables the HTTP metadata endpoint on your instances.
httpPutResponseHopLimit Number
The desired HTTP PUT response hop limit for instance metadata requests.
httpTokens String
The state of token usage for your instance metadata requests.

Package Details

Repository
AWS Native pulumi/pulumi-aws-native
License
Apache-2.0

We recommend new projects start with resources from the AWS provider.

AWS Cloud Control v1.27.0 published on Monday, Apr 14, 2025 by Pulumi