Ansible — как я могу передать в шаблоне Jinja2 все переменные из блока в playbook

#ansible

Вопрос:

У меня есть простой шаблон Jinja2

 [blockA]
{% include 'blockA.example.j2' %}
 

и blockA.example.j2 (это не работает)

 {% for var in varBlockA %}
{{ var.% }}
{% endfor %}
 

и в сборнике игр есть такие переменные, как этот:

   vars:
    varBlockA:
      varA: value1
      varB: value2
 

и я ищу правильный формат Jinja2 для блока.пример.j2. Мне нужен такой вывод

 [blockA]
varA: value1
varB: value2
 

но я не хочу определять varA,varB в Jinja2, потому что я не хочу ограничивать себя из-за большого количества параметров, имя и значение которых я хочу определить с уровня playbook, а не с шаблона Jinja2.

Спасибо.

Комментарии:

1. этот файл шаблона blockA.example.j2 находится в вашем текущем рабочем каталоге? (текущий каталог playbook)

Ответ №1:

Вы можете использовать другой способ перебора varBlockA словаря с помощью items() функции, чтобы получить доступ к ключу и значению для каждого элемента словаря.

blockA.example.j2 например:

 {% for key, value in varBlockA.items() %}
{{ key }}: {{ value }}
{% endfor %}