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/roles/hcloud/tasks/configure-network.yml

46 lines
1.3 KiB
YAML

---
- name: "Gather current server infos for network <{{ current_network_name }}>"
hcloud_server_info:
api_token: "{{ hetzner_authentication_token }}"
label_selector: "{{ current_server_label_selector }}"
register: network_hetzner_server_infos
delegate_to: 127.0.0.1
become: false
tags:
- update_networks
- name: "Set current server infos for network <{{ current_network_name }}> as fact: network_hetzner_server_infos_json"
set_fact:
network_hetzner_server_infos_json: "{{ network_hetzner_server_infos.hcloud_server_info }}"
delegate_to: 127.0.0.1
become: false
tags:
- update_networks
#- name: "Print the gathered infos for network <{{ current_network_name }}>"
# debug:
# var: network_hetzner_server_infos_json
# delegate_to: 127.0.0.1
# tags:
# - update_networks
- name: "Set nerwork server names as fact: network_server_names"
set_fact:
network_server_names: "{{ network_hetzner_server_infos_json | json_query(jmesquery) }}"
vars:
jmesquery: '[*].{name: name}'
tags:
- update_networks
- name: "Create network <{{ current_network_name }}>"
hcloud_server_network:
api_token: "{{ hetzner_authentication_token }}"
network: "{{ current_network_name }}"
server: "{{ item.name }}"
state: present
with_items: "{{ network_server_names }}"
delegate_to: 127.0.0.1
tags:
- update_networks