Ansible looping through files
Solution 1
The equivalent is
loop: "{{ lookup('fileglob', 'plugins/*', wantlist=True) }}"
Here is the doc.
Solution 2
From the current Ansible loops doc:
Any
with_*
statement that requires usinglookup
within a loop should not be converted to use theloop
keyword. For example, instead of doing:
loop: "{{ lookup('fileglob', '*.txt', wantlist=True) }}"
it’s cleaner to keep:
with_fileglob: '*.txt'
Buzut
Internaute de l'Internet Passionate about all things digital I make things with #JavaScript #NodeJS #vueJS & #Linux
Updated on July 27, 2022Comments
-
Buzut almost 2 years
Prior to Ansible 2.5, the syntax for loops used to be
with_x
. Starting at 2.5,loop
is favored andwith_x
basically disappeared from the docs.Still, the docs mention exemples of how to replace
with_x
withloop
. But I'm clueless as to how we're now supposed to loop through a directory of files.Let's say I need to upload all the files within a given dir, I used to use
with_fileglob
.- name: Install local checks copy: src: "{{ item }}" dest: /etc/sensu/plugins/ owner: sensu group: sensu mode: 0744 with_fileglob: - plugins/*
So what's the modern equivalent? Is it even possible? I know I still can use
with_fileglob
but as I'm writing new roles, I'd better have them future-proof. -
Buzut over 5 yearsIt works perfectly! I couldn't find this in the docs and thought it had been removed as every with_x alternative is presented but this one. Thank you!