You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
hetzner-ansible/tasks/autodiscover_pre_tasks.yml

60 lines
1.5 KiB
YAML

---
- name: Fetch private_ips
uri:
url: https://api.hetzner.cloud/v1/servers?page=1'
method: GET
headers:
authorization: Bearer {{ hetzner_authentication_token }}
register: dings
delegate_to: 127.0.0.1
become: false
tags:
- autodiscover
- name: "Reading private ip address for {{ inventory_hostname }}"
set_fact:
stage_private_server_ip: "{{ dings.json.servers | json_query(querystr) | first }}"
vars:
querystr: "[?name=='{{ inventory_hostname }}'].private_net[0].ip"
delegate_to: 127.0.0.1
become: false
tags:
- autodiscover
- name: "Gathering current server infos from hetzner"
hcloud_server_info:
api_token: "{{ hetzner_authentication_token }}"
register: hetzner_server_infos
delegate_to: 127.0.0.1
become: false
tags:
- autodiscover
- name: "Setting current server infos as fact: hetzner_server_infos_json"
set_fact:
hetzner_server_infos_json: "{{ hetzner_server_infos.hcloud_server_info }}"
delegate_to: 127.0.0.1
become: false
tags:
- autodiscover
- name: "Reading ip address for {{ inventory_hostname }}"
set_fact:
stage_server_ip: "{{ hetzner_server_infos_json | json_query(querystr) | first }}"
vars:
querystr: "[?name=='{{ inventory_hostname }}'].ipv4_address"
delegate_to: 127.0.0.1
become: false
tags:
- autodiscover
- name: "Printing ip addresses for {{ inventory_hostname }}"
debug:
msg: "{{ stage_server_ip }} / {{ stage_private_server_ip }}"
delegate_to: 127.0.0.1
become: false
tags:
- autodiscover
when:
- debug