--- - hosts: localhost sudo: False gather_facts: False tasks: - name: Provision a set of instances ec2: key_name: "{{ aws.key_name }}" aws_access_key: "{{ aws.access_key }}" aws_secret_key: "{{ aws.secret_key }}" region: "{{ aws.region }}" group_id: "{{ aws.group}}" instance_type: "{{ aws.instance_type}}" image: "{{ aws.ami_id }}" wait: true count: "{{ aws.count }}" instance_tags: "{{ aws.tags }}" register: ec2 - name: Template the inventory template: src: templates/inventory.ini.j2 dest: "{{ inventory_path }}" - name: Wait until SSH is available local_action: module: wait_for host: "{{ item.public_ip }}" port: 22 timeout: 300 state: started with_items: ec2.instances