--- - hosts: localhost gather_facts: false connection: local pre_tasks: - name: "Import constraints check" import_tasks: tasks/constraints_check.yml become: false tags: - always - name: "apply setup to {{ host | default('all') }}" hosts: "{{ host | default('all') }}" serial: "{{ serial_number | default(5) }}" gather_facts: no become: no pre_tasks: - name: "Getting all firewalls from hetzner" uri: url: "https://api.hetzner.cloud/v1/firewalls" headers: accept: "application/json" authorization: "Bearer {{ hetzner_authentication_ansible }}" return_content: yes register: hetzner_firewalls_response delegate_to: 127.0.0.1 tags: - update_networks - name: "Saving firewall entries as fact: hetzner_firewalls_response_json" set_fact: hetzner_firewalls_response_json: "{{ hetzner_firewalls_response.json }}" tags: - update_networks - name: Parse firewall entries set_fact: firewall_records: "{{ hetzner_firewalls_response_json.firewalls | json_query(jmesquery) }}" vars: jmesquery: '[*].{id: id, name: name}' tags: - update_networks - name: "Printing firewall entries" debug: msg: "{{ firewall_records }}" delegate_to: 127.0.0.1 when: - debug tags: - update_networks roles: - role: hetzner-ansible-hcloud when: - "'hcloud' in group_names" - role: hetzner-ansible-dns vars: record_data: "{{ stage_server_ip }}" record_name: "{{ inventory_hostname }}" when: - "'hcloud' in group_names" tags: - update_dns - role: hetzner_state vars: hetzner_state: 'started' when: - "'hcloud' in group_names" tasks: - name: "Create server in digitalocean cloud via include_tasks" include_role: name: digitalocean tasks_from: _create_server vars: droplet: name: devnso-blackbox-01 tags: - stage_devnso - service_blackbox when: "'digitalocean' in group_names"