From e484812fc843ce99e70c5bd42805174fe1579d71 Mon Sep 17 00:00:00 2001 From: nik-localstack Date: Thu, 30 Apr 2026 22:48:46 +0300 Subject: [PATCH] ec2: Fix launch specification version resolution in fleet templates --- moto/ec2/models/fleets.py | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/moto/ec2/models/fleets.py b/moto/ec2/models/fleets.py index 1fd2accfe45d..6fbd5a7fe357 100644 --- a/moto/ec2/models/fleets.py +++ b/moto/ec2/models/fleets.py @@ -73,18 +73,17 @@ def __init__( else: continue - # Resolve $Latest or $Default to actual version number - resolved_launch_spec = launch_spec.copy() - if resolved_launch_spec.get("Version") == "$Latest": - resolved_launch_spec["Version"] = str( - launch_template.latest_version_number - ) - elif resolved_launch_spec.get("Version") == "$Default": - resolved_launch_spec["Version"] = str( - launch_template.default_version_number - ) - # Always include the template ID in response (AWS does this even when name is used) - resolved_launch_spec["LaunchTemplateId"] = launch_template.id + # Resolve $Latest, $Default, or missing version to actual version number + resolved_version = launch_spec.get("Version", "$default") + if resolved_version == "$Default": + resolved_version = str(launch_template.default_version_number) + elif resolved_version == "$Latest": + resolved_version = str(launch_template.latest_version_number) + + resolved_launch_spec = { + "LaunchTemplateId": launch_template.id, + "Version": resolved_version, + } template_version = resolved_launch_spec.get( "Version", launch_template.default_version_number