1. Packages
  2. AWS
  3. API Docs
  4. ec2
  5. LaunchConfiguration
AWS v6.60.0 published on Tuesday, Nov 19, 2024 by Pulumi

aws.ec2.LaunchConfiguration

Explore with Pulumi AI

aws logo
AWS v6.60.0 published on Tuesday, Nov 19, 2024 by Pulumi

    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.LaunchConfiguration with aws.autoscaling.Group, it is recommended to use the name_prefix (Optional) instead of the name (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:

    AssociatePublicIpAddress bool
    Associate a public ip address with an instance in a VPC.
    EbsBlockDevices List<LaunchConfigurationEbsBlockDevice>
    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.
    EphemeralBlockDevices List<LaunchConfigurationEphemeralBlockDevice>
    Customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details.
    IamInstanceProfile string | string
    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 LaunchConfigurationMetadataOptions
    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 default or dedicated, see AWS's Create Launch Configuration for more details.
    RootBlockDevice LaunchConfigurationRootBlockDevice
    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_base64 instead.
    UserDataBase64 string
    Can be used instead of user_data to pass base64-encoded binary data directly. Use this instead of user_data whenever 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:

    AssociatePublicIpAddress bool
    Associate a public ip address with an instance in a VPC.
    EbsBlockDevices []LaunchConfigurationEbsBlockDeviceArgs
    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.
    EphemeralBlockDevices []LaunchConfigurationEphemeralBlockDeviceArgs
    Customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details.
    IamInstanceProfile string | string
    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 LaunchConfigurationMetadataOptionsArgs
    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 default or dedicated, see AWS's Create Launch Configuration for more details.
    RootBlockDevice LaunchConfigurationRootBlockDeviceArgs
    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_base64 instead.
    UserDataBase64 string
    Can be used instead of user_data to pass base64-encoded binary data directly. Use this instead of user_data whenever 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:

    associatePublicIpAddress Boolean
    Associate a public ip address with an instance in a VPC.
    ebsBlockDevices List<LaunchConfigurationEbsBlockDevice>
    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.
    ephemeralBlockDevices List<LaunchConfigurationEphemeralBlockDevice>
    Customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details.
    iamInstanceProfile String | String
    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 LaunchConfigurationMetadataOptions
    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 default or dedicated, see AWS's Create Launch Configuration for more details.
    rootBlockDevice LaunchConfigurationRootBlockDevice
    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_base64 instead.
    userDataBase64 String
    Can be used instead of user_data to pass base64-encoded binary data directly. Use this instead of user_data whenever 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:

    associatePublicIpAddress boolean
    Associate a public ip address with an instance in a VPC.
    ebsBlockDevices LaunchConfigurationEbsBlockDevice[]
    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.
    ephemeralBlockDevices LaunchConfigurationEphemeralBlockDevice[]
    Customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details.
    iamInstanceProfile string | InstanceProfile
    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 LaunchConfigurationMetadataOptions
    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 default or dedicated, see AWS's Create Launch Configuration for more details.
    rootBlockDevice LaunchConfigurationRootBlockDevice
    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_base64 instead.
    userDataBase64 string
    Can be used instead of user_data to pass base64-encoded binary data directly. Use this instead of user_data whenever 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_ip_address bool
    Associate a public ip address with an instance in a VPC.
    ebs_block_devices Sequence[LaunchConfigurationEbsBlockDeviceArgs]
    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_devices Sequence[LaunchConfigurationEphemeralBlockDeviceArgs]
    Customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details.
    iam_instance_profile str | str
    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 LaunchConfigurationMetadataOptionsArgs
    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 default or dedicated, see AWS's Create Launch Configuration for more details.
    root_block_device LaunchConfigurationRootBlockDeviceArgs
    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_base64 instead.
    user_data_base64 str
    Can be used instead of user_data to pass base64-encoded binary data directly. Use this instead of user_data whenever 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:

    associatePublicIpAddress Boolean
    Associate a public ip address with an instance in a VPC.
    ebsBlockDevices List<Property Map>
    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.
    ephemeralBlockDevices List<Property Map>
    Customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details.
    iamInstanceProfile String |
    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 default or dedicated, see AWS's Create Launch Configuration for more details.
    rootBlockDevice Property Map
    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_base64 instead.
    userDataBase64 String
    Can be used instead of user_data to pass base64-encoded binary data directly. Use this instead of user_data whenever 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:

    Arn string
    The Amazon Resource Name of the launch configuration.
    Id string
    The provider-assigned unique ID for this managed resource.
    Arn string
    The Amazon Resource Name of the launch configuration.
    Id string
    The provider-assigned unique ID for this managed resource.
    arn String
    The Amazon Resource Name of the launch configuration.
    id String
    The provider-assigned unique ID for this managed resource.
    arn string
    The Amazon Resource Name of the launch configuration.
    id string
    The provider-assigned unique ID for this managed resource.
    arn str
    The Amazon Resource Name of the launch configuration.
    id str
    The provider-assigned unique ID for this managed resource.
    arn String
    The Amazon Resource Name of the launch configuration.
    id String
    The provider-assigned unique ID for this managed resource.

    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) -> LaunchConfiguration
    func 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)
    Resource lookup is not supported in YAML
    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.
    The following state arguments are supported:
    Arn string
    The Amazon Resource Name of the launch configuration.
    AssociatePublicIpAddress bool
    Associate a public ip address with an instance in a VPC.
    EbsBlockDevices List<LaunchConfigurationEbsBlockDevice>
    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.
    EphemeralBlockDevices List<LaunchConfigurationEphemeralBlockDevice>
    Customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details.
    IamInstanceProfile string | string
    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 LaunchConfigurationMetadataOptions
    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 default or dedicated, see AWS's Create Launch Configuration for more details.
    RootBlockDevice LaunchConfigurationRootBlockDevice
    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_base64 instead.
    UserDataBase64 string
    Can be used instead of user_data to pass base64-encoded binary data directly. Use this instead of user_data whenever 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.
    AssociatePublicIpAddress bool
    Associate a public ip address with an instance in a VPC.
    EbsBlockDevices []LaunchConfigurationEbsBlockDeviceArgs
    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.
    EphemeralBlockDevices []LaunchConfigurationEphemeralBlockDeviceArgs
    Customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details.
    IamInstanceProfile string | string
    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 LaunchConfigurationMetadataOptionsArgs
    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 default or dedicated, see AWS's Create Launch Configuration for more details.
    RootBlockDevice LaunchConfigurationRootBlockDeviceArgs
    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_base64 instead.
    UserDataBase64 string
    Can be used instead of user_data to pass base64-encoded binary data directly. Use this instead of user_data whenever 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.
    associatePublicIpAddress Boolean
    Associate a public ip address with an instance in a VPC.
    ebsBlockDevices List<LaunchConfigurationEbsBlockDevice>
    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.
    ephemeralBlockDevices List<LaunchConfigurationEphemeralBlockDevice>
    Customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details.
    iamInstanceProfile String | String
    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 LaunchConfigurationMetadataOptions
    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 default or dedicated, see AWS's Create Launch Configuration for more details.
    rootBlockDevice LaunchConfigurationRootBlockDevice
    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_base64 instead.
    userDataBase64 String
    Can be used instead of user_data to pass base64-encoded binary data directly. Use this instead of user_data whenever 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.
    associatePublicIpAddress boolean
    Associate a public ip address with an instance in a VPC.
    ebsBlockDevices LaunchConfigurationEbsBlockDevice[]
    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.
    ephemeralBlockDevices LaunchConfigurationEphemeralBlockDevice[]
    Customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details.
    iamInstanceProfile string | InstanceProfile
    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 LaunchConfigurationMetadataOptions
    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 default or dedicated, see AWS's Create Launch Configuration for more details.
    rootBlockDevice LaunchConfigurationRootBlockDevice
    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_base64 instead.
    userDataBase64 string
    Can be used instead of user_data to pass base64-encoded binary data directly. Use this instead of user_data whenever 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_ip_address bool
    Associate a public ip address with an instance in a VPC.
    ebs_block_devices Sequence[LaunchConfigurationEbsBlockDeviceArgs]
    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_devices Sequence[LaunchConfigurationEphemeralBlockDeviceArgs]
    Customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details.
    iam_instance_profile str | str
    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 LaunchConfigurationMetadataOptionsArgs
    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 default or dedicated, see AWS's Create Launch Configuration for more details.
    root_block_device LaunchConfigurationRootBlockDeviceArgs
    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_base64 instead.
    user_data_base64 str
    Can be used instead of user_data to pass base64-encoded binary data directly. Use this instead of user_data whenever 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.
    associatePublicIpAddress Boolean
    Associate a public ip address with an instance in a VPC.
    ebsBlockDevices List<Property Map>
    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.
    ephemeralBlockDevices List<Property Map>
    Customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details.
    iamInstanceProfile String |
    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 default or dedicated, see AWS's Create Launch Configuration for more details.
    rootBlockDevice Property Map
    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_base64 instead.
    userDataBase64 String
    Can be used instead of user_data to pass base64-encoded binary data directly. Use this instead of user_data whenever 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
    deleteOnTermination Boolean
    encrypted Boolean
    iops Integer
    noDevice Boolean
    snapshotId String
    throughput Integer
    volumeSize Integer
    volumeType String
    deviceName string
    deleteOnTermination boolean
    encrypted boolean
    iops number
    noDevice boolean
    snapshotId string
    throughput number
    volumeSize number
    volumeType string
    deviceName String
    deleteOnTermination Boolean
    encrypted Boolean
    iops Number
    noDevice Boolean
    snapshotId String
    throughput Number
    volumeSize Number
    volumeType String

    LaunchConfigurationEphemeralBlockDevice, LaunchConfigurationEphemeralBlockDeviceArgs

    deviceName String
    noDevice Boolean
    virtualName String
    deviceName string
    noDevice boolean
    virtualName string
    deviceName String
    noDevice Boolean
    virtualName String

    LaunchConfigurationMetadataOptions, LaunchConfigurationMetadataOptionsArgs

    HttpEndpoint string
    The state of the metadata service: enabled, disabled.
    HttpPutResponseHopLimit int
    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.
    HttpPutResponseHopLimit int
    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.
    httpPutResponseHopLimit Integer
    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.
    httpPutResponseHopLimit number
    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_response_hop_limit int
    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.
    httpPutResponseHopLimit Number
    The desired HTTP PUT response hop limit for instance metadata requests.
    httpTokens String
    If session tokens are required: optional, required.

    LaunchConfigurationRootBlockDevice, LaunchConfigurationRootBlockDeviceArgs

    deleteOnTermination Boolean
    encrypted Boolean
    iops Integer
    throughput Integer
    volumeSize Integer
    volumeType String
    deleteOnTermination boolean
    encrypted boolean
    iops number
    throughput number
    volumeSize number
    volumeType string
    deleteOnTermination Boolean
    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 aws Terraform Provider.
    aws logo
    AWS v6.60.0 published on Tuesday, Nov 19, 2024 by Pulumi