如何在Ansible中包含变量文件?

时间:2016-10-28 13:16:17

标签: ansible jinja2 ansible-template

我有以下剧本:

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

以下Jinja模板:

main ()
{
  {{ include main_body }}
}

当我运行剧本时,我收到错误:

  

AnsibleError:模板字符串时模板错误:期望标记'打印语句结束',得到'main_body'。

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

1 个答案:

答案 0 :(得分:2)

Jinja2中include的语法如下:

main ()
{
  {% include main_body %}
}