mirror of
https://github.com/trailofbits/algo.git
synced 2025-04-22 09:07:04 +02:00
58 lines
1.7 KiB
YAML
58 lines
1.7 KiB
YAML
---
|
|
- pause:
|
|
prompt: |
|
|
Enter the local path to your configuration INI file
|
|
(https://trailofbits.github.io/algo/cloud-vultr.html):
|
|
register: _vultr_config
|
|
when:
|
|
- vultr_config is undefined
|
|
- lookup('env','VULTR_API_CONFIG')|length <= 0
|
|
|
|
- name: Set the token as a fact
|
|
set_fact:
|
|
algo_vultr_config: "{{ vultr_config | default(_vultr_config.user_input) | default(lookup('env','VULTR_API_CONFIG'), true) }}"
|
|
|
|
- name: Get regions
|
|
uri:
|
|
url: https://api.vultr.com/v1/regions/list
|
|
method: GET
|
|
status_code: 200
|
|
register: _vultr_regions
|
|
|
|
- name: Format regions
|
|
set_fact:
|
|
regions: >-
|
|
[ {% for k, v in _vultr_regions.json.items() %}
|
|
{{ v }}{% if not loop.last %},{% endif %}
|
|
{% endfor %} ]
|
|
|
|
- name: Set regions as a fact
|
|
set_fact:
|
|
vultr_regions: "{{ regions | sort(attribute='country') }}"
|
|
|
|
- name: Set default region
|
|
set_fact:
|
|
default_region: >-
|
|
{% for r in vultr_regions %}
|
|
{%- if r['DCID'] == "1" %}{{ loop.index }}{% endif %}
|
|
{%- endfor %}
|
|
|
|
- pause:
|
|
prompt: |
|
|
What region should the server be located in?
|
|
(https://www.vultr.com/locations/):
|
|
{% for r in vultr_regions %}
|
|
{{ loop.index }}. {{ r['name'] }} ({{ r['regioncode'] | lower }})
|
|
{% endfor %}
|
|
|
|
Enter the number of your desired region
|
|
[{{ default_region }}]
|
|
register: _algo_region
|
|
when: region is undefined
|
|
|
|
- name: Set the desired region as a fact
|
|
set_fact:
|
|
algo_vultr_region: >-
|
|
{% if region is defined %}{{ region }}
|
|
{%- elif _algo_region.user_input %}{{ vultr_regions[_algo_region.user_input | int -1 ]['regioncode'] | lower }}
|
|
{%- else %}{{ vultr_regions[default_region | int - 1]['regioncode'] | lower }}{% endif %}
|