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. However, we recommend you use the Fully Qualified Collection Name (FQCN) ansible.builtin.fileglob 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.

  • See Ansible task paths to understand how file lookup occurs with 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.

See Also

See also

Task paths

Search paths used for relative files.

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.