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.LaunchConfiguration
withaws.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:
- Image
Id string - The EC2 image ID to launch.
- Instance
Type string 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 List<LaunchDevices Configuration Ebs Block Device> - 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 List<LaunchDevices Configuration Ephemeral Block Device> - Customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details.
- Iam
Instance string | stringProfile - The name attribute of the IAM instance profile to associate with launched instances.
- Key
Name string - The key name that should be used for the instance.
- Metadata
Options 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
. - Name
Prefix string - Creates a unique name beginning with the specified prefix. Conflicts with
name
. - Placement
Tenancy string - The tenancy of the instance. Valid values are
default
ordedicated
, see AWS's Create Launch Configuration for more details. - Root
Block LaunchDevice Configuration Root Block Device - Customize details about the root block device of the instance. See Block Devices below for details.
- Security
Groups List<string> - A list of associated security group IDS.
- Spot
Price string - The maximum price to use for reserving spot instances.
- User
Data string - 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 stringBase64 - Can be used instead of
user_data
to pass base64-encoded binary data directly. Use this instead ofuser_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 string - The EC2 image ID to launch.
- Instance
Type string 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 []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 []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 string | stringProfile - The name attribute of the IAM instance profile to associate with launched instances.
- Key
Name string - The key name that should be used for the instance.
- Metadata
Options 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
. - Name
Prefix string - Creates a unique name beginning with the specified prefix. Conflicts with
name
. - Placement
Tenancy string - The tenancy of the instance. Valid values are
default
ordedicated
, 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 []string - A list of associated security group IDS.
- Spot
Price string - The maximum price to use for reserving spot instances.
- User
Data string - 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 stringBase64 - Can be used instead of
user_data
to pass base64-encoded binary data directly. Use this instead ofuser_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 String - The EC2 image ID to launch.
- instance
Type String The size of instance to launch.
The following arguments are optional:
- associate
Public BooleanIp Address - Associate a public ip address with an instance in a VPC.
- ebs
Block List<LaunchDevices Configuration Ebs Block Device> - Additional EBS block devices to attach to the instance. See Block Devices below for details.
- ebs
Optimized Boolean - If true, the launched EC2 instance will be EBS-optimized.
- enable
Monitoring Boolean - Enables/disables detailed monitoring. This is enabled by default.
- ephemeral
Block List<LaunchDevices Configuration Ephemeral Block Device> - Customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details.
- iam
Instance String | StringProfile - The name attribute of the IAM instance profile to associate with launched instances.
- key
Name String - The key name that should be used for the instance.
- metadata
Options 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
. - name
Prefix String - Creates a unique name beginning with the specified prefix. Conflicts with
name
. - placement
Tenancy String - The tenancy of the instance. Valid values are
default
ordedicated
, see AWS's Create Launch Configuration for more details. - root
Block LaunchDevice Configuration Root Block Device - Customize details about the root block device of the instance. See Block Devices below for details.
- security
Groups List<String> - A list of associated security group IDS.
- spot
Price String - The maximum price to use for reserving spot instances.
- user
Data String - 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 StringBase64 - Can be used instead of
user_data
to pass base64-encoded binary data directly. Use this instead ofuser_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 string - The EC2 image ID to launch.
- instance
Type string The size of instance to launch.
The following arguments are optional:
- associate
Public booleanIp Address - Associate a public ip address with an instance in a VPC.
- ebs
Block LaunchDevices Configuration Ebs Block Device[] - Additional EBS block devices to attach to the instance. See Block Devices below for details.
- ebs
Optimized boolean - If true, the launched EC2 instance will be EBS-optimized.
- enable
Monitoring boolean - Enables/disables detailed monitoring. This is enabled by default.
- ephemeral
Block LaunchDevices Configuration Ephemeral Block Device[] - Customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details.
- iam
Instance string | InstanceProfile Profile - The name attribute of the IAM instance profile to associate with launched instances.
- key
Name string - The key name that should be used for the instance.
- metadata
Options 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
. - name
Prefix string - Creates a unique name beginning with the specified prefix. Conflicts with
name
. - placement
Tenancy string - The tenancy of the instance. Valid values are
default
ordedicated
, see AWS's Create Launch Configuration for more details. - root
Block LaunchDevice Configuration Root Block Device - Customize details about the root block device of the instance. See Block Devices below for details.
- security
Groups string[] - A list of associated security group IDS.
- spot
Price string - The maximum price to use for reserving spot instances.
- user
Data string - 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 stringBase64 - Can be used instead of
user_data
to pass base64-encoded binary data directly. Use this instead ofuser_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_ 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
default
ordedicated
, 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_base64
instead. - user_
data_ strbase64 - Can be used instead of
user_data
to pass base64-encoded binary data directly. Use this instead ofuser_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 String - The EC2 image ID to launch.
- instance
Type String The size of instance to launch.
The following arguments are optional:
- associate
Public BooleanIp Address - Associate a public ip address with an instance in a VPC.
- ebs
Block List<Property Map>Devices - Additional EBS block devices to attach to the instance. See Block Devices below for details.
- ebs
Optimized Boolean - If true, the launched EC2 instance will be EBS-optimized.
- enable
Monitoring Boolean - Enables/disables detailed monitoring. This is enabled by default.
- ephemeral
Block List<Property Map>Devices - Customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details.
- iam
Instance String |Profile - The name attribute of the IAM instance profile to associate with launched instances.
- key
Name String - The key name that should be used for the instance.
- metadata
Options 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
. - name
Prefix String - Creates a unique name beginning with the specified prefix. Conflicts with
name
. - placement
Tenancy String - The tenancy of the instance. Valid values are
default
ordedicated
, see AWS's Create Launch Configuration for more details. - root
Block Property MapDevice - Customize details about the root block device of the instance. See Block Devices below for details.
- security
Groups List<String> - A list of associated security group IDS.
- spot
Price String - The maximum price to use for reserving spot instances.
- user
Data String - 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 StringBase64 - Can be used instead of
user_data
to pass base64-encoded binary data directly. Use this instead ofuser_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:
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.
- Arn string
- 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 List<LaunchDevices Configuration Ebs Block Device> - 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 List<LaunchDevices Configuration Ephemeral Block Device> - Customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details.
- Iam
Instance string | stringProfile - The name attribute of the IAM instance profile to associate with launched instances.
- Image
Id string - The EC2 image ID to launch.
- Instance
Type string The size of instance to launch.
The following arguments are optional:
- Key
Name string - The key name that should be used for the instance.
- Metadata
Options 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
. - Name
Prefix string - Creates a unique name beginning with the specified prefix. Conflicts with
name
. - Placement
Tenancy string - The tenancy of the instance. Valid values are
default
ordedicated
, see AWS's Create Launch Configuration for more details. - Root
Block LaunchDevice Configuration Root Block Device - Customize details about the root block device of the instance. See Block Devices below for details.
- Security
Groups List<string> - A list of associated security group IDS.
- Spot
Price string - The maximum price to use for reserving spot instances.
- User
Data string - 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 stringBase64 - Can be used instead of
user_data
to pass base64-encoded binary data directly. Use this instead ofuser_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.
- Associate
Public boolIp Address - Associate a public ip address with an instance in a VPC.
- Ebs
Block []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 []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 string | stringProfile - The name attribute of the IAM instance profile to associate with launched instances.
- Image
Id string - The EC2 image ID to launch.
- Instance
Type string The size of instance to launch.
The following arguments are optional:
- Key
Name string - The key name that should be used for the instance.
- Metadata
Options 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
. - Name
Prefix string - Creates a unique name beginning with the specified prefix. Conflicts with
name
. - Placement
Tenancy string - The tenancy of the instance. Valid values are
default
ordedicated
, 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 []string - A list of associated security group IDS.
- Spot
Price string - The maximum price to use for reserving spot instances.
- User
Data string - 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 stringBase64 - Can be used instead of
user_data
to pass base64-encoded binary data directly. Use this instead ofuser_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.
- associate
Public BooleanIp Address - Associate a public ip address with an instance in a VPC.
- ebs
Block List<LaunchDevices Configuration Ebs Block Device> - Additional EBS block devices to attach to the instance. See Block Devices below for details.
- ebs
Optimized Boolean - If true, the launched EC2 instance will be EBS-optimized.
- enable
Monitoring Boolean - Enables/disables detailed monitoring. This is enabled by default.
- ephemeral
Block List<LaunchDevices Configuration Ephemeral Block Device> - Customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details.
- iam
Instance String | StringProfile - The name attribute of the IAM instance profile to associate with launched instances.
- image
Id String - The EC2 image ID to launch.
- instance
Type String The size of instance to launch.
The following arguments are optional:
- key
Name String - The key name that should be used for the instance.
- metadata
Options 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
. - name
Prefix String - Creates a unique name beginning with the specified prefix. Conflicts with
name
. - placement
Tenancy String - The tenancy of the instance. Valid values are
default
ordedicated
, see AWS's Create Launch Configuration for more details. - root
Block LaunchDevice Configuration Root Block Device - Customize details about the root block device of the instance. See Block Devices below for details.
- security
Groups List<String> - A list of associated security group IDS.
- spot
Price String - The maximum price to use for reserving spot instances.
- user
Data String - 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 StringBase64 - Can be used instead of
user_data
to pass base64-encoded binary data directly. Use this instead ofuser_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.
- associate
Public booleanIp Address - Associate a public ip address with an instance in a VPC.
- ebs
Block LaunchDevices Configuration Ebs Block Device[] - Additional EBS block devices to attach to the instance. See Block Devices below for details.
- ebs
Optimized boolean - If true, the launched EC2 instance will be EBS-optimized.
- enable
Monitoring boolean - Enables/disables detailed monitoring. This is enabled by default.
- ephemeral
Block LaunchDevices Configuration Ephemeral Block Device[] - Customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details.
- iam
Instance string | InstanceProfile Profile - The name attribute of the IAM instance profile to associate with launched instances.
- image
Id string - The EC2 image ID to launch.
- instance
Type string The size of instance to launch.
The following arguments are optional:
- key
Name string - The key name that should be used for the instance.
- metadata
Options 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
. - name
Prefix string - Creates a unique name beginning with the specified prefix. Conflicts with
name
. - placement
Tenancy string - The tenancy of the instance. Valid values are
default
ordedicated
, see AWS's Create Launch Configuration for more details. - root
Block LaunchDevice Configuration Root Block Device - Customize details about the root block device of the instance. See Block Devices below for details.
- security
Groups string[] - A list of associated security group IDS.
- spot
Price string - The maximum price to use for reserving spot instances.
- user
Data string - 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 stringBase64 - Can be used instead of
user_data
to pass base64-encoded binary data directly. Use this instead ofuser_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_ 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
default
ordedicated
, 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_base64
instead. - user_
data_ strbase64 - Can be used instead of
user_data
to pass base64-encoded binary data directly. Use this instead ofuser_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.
- associate
Public BooleanIp Address - Associate a public ip address with an instance in a VPC.
- ebs
Block List<Property Map>Devices - Additional EBS block devices to attach to the instance. See Block Devices below for details.
- ebs
Optimized Boolean - If true, the launched EC2 instance will be EBS-optimized.
- enable
Monitoring Boolean - Enables/disables detailed monitoring. This is enabled by default.
- ephemeral
Block List<Property Map>Devices - Customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details.
- iam
Instance String |Profile - The name attribute of the IAM instance profile to associate with launched instances.
- image
Id String - The EC2 image ID to launch.
- instance
Type String The size of instance to launch.
The following arguments are optional:
- key
Name String - The key name that should be used for the instance.
- metadata
Options 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
. - name
Prefix String - Creates a unique name beginning with the specified prefix. Conflicts with
name
. - placement
Tenancy String - The tenancy of the instance. Valid values are
default
ordedicated
, see AWS's Create Launch Configuration for more details. - root
Block Property MapDevice - Customize details about the root block device of the instance. See Block Devices below for details.
- security
Groups List<String> - A list of associated security group IDS.
- spot
Price String - The maximum price to use for reserving spot instances.
- user
Data String - 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 StringBase64 - Can be used instead of
user_data
to pass base64-encoded binary data directly. Use this instead ofuser_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
- Device
Name string - Delete
On boolTermination - Encrypted bool
- Iops int
- No
Device bool - Snapshot
Id string - Throughput int
- Volume
Size int - Volume
Type string
- Device
Name string - Delete
On boolTermination - Encrypted bool
- Iops int
- No
Device bool - Snapshot
Id string - Throughput int
- Volume
Size int - Volume
Type string
- device
Name String - delete
On BooleanTermination - encrypted Boolean
- iops Integer
- no
Device Boolean - snapshot
Id String - throughput Integer
- volume
Size Integer - volume
Type String
- device
Name string - delete
On booleanTermination - encrypted boolean
- iops number
- no
Device boolean - snapshot
Id string - throughput number
- volume
Size number - volume
Type 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
- device
Name String - delete
On BooleanTermination - encrypted Boolean
- iops Number
- no
Device Boolean - snapshot
Id String - throughput Number
- volume
Size Number - volume
Type String
LaunchConfigurationEphemeralBlockDevice, LaunchConfigurationEphemeralBlockDeviceArgs
- Device
Name string - No
Device bool - Virtual
Name string
- Device
Name string - No
Device bool - Virtual
Name string
- device
Name String - no
Device Boolean - virtual
Name String
- device
Name string - no
Device boolean - virtual
Name string
- device_
name str - no_
device bool - virtual_
name str
- device
Name String - no
Device Boolean - virtual
Name String
LaunchConfigurationMetadataOptions, LaunchConfigurationMetadataOptionsArgs
- Http
Endpoint string - 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 string - If session tokens are required:
optional
,required
.
- Http
Endpoint string - 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 string - If session tokens are required:
optional
,required
.
- http
Endpoint String - The state of the metadata service:
enabled
,disabled
. - http
Put IntegerResponse Hop Limit - The desired HTTP PUT response hop limit for instance metadata requests.
- http
Tokens String - If session tokens are required:
optional
,required
.
- http
Endpoint string - The state of the metadata service:
enabled
,disabled
. - http
Put numberResponse Hop Limit - The desired HTTP PUT response hop limit for instance metadata requests.
- http
Tokens 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
.
- http
Endpoint String - The state of the metadata service:
enabled
,disabled
. - http
Put NumberResponse Hop Limit - The desired HTTP PUT response hop limit for instance metadata requests.
- http
Tokens String - If session tokens are required:
optional
,required
.
LaunchConfigurationRootBlockDevice, LaunchConfigurationRootBlockDeviceArgs
- Delete
On boolTermination - Encrypted bool
- Iops int
- Throughput int
- Volume
Size int - Volume
Type string
- Delete
On boolTermination - Encrypted bool
- Iops int
- Throughput int
- Volume
Size int - Volume
Type string
- delete
On BooleanTermination - encrypted Boolean
- iops Integer
- throughput Integer
- volume
Size Integer - volume
Type String
- delete
On booleanTermination - encrypted boolean
- iops number
- throughput number
- volume
Size number - volume
Type string
- delete_
on_ booltermination - encrypted bool
- iops int
- throughput int
- volume_
size int - volume_
type str
- delete
On BooleanTermination - encrypted Boolean
- iops Number
- throughput Number
- volume
Size Number - volume
Type 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.