Confirm describe_launch_template_versions works with Versions, MinVersion, and MaxVersion options
This commit is contained in:
parent
154b4ef844
commit
743e5be4d3
@ -164,10 +164,11 @@ class LaunchTemplates(BaseResponse):
|
|||||||
template = self.ec2_backend.get_launch_template(template_id)
|
template = self.ec2_backend.get_launch_template(template_id)
|
||||||
|
|
||||||
max_results = self._get_int_param("MaxResults", 15)
|
max_results = self._get_int_param("MaxResults", 15)
|
||||||
versions = self._get_multi_param("Versions")
|
versions = self._get_multi_param("LaunchTemplateVersion")
|
||||||
min_version = self._get_int_param("MinVersion")
|
min_version = self._get_int_param("MinVersion")
|
||||||
max_version = self._get_int_param("MaxVersion")
|
max_version = self._get_int_param("MaxVersion")
|
||||||
|
|
||||||
|
|
||||||
filters = filters_from_querystring(self.querystring)
|
filters = filters_from_querystring(self.querystring)
|
||||||
if filters:
|
if filters:
|
||||||
raise FilterNotImplementedError("all filters", "DescribeLaunchTemplateVersions")
|
raise FilterNotImplementedError("all filters", "DescribeLaunchTemplateVersions")
|
||||||
@ -192,10 +193,9 @@ class LaunchTemplates(BaseResponse):
|
|||||||
vMax = min_version + max_results
|
vMax = min_version + max_results
|
||||||
|
|
||||||
vMin = min_version - 1
|
vMin = min_version - 1
|
||||||
vMax = vMax - 1
|
|
||||||
ret_versions = template.versions[vMin:vMax]
|
ret_versions = template.versions[vMin:vMax]
|
||||||
elif max_version:
|
elif max_version:
|
||||||
vMax = max_version - 1
|
vMax = max_version
|
||||||
ret_versions = template.versions[:vMax]
|
ret_versions = template.versions[:vMax]
|
||||||
else:
|
else:
|
||||||
ret_versions = template.versions
|
ret_versions = template.versions
|
||||||
|
@ -48,6 +48,7 @@ def test_launch_template_create():
|
|||||||
str(ex.exception).should.equal(
|
str(ex.exception).should.equal(
|
||||||
'An error occurred (InvalidLaunchTemplateName.AlreadyExistsException) when calling the CreateLaunchTemplate operation: Launch template name already in use.')
|
'An error occurred (InvalidLaunchTemplateName.AlreadyExistsException) when calling the CreateLaunchTemplate operation: Launch template name already in use.')
|
||||||
|
|
||||||
|
|
||||||
@mock_ec2
|
@mock_ec2
|
||||||
def test_describe_launch_template_versions():
|
def test_describe_launch_template_versions():
|
||||||
template_data = {
|
template_data = {
|
||||||
@ -136,6 +137,148 @@ def test_describe_template_versions_with_multiple_versions():
|
|||||||
resp["LaunchTemplateVersions"][0]["LaunchTemplateData"]["ImageId"].should.equal("ami-abc123")
|
resp["LaunchTemplateVersions"][0]["LaunchTemplateData"]["ImageId"].should.equal("ami-abc123")
|
||||||
resp["LaunchTemplateVersions"][1]["LaunchTemplateData"]["ImageId"].should.equal("ami-def456")
|
resp["LaunchTemplateVersions"][1]["LaunchTemplateData"]["ImageId"].should.equal("ami-def456")
|
||||||
|
|
||||||
|
|
||||||
|
@mock_ec2
|
||||||
|
def test_describe_launch_template_versions_with_versions_option():
|
||||||
|
cli = boto3.client("ec2", region_name="us-east-1")
|
||||||
|
|
||||||
|
cli.create_launch_template(
|
||||||
|
LaunchTemplateName="test-template",
|
||||||
|
LaunchTemplateData={
|
||||||
|
"ImageId": "ami-abc123"
|
||||||
|
})
|
||||||
|
|
||||||
|
cli.create_launch_template_version(
|
||||||
|
LaunchTemplateName="test-template",
|
||||||
|
LaunchTemplateData={
|
||||||
|
"ImageId": "ami-def456"
|
||||||
|
},
|
||||||
|
VersionDescription="new ami")
|
||||||
|
|
||||||
|
cli.create_launch_template_version(
|
||||||
|
LaunchTemplateName="test-template",
|
||||||
|
LaunchTemplateData={
|
||||||
|
"ImageId": "ami-hij789"
|
||||||
|
},
|
||||||
|
VersionDescription="new ami, again")
|
||||||
|
|
||||||
|
resp = cli.describe_launch_template_versions(
|
||||||
|
LaunchTemplateName="test-template",
|
||||||
|
Versions=["2","3"])
|
||||||
|
|
||||||
|
resp["LaunchTemplateVersions"].should.have.length_of(2)
|
||||||
|
resp["LaunchTemplateVersions"][0]["LaunchTemplateData"]["ImageId"].should.equal("ami-def456")
|
||||||
|
resp["LaunchTemplateVersions"][1]["LaunchTemplateData"]["ImageId"].should.equal("ami-hij789")
|
||||||
|
|
||||||
|
|
||||||
|
@mock_ec2
|
||||||
|
def test_describe_launch_template_versions_with_min():
|
||||||
|
cli = boto3.client("ec2", region_name="us-east-1")
|
||||||
|
|
||||||
|
cli.create_launch_template(
|
||||||
|
LaunchTemplateName="test-template",
|
||||||
|
LaunchTemplateData={
|
||||||
|
"ImageId": "ami-abc123"
|
||||||
|
})
|
||||||
|
|
||||||
|
cli.create_launch_template_version(
|
||||||
|
LaunchTemplateName="test-template",
|
||||||
|
LaunchTemplateData={
|
||||||
|
"ImageId": "ami-def456"
|
||||||
|
},
|
||||||
|
VersionDescription="new ami")
|
||||||
|
|
||||||
|
cli.create_launch_template_version(
|
||||||
|
LaunchTemplateName="test-template",
|
||||||
|
LaunchTemplateData={
|
||||||
|
"ImageId": "ami-hij789"
|
||||||
|
},
|
||||||
|
VersionDescription="new ami, again")
|
||||||
|
|
||||||
|
resp = cli.describe_launch_template_versions(
|
||||||
|
LaunchTemplateName="test-template",
|
||||||
|
MinVersion="2")
|
||||||
|
|
||||||
|
resp["LaunchTemplateVersions"].should.have.length_of(2)
|
||||||
|
resp["LaunchTemplateVersions"][0]["LaunchTemplateData"]["ImageId"].should.equal("ami-def456")
|
||||||
|
resp["LaunchTemplateVersions"][1]["LaunchTemplateData"]["ImageId"].should.equal("ami-hij789")
|
||||||
|
|
||||||
|
|
||||||
|
@mock_ec2
|
||||||
|
def test_describe_launch_template_versions_with_max():
|
||||||
|
cli = boto3.client("ec2", region_name="us-east-1")
|
||||||
|
|
||||||
|
cli.create_launch_template(
|
||||||
|
LaunchTemplateName="test-template",
|
||||||
|
LaunchTemplateData={
|
||||||
|
"ImageId": "ami-abc123"
|
||||||
|
})
|
||||||
|
|
||||||
|
cli.create_launch_template_version(
|
||||||
|
LaunchTemplateName="test-template",
|
||||||
|
LaunchTemplateData={
|
||||||
|
"ImageId": "ami-def456"
|
||||||
|
},
|
||||||
|
VersionDescription="new ami")
|
||||||
|
|
||||||
|
cli.create_launch_template_version(
|
||||||
|
LaunchTemplateName="test-template",
|
||||||
|
LaunchTemplateData={
|
||||||
|
"ImageId": "ami-hij789"
|
||||||
|
},
|
||||||
|
VersionDescription="new ami, again")
|
||||||
|
|
||||||
|
resp = cli.describe_launch_template_versions(
|
||||||
|
LaunchTemplateName="test-template",
|
||||||
|
MaxVersion="2")
|
||||||
|
|
||||||
|
resp["LaunchTemplateVersions"].should.have.length_of(2)
|
||||||
|
resp["LaunchTemplateVersions"][0]["LaunchTemplateData"]["ImageId"].should.equal("ami-abc123")
|
||||||
|
resp["LaunchTemplateVersions"][1]["LaunchTemplateData"]["ImageId"].should.equal("ami-def456")
|
||||||
|
|
||||||
|
|
||||||
|
@mock_ec2
|
||||||
|
def test_describe_launch_template_versions_with_min_and_max():
|
||||||
|
cli = boto3.client("ec2", region_name="us-east-1")
|
||||||
|
|
||||||
|
cli.create_launch_template(
|
||||||
|
LaunchTemplateName="test-template",
|
||||||
|
LaunchTemplateData={
|
||||||
|
"ImageId": "ami-abc123"
|
||||||
|
})
|
||||||
|
|
||||||
|
cli.create_launch_template_version(
|
||||||
|
LaunchTemplateName="test-template",
|
||||||
|
LaunchTemplateData={
|
||||||
|
"ImageId": "ami-def456"
|
||||||
|
},
|
||||||
|
VersionDescription="new ami")
|
||||||
|
|
||||||
|
cli.create_launch_template_version(
|
||||||
|
LaunchTemplateName="test-template",
|
||||||
|
LaunchTemplateData={
|
||||||
|
"ImageId": "ami-hij789"
|
||||||
|
},
|
||||||
|
VersionDescription="new ami, again")
|
||||||
|
|
||||||
|
cli.create_launch_template_version(
|
||||||
|
LaunchTemplateName="test-template",
|
||||||
|
LaunchTemplateData={
|
||||||
|
"ImageId": "ami-345abc"
|
||||||
|
},
|
||||||
|
VersionDescription="new ami, because why not")
|
||||||
|
|
||||||
|
resp = cli.describe_launch_template_versions(
|
||||||
|
LaunchTemplateName="test-template",
|
||||||
|
MinVersion="2",
|
||||||
|
MaxVersion="3")
|
||||||
|
|
||||||
|
resp["LaunchTemplateVersions"].should.have.length_of(2)
|
||||||
|
resp["LaunchTemplateVersions"][0]["LaunchTemplateData"]["ImageId"].should.equal("ami-def456")
|
||||||
|
resp["LaunchTemplateVersions"][1]["LaunchTemplateData"]["ImageId"].should.equal("ami-hij789")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@mock_ec2
|
@mock_ec2
|
||||||
def test_describe_launch_templates():
|
def test_describe_launch_templates():
|
||||||
cli = boto3.client("ec2", region_name="us-east-1")
|
cli = boto3.client("ec2", region_name="us-east-1")
|
||||||
|
Loading…
Reference in New Issue
Block a user