33 lines
828 B
YAML
33 lines
828 B
YAML
---
|
|
- hosts: localhost
|
|
become: 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-aws.j2
|
|
dest: "{{ inventory_path }}"
|
|
|
|
- name: Wait until SSH is available
|
|
wait_for:
|
|
host: "{{ item.public_ip }}"
|
|
port: 22
|
|
timeout: 300
|
|
state: started
|
|
delegate_to: localhost
|
|
with_items: "{{ ec2.instances }}"
|