我想在配置文件中打印以下行:
{{ variable.method }}
这将由第三方软件解释,并将做任何事情。
我正在使用Ansible。
使用以下代码在简单的template
块中打印该行,效果很好:
{{ '{{' }} variable.method {{ '}}' }}
但是,当我想循环使用template
代码生成更多文件时,使用with_items
,我无法打印出我想要的内容。
- name: Debug Print my variable
with_items:
- { name: "someObject", prop: "{{ '{{' }} variable.method {{ '}}' }}" }
debug: msg="{{ item.prop }}"
我收到以下内容:
FAILED! => {"failed": true, "msg": "the field 'args' has an invalid value, which appears to include a variable that is undefined. The error was: {u'name': u'someObject', u'prop': u'{{ variable.method }}'}: 'variable.method' is undefined\n\nThe error appears to have been in 'my_file.yml': line 1, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n- name: \"Debug Print my variable\"\n ^ here\n"}
看起来 Ansible 正在不同的环境/上下文中工作,并且正在尝试实际执行这段代码。 我如何逃避这个背景并实际打印出我想要的内容?
由于
答案 0 :(得分:0)
如果您想在循环中使用template
,我认为您首先需要将循环修复为此类:
- name: Debug Print my variable
template: ........ {{ item }} #you write your template here
with_items:
- { name: "someObject", prop: "{{ '{{' }} variable.method {{ '}}' }}" }
debug: ............