【问题标题】:How to include a variable file in Ansible?如何在 Ansible 中包含变量文件?
【发布时间】:2016-10-28 13:16:17
【问题描述】:

我有以下剧本:

- hosts: localhost
  tasks:
    - set_fact: main_body="test_main"
    - template:
        src: test_src.j2
        dest: /tmp/test_dest.j2

还有以下 Jinja 模板:

main ()
{
  {{ include main_body }}
}

当我运行 playbook 时出现错误:

AnsibleError:模板化字符串时出现模板错误:预期标记“打印语句结束”,得到“main_body”。

如何告诉 Jinja 包含一个文件,它的名称存储在一个先前定义的事实中?

【问题讨论】:

  • 包括 {{main_body}} 试试这个

标签: ansible jinja2 ansible-template


【解决方案1】:

Jinja2 中include 的语法如下:

main ()
{
  {% include main_body %}
}

【讨论】:

  • 这是有效的。当您使用{{ include main_body }}(如原始问题所述)而不是{% include main_body %} 时,会生成您在问题中包含的错误。
  • 是的,你是对的。我以为我做到了,但似乎我混淆了这两个符号。
猜你喜欢
  • 1970-01-01
  • 2021-04-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-05
  • 2013-01-20
  • 2016-02-15
  • 1970-01-01
相关资源
最近更新 更多