EC2: support $Latest and $Default when describing launch templates (#5822)

This commit is contained in:
Luuk v/d Maagdenberg 2023-01-11 20:31:14 +01:00 committed by GitHub
parent 4b117c4884
commit 2c47ee10b1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 21 additions and 1 deletions

View File

@ -226,7 +226,11 @@ class LaunchTemplates(EC2BaseResponse):
ret_versions = []
if versions:
for v in versions:
ret_versions.append(template.get_version(int(v)))
if str(v).lower() == "$latest" or "$default":
tv = template.get_version(v)
else:
tv = template.get_version(int(v))
ret_versions.append(tv)
elif min_version:
if max_version:
vMax = max_version

View File

@ -85,6 +85,22 @@ def test_describe_launch_template_versions():
templ = resp["LaunchTemplateVersions"][0]["LaunchTemplateData"]
templ.should.equal(template_data)
# test using $Latest version
resp = cli.describe_launch_template_versions(
LaunchTemplateName=template_name, Versions=["$Latest"]
)
templ = resp["LaunchTemplateVersions"][0]["LaunchTemplateData"]
templ.should.equal(template_data)
# test using $Default version
resp = cli.describe_launch_template_versions(
LaunchTemplateName=template_name, Versions=["$Default"]
)
templ = resp["LaunchTemplateVersions"][0]["LaunchTemplateData"]
templ.should.equal(template_data)
@mock_ec2
def test_describe_launch_template_versions_by_name_when_absent():