EC2: fix DescribeLaunchTemplateVersions default response (#6477)

This commit is contained in:
David 2023-07-04 11:36:34 +02:00 committed by GitHub
parent 82c0166995
commit 7f43889ef6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 3 deletions

View File

@ -156,8 +156,10 @@ class LaunchTemplates(EC2BaseResponse):
template_id = self._get_param("LaunchTemplateId")
if name:
template = self.ec2_backend.get_launch_template_by_name(name)
if template_id:
elif template_id:
template = self.ec2_backend.get_launch_template(template_id)
else:
template = None
max_results = self._get_int_param("MaxResults", 15)
versions = self._get_multi_param("LaunchTemplateVersion")
@ -182,7 +184,7 @@ class LaunchTemplates(EC2BaseResponse):
versions_node = ElementTree.SubElement(tree, "launchTemplateVersionSet")
ret_versions = []
if versions:
if versions and template is not None:
for v in versions:
if str(v).lower() == "$latest" or "$default":
tv = template.get_version(v)
@ -200,7 +202,7 @@ class LaunchTemplates(EC2BaseResponse):
elif max_version:
vMax = max_version
ret_versions = template.versions[:vMax]
else:
elif template is not None:
ret_versions = template.versions
ret_versions = ret_versions[:max_results]

View File

@ -140,6 +140,14 @@ def test_describe_launch_template_versions_by_name_when_absent():
cli.describe_launch_template_versions(LaunchTemplateName=template_name)
# test default response
resp = cli.describe_launch_template_versions()
assert resp["LaunchTemplateVersions"] == []
# test using $Latest version
resp = cli.describe_launch_template_versions(Versions=["$Latest"])
assert resp["LaunchTemplateVersions"] == []
@mock_ec2
def test_create_launch_template_version():