diff --git a/ec2api/api/volume.py b/ec2api/api/volume.py index 632b27f4..9d57946c 100644 --- a/ec2api/api/volume.py +++ b/ec2api/api/volume.py @@ -119,17 +119,20 @@ class VolumeDescriber(common.TaggableItemsDescriber): KIND = 'vol' SORT_KEY = 'volumeId' - FILTER_MAP = {'availability-zone': 'availabilityZone', - 'create-time': 'createTime', - 'encrypted': 'encrypted', - 'size': 'size', - 'snapshot-id': 'snapshotId', - 'status': 'status', - 'volume-id': 'volumeId', - 'volume-type': 'volumeType', - 'attachment.device': ['attachmentSet', 'device'], - 'attachment.instance-id': ['attachmentSet', 'instanceId'], - 'attachment.status': ['attachmentSet', 'status']} + FILTER_MAP = { + 'availability-zone': 'availabilityZone', + 'create-time': 'createTime', + 'encrypted': 'encrypted', + 'size': 'size', + 'snapshot-id': 'snapshotId', + 'status': 'status', + 'volume-id': 'volumeId', + 'volume-type': 'volumeType', + 'attachment.delete-on-termination': + ['attachmentSet', 'deleteOnTermination'], + 'attachment.device': ['attachmentSet', 'device'], + 'attachment.instance-id': ['attachmentSet', 'instanceId'], + 'attachment.status': ['attachmentSet', 'status']} def format(self, volume, os_volume): return _format_volume(self.context, volume, os_volume, diff --git a/ec2api/tests/unit/test_volume.py b/ec2api/tests/unit/test_volume.py index 3bb76422..599babc6 100644 --- a/ec2api/tests/unit/test_volume.py +++ b/ec2api/tests/unit/test_volume.py @@ -67,6 +67,7 @@ class VolumeTestCase(base.ApiTestCase): ('volume-id', fakes.ID_EC2_VOLUME_1), # TODO(ft): support filtering by none/empty value # ('volume-type', ''), + ('attachment.delete-on-termination', False), ('attachment.device', fakes.ROOT_DEVICE_NAME_INSTANCE_2), ('attachment.instance-id', fakes.ID_EC2_INSTANCE_2), ('attachment.status', 'attached')])