在Ansible 2.5之前,循环的语法曾经是with_x
。从2.5开始,loop
受到青睐,with_x
基本上从文档中消失了。
不过,文档中仍然提到了如何将with_x
替换为loop
的示例。但是我对现在应该如何遍历文件目录一无所知。
假设我需要使用给定的目录上载所有文件,而我以前使用的是with_fileglob
。
- name: Install local checks
copy:
src: "{{ item }}"
dest: /etc/sensu/plugins/
owner: sensu
group: sensu
mode: 0744
with_fileglob:
- plugins/*
那么现代的等效物是什么?可能吗我知道我仍然可以使用with_fileglob
,但是在编写新角色时,最好让它们适应未来。
答案 0 :(得分:2)
答案 1 :(得分:2)
从当前的Ansible loops doc:
任何需要在循环内使用
with_*
的{{1}}语句 不能转换为使用lookup
关键字。例如,代替 在做:
loop
更干净:
loop: "{{ lookup('fileglob', '*.txt', wantlist=True) }}"