Launch Template
Provides an EC2 launch template resource. Can be used to create instances or auto scaling groups.
Example Usage
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ec2.LaunchTemplate;
import com.pulumi.aws.ec2.LaunchTemplateArgs;
import com.pulumi.aws.ec2.inputs.LaunchTemplateBlockDeviceMappingArgs;
import com.pulumi.aws.ec2.inputs.LaunchTemplateBlockDeviceMappingEbsArgs;
import com.pulumi.aws.ec2.inputs.LaunchTemplateCapacityReservationSpecificationArgs;
import com.pulumi.aws.ec2.inputs.LaunchTemplateCpuOptionsArgs;
import com.pulumi.aws.ec2.inputs.LaunchTemplateCreditSpecificationArgs;
import com.pulumi.aws.ec2.inputs.LaunchTemplateElasticGpuSpecificationArgs;
import com.pulumi.aws.ec2.inputs.LaunchTemplateElasticInferenceAcceleratorArgs;
import com.pulumi.aws.ec2.inputs.LaunchTemplateIamInstanceProfileArgs;
import com.pulumi.aws.ec2.inputs.LaunchTemplateInstanceMarketOptionsArgs;
import com.pulumi.aws.ec2.inputs.LaunchTemplateLicenseSpecificationArgs;
import com.pulumi.aws.ec2.inputs.LaunchTemplateMetadataOptionsArgs;
import com.pulumi.aws.ec2.inputs.LaunchTemplateMonitoringArgs;
import com.pulumi.aws.ec2.inputs.LaunchTemplateNetworkInterfaceArgs;
import com.pulumi.aws.ec2.inputs.LaunchTemplatePlacementArgs;
import com.pulumi.aws.ec2.inputs.LaunchTemplateTagSpecificationArgs;
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) {
var foo = new LaunchTemplate("foo", LaunchTemplateArgs.builder()
.blockDeviceMappings(LaunchTemplateBlockDeviceMappingArgs.builder()
.deviceName("/dev/sdf")
.ebs(LaunchTemplateBlockDeviceMappingEbsArgs.builder()
.volumeSize(20)
.build())
.build())
.capacityReservationSpecification(LaunchTemplateCapacityReservationSpecificationArgs.builder()
.capacityReservationPreference("open")
.build())
.cpuOptions(LaunchTemplateCpuOptionsArgs.builder()
.coreCount(4)
.threadsPerCore(2)
.build())
.creditSpecification(LaunchTemplateCreditSpecificationArgs.builder()
.cpuCredits("standard")
.build())
.disableApiStop(true)
.disableApiTermination(true)
.ebsOptimized(true)
.elasticGpuSpecifications(LaunchTemplateElasticGpuSpecificationArgs.builder()
.type("test")
.build())
.elasticInferenceAccelerator(LaunchTemplateElasticInferenceAcceleratorArgs.builder()
.type("eia1.medium")
.build())
.iamInstanceProfile(LaunchTemplateIamInstanceProfileArgs.builder()
.name("test")
.build())
.imageId("ami-test")
.instanceInitiatedShutdownBehavior("terminate")
.instanceMarketOptions(LaunchTemplateInstanceMarketOptionsArgs.builder()
.marketType("spot")
.build())
.instanceType("t2.micro")
.kernelId("test")
.keyName("test")
.licenseSpecifications(LaunchTemplateLicenseSpecificationArgs.builder()
.licenseConfigurationArn("arn:aws:license-manager:eu-west-1:123456789012:license-configuration:lic-0123456789abcdef0123456789abcdef")
.build())
.metadataOptions(LaunchTemplateMetadataOptionsArgs.builder()
.httpEndpoint("enabled")
.httpTokens("required")
.httpPutResponseHopLimit(1)
.instanceMetadataTags("enabled")
.build())
.monitoring(LaunchTemplateMonitoringArgs.builder()
.enabled(true)
.build())
.networkInterfaces(LaunchTemplateNetworkInterfaceArgs.builder()
.associatePublicIpAddress(true)
.build())
.placement(LaunchTemplatePlacementArgs.builder()
.availabilityZone("us-west-2a")
.build())
.ramDiskId("test")
.vpcSecurityGroupIds("sg-12345678")
.tagSpecifications(LaunchTemplateTagSpecificationArgs.builder()
.resourceType("instance")
.tags(Map.of("Name", "test"))
.build())
.userData(Base64.getEncoder().encodeToString(Files.readAllBytes(Paths.get(String.format("%s/example.sh", path.module())))))
.build());
}
}
Content copied to clipboard
Import
Using pulumi import
, import Launch Templates using the id
. For example:
$ pulumi import aws:ec2/launchTemplate:LaunchTemplate web lt-12345678
Content copied to clipboard
Properties
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard