mirror of
https://github.com/trailofbits/algo.git
synced 2025-08-14 16:53:01 +02:00
feat: add support for vultr api v2 (#14773)
Co-authored-by: Dhruv Kelawala <dhruvrk2000@gmail.com>
This commit is contained in:
parent
c495307027
commit
bb8db7d877
1 changed files with 12 additions and 9 deletions
|
@ -12,17 +12,23 @@
|
||||||
set_fact:
|
set_fact:
|
||||||
algo_vultr_config: "{{ vultr_config | default(_vultr_config.user_input) | default(lookup('env','VULTR_API_CONFIG'), true) }}"
|
algo_vultr_config: "{{ vultr_config | default(_vultr_config.user_input) | default(lookup('env','VULTR_API_CONFIG'), true) }}"
|
||||||
|
|
||||||
|
- name: Set the Vultr API Key as a fact
|
||||||
|
set_fact:
|
||||||
|
vultr_api_key: "{{ lookup('ansible.builtin.ini', 'key', section='default', file=algo_vultr_config) }}"
|
||||||
|
|
||||||
- name: Get regions
|
- name: Get regions
|
||||||
uri:
|
uri:
|
||||||
url: https://api.vultr.com/v1/regions/list
|
url: https://api.vultr.com/v2/regions
|
||||||
method: GET
|
method: GET
|
||||||
status_code: 200
|
status_code: 200
|
||||||
|
headers:
|
||||||
|
Authorization: "Bearer {{ vultr_api_key }}"
|
||||||
register: _vultr_regions
|
register: _vultr_regions
|
||||||
|
|
||||||
- name: Format regions
|
- name: Format regions
|
||||||
set_fact:
|
set_fact:
|
||||||
regions: >-
|
regions: >-
|
||||||
[ {% for k, v in _vultr_regions.json.items() %}
|
[ {% for v in _vultr_regions.json['regions'] %}
|
||||||
{{ v }}{% if not loop.last %},{% endif %}
|
{{ v }}{% if not loop.last %},{% endif %}
|
||||||
{% endfor %} ]
|
{% endfor %} ]
|
||||||
|
|
||||||
|
@ -32,17 +38,14 @@
|
||||||
|
|
||||||
- name: Set default region
|
- name: Set default region
|
||||||
set_fact:
|
set_fact:
|
||||||
default_region: >-
|
default_region: 1
|
||||||
{% for r in vultr_regions %}
|
|
||||||
{%- if r['DCID'] == "1" %}{{ loop.index }}{% endif %}
|
|
||||||
{%- endfor %}
|
|
||||||
|
|
||||||
- pause:
|
- pause:
|
||||||
prompt: |
|
prompt: |
|
||||||
What region should the server be located in?
|
What region should the server be located in?
|
||||||
(https://www.vultr.com/locations/):
|
(https://www.vultr.com/locations/):
|
||||||
{% for r in vultr_regions %}
|
{% for r in vultr_regions %}
|
||||||
{{ loop.index }}. {{ r['name'] }} ({{ r['regioncode'] | lower }})
|
{{ loop.index }}. {{ r['city'] }} ({{ r['id'] }})
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
Enter the number of your desired region
|
Enter the number of your desired region
|
||||||
|
@ -54,5 +57,5 @@
|
||||||
set_fact:
|
set_fact:
|
||||||
algo_vultr_region: >-
|
algo_vultr_region: >-
|
||||||
{% if region is defined %}{{ region }}
|
{% if region is defined %}{{ region }}
|
||||||
{%- elif _algo_region.user_input %}{{ vultr_regions[_algo_region.user_input | int -1 ]['regioncode'] | lower }}
|
{%- elif _algo_region.user_input %}{{ vultr_regions[_algo_region.user_input | int -1 ]['id'] }}
|
||||||
{%- else %}{{ vultr_regions[default_region | int - 1]['regioncode'] | lower }}{% endif %}
|
{%- else %}{{ vultr_regions[default_region | int - 1]['id'] }}{% endif %}
|
||||||
|
|
Loading…
Add table
Reference in a new issue