1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00

return the most up-to-date info about an instance when starting/stopping it

otherwise the module will return the info about the instance that it got prior to the action taken
So if you had a task to start an instance:

      ec2:
         instance_ids: ...
         state: running
      register: ec2_info

the registered data would have empty public_dns_name, public_ip, private_dns_name, private_ip
This commit is contained in:
Damjan Georgievski 2014-07-30 15:13:42 +02:00
parent f61ba3d047
commit 16e5b1b9e6

View file

@ -1083,10 +1083,12 @@ def startstop_instances(module, ec2, instance_ids, state):
## Wait for all the instances to finish starting or stopping ## Wait for all the instances to finish starting or stopping
wait_timeout = time.time() + wait_timeout wait_timeout = time.time() + wait_timeout
while wait and wait_timeout > time.time(): while wait and wait_timeout > time.time():
instance_dict_array = []
matched_instances = [] matched_instances = []
for res in ec2.get_all_instances(instance_ids): for res in ec2.get_all_instances(instance_ids):
for i in res.instances: for i in res.instances:
if i.state == state: if i.state == state:
instance_dict_array.append(get_instance_info(i))
matched_instances.append(i) matched_instances.append(i)
if len(matched_instances) < len(instance_ids): if len(matched_instances) < len(instance_ids):
time.sleep(5) time.sleep(5)