2018-08-27 14:05:45 +00:00
|
|
|
---
|
|
|
|
- pause:
|
|
|
|
prompt: |
|
|
|
|
Enter your API token. The token must have read and write permissions (https://cloud.digitalocean.com/settings/api/tokens):
|
|
|
|
echo: false
|
|
|
|
register: _do_token
|
|
|
|
when:
|
|
|
|
- do_token is undefined
|
|
|
|
- lookup('env','DO_API_TOKEN')|length <= 0
|
|
|
|
|
|
|
|
- name: Set the token as a fact
|
|
|
|
set_fact:
|
|
|
|
algo_do_token: "{{ do_token | default(_do_token.user_input|default(None)) | default(lookup('env','DO_API_TOKEN'), true) }}"
|
|
|
|
|
|
|
|
- name: Get regions
|
|
|
|
uri:
|
|
|
|
url: https://api.digitalocean.com/v2/regions
|
|
|
|
method: GET
|
|
|
|
status_code: 200
|
|
|
|
headers:
|
|
|
|
Content-Type: "application/json"
|
|
|
|
Authorization: "Bearer {{ algo_do_token }}"
|
|
|
|
register: _do_regions
|
|
|
|
|
2019-09-28 00:10:20 +00:00
|
|
|
- name: Set facts about the regions
|
2018-08-27 14:05:45 +00:00
|
|
|
set_fact:
|
|
|
|
do_regions: "{{ _do_regions.json.regions | sort(attribute='slug') }}"
|
|
|
|
|
|
|
|
- name: Set default region
|
|
|
|
set_fact:
|
|
|
|
default_region: >-
|
|
|
|
{% for r in do_regions %}
|
|
|
|
{%- if r['slug'] == "nyc3" %}{{ loop.index }}{% endif %}
|
|
|
|
{%- endfor %}
|
|
|
|
|
|
|
|
- pause:
|
|
|
|
prompt: |
|
|
|
|
What region should the server be located in?
|
|
|
|
{% for r in do_regions %}
|
|
|
|
{{ loop.index }}. {{ r['slug'] }} {{ r['name'] }}
|
|
|
|
{% endfor %}
|
|
|
|
|
|
|
|
Enter the number of your desired region
|
|
|
|
[{{ default_region }}]
|
|
|
|
register: _algo_region
|
|
|
|
when: region is undefined
|
2019-09-28 00:10:20 +00:00
|
|
|
|
|
|
|
- name: Set additional facts
|
|
|
|
set_fact:
|
|
|
|
algo_do_region: >-
|
|
|
|
{% if region is defined %}{{ region }}
|
|
|
|
{%- elif _algo_region.user_input %}{{ do_regions[_algo_region.user_input | int -1 ]['slug'] }}
|
|
|
|
{%- else %}{{ do_regions[default_region | int - 1]['slug'] }}{% endif %}
|