- name: Check directories exist ansible.builtin.stat: path: "{{ item.path if item is mapping else item }}" loop: "{{ dir_list }}" register: dir_stats - name: Build list of missing directories ansible.builtin.set_fact: missing_dirs: >- {{ dir_stats.results | rejectattr('stat.exists', 'equalto', true) | map(attribute='item') | list }} - name: Ensure missing directories exist become: true ansible.builtin.file: path: "{{ item.path if item is mapping else item }}" state: directory owner: "{{ container_user }}" group: "{{ container_group }}" mode: "{{ item.mode | default('0755') if item is mapping else '0755' }}" loop: "{{ missing_dirs }}" when: missing_dirs | length > 0