---
- name: Build python virtual environment
  import_tasks: venv.yml

- block:
  - name: Include prompts
    import_tasks: prompts.yml

  - name: Locate official AMI for region
    ec2_ami_facts:
      aws_access_key: "{{ access_key }}"
      aws_secret_key: "{{ secret_key }}"
      owners: "{{ cloud_providers.ec2.image.owner }}"
      region: "{{ algo_region }}"
      filters:
        name: "ubuntu/images/hvm-ssd/{{ cloud_providers.ec2.image.name }}-amd64-server-*"
    register: ami_search

  - import_tasks: encrypt_image.yml
    when: encrypted

  - name: Set the ami id as a fact
    set_fact:
      ami_image: >-
        {% if ami_search_encrypted.image_id is defined %}{{ ami_search_encrypted.image_id }}
        {%- elif search_crypt.images is defined and search_crypt.images|length >= 1 %}{{ (search_crypt.images | sort(attribute='creation_date') | last)['image_id'] }}
        {%- else %}{{ (ami_search.images | sort(attribute='creation_date') | last)['image_id'] }}{% endif %}

  - name: Deploy the stack
    import_tasks: cloudformation.yml

  - set_fact:
      cloud_instance_ip: "{{ stack.stack_outputs.ElasticIP }}"
      ansible_ssh_user: ubuntu
  environment:
    PYTHONPATH: "{{ ec2_venv }}/lib/python2.7/site-packages/"
