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

How to include a variable file in Ansible?

我有以下剧本:

- 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: template error while templating string: expected token 'end of print statement', got 'main_body'.

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

Jinja2 中 include 的语法如下:

main ()
{
  {% include main_body %}
}