Я хочу включить другой шаблон Jinja2 в контекст Ansible в Jinja2

у меня есть Ansible playbook, который устанавливает множество переменных. Один сценарии и задачи:

- name: create config file 
  template:
    src: 'templates/main_config.j2'
    dest: "{{ tmp_dir }}/main_config.json"

шаблон main_config.j2 записывает строки, определенные как переменные в родительских сборниках и задачах Ansible.

Я хочу включить другой шаблон Jinja2 на основе значения Ansible переменной.

{% include "./templates/configurations.j2" %}, 
{% include "./templates/security.j2" %},
{% include './templates/' + {{ job }} + '_steps.j2' %}

job - это Анзибль переменную в Родительском сценарии.

это не работает. В чем может быть проблема?

1 ответов


вам не нужно открывать выражение Jinja2 ({{ ... }}) для ссылки на переменную внутри оператора ({% ... %}). Вы можете использовать имя переменной напрямую:

{% include './templates/' + job + '_steps.j2' %}