# code: language=ansible - name: Clean Synapse hosts: localhost connection: local become: false gather_facts: false vars_prompt: - name: "purge_ids_file" prompt: "Enter the file name containing the purge ids" private: false tasks: - name: Load purge ids ansible.builtin.slurp: src: "{{ playbook_dir }}/{{ purge_ids_file }}" register: purge_ids - name: Set purge_ids_list fact ansible.builtin.set_fact: purge_ids_list: "{{ purge_ids.content | b64decode | from_json }}" - name: Get purge status ansible.builtin.uri: url: "https://{{ synapse_host_address }}/_synapse/admin/v2/rooms/delete_status/{{ item }}" headers: Authorization: "Bearer {{ synapse_admin_token }}" loop: "{{ purge_ids_list }}" register: purge_status - name: Set purge_satus_totals ansible.builtin.set_fact: purge_status_shutting_down: "{{ purge_status.results | selectattr('json.status', '==', 'shutting_down') | list | length }}" purge_status_purging: "{{ purge_status.results | selectattr('json.status', '==', 'purging') | list | length }}" purge_status_complete: "{{ purge_status.results | selectattr('json.status', '==', 'complete') | list | length }}" purge_status_failed: "{{ purge_status.results | selectattr('json.status', '==', 'failed') | list | length }}" - name: Print status ansible.builtin.debug: msg: | Shutting down: {{ purge_status_shutting_down }} Purging: {{ purge_status_purging }} Complete: {{ purge_status_complete }} Failed: {{ purge_status_failed }}"