diff --git a/moto/ec2/models.py b/moto/ec2/models.py index ef506e443..9c720cda8 100644 --- a/moto/ec2/models.py +++ b/moto/ec2/models.py @@ -826,11 +826,11 @@ class Instance(TaggedEC2Resource, BotoInstance): if filters: applicable = False for f in filters: - acceptable_values = f['values'] - if f['name'] == "instance-state-name": + acceptable_values = f["values"] + if f["name"] == "instance-state-name": if self._state.name in acceptable_values: applicable = True - if f['name'] == "instance-state-code": + if f["name"] == "instance-state-code": if str(self._state.code) in acceptable_values: applicable = True return applicable diff --git a/moto/ec2/responses/instances.py b/moto/ec2/responses/instances.py index 9b1105291..29c346f82 100644 --- a/moto/ec2/responses/instances.py +++ b/moto/ec2/responses/instances.py @@ -128,10 +128,15 @@ class InstanceResponse(BaseResponse): instance_ids = self._get_multi_param("InstanceId") include_all_instances = self._get_param("IncludeAllInstances") == "true" filters = self._get_list_prefix("Filter") - filters = [{'name': f['name'], 'values': self._get_list_of_dict_params("value.", f)} for f in filters] + filters = [ + {"name": f["name"], "values": self._get_list_of_dict_params("value.", f)} + for f in filters + ] if instance_ids: - instances = self.ec2_backend.get_multi_instances_by_id(instance_ids, filters) + instances = self.ec2_backend.get_multi_instances_by_id( + instance_ids, filters + ) elif include_all_instances: instances = self.ec2_backend.all_instances(filters) else: diff --git a/tests/test_ec2/test_instances.py b/tests/test_ec2/test_instances.py index ac6a4f4ec..85ba0fe01 100644 --- a/tests/test_ec2/test_instances.py +++ b/tests/test_ec2/test_instances.py @@ -1172,12 +1172,12 @@ def test_describe_instance_status_with_instance_filter(): # We want to filter based on this one reservation = conn.run_instances(ImageId="ami-1234abcd", MinCount=3, MaxCount=3) - instance1 = reservation['Instances'][0] - instance2 = reservation['Instances'][1] - instance3 = reservation['Instances'][2] - conn.stop_instances(InstanceIds=[instance1['InstanceId']]) - stopped_instance_ids = [instance1['InstanceId']] - running_instance_ids = sorted([instance2['InstanceId'], instance3['InstanceId']]) + instance1 = reservation["Instances"][0] + instance2 = reservation["Instances"][1] + instance3 = reservation["Instances"][2] + conn.stop_instances(InstanceIds=[instance1["InstanceId"]]) + stopped_instance_ids = [instance1["InstanceId"]] + running_instance_ids = sorted([instance2["InstanceId"], instance3["InstanceId"]]) all_instance_ids = sorted(stopped_instance_ids + running_instance_ids) # Filter instance using the state name @@ -1189,16 +1189,22 @@ def test_describe_instance_status_with_instance_filter(): "stopped": [{"Name": "instance-state-name", "Values": ["stopped"]}], } - found_statuses = conn.describe_instance_status(IncludeAllInstances=True, Filters=state_name_filter["running_and_stopped"])['InstanceStatuses'] - found_instance_ids = [status['InstanceId'] for status in found_statuses] + found_statuses = conn.describe_instance_status( + IncludeAllInstances=True, Filters=state_name_filter["running_and_stopped"] + )["InstanceStatuses"] + found_instance_ids = [status["InstanceId"] for status in found_statuses] sorted(found_instance_ids).should.equal(all_instance_ids) - found_statuses = conn.describe_instance_status(IncludeAllInstances=True, Filters=state_name_filter["running"])['InstanceStatuses'] - found_instance_ids = [status['InstanceId'] for status in found_statuses] + found_statuses = conn.describe_instance_status( + IncludeAllInstances=True, Filters=state_name_filter["running"] + )["InstanceStatuses"] + found_instance_ids = [status["InstanceId"] for status in found_statuses] sorted(found_instance_ids).should.equal(running_instance_ids) - found_statuses = conn.describe_instance_status(IncludeAllInstances=True, Filters=state_name_filter["stopped"])['InstanceStatuses'] - found_instance_ids = [status['InstanceId'] for status in found_statuses] + found_statuses = conn.describe_instance_status( + IncludeAllInstances=True, Filters=state_name_filter["stopped"] + )["InstanceStatuses"] + found_instance_ids = [status["InstanceId"] for status in found_statuses] sorted(found_instance_ids).should.equal(stopped_instance_ids) # Filter instance using the state code @@ -1210,16 +1216,22 @@ def test_describe_instance_status_with_instance_filter(): "stopped": [{"Name": "instance-state-code", "Values": ["80"]}], } - found_statuses = conn.describe_instance_status(IncludeAllInstances=True, Filters=state_code_filter["running_and_stopped"])['InstanceStatuses'] - found_instance_ids = [status['InstanceId'] for status in found_statuses] + found_statuses = conn.describe_instance_status( + IncludeAllInstances=True, Filters=state_code_filter["running_and_stopped"] + )["InstanceStatuses"] + found_instance_ids = [status["InstanceId"] for status in found_statuses] sorted(found_instance_ids).should.equal(all_instance_ids) - found_statuses = conn.describe_instance_status(IncludeAllInstances=True, Filters=state_code_filter["running"])['InstanceStatuses'] - found_instance_ids = [status['InstanceId'] for status in found_statuses] + found_statuses = conn.describe_instance_status( + IncludeAllInstances=True, Filters=state_code_filter["running"] + )["InstanceStatuses"] + found_instance_ids = [status["InstanceId"] for status in found_statuses] sorted(found_instance_ids).should.equal(running_instance_ids) - found_statuses = conn.describe_instance_status(IncludeAllInstances=True, Filters=state_code_filter["stopped"])['InstanceStatuses'] - found_instance_ids = [status['InstanceId'] for status in found_statuses] + found_statuses = conn.describe_instance_status( + IncludeAllInstances=True, Filters=state_code_filter["stopped"] + )["InstanceStatuses"] + found_instance_ids = [status["InstanceId"] for status in found_statuses] sorted(found_instance_ids).should.equal(stopped_instance_ids)