---
- name: check it out
  local_action: shell nc -d -z -w 5 ${inventory_hostname} 22 >>/dev/null
  register: host_is_up
  ignore_errors: true

- name: spin it up
  local_action: ec2 keypair=${keypair} image=${image} type=${instance_type} wait=true group=${security_group} ec2_access_key=$persist_access_key ec2_secret_key=$persist_secret_key ec2_url=$os_ec2_url 
  register: inst_res
  only_if: "'${host_is_up.rc}' != '0'"   

- name: assign it a special ip
  local_action: shell euca-associate-address -i ${inst_res.instances[0].id} ${public_ip}
  only_if: "'${host_is_up.rc}' != '0'"   

- name: wait for the reassignation
  local_action: wait_for host=${public_ip} port=22 delay=20 timeout=300
  only_if: "'${host_is_up.rc}' != '0'"   

