Ansible AWS EC2 create scripts gives this error:: "Timeout when waiting for 172.31.25.6:22"}

My Ansible AWS EC2 instance creation script gives this error.

"Timeout when waiting for 172.31.25.6:22"}
        to retry, use: --limit @/root/instance/provision-ec2.retry

this code is causing problem, Please let me know, how to solve this.

*- name: Wait for the instances to boot by checking the ssh port wait_for: host={{item.public_ip}} port=22 delay=60 timeout=220 state=started with_items: "{{ ec2.instances }}" ~ *
here is the entire code.

What happens if you increase the delay?

If i increase the delay, in that condition also, it gives the same error.

when i ran the above scripts in ansible-playbook --check debug option.

it gave this error

fatal: [localhost]: FAILED! => {“msg”: “‘dict object’ has no attribute ‘instances’”}
to retry, use: --limit @/root/instance/provision-ec2.retry

so i commented this part in the main.yml file, and now it runs ok, but does not wait for the machine to come up.

- debug: var=item

with_items: “{{ ec2.instances }}”

- add_host: name={{ item.public_ip }} >

groups=tag_Type_{{ec2_tag_Type}},tag_Environment_{{ec2_tag_Environment}}

ec2_region={{ec2_region}}

ec2_tag_Name={{ec2_tag_Name}}

ec2_tag_Type={{ec2_tag_Type}}

ec2_tag_Environment={{ec2_tag_Environment}}

ec2_ip_address={{item.public_ip}}

with_items: “{{ ec2.instances }}”

- name: Wait for the instances to boot by checking the ssh port

wait_for: host={{item.public_ip}} port=22 delay=60 timeout=320 state=started

with_items: “{{ ec2.instances }}”

now it runs Ok. but does not waits for the machine to come up.