ansible.builtin.fileglob lookup – list files matching a pattern

Note

This lookup plugin is part of ansible-core and included in all Ansible installations. In most cases, you can use the short plugin name fileglob even without specifying the collections: keyword. However, we recommend you use the FQCN for easy linking to the plugin documentation and to avoid conflicting with other collections that may have the same lookup plugin name.

Synopsis

  • Matches all files in a single directory, non-recursively, that match a pattern. It calls Python’s “glob” library.

Terms

Parameter

Comments

Terms

string / required

path(s) of files to read

Notes

Note

  • Patterns are only supported on files, not directory/paths.

  • Matching is against local system files on the Ansible controller. To iterate a list of files on a remote node, use the ansible.builtin.find module.

  • Returns a string list of paths joined by commas, or an empty list if no files match. For a ‘true list’ pass wantlist=True to the lookup.

Examples

- name: Display paths of all .txt files in dir
  ansible.builtin.debug: msg={{ lookup('ansible.builtin.fileglob', '/my/path/*.txt') }}

- name: Copy each file over that matches the given pattern
  ansible.builtin.copy:
    src: "{{ item }}"
    dest: "/etc/fooapp/"
    owner: "root"
    mode: 0600
  with_fileglob:
    - "/playbooks/files/fooapp/*"

Return Value

Key

Description

Return value

list / elements=path

list of files

Returned: success

Authors

  • Michael DeHaan

Hint

Configuration entries for each entry type have a low to high priority order. For example, a variable that is lower in the list will override a variable that is higher up.