Add tagging to ec2.CopySnapshot (#3365)
The `@freeze_time` decorator was removed because it is not necessary (and was causing the test to be skipped). Closes #2940
This commit is contained in:
parent
c26bef6f79
commit
d00cefa25c
2 changed files with 19 additions and 3 deletions
|
|
@ -19,10 +19,13 @@ class ElasticBlockStore(BaseResponse):
|
|||
source_snapshot_id = self._get_param("SourceSnapshotId")
|
||||
source_region = self._get_param("SourceRegion")
|
||||
description = self._get_param("Description")
|
||||
tags = self._parse_tag_specification("TagSpecification")
|
||||
snapshot_tags = tags.get("snapshot", {})
|
||||
if self.is_not_dryrun("CopySnapshot"):
|
||||
snapshot = self.ec2_backend.copy_snapshot(
|
||||
source_snapshot_id, source_region, description
|
||||
)
|
||||
snapshot.add_tags(snapshot_tags)
|
||||
template = self.response_template(COPY_SNAPSHOT_RESPONSE)
|
||||
return template.render(snapshot=snapshot)
|
||||
|
||||
|
|
@ -272,6 +275,16 @@ CREATE_SNAPSHOT_RESPONSE = """<CreateSnapshotResponse xmlns="http://ec2.amazonaw
|
|||
COPY_SNAPSHOT_RESPONSE = """<CopySnapshotResponse xmlns="http://ec2.amazonaws.com/doc/2016-11-15/">
|
||||
<requestId>59dbff89-35bd-4eac-99ed-be587EXAMPLE</requestId>
|
||||
<snapshotId>{{ snapshot.id }}</snapshotId>
|
||||
<tagSet>
|
||||
{% for tag in snapshot.get_tags() %}
|
||||
<item>
|
||||
<resourceId>{{ tag.resource_id }}</resourceId>
|
||||
<resourceType>{{ tag.resource_type }}</resourceType>
|
||||
<key>{{ tag.key }}</key>
|
||||
<value>{{ tag.value }}</value>
|
||||
</item>
|
||||
{% endfor %}
|
||||
</tagSet>
|
||||
</CopySnapshotResponse>"""
|
||||
|
||||
DESCRIBE_SNAPSHOTS_RESPONSE = """<DescribeSnapshotsResponse xmlns="http://ec2.amazonaws.com/doc/2013-10-15/">
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue