AWS::EC2::Instance LaunchTemplateSpecification - Amazon CloudFormation
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

AWS::EC2::Instance LaunchTemplateSpecification

Specifies a launch template to use when launching an Amazon EC2 instance.

You must specify the following:

  • The ID or the name of the launch template, but not both.

  • The version of the launch template.

For information about creating a launch template, see AWS::EC2::LaunchTemplate and Create a launch template in the Amazon EC2 User Guide. For example launch templates, see the Examples for AWS::EC2::LaunchTemplate.

Syntax

To declare this entity in your Amazon CloudFormation template, use the following syntax:

JSON

{ "LaunchTemplateId" : String, "LaunchTemplateName" : String, "Version" : String }

YAML

LaunchTemplateId: String LaunchTemplateName: String Version: String

Properties

LaunchTemplateId

The ID of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

Required: Conditional

Type: String

Update requires: Replacement

LaunchTemplateName

The name of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

Required: Conditional

Type: String

Update requires: Replacement

Version

The version number of the launch template. You must specify this property.

To specify the default version of the template, use the Fn::GetAtt intrinsic function to retrieve the DefaultVersionNumber attribute of the launch template. To specify the latest version of the template, use Fn::GetAtt to retrieve the LatestVersionNumber attribute. For more information, see AWS::EC2:LaunchTemplate return values for Fn::GetAtt.

Required: No

Type: String

Update requires: Replacement

Examples

Launch an instance using a launch template

This example creates a launch template and uses it to launch a new instance.

YAML

Resources: myInstance: Type: 'AWS::EC2::Instance' Properties: LaunchTemplate: LaunchTemplateId: !Ref myLaunchTemplate Version: !GetAtt myLaunchTemplate.DefaultVersionNumber myLaunchTemplate: Type: 'AWS::EC2::LaunchTemplate' Properties: LaunchTemplateData: ImageId: ami-0a70b9d193ae8a799 InstanceType: t2.micro SecurityGroupIds: - sg-12a4c434

See also