--- - name: Get the list of targets of the server slurp: src: /etc/prometheus/targets/blackbox-tls-internal-targets.json register: server_tls_targets_file delegate_to: "{{ appointed_prometheus_server }}" - name: Set target variable from file set_fact: server_tls_targets: "{{ server_tls_targets_file['content'] | b64decode | from_json }}" - name: Register the endpoint to the prometheus server block: - name: Add the target set_fact: new_server_tls_targets: "[{{ server_tls_targets[0] | combine({'targets': [target]}, list_merge='append_rp') }}]" - name: Put the new target list copy: content: "{{ new_server_tls_targets | to_nice_json }}" dest: /etc/prometheus/targets/blackbox-tls-internal-targets.json delegate_to: "{{ appointed_prometheus_server }}" when: target not in server_tls_targets.0.targets