我想在剧本中使用以下任务:
- include: "{{ prerequisites_file }}"
with_first_found:
- "prerequisites-{{ ansible_distribution }}.yml"
- "prerequisites-{{ ansible_os_family }}.yml"
loop_control:
loop_var: prerequisites_file
如果找不到与该架构匹配的文件,我希望它能够通过。
按原样运行时,在这种情况下会产生错误:
任务[ansible-playbook:include] ***************************************
致命:[ansible-playbook]:失败! => {"失败":true," msg":"使用with_first_found时未找到任何文件。使用' skip:true'如果没有找到任何文件,则允许跳过此任务的选项"}
我知道我最后可以添加一个虚拟文件,但如果我按照建议操作,我该如何在这里添加skip: true
选项?
它绝对不是include
模块的参数,它应该以某种方式绑定到with_first_found
子句......
答案 0 :(得分:10)
with_first_found
有很多参数变化
看一下first_found.py - 文件开头有一些例子。
回答你的问题:
- include: "{{ prerequisites_file }}"
with_first_found:
- files:
- "prerequisites-{{ ansible_distribution }}.yml"
- "prerequisites-{{ ansible_os_family }}.yml"
skip: true
loop_control:
loop_var: prerequisites_file