--- - pause: prompt: | Enter your API token (https://trailofbits.github.io/algo/cloud-hetzner.html#api-token): echo: false register: _hcloud_token when: - hcloud_token is undefined - lookup('env','HCLOUD_TOKEN')|length <= 0 - name: Set the token as a fact set_fact: algo_hcloud_token: "{{ hcloud_token | default(_hcloud_token.user_input|default(None)) | default(lookup('env','HCLOUD_TOKEN'), true) }}" - name: Get regions hcloud_datacenter_facts: api_token: "{{ algo_hcloud_token }}" register: _hcloud_regions - name: Set facts about the regions set_fact: hcloud_regions: "{{ hcloud_datacenter_facts | sort(attribute='location') }}" - name: Set default region set_fact: default_region: >- {% for r in hcloud_regions %} {%- if r['location'] == "nbg1" %}{{ loop.index }}{% endif %} {%- endfor %} - pause: prompt: | What region should the server be located in? {% for r in hcloud_regions %} {{ loop.index }}. {{ r['location'] }} {{ r['description'] }} {% endfor %} Enter the number of your desired region [{{ default_region }}] register: _algo_region when: region is undefined - name: Set additional facts set_fact: algo_hcloud_region: >- {% if region is defined %}{{ region }} {%- elif _algo_region.user_input %}{{ hcloud_regions[_algo_region.user_input | int -1 ]['location'] }} {%- else %}{{ hcloud_regions[default_region | int - 1]['location'] }}{% endif %}