- name: apply file defaults set_fact: file: "{{ {}|combine(files_default, item.value|d({}), {'path': item.key} ) }}" - name: "create file/folder (file module, {{ file.path }})" when: - not file.url - not file.content - not file.template file: path: "{{ file.path }}" group: "{{ file.group }}" owner: "{{ file.owner }}" mode: "{{ file.mode }}" src: "{{ file.src }}" state: "{{ file.state }}" - name: "create file/folder (copy module, {{ file.path }})" when: - file.content or file.src - file.state != 'link' - not file.url copy: dest: "{{ file.path }}" group: "{{ file.group }}" owner: "{{ file.owner }}" mode: "{{ file.mode }}" content: "{{ file.content }}" src: "{{ file.src }}" - name: "create file/folder (get_url module, {{ file.path }})" when: - file.url get_url: url: "{{ file.url }}" dest: "{{ file.path }}" group: "{{ file.group }}" owner: "{{ file.owner }}" mode: "{{ file.mode }}"