AWS::Batch::ComputeEnvironment LaunchTemplateSpecificationOverride - AWS CloudFormation

AWS::Batch::ComputeEnvironment LaunchTemplateSpecificationOverride

An object that represents a launch template to use in place of the default launch template. You must specify either the launch template ID or launch template name in the request, but not both.

If security groups are specified using both the securityGroupIds parameter of CreateComputeEnvironment and the launch template, the values in the securityGroupIds parameter of CreateComputeEnvironment will be used.

You can define up to ten (10) overrides for each compute environment.

Note

This object isn't applicable to jobs that are running on Fargate resources.

Note

To unset all override templates for a compute environment, you can pass an empty array to the UpdateComputeEnvironment.overrides parameter, or not include the overrides parameter when submitting the UpdateComputeEnvironment API operation.

Syntax

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

JSON

{ "LaunchTemplateId" : String, "LaunchTemplateName" : String, "TargetInstanceTypes" : [ String, ... ], "Version" : String }

YAML

LaunchTemplateId: String LaunchTemplateName: String TargetInstanceTypes: - String Version: String

Properties

LaunchTemplateId

The ID of the launch template.

Note: If you specify the launchTemplateId you can't specify the launchTemplateName as well.

Required: No

Type: String

Update requires: Some interruptions

LaunchTemplateName

The name of the launch template.

Note: If you specify the launchTemplateName you can't specify the launchTemplateId as well.

Required: No

Type: String

Update requires: Some interruptions

TargetInstanceTypes

The instance type or family that this this override launch template should be applied to.

This parameter is required when defining a launch template override.

Information included in this parameter must meet the following requirements:

  • Must be a valid Amazon EC2 instance type or family.

  • optimal isn't allowed.

  • targetInstanceTypes can target only instance types and families that are included within the ComputeResource.instanceTypes set. targetInstanceTypes doesn't need to include all of the instances from the instanceType set, but at least a subset. For example, if ComputeResource.instanceTypes includes [m5, g5], targetInstanceTypes can include [m5.2xlarge] and [m5.large] but not [c5.large].

  • targetInstanceTypes included within the same launch template override or across launch template overrides can't overlap for the same compute environment. For example, you can't define one launch template override to target an instance family and another define an instance type within this same family.

Required: No

Type: Array of String

Update requires: Some interruptions

Version

The version number of the launch template, $Default, or $Latest.

If the value is $Default, the default version of the launch template is used. If the value is $Latest, the latest version of the launch template is used.

Important

If the AMI ID that's used in a compute environment is from the launch template, the AMI isn't changed when the compute environment is updated. It's only changed if the updateToLatestImageVersion parameter for the compute environment is set to true. During an infrastructure update, if either $Default or $Latest is specified, AWS Batch re-evaluates the launch template version, and it might use a different version of the launch template. This is the case even if the launch template isn't specified in the update. When updating a compute environment, changing the launch template requires an infrastructure update of the compute environment. For more information, see Updating compute environments in the AWS Batch User Guide.

Default: $Default

Latest: $Latest

Required: No

Type: String

Update requires: Some interruptions