Hi,
I would like to run the module lineinfile against several files that exist
on the remote managed host. I saw in the changelog for 1.4 that i can use
the following lookup plugin feature:
" added a fileglob filter that will return files matching a glob pattern.
with_items: "/foo/pattern/*.txt | fileglob"
however i did not seem to get it right, see below, could you please let me
know what other possible ways to do this, or what i might be doing wrong
below
I tried it with a simple debug task as follows:
- action: shell echo "{{ item }}"
with_items:
- " /etc/* | fileglob"
register: task
tags:
- globtest
- debug: msg="{{item.item}}"
with_items: task.results
when: item.changed == True
tags:
- globtest
however it did not work for me as i expected it, it returned the following :
TASK: [common | shell echo ""]
************************************************
changed: [tlcav117] => (item= /etc/* | fileglob)
TASK: [common | debug msg="{{item.item}}"]
************************************
ok: [tlcav117] => (item={'item': ' /etc/* | fileglob', u'delta':
u'0:00:00.002148', u'cmd': u'echo " /etc/* | fileglob" ', u'end':
u'2013-11-22 23:44:54.216654', u'stderr': u'', u'stdout': u' /etc/* |
fileglob', 'invocation': {'module_name': 'shell', 'module_args': u'echo "
/etc/* | fileglob"'}, u'changed': True, u'rc': 0, u'start': u'2013-11-22
23:44:54.214506'}) => {
"item": {
"changed": true,
"cmd": "echo \" /etc/* | fileglob\" ",
"delta": "0:00:00.002148",
"end": "2013-11-22 23:44:54.216654",
"invocation": {
"module_args": "echo \" /etc/* | fileglob\"",
"module_name": "shell"
},
"item": " /etc/* | fileglob",
"rc": 0,
"start": "2013-11-22 23:44:54.214506",
"stderr": "",
"stdout": " /etc/* | fileglob"
},
"msg": " /etc/* | fileglob"
}
regards
Walid
--
You received this message because you are subscribed to the Google Groups
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.