aws.ec2.LaunchConfiguration
Explore with Pulumi AI
Provides a resource to create a new launch configuration, used for autoscaling groups.
!> WARNING: The use of launch configurations is discouraged in favor of launch templates. Read more in the AWS EC2 Documentation.
Note When using
aws.ec2.LaunchConfigurationwithaws.autoscaling.Group, it is recommended to use thename_prefix(Optional) instead of thename(Optional) attribute.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const ubuntu = aws.ec2.getAmi({
    mostRecent: true,
    filters: [
        {
            name: "name",
            values: ["ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-*"],
        },
        {
            name: "virtualization-type",
            values: ["hvm"],
        },
    ],
    owners: ["099720109477"],
});
const asConf = new aws.ec2.LaunchConfiguration("as_conf", {
    name: "web_config",
    imageId: ubuntu.then(ubuntu => ubuntu.id),
    instanceType: "t2.micro",
});
import pulumi
import pulumi_aws as aws
ubuntu = aws.ec2.get_ami(most_recent=True,
    filters=[
        {
            "name": "name",
            "values": ["ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-*"],
        },
        {
            "name": "virtualization-type",
            "values": ["hvm"],
        },
    ],
    owners=["099720109477"])
as_conf = aws.ec2.LaunchConfiguration("as_conf",
    name="web_config",
    image_id=ubuntu.id,
    instance_type="t2.micro")
package main
import (
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ubuntu, err := ec2.LookupAmi(ctx, &ec2.LookupAmiArgs{
			MostRecent: pulumi.BoolRef(true),
			Filters: []ec2.GetAmiFilter{
				{
					Name: "name",
					Values: []string{
						"ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-*",
					},
				},
				{
					Name: "virtualization-type",
					Values: []string{
						"hvm",
					},
				},
			},
			Owners: []string{
				"099720109477",
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = ec2.NewLaunchConfiguration(ctx, "as_conf", &ec2.LaunchConfigurationArgs{
			Name:         pulumi.String("web_config"),
			ImageId:      pulumi.String(ubuntu.Id),
			InstanceType: pulumi.String("t2.micro"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() => 
{
    var ubuntu = Aws.Ec2.GetAmi.Invoke(new()
    {
        MostRecent = true,
        Filters = new[]
        {
            new Aws.Ec2.Inputs.GetAmiFilterInputArgs
            {
                Name = "name",
                Values = new[]
                {
                    "ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-*",
                },
            },
            new Aws.Ec2.Inputs.GetAmiFilterInputArgs
            {
                Name = "virtualization-type",
                Values = new[]
                {
                    "hvm",
                },
            },
        },
        Owners = new[]
        {
            "099720109477",
        },
    });
    var asConf = new Aws.Ec2.LaunchConfiguration("as_conf", new()
    {
        Name = "web_config",
        ImageId = ubuntu.Apply(getAmiResult => getAmiResult.Id),
        InstanceType = "t2.micro",
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ec2.Ec2Functions;
import com.pulumi.aws.ec2.inputs.GetAmiArgs;
import com.pulumi.aws.ec2.LaunchConfiguration;
import com.pulumi.aws.ec2.LaunchConfigurationArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        final var ubuntu = Ec2Functions.getAmi(GetAmiArgs.builder()
            .mostRecent(true)
            .filters(            
                GetAmiFilterArgs.builder()
                    .name("name")
                    .values("ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-*")
                    .build(),
                GetAmiFilterArgs.builder()
                    .name("virtualization-type")
                    .values("hvm")
                    .build())
            .owners("099720109477")
            .build());
        var asConf = new LaunchConfiguration("asConf", LaunchConfigurationArgs.builder()
            .name("web_config")
            .imageId(ubuntu.applyValue(getAmiResult -> getAmiResult.id()))
            .instanceType("t2.micro")
            .build());
    }
}
resources:
  asConf:
    type: aws:ec2:LaunchConfiguration
    name: as_conf
    properties:
      name: web_config
      imageId: ${ubuntu.id}
      instanceType: t2.micro
variables:
  ubuntu:
    fn::invoke:
      function: aws:ec2:getAmi
      arguments:
        mostRecent: true
        filters:
          - name: name
            values:
              - ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-*
          - name: virtualization-type
            values:
              - hvm
        owners:
          - '099720109477'
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,
                        key_name: Optional[str] = None,
                        metadata_options: Optional[LaunchConfigurationMetadataOptionsArgs] = None,
                        ephemeral_block_devices: Optional[Sequence[LaunchConfigurationEphemeralBlockDeviceArgs]] = None,
                        iam_instance_profile: Optional[str] = None,
                        ebs_optimized: Optional[bool] = None,
                        ebs_block_devices: Optional[Sequence[LaunchConfigurationEbsBlockDeviceArgs]] = None,
                        associate_public_ip_address: Optional[bool] = None,
                        enable_monitoring: Optional[bool] = None,
                        name: Optional[str] = None,
                        name_prefix: Optional[str] = None,
                        placement_tenancy: Optional[str] = None,
                        root_block_device: Optional[LaunchConfigurationRootBlockDeviceArgs] = None,
                        security_groups: Optional[Sequence[str]] = None,
                        spot_price: Optional[str] = None,
                        user_data: Optional[str] = None,
                        user_data_base64: 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:ec2:LaunchConfiguration
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args LaunchConfigurationArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args 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 string
- The unique name of the resource.
- args LaunchConfigurationArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args LaunchConfigurationArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args LaunchConfigurationArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var launchConfigurationResource = new Aws.Ec2.LaunchConfiguration("launchConfigurationResource", new()
{
    ImageId = "string",
    InstanceType = "string",
    KeyName = "string",
    MetadataOptions = new Aws.Ec2.Inputs.LaunchConfigurationMetadataOptionsArgs
    {
        HttpEndpoint = "string",
        HttpPutResponseHopLimit = 0,
        HttpTokens = "string",
    },
    EphemeralBlockDevices = new[]
    {
        new Aws.Ec2.Inputs.LaunchConfigurationEphemeralBlockDeviceArgs
        {
            DeviceName = "string",
            NoDevice = false,
            VirtualName = "string",
        },
    },
    IamInstanceProfile = "string",
    EbsOptimized = false,
    EbsBlockDevices = new[]
    {
        new Aws.Ec2.Inputs.LaunchConfigurationEbsBlockDeviceArgs
        {
            DeviceName = "string",
            DeleteOnTermination = false,
            Encrypted = false,
            Iops = 0,
            NoDevice = false,
            SnapshotId = "string",
            Throughput = 0,
            VolumeSize = 0,
            VolumeType = "string",
        },
    },
    AssociatePublicIpAddress = false,
    EnableMonitoring = false,
    Name = "string",
    NamePrefix = "string",
    PlacementTenancy = "string",
    RootBlockDevice = new Aws.Ec2.Inputs.LaunchConfigurationRootBlockDeviceArgs
    {
        DeleteOnTermination = false,
        Encrypted = false,
        Iops = 0,
        Throughput = 0,
        VolumeSize = 0,
        VolumeType = "string",
    },
    SecurityGroups = new[]
    {
        "string",
    },
    SpotPrice = "string",
    UserData = "string",
    UserDataBase64 = "string",
});
example, err := ec2.NewLaunchConfiguration(ctx, "launchConfigurationResource", &ec2.LaunchConfigurationArgs{
	ImageId:      pulumi.String("string"),
	InstanceType: pulumi.String("string"),
	KeyName:      pulumi.String("string"),
	MetadataOptions: &ec2.LaunchConfigurationMetadataOptionsArgs{
		HttpEndpoint:            pulumi.String("string"),
		HttpPutResponseHopLimit: pulumi.Int(0),
		HttpTokens:              pulumi.String("string"),
	},
	EphemeralBlockDevices: ec2.LaunchConfigurationEphemeralBlockDeviceArray{
		&ec2.LaunchConfigurationEphemeralBlockDeviceArgs{
			DeviceName:  pulumi.String("string"),
			NoDevice:    pulumi.Bool(false),
			VirtualName: pulumi.String("string"),
		},
	},
	IamInstanceProfile: pulumi.Any("string"),
	EbsOptimized:       pulumi.Bool(false),
	EbsBlockDevices: ec2.LaunchConfigurationEbsBlockDeviceArray{
		&ec2.LaunchConfigurationEbsBlockDeviceArgs{
			DeviceName:          pulumi.String("string"),
			DeleteOnTermination: pulumi.Bool(false),
			Encrypted:           pulumi.Bool(false),
			Iops:                pulumi.Int(0),
			NoDevice:            pulumi.Bool(false),
			SnapshotId:          pulumi.String("string"),
			Throughput:          pulumi.Int(0),
			VolumeSize:          pulumi.Int(0),
			VolumeType:          pulumi.String("string"),
		},
	},
	AssociatePublicIpAddress: pulumi.Bool(false),
	EnableMonitoring:         pulumi.Bool(false),
	Name:                     pulumi.String("string"),
	NamePrefix:               pulumi.String("string"),
	PlacementTenancy:         pulumi.String("string"),
	RootBlockDevice: &ec2.LaunchConfigurationRootBlockDeviceArgs{
		DeleteOnTermination: pulumi.Bool(false),
		Encrypted:           pulumi.Bool(false),
		Iops:                pulumi.Int(0),
		Throughput:          pulumi.Int(0),
		VolumeSize:          pulumi.Int(0),
		VolumeType:          pulumi.String("string"),
	},
	SecurityGroups: pulumi.StringArray{
		pulumi.String("string"),
	},
	SpotPrice:      pulumi.String("string"),
	UserData:       pulumi.String("string"),
	UserDataBase64: pulumi.String("string"),
})
var launchConfigurationResource = new LaunchConfiguration("launchConfigurationResource", LaunchConfigurationArgs.builder()
    .imageId("string")
    .instanceType("string")
    .keyName("string")
    .metadataOptions(LaunchConfigurationMetadataOptionsArgs.builder()
        .httpEndpoint("string")
        .httpPutResponseHopLimit(0)
        .httpTokens("string")
        .build())
    .ephemeralBlockDevices(LaunchConfigurationEphemeralBlockDeviceArgs.builder()
        .deviceName("string")
        .noDevice(false)
        .virtualName("string")
        .build())
    .iamInstanceProfile("string")
    .ebsOptimized(false)
    .ebsBlockDevices(LaunchConfigurationEbsBlockDeviceArgs.builder()
        .deviceName("string")
        .deleteOnTermination(false)
        .encrypted(false)
        .iops(0)
        .noDevice(false)
        .snapshotId("string")
        .throughput(0)
        .volumeSize(0)
        .volumeType("string")
        .build())
    .associatePublicIpAddress(false)
    .enableMonitoring(false)
    .name("string")
    .namePrefix("string")
    .placementTenancy("string")
    .rootBlockDevice(LaunchConfigurationRootBlockDeviceArgs.builder()
        .deleteOnTermination(false)
        .encrypted(false)
        .iops(0)
        .throughput(0)
        .volumeSize(0)
        .volumeType("string")
        .build())
    .securityGroups("string")
    .spotPrice("string")
    .userData("string")
    .userDataBase64("string")
    .build());
launch_configuration_resource = aws.ec2.LaunchConfiguration("launchConfigurationResource",
    image_id="string",
    instance_type="string",
    key_name="string",
    metadata_options={
        "http_endpoint": "string",
        "http_put_response_hop_limit": 0,
        "http_tokens": "string",
    },
    ephemeral_block_devices=[{
        "device_name": "string",
        "no_device": False,
        "virtual_name": "string",
    }],
    iam_instance_profile="string",
    ebs_optimized=False,
    ebs_block_devices=[{
        "device_name": "string",
        "delete_on_termination": False,
        "encrypted": False,
        "iops": 0,
        "no_device": False,
        "snapshot_id": "string",
        "throughput": 0,
        "volume_size": 0,
        "volume_type": "string",
    }],
    associate_public_ip_address=False,
    enable_monitoring=False,
    name="string",
    name_prefix="string",
    placement_tenancy="string",
    root_block_device={
        "delete_on_termination": False,
        "encrypted": False,
        "iops": 0,
        "throughput": 0,
        "volume_size": 0,
        "volume_type": "string",
    },
    security_groups=["string"],
    spot_price="string",
    user_data="string",
    user_data_base64="string")
const launchConfigurationResource = new aws.ec2.LaunchConfiguration("launchConfigurationResource", {
    imageId: "string",
    instanceType: "string",
    keyName: "string",
    metadataOptions: {
        httpEndpoint: "string",
        httpPutResponseHopLimit: 0,
        httpTokens: "string",
    },
    ephemeralBlockDevices: [{
        deviceName: "string",
        noDevice: false,
        virtualName: "string",
    }],
    iamInstanceProfile: "string",
    ebsOptimized: false,
    ebsBlockDevices: [{
        deviceName: "string",
        deleteOnTermination: false,
        encrypted: false,
        iops: 0,
        noDevice: false,
        snapshotId: "string",
        throughput: 0,
        volumeSize: 0,
        volumeType: "string",
    }],
    associatePublicIpAddress: false,
    enableMonitoring: false,
    name: "string",
    namePrefix: "string",
    placementTenancy: "string",
    rootBlockDevice: {
        deleteOnTermination: false,
        encrypted: false,
        iops: 0,
        throughput: 0,
        volumeSize: 0,
        volumeType: "string",
    },
    securityGroups: ["string"],
    spotPrice: "string",
    userData: "string",
    userDataBase64: "string",
});
type: aws:ec2:LaunchConfiguration
properties:
    associatePublicIpAddress: false
    ebsBlockDevices:
        - deleteOnTermination: false
          deviceName: string
          encrypted: false
          iops: 0
          noDevice: false
          snapshotId: string
          throughput: 0
          volumeSize: 0
          volumeType: string
    ebsOptimized: false
    enableMonitoring: false
    ephemeralBlockDevices:
        - deviceName: string
          noDevice: false
          virtualName: string
    iamInstanceProfile: string
    imageId: string
    instanceType: string
    keyName: string
    metadataOptions:
        httpEndpoint: string
        httpPutResponseHopLimit: 0
        httpTokens: string
    name: string
    namePrefix: string
    placementTenancy: string
    rootBlockDevice:
        deleteOnTermination: false
        encrypted: false
        iops: 0
        throughput: 0
        volumeSize: 0
        volumeType: string
    securityGroups:
        - string
    spotPrice: string
    userData: string
    userDataBase64: string
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 string
- The EC2 image ID to launch.
- InstanceType string
- The size of instance to launch. - The following arguments are optional: 
- AssociatePublic boolIp Address 
- Associate a public ip address with an instance in a VPC.
- EbsBlock List<LaunchDevices Configuration Ebs Block Device> 
- Additional EBS block devices to attach to the instance. See Block Devices below for details.
- EbsOptimized bool
- If true, the launched EC2 instance will be EBS-optimized.
- EnableMonitoring bool
- Enables/disables detailed monitoring. This is enabled by default.
- EphemeralBlock List<LaunchDevices Configuration Ephemeral Block Device> 
- Customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details.
- IamInstance string | stringProfile 
- The name attribute of the IAM instance profile to associate with launched instances.
- KeyName string
- The key name that should be used for the instance.
- MetadataOptions LaunchConfiguration Metadata Options 
- The metadata options for the instance.
- Name string
- The name of the launch configuration. If you leave this blank, this provider will auto-generate a unique name. Conflicts with name_prefix.
- NamePrefix string
- Creates a unique name beginning with the specified prefix. Conflicts with name.
- PlacementTenancy string
- The tenancy of the instance. Valid values are defaultordedicated, see AWS's Create Launch Configuration for more details.
- RootBlock LaunchDevice Configuration Root Block Device 
- Customize details about the root block device of the instance. See Block Devices below for details.
- SecurityGroups List<string>
- A list of associated security group IDS.
- SpotPrice string
- The maximum price to use for reserving spot instances.
- UserData string
- The user data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see user_data_base64instead.
- UserData stringBase64 
- Can be used instead of user_datato pass base64-encoded binary data directly. Use this instead ofuser_datawhenever the value is not a valid UTF-8 string. For example, gzip-encoded user data must be base64-encoded and passed via this argument to avoid corruption.
- ImageId string
- The EC2 image ID to launch.
- InstanceType string
- The size of instance to launch. - The following arguments are optional: 
- AssociatePublic boolIp Address 
- Associate a public ip address with an instance in a VPC.
- EbsBlock []LaunchDevices Configuration Ebs Block Device Args 
- Additional EBS block devices to attach to the instance. See Block Devices below for details.
- EbsOptimized bool
- If true, the launched EC2 instance will be EBS-optimized.
- EnableMonitoring bool
- Enables/disables detailed monitoring. This is enabled by default.
- EphemeralBlock []LaunchDevices Configuration Ephemeral Block Device Args 
- Customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details.
- IamInstance string | stringProfile 
- The name attribute of the IAM instance profile to associate with launched instances.
- KeyName string
- The key name that should be used for the instance.
- MetadataOptions LaunchConfiguration Metadata Options Args 
- The metadata options for the instance.
- Name string
- The name of the launch configuration. If you leave this blank, this provider will auto-generate a unique name. Conflicts with name_prefix.
- NamePrefix string
- Creates a unique name beginning with the specified prefix. Conflicts with name.
- PlacementTenancy string
- The tenancy of the instance. Valid values are defaultordedicated, see AWS's Create Launch Configuration for more details.
- RootBlock LaunchDevice Configuration Root Block Device Args 
- Customize details about the root block device of the instance. See Block Devices below for details.
- SecurityGroups []string
- A list of associated security group IDS.
- SpotPrice string
- The maximum price to use for reserving spot instances.
- UserData string
- The user data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see user_data_base64instead.
- UserData stringBase64 
- Can be used instead of user_datato pass base64-encoded binary data directly. Use this instead ofuser_datawhenever the value is not a valid UTF-8 string. For example, gzip-encoded user data must be base64-encoded and passed via this argument to avoid corruption.
- imageId String
- The EC2 image ID to launch.
- instanceType String
- The size of instance to launch. - The following arguments are optional: 
- associatePublic BooleanIp Address 
- Associate a public ip address with an instance in a VPC.
- ebsBlock List<LaunchDevices Configuration Ebs Block Device> 
- Additional EBS block devices to attach to the instance. See Block Devices below for details.
- ebsOptimized Boolean
- If true, the launched EC2 instance will be EBS-optimized.
- enableMonitoring Boolean
- Enables/disables detailed monitoring. This is enabled by default.
- ephemeralBlock List<LaunchDevices Configuration Ephemeral Block Device> 
- Customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details.
- iamInstance String | StringProfile 
- The name attribute of the IAM instance profile to associate with launched instances.
- keyName String
- The key name that should be used for the instance.
- metadataOptions LaunchConfiguration Metadata Options 
- The metadata options for the instance.
- name String
- The name of the launch configuration. If you leave this blank, this provider will auto-generate a unique name. Conflicts with name_prefix.
- namePrefix String
- Creates a unique name beginning with the specified prefix. Conflicts with name.
- placementTenancy String
- The tenancy of the instance. Valid values are defaultordedicated, see AWS's Create Launch Configuration for more details.
- rootBlock LaunchDevice Configuration Root Block Device 
- Customize details about the root block device of the instance. See Block Devices below for details.
- securityGroups List<String>
- A list of associated security group IDS.
- spotPrice String
- The maximum price to use for reserving spot instances.
- userData String
- The user data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see user_data_base64instead.
- userData StringBase64 
- Can be used instead of user_datato pass base64-encoded binary data directly. Use this instead ofuser_datawhenever the value is not a valid UTF-8 string. For example, gzip-encoded user data must be base64-encoded and passed via this argument to avoid corruption.
- imageId string
- The EC2 image ID to launch.
- instanceType string
- The size of instance to launch. - The following arguments are optional: 
- associatePublic booleanIp Address 
- Associate a public ip address with an instance in a VPC.
- ebsBlock LaunchDevices Configuration Ebs Block Device[] 
- Additional EBS block devices to attach to the instance. See Block Devices below for details.
- ebsOptimized boolean
- If true, the launched EC2 instance will be EBS-optimized.
- enableMonitoring boolean
- Enables/disables detailed monitoring. This is enabled by default.
- ephemeralBlock LaunchDevices Configuration Ephemeral Block Device[] 
- Customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details.
- iamInstance string | InstanceProfile Profile 
- The name attribute of the IAM instance profile to associate with launched instances.
- keyName string
- The key name that should be used for the instance.
- metadataOptions LaunchConfiguration Metadata Options 
- The metadata options for the instance.
- name string
- The name of the launch configuration. If you leave this blank, this provider will auto-generate a unique name. Conflicts with name_prefix.
- namePrefix string
- Creates a unique name beginning with the specified prefix. Conflicts with name.
- placementTenancy string
- The tenancy of the instance. Valid values are defaultordedicated, see AWS's Create Launch Configuration for more details.
- rootBlock LaunchDevice Configuration Root Block Device 
- Customize details about the root block device of the instance. See Block Devices below for details.
- securityGroups string[]
- A list of associated security group IDS.
- spotPrice string
- The maximum price to use for reserving spot instances.
- userData string
- The user data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see user_data_base64instead.
- userData stringBase64 
- Can be used instead of user_datato pass base64-encoded binary data directly. Use this instead ofuser_datawhenever the value is not a valid UTF-8 string. For example, gzip-encoded user data must be base64-encoded and passed via this argument to avoid corruption.
- image_id str
- The EC2 image ID to launch.
- instance_type str
- The size of instance to launch. - The following arguments are optional: 
- associate_public_ boolip_ address 
- Associate a public ip address with an instance in a VPC.
- ebs_block_ Sequence[Launchdevices Configuration Ebs Block Device Args] 
- Additional EBS block devices to attach to the instance. See Block Devices below for details.
- ebs_optimized bool
- If true, the launched EC2 instance will be EBS-optimized.
- enable_monitoring bool
- Enables/disables detailed monitoring. This is enabled by default.
- ephemeral_block_ Sequence[Launchdevices Configuration Ephemeral Block Device Args] 
- Customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details.
- iam_instance_ str | strprofile 
- The name attribute of the IAM instance profile to associate with launched instances.
- key_name str
- The key name that should be used for the instance.
- metadata_options LaunchConfiguration Metadata Options Args 
- The metadata options for the instance.
- name str
- The name of the launch configuration. If you leave this blank, this provider will auto-generate a unique name. Conflicts with name_prefix.
- name_prefix str
- Creates a unique name beginning with the specified prefix. Conflicts with name.
- placement_tenancy str
- The tenancy of the instance. Valid values are defaultordedicated, see AWS's Create Launch Configuration for more details.
- root_block_ Launchdevice Configuration Root Block Device Args 
- Customize details about the root block device of the instance. See Block Devices below for details.
- security_groups Sequence[str]
- A list of associated security group IDS.
- spot_price str
- The maximum price to use for reserving spot instances.
- user_data str
- The user data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see user_data_base64instead.
- user_data_ strbase64 
- Can be used instead of user_datato pass base64-encoded binary data directly. Use this instead ofuser_datawhenever the value is not a valid UTF-8 string. For example, gzip-encoded user data must be base64-encoded and passed via this argument to avoid corruption.
- imageId String
- The EC2 image ID to launch.
- instanceType String
- The size of instance to launch. - The following arguments are optional: 
- associatePublic BooleanIp Address 
- Associate a public ip address with an instance in a VPC.
- ebsBlock List<Property Map>Devices 
- Additional EBS block devices to attach to the instance. See Block Devices below for details.
- ebsOptimized Boolean
- If true, the launched EC2 instance will be EBS-optimized.
- enableMonitoring Boolean
- Enables/disables detailed monitoring. This is enabled by default.
- ephemeralBlock List<Property Map>Devices 
- Customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details.
- iamInstance String |Profile 
- The name attribute of the IAM instance profile to associate with launched instances.
- keyName String
- The key name that should be used for the instance.
- metadataOptions Property Map
- The metadata options for the instance.
- name String
- The name of the launch configuration. If you leave this blank, this provider will auto-generate a unique name. Conflicts with name_prefix.
- namePrefix String
- Creates a unique name beginning with the specified prefix. Conflicts with name.
- placementTenancy String
- The tenancy of the instance. Valid values are defaultordedicated, see AWS's Create Launch Configuration for more details.
- rootBlock Property MapDevice 
- Customize details about the root block device of the instance. See Block Devices below for details.
- securityGroups List<String>
- A list of associated security group IDS.
- spotPrice String
- The maximum price to use for reserving spot instances.
- userData String
- The user data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see user_data_base64instead.
- userData StringBase64 
- Can be used instead of user_datato pass base64-encoded binary data directly. Use this instead ofuser_datawhenever the value is not a valid UTF-8 string. For example, gzip-encoded user data must be base64-encoded and passed via this argument to avoid corruption.
Outputs
All input properties are implicitly available as output properties. Additionally, the LaunchConfiguration resource produces the following output properties:
Look up Existing LaunchConfiguration Resource
Get an existing LaunchConfiguration resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: LaunchConfigurationState, opts?: CustomResourceOptions): LaunchConfiguration@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        arn: Optional[str] = None,
        associate_public_ip_address: Optional[bool] = None,
        ebs_block_devices: Optional[Sequence[LaunchConfigurationEbsBlockDeviceArgs]] = None,
        ebs_optimized: Optional[bool] = None,
        enable_monitoring: Optional[bool] = None,
        ephemeral_block_devices: Optional[Sequence[LaunchConfigurationEphemeralBlockDeviceArgs]] = None,
        iam_instance_profile: Optional[str] = None,
        image_id: Optional[str] = None,
        instance_type: Optional[str] = None,
        key_name: Optional[str] = None,
        metadata_options: Optional[LaunchConfigurationMetadataOptionsArgs] = None,
        name: Optional[str] = None,
        name_prefix: Optional[str] = None,
        placement_tenancy: Optional[str] = None,
        root_block_device: Optional[LaunchConfigurationRootBlockDeviceArgs] = None,
        security_groups: Optional[Sequence[str]] = None,
        spot_price: Optional[str] = None,
        user_data: Optional[str] = None,
        user_data_base64: Optional[str] = None) -> LaunchConfigurationfunc GetLaunchConfiguration(ctx *Context, name string, id IDInput, state *LaunchConfigurationState, opts ...ResourceOption) (*LaunchConfiguration, error)public static LaunchConfiguration Get(string name, Input<string> id, LaunchConfigurationState? state, CustomResourceOptions? opts = null)public static LaunchConfiguration get(String name, Output<String> id, LaunchConfigurationState state, CustomResourceOptions options)resources:  _:    type: aws:ec2:LaunchConfiguration    get:      id: ${id}- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Arn string
- The Amazon Resource Name of the launch configuration.
- AssociatePublic boolIp Address 
- Associate a public ip address with an instance in a VPC.
- EbsBlock List<LaunchDevices Configuration Ebs Block Device> 
- Additional EBS block devices to attach to the instance. See Block Devices below for details.
- EbsOptimized bool
- If true, the launched EC2 instance will be EBS-optimized.
- EnableMonitoring bool
- Enables/disables detailed monitoring. This is enabled by default.
- EphemeralBlock List<LaunchDevices Configuration Ephemeral Block Device> 
- Customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details.
- IamInstance string | stringProfile 
- The name attribute of the IAM instance profile to associate with launched instances.
- ImageId string
- The EC2 image ID to launch.
- InstanceType string
- The size of instance to launch. - The following arguments are optional: 
- KeyName string
- The key name that should be used for the instance.
- MetadataOptions LaunchConfiguration Metadata Options 
- The metadata options for the instance.
- Name string
- The name of the launch configuration. If you leave this blank, this provider will auto-generate a unique name. Conflicts with name_prefix.
- NamePrefix string
- Creates a unique name beginning with the specified prefix. Conflicts with name.
- PlacementTenancy string
- The tenancy of the instance. Valid values are defaultordedicated, see AWS's Create Launch Configuration for more details.
- RootBlock LaunchDevice Configuration Root Block Device 
- Customize details about the root block device of the instance. See Block Devices below for details.
- SecurityGroups List<string>
- A list of associated security group IDS.
- SpotPrice string
- The maximum price to use for reserving spot instances.
- UserData string
- The user data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see user_data_base64instead.
- UserData stringBase64 
- Can be used instead of user_datato pass base64-encoded binary data directly. Use this instead ofuser_datawhenever the value is not a valid UTF-8 string. For example, gzip-encoded user data must be base64-encoded and passed via this argument to avoid corruption.
- Arn string
- The Amazon Resource Name of the launch configuration.
- AssociatePublic boolIp Address 
- Associate a public ip address with an instance in a VPC.
- EbsBlock []LaunchDevices Configuration Ebs Block Device Args 
- Additional EBS block devices to attach to the instance. See Block Devices below for details.
- EbsOptimized bool
- If true, the launched EC2 instance will be EBS-optimized.
- EnableMonitoring bool
- Enables/disables detailed monitoring. This is enabled by default.
- EphemeralBlock []LaunchDevices Configuration Ephemeral Block Device Args 
- Customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details.
- IamInstance string | stringProfile 
- The name attribute of the IAM instance profile to associate with launched instances.
- ImageId string
- The EC2 image ID to launch.
- InstanceType string
- The size of instance to launch. - The following arguments are optional: 
- KeyName string
- The key name that should be used for the instance.
- MetadataOptions LaunchConfiguration Metadata Options Args 
- The metadata options for the instance.
- Name string
- The name of the launch configuration. If you leave this blank, this provider will auto-generate a unique name. Conflicts with name_prefix.
- NamePrefix string
- Creates a unique name beginning with the specified prefix. Conflicts with name.
- PlacementTenancy string
- The tenancy of the instance. Valid values are defaultordedicated, see AWS's Create Launch Configuration for more details.
- RootBlock LaunchDevice Configuration Root Block Device Args 
- Customize details about the root block device of the instance. See Block Devices below for details.
- SecurityGroups []string
- A list of associated security group IDS.
- SpotPrice string
- The maximum price to use for reserving spot instances.
- UserData string
- The user data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see user_data_base64instead.
- UserData stringBase64 
- Can be used instead of user_datato pass base64-encoded binary data directly. Use this instead ofuser_datawhenever the value is not a valid UTF-8 string. For example, gzip-encoded user data must be base64-encoded and passed via this argument to avoid corruption.
- arn String
- The Amazon Resource Name of the launch configuration.
- associatePublic BooleanIp Address 
- Associate a public ip address with an instance in a VPC.
- ebsBlock List<LaunchDevices Configuration Ebs Block Device> 
- Additional EBS block devices to attach to the instance. See Block Devices below for details.
- ebsOptimized Boolean
- If true, the launched EC2 instance will be EBS-optimized.
- enableMonitoring Boolean
- Enables/disables detailed monitoring. This is enabled by default.
- ephemeralBlock List<LaunchDevices Configuration Ephemeral Block Device> 
- Customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details.
- iamInstance String | StringProfile 
- The name attribute of the IAM instance profile to associate with launched instances.
- imageId String
- The EC2 image ID to launch.
- instanceType String
- The size of instance to launch. - The following arguments are optional: 
- keyName String
- The key name that should be used for the instance.
- metadataOptions LaunchConfiguration Metadata Options 
- The metadata options for the instance.
- name String
- The name of the launch configuration. If you leave this blank, this provider will auto-generate a unique name. Conflicts with name_prefix.
- namePrefix String
- Creates a unique name beginning with the specified prefix. Conflicts with name.
- placementTenancy String
- The tenancy of the instance. Valid values are defaultordedicated, see AWS's Create Launch Configuration for more details.
- rootBlock LaunchDevice Configuration Root Block Device 
- Customize details about the root block device of the instance. See Block Devices below for details.
- securityGroups List<String>
- A list of associated security group IDS.
- spotPrice String
- The maximum price to use for reserving spot instances.
- userData String
- The user data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see user_data_base64instead.
- userData StringBase64 
- Can be used instead of user_datato pass base64-encoded binary data directly. Use this instead ofuser_datawhenever the value is not a valid UTF-8 string. For example, gzip-encoded user data must be base64-encoded and passed via this argument to avoid corruption.
- arn string
- The Amazon Resource Name of the launch configuration.
- associatePublic booleanIp Address 
- Associate a public ip address with an instance in a VPC.
- ebsBlock LaunchDevices Configuration Ebs Block Device[] 
- Additional EBS block devices to attach to the instance. See Block Devices below for details.
- ebsOptimized boolean
- If true, the launched EC2 instance will be EBS-optimized.
- enableMonitoring boolean
- Enables/disables detailed monitoring. This is enabled by default.
- ephemeralBlock LaunchDevices Configuration Ephemeral Block Device[] 
- Customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details.
- iamInstance string | InstanceProfile Profile 
- The name attribute of the IAM instance profile to associate with launched instances.
- imageId string
- The EC2 image ID to launch.
- instanceType string
- The size of instance to launch. - The following arguments are optional: 
- keyName string
- The key name that should be used for the instance.
- metadataOptions LaunchConfiguration Metadata Options 
- The metadata options for the instance.
- name string
- The name of the launch configuration. If you leave this blank, this provider will auto-generate a unique name. Conflicts with name_prefix.
- namePrefix string
- Creates a unique name beginning with the specified prefix. Conflicts with name.
- placementTenancy string
- The tenancy of the instance. Valid values are defaultordedicated, see AWS's Create Launch Configuration for more details.
- rootBlock LaunchDevice Configuration Root Block Device 
- Customize details about the root block device of the instance. See Block Devices below for details.
- securityGroups string[]
- A list of associated security group IDS.
- spotPrice string
- The maximum price to use for reserving spot instances.
- userData string
- The user data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see user_data_base64instead.
- userData stringBase64 
- Can be used instead of user_datato pass base64-encoded binary data directly. Use this instead ofuser_datawhenever the value is not a valid UTF-8 string. For example, gzip-encoded user data must be base64-encoded and passed via this argument to avoid corruption.
- arn str
- The Amazon Resource Name of the launch configuration.
- associate_public_ boolip_ address 
- Associate a public ip address with an instance in a VPC.
- ebs_block_ Sequence[Launchdevices Configuration Ebs Block Device Args] 
- Additional EBS block devices to attach to the instance. See Block Devices below for details.
- ebs_optimized bool
- If true, the launched EC2 instance will be EBS-optimized.
- enable_monitoring bool
- Enables/disables detailed monitoring. This is enabled by default.
- ephemeral_block_ Sequence[Launchdevices Configuration Ephemeral Block Device Args] 
- Customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details.
- iam_instance_ str | strprofile 
- The name attribute of the IAM instance profile to associate with launched instances.
- image_id str
- The EC2 image ID to launch.
- instance_type str
- The size of instance to launch. - The following arguments are optional: 
- key_name str
- The key name that should be used for the instance.
- metadata_options LaunchConfiguration Metadata Options Args 
- The metadata options for the instance.
- name str
- The name of the launch configuration. If you leave this blank, this provider will auto-generate a unique name. Conflicts with name_prefix.
- name_prefix str
- Creates a unique name beginning with the specified prefix. Conflicts with name.
- placement_tenancy str
- The tenancy of the instance. Valid values are defaultordedicated, see AWS's Create Launch Configuration for more details.
- root_block_ Launchdevice Configuration Root Block Device Args 
- Customize details about the root block device of the instance. See Block Devices below for details.
- security_groups Sequence[str]
- A list of associated security group IDS.
- spot_price str
- The maximum price to use for reserving spot instances.
- user_data str
- The user data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see user_data_base64instead.
- user_data_ strbase64 
- Can be used instead of user_datato pass base64-encoded binary data directly. Use this instead ofuser_datawhenever the value is not a valid UTF-8 string. For example, gzip-encoded user data must be base64-encoded and passed via this argument to avoid corruption.
- arn String
- The Amazon Resource Name of the launch configuration.
- associatePublic BooleanIp Address 
- Associate a public ip address with an instance in a VPC.
- ebsBlock List<Property Map>Devices 
- Additional EBS block devices to attach to the instance. See Block Devices below for details.
- ebsOptimized Boolean
- If true, the launched EC2 instance will be EBS-optimized.
- enableMonitoring Boolean
- Enables/disables detailed monitoring. This is enabled by default.
- ephemeralBlock List<Property Map>Devices 
- Customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details.
- iamInstance String |Profile 
- The name attribute of the IAM instance profile to associate with launched instances.
- imageId String
- The EC2 image ID to launch.
- instanceType String
- The size of instance to launch. - The following arguments are optional: 
- keyName String
- The key name that should be used for the instance.
- metadataOptions Property Map
- The metadata options for the instance.
- name String
- The name of the launch configuration. If you leave this blank, this provider will auto-generate a unique name. Conflicts with name_prefix.
- namePrefix String
- Creates a unique name beginning with the specified prefix. Conflicts with name.
- placementTenancy String
- The tenancy of the instance. Valid values are defaultordedicated, see AWS's Create Launch Configuration for more details.
- rootBlock Property MapDevice 
- Customize details about the root block device of the instance. See Block Devices below for details.
- securityGroups List<String>
- A list of associated security group IDS.
- spotPrice String
- The maximum price to use for reserving spot instances.
- userData String
- The user data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see user_data_base64instead.
- userData StringBase64 
- Can be used instead of user_datato pass base64-encoded binary data directly. Use this instead ofuser_datawhenever the value is not a valid UTF-8 string. For example, gzip-encoded user data must be base64-encoded and passed via this argument to avoid corruption.
Supporting Types
LaunchConfigurationEbsBlockDevice, LaunchConfigurationEbsBlockDeviceArgs          
- DeviceName string
- DeleteOn boolTermination 
- Encrypted bool
- Iops int
- NoDevice bool
- SnapshotId string
- Throughput int
- VolumeSize int
- VolumeType string
- DeviceName string
- DeleteOn boolTermination 
- Encrypted bool
- Iops int
- NoDevice bool
- SnapshotId string
- Throughput int
- VolumeSize int
- VolumeType string
- deviceName String
- deleteOn BooleanTermination 
- encrypted Boolean
- iops Integer
- noDevice Boolean
- snapshotId String
- throughput Integer
- volumeSize Integer
- volumeType String
- deviceName string
- deleteOn booleanTermination 
- encrypted boolean
- iops number
- noDevice boolean
- snapshotId string
- throughput number
- volumeSize number
- volumeType string
- device_name str
- delete_on_ booltermination 
- encrypted bool
- iops int
- no_device bool
- snapshot_id str
- throughput int
- volume_size int
- volume_type str
- deviceName String
- deleteOn BooleanTermination 
- encrypted Boolean
- iops Number
- noDevice Boolean
- snapshotId String
- throughput Number
- volumeSize Number
- volumeType String
LaunchConfigurationEphemeralBlockDevice, LaunchConfigurationEphemeralBlockDeviceArgs          
- DeviceName string
- NoDevice bool
- VirtualName string
- DeviceName string
- NoDevice bool
- VirtualName string
- deviceName String
- noDevice Boolean
- virtualName String
- deviceName string
- noDevice boolean
- virtualName string
- device_name str
- no_device bool
- virtual_name str
- deviceName String
- noDevice Boolean
- virtualName String
LaunchConfigurationMetadataOptions, LaunchConfigurationMetadataOptionsArgs        
- HttpEndpoint string
- The state of the metadata service: enabled,disabled.
- HttpPut intResponse Hop Limit 
- The desired HTTP PUT response hop limit for instance metadata requests.
- HttpTokens string
- If session tokens are required: optional,required.
- HttpEndpoint string
- The state of the metadata service: enabled,disabled.
- HttpPut intResponse Hop Limit 
- The desired HTTP PUT response hop limit for instance metadata requests.
- HttpTokens string
- If session tokens are required: optional,required.
- httpEndpoint String
- The state of the metadata service: enabled,disabled.
- httpPut IntegerResponse Hop Limit 
- The desired HTTP PUT response hop limit for instance metadata requests.
- httpTokens String
- If session tokens are required: optional,required.
- httpEndpoint string
- The state of the metadata service: enabled,disabled.
- httpPut numberResponse Hop Limit 
- The desired HTTP PUT response hop limit for instance metadata requests.
- httpTokens string
- If session tokens are required: optional,required.
- http_endpoint str
- The state of the metadata service: enabled,disabled.
- http_put_ intresponse_ hop_ limit 
- The desired HTTP PUT response hop limit for instance metadata requests.
- http_tokens str
- If session tokens are required: optional,required.
- httpEndpoint String
- The state of the metadata service: enabled,disabled.
- httpPut NumberResponse Hop Limit 
- The desired HTTP PUT response hop limit for instance metadata requests.
- httpTokens String
- If session tokens are required: optional,required.
LaunchConfigurationRootBlockDevice, LaunchConfigurationRootBlockDeviceArgs          
- DeleteOn boolTermination 
- Encrypted bool
- Iops int
- Throughput int
- VolumeSize int
- VolumeType string
- DeleteOn boolTermination 
- Encrypted bool
- Iops int
- Throughput int
- VolumeSize int
- VolumeType string
- deleteOn BooleanTermination 
- encrypted Boolean
- iops Integer
- throughput Integer
- volumeSize Integer
- volumeType String
- deleteOn booleanTermination 
- encrypted boolean
- iops number
- throughput number
- volumeSize number
- volumeType string
- delete_on_ booltermination 
- encrypted bool
- iops int
- throughput int
- volume_size int
- volume_type str
- deleteOn BooleanTermination 
- encrypted Boolean
- iops Number
- throughput Number
- volumeSize Number
- volumeType String
Import
Using pulumi import, import launch configurations using the name. For example:
$ pulumi import aws:ec2/launchConfiguration:LaunchConfiguration as_conf pulumi-lg-123456
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- AWS Classic pulumi/pulumi-aws
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the awsTerraform Provider.