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.

New in version 1.4: of ansible.builtin

Synopsis

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

Parameters

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 Values

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

Key

Description

_list

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.