2016-02-10 18:51:39 +08:00
|
|
|
---
|
|
|
|
- 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:
|
2016-02-13 22:16:28 +08:00
|
|
|
src: ../templates/inventory-aws.j2
|
2016-02-10 18:51:39 +08:00
|
|
|
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
|