我是一名有用的助手,可以为您翻译文本。
我有一个在Ansible中使用的Jinja2模板,需要根据条件包含一些文件。基本上,我有一个循环包含了“subparts”,这些“subparts”可能存在或不存在。以下示例演示了基本代码,如果所有工具实际上都有“pbr.j2”文件,则该代码将运行成功,但它会崩溃,因为Ansible找不到某些文件:
这个样例的结果是没有任何文件被包含。如果我将
我需要做哪些更改才能实现我的目标?
我有一个在Ansible中使用的Jinja2模板,需要根据条件包含一些文件。基本上,我有一个循环包含了“subparts”,这些“subparts”可能存在或不存在。以下示例演示了基本代码,如果所有工具实际上都有“pbr.j2”文件,则该代码将运行成功,但它会崩溃,因为Ansible找不到某些文件:
{% for tool in tools %}
{% set template = 'tools/' + tool.name + '/pbr.j2' %}
{% include template %}
{% endfor %}
我也尝试了exists
和is_file
过滤器,但是即使文件存在,我始终得到“false”的结果。以下是我尝试的示例代码:
{% for tool in tools %}
{% set template = 'tools/' + tool.name + '/pbr.j2' %}
{% if template|exists %}
{% include template %}
{% endif %}
{% endfor %}
这个样例的结果是没有任何文件被包含。如果我将
exists
替换为is_file
,我会得到相同的结果。我需要做哪些更改才能实现我的目标?