Documentation

filetree - recursively match all files in a directory tree

New in version 2.4.

Synopsis

  • This lookup enables you to template a complete tree of files on a target system while retaining permissions and ownership.
  • Supports directories, files and symlinks, including SELinux and other file properties
  • If you provide more than one path, it will implement a with_first_found logic, and will not process entries it already processed in previous paths. This enables merging different trees in order of importance, or add role_vars to specific paths to influence different instances of the same role.

Parameters

Parameter Choices/Defaults Configuration Comments
_terms
required
path(s) of files to read

Examples

- name: Create directories
  file:
    path: /web/{{ item.path }}
    state: directory
    mode: '{{ item.mode }}'
  with_filetree: web/
  when: item.state == 'directory'

- name: Template files
  template:
    src: '{{ item.src }}'
    dest: /web/{{ item.path }}
    mode: '{{ item.mode }}'
  with_filetree: web/
  when: item.state == 'file'

- name: Recreate symlinks
  file:
    src: '{{ item.src }}'
    dest: /web/{{ item.path }}
    state: link
    force: yes
    mode: '{{ item.mode }}'
  with_filetree: web/
  when: item.state == 'link'

Return Values

Common return values are documented here, the following are the fields unique to this lookup:

Key Returned Description
_raw
list of dictionaries with file information

  uid
TODO

  selevel
TODO

  mtime
TODO

  owner
TODO

  path
contains the relative path to root

  size
TODO

  src
TODO

  group
TODO

  ctime
TODO

  seuser
TODO

  state
TODO

  serole
TODO

  gid
TODO

  mode
TODO

  root
allows filtering by original location

  setype
TODO



Status

Author

Hint

If you notice any issues in this documentation you can edit this document to improve it.