--- - name: Check for pending dpkg/ucf config files ansible.builtin.find: paths: /etc patterns: - "*.dpkg-dist" - "*.dpkg-new" - "*.ucf-dist" - "*.ucf-new" recurse: yes register: debnew_files - name: Ensure debnew.logs directory exists locally ansible.builtin.file: path: "{{ playbook_dir }}/debnew.logs" state: directory mode: '0755' delegate_to: localhost run_once: true become: no - name: Save debnew config list to file ansible.builtin.copy: content: "{{ debnew_files.files | map(attribute='path') | join('\n') }}\n" dest: "{{ playbook_dir }}/debnew.logs/{{ inventory_hostname }}.debnew" mode: '0644' delegate_to: localhost become: no when: debnew_files.matched > 0 - name: Clean up old debnew config list file if none exist ansible.builtin.file: path: "{{ playbook_dir }}/debnew.logs/{{ inventory_hostname }}.debnew" state: absent delegate_to: localhost become: no when: debnew_files.matched == 0 - name: Alert if debnew config files exist ansible.builtin.debug: msg: "Warning: The following Debian config files require merging: {{ debnew_files.files | map(attribute='path') | list }}" when: debnew_files.matched > 0