diff --git a/moto/ec2/models.py b/moto/ec2/models.py index ec5744e8a..b84e67804 100644 --- a/moto/ec2/models.py +++ b/moto/ec2/models.py @@ -748,6 +748,8 @@ class Ami(TaggedEC2Resource): return self.id elif filter_name == 'state': return self.state + elif filter_name == 'name': + return self.name filter_value = super(Ami, self).get_filter_value(filter_name) diff --git a/tests/test_ec2/test_amis.py b/tests/test_ec2/test_amis.py index 18bc9629b..3bdf6dac7 100644 --- a/tests/test_ec2/test_amis.py +++ b/tests/test_ec2/test_amis.py @@ -177,9 +177,11 @@ def test_ami_filters(): amis_by_id = conn.get_all_images(filters={'image-id': imageA.id}) set([ami.id for ami in amis_by_id]).should.equal(set([imageA.id])) - amis_by_id = conn.get_all_images(filters={'state': 'available'}) - set([ami.id for ami in amis_by_id]).should.equal(set([imageA.id, imageB.id])) + amis_by_state = conn.get_all_images(filters={'state': 'available'}) + set([ami.id for ami in amis_by_state]).should.equal(set([imageA.id, imageB.id])) + amis_by_name = conn.get_all_images(filters={'name': imageA.name}) + set([ami.id for ami in amis_by_name]).should.equal(set([imageA.id])) @mock_ec2 def test_ami_filtering_via_tag():