0
我正在尝试制作一个可调用的动态滚动手册。现在,Ansible本身并不支持这个功能,所以我想我可以用一些Jinja2模板规避这个问题......但是我甚至都不知道如何真正做到这一点。所以我们可以说我有一个变量的角色列表Ansible - 将Jinja 2用于动态角色
role_vars:
- role1
- role2
- role3
我的模板:
- hosts: localhost
roles: >
{%- for name in role_vars %}
{{- '- ' + name + '\n ' -}}
{%- endfor %}
我认为它应该产生这样的:
- hosts: localhost
roles:
- role1
- role2
- role3
,但我可以不能让它工作。那么我怎么样?它甚至有可能吗?
我跑了它,它给了我: 错误!语法加载YAML时出错。 错误似乎在file.yml中:第23行第6列,但可能 位于文件的其他位置,具体取决于确切的语法问题。 出错的行似乎是: 角色: {%的名义role_vars - %} ......... 我你需要一个“>”管道的印象就是它为了能够认出jinja2,但那也给了我一个错误。 – ExaExcellion
我想我误解了你的意思......这个模板不应该被直接提供给剧本,而是作为模板的模板来源。在这样的剧本中使用jinja2是不行的。 –
我意识到'>'符号应该表示内联模板。显然,这可能会导致混乱的情况,而且也不打算被大量使用。但正如你所说在这种情况下使用模块更好,所以谢谢! – ExaExcellion