[cloud] Only enforce state (running/stopped/etc) in EC2 "exact_count" when state is specified (#31648)

fix issue in ec2 module where exact count would create new instances if the instane state is stopped or terminated
pull/31711/merge
Sloane Hertel 7 years ago committed by Ryan Brown
parent 90b6178e61
commit 53e476ad4e

@ -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

Loading…
Cancel
Save