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.
46 lines
1.3 KiB
YAML
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
|