Extend the DESCRIBE_SNAPSHOTS_RESPONSE to include the tagSet as documented by AWS. Also refactor the names of the tests I introduced in previous commits to be more descriptive. Finally some code cleanup, removing the get_tags method from classes and instead inherit from the TaggedEC2Resource class.
This commit is contained in:
parent
17356fe56c
commit
2f1f993793
3 changed files with 36 additions and 14 deletions
|
|
@ -109,7 +109,7 @@ class StateReason(object):
|
|||
|
||||
class TaggedEC2Resource(object):
|
||||
def get_tags(self, *args, **kwargs):
|
||||
tags = self.ec2_backend.describe_tags(filters={'resource-id': [self.id]})
|
||||
tags = ec2_backend.describe_tags(filters={'resource-id': [self.id]})
|
||||
return tags
|
||||
|
||||
def get_filter_value(self, filter_name):
|
||||
|
|
@ -383,10 +383,6 @@ class Instance(BotoInstance, TaggedEC2Resource):
|
|||
self._reason = ""
|
||||
self._state_reason = StateReason()
|
||||
|
||||
def get_tags(self):
|
||||
tags = self.ec2_backend.describe_tags(filters={'resource-id': [self.id]})
|
||||
return tags
|
||||
|
||||
@property
|
||||
def dynamic_group_list(self):
|
||||
if self.nics:
|
||||
|
|
@ -1227,7 +1223,7 @@ class VolumeAttachment(object):
|
|||
return attachment
|
||||
|
||||
|
||||
class Volume(object):
|
||||
class Volume(TaggedEC2Resource):
|
||||
def __init__(self, volume_id, size, zone):
|
||||
self.id = volume_id
|
||||
self.size = size
|
||||
|
|
@ -1255,12 +1251,8 @@ class Volume(object):
|
|||
else:
|
||||
return 'available'
|
||||
|
||||
def get_tags(self):
|
||||
tags = ec2_backend.describe_tags(filters={'resource-id': [self.id]})
|
||||
return tags
|
||||
|
||||
|
||||
class Snapshot(object):
|
||||
class Snapshot(TaggedEC2Resource):
|
||||
def __init__(self, snapshot_id, volume, description):
|
||||
self.id = snapshot_id
|
||||
self.volume = volume
|
||||
|
|
|
|||
|
|
@ -197,6 +197,14 @@ DESCRIBE_SNAPSHOTS_RESPONSE = """<DescribeSnapshotsResponse xmlns="http://ec2.am
|
|||
<volumeSize>{{ snapshot.volume.size }}</volumeSize>
|
||||
<description>{{ snapshot.description }}</description>
|
||||
<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>
|
||||
</item>
|
||||
{% endfor %}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue