Launch Configuration Args
data class LaunchConfigurationArgs(val associatePublicIpAddress: Output<Boolean>? = null, val ebsBlockDevices: Output<List<LaunchConfigurationEbsBlockDeviceArgs>>? = null, val ebsOptimized: Output<Boolean>? = null, val enableMonitoring: Output<Boolean>? = null, val ephemeralBlockDevices: Output<List<LaunchConfigurationEphemeralBlockDeviceArgs>>? = null, val iamInstanceProfile: Output<String>? = null, val imageId: Output<String>? = null, val instanceType: Output<String>? = null, val keyName: Output<String>? = null, val metadataOptions: Output<LaunchConfigurationMetadataOptionsArgs>? = null, val name: Output<String>? = null, val namePrefix: Output<String>? = null, val placementTenancy: Output<String>? = null, val rootBlockDevice: Output<LaunchConfigurationRootBlockDeviceArgs>? = null, val securityGroups: Output<List<String>>? = null, val spotPrice: Output<String>? = null, val userData: Output<String>? = null, val userDataBase64: Output<String>? = null) : ConvertibleToJava<LaunchConfigurationArgs>
Provides a resource to create a new launch configuration, used for autoscaling groups. !>WARNING: The use of launch configurations is discouraged in favour of launch templates. Read more in the AWS EC2 Documentation.
Note When using
aws.ec2.LaunchConfigurationwithaws.autoscaling.Group, it is recommended to use thename_prefix(Optional) instead of thename(Optional) attribute.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const ubuntu = aws.ec2.getAmi({
mostRecent: true,
filters: [
{
name: "name",
values: ["ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-*"],
},
{
name: "virtualization-type",
values: ["hvm"],
},
],
owners: ["099720109477"],
});
const asConf = new aws.ec2.LaunchConfiguration("as_conf", {
name: "web_config",
imageId: ubuntu.then(ubuntu => ubuntu.id),
instanceType: "t2.micro",
});Content copied to clipboard
import pulumi
import pulumi_aws as aws
ubuntu = aws.ec2.get_ami(most_recent=True,
filters=[
aws.ec2.GetAmiFilterArgs(
name="name",
values=["ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-*"],
),
aws.ec2.GetAmiFilterArgs(
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")Content copied to clipboard
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",
});
});Content copied to clipboard
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
})
}Content copied to clipboard
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());
}
}Content copied to clipboard
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'Content copied to clipboard
Import
Using pulumi import, import launch configurations using the name. For example:
$ pulumi import aws:ec2/launchConfiguration:LaunchConfiguration as_conf pulumi-lg-123456Content copied to clipboard
Constructors
Link copied to clipboard
fun LaunchConfigurationArgs(associatePublicIpAddress: Output<Boolean>? = null, ebsBlockDevices: Output<List<LaunchConfigurationEbsBlockDeviceArgs>>? = null, ebsOptimized: Output<Boolean>? = null, enableMonitoring: Output<Boolean>? = null, ephemeralBlockDevices: Output<List<LaunchConfigurationEphemeralBlockDeviceArgs>>? = null, iamInstanceProfile: Output<String>? = null, imageId: Output<String>? = null, instanceType: Output<String>? = null, keyName: Output<String>? = null, metadataOptions: Output<LaunchConfigurationMetadataOptionsArgs>? = null, name: Output<String>? = null, namePrefix: Output<String>? = null, placementTenancy: Output<String>? = null, rootBlockDevice: Output<LaunchConfigurationRootBlockDeviceArgs>? = null, securityGroups: Output<List<String>>? = null, spotPrice: Output<String>? = null, userData: Output<String>? = null, userDataBase64: Output<String>? = null)
Functions
Properties
Link copied to clipboard
Link copied to clipboard
The tenancy of the instance. Valid values are default or dedicated, see AWS's Create Launch Configuration for more details.
Link copied to clipboard