diff --git a/lib/ansible/modules/cloud/amazon/ec2.py b/lib/ansible/modules/cloud/amazon/ec2.py index cdc0a0c7ea3..a09442f2898 100644 --- a/lib/ansible/modules/cloud/amazon/ec2.py +++ b/lib/ansible/modules/cloud/amazon/ec2.py @@ -639,13 +639,18 @@ except ImportError: def find_running_instances_by_count_tag(module, ec2, vpc, count_tag, zone=None): - # get reservations for instances that match tag(s) and are running - reservations = get_reservations(module, ec2, vpc, tags=count_tag, state="running", zone=zone) + # get reservations for instances that match tag(s) and are in the desired state + state = module.params.get('state') + if state not in ['running', 'stopped']: + state = None + reservations = get_reservations(module, ec2, vpc, tags=count_tag, state=state, zone=zone) instances = [] for res in reservations: if hasattr(res, 'instances'): for inst in res.instances: + if inst.state == 'terminated': + continue instances.append(inst) return reservations, instances