- name: check if parent dir exists register: stat_output ansible.builtin.stat: path: "{{ path | dirname }}" - name: create dir if not exists when: not stat_output.stat.exists ansible.builtin.file: path: "{{ path | dirname }}" state: directory - name: backup and create dir if not dir when: stat_output.stat.exists and not stat_output.stat.isdir block: - name: "backup existing {{ path | dirname }}" no_log: true ansible.builtin.copy: src: "{{ path | dirname }}" dest: "{{ path | dirname }}.old" - name: "delete existing {{ path | dirname }}" no_log: true ansible.builtin.file: path: "{{ path | dirname }}" state: absent - name: "create {{ path | dirname }}" no_log: true ansible.builtin.file: path: "{{ path | dirname }}" state: directory