Подтвердить что ты не робот

Как включить файл vars в файл vars с возможностью?

Можно ли включить файл vars в файл Ansible в другой файл vars динамически?

т.е. У меня есть файл vars:

---
definitions:
- { product: web_v2, suite: mysuite, include: default_step.yml }
- { product: prod2, suite: mysuite2, include: default_step.yml }

Я хочу, чтобы содержимое default_step.yml добавлялось в словарь. Обратите внимание, что это файл vars, поэтому документация о том, как включить файл vars из задачи, похоже, не применяется.

Все, что я могу придумать, - это создать шаблон этого файла с помощью jinja и использовать его функцию {% include %}, а затем использовать include_vars из основной задачи, но это кажется сложным...

4b9b3361

Ответ 1

К сожалению, файлы vars не содержат операторов.

Вы можете поместить все vars в словарь definitions или добавить переменные в качестве другого словаря в один и тот же файл.

Если вы не хотите иметь их в одном файле, вы можете включить их на уровне плейеров, добавив файл vars в начале воспроизведения:

---
- hosts: myhosts

  vars_files:
    - default_step.yml

или в задаче:

---
- hosts: myhosts

  tasks:
    - name: include default step variables
      include_vars: default_step.yml

Ответ 2

Я знаю, что это старый пост, но сегодня у меня была такая же проблема, что я сделал просто: изменив мой script, который отправил мою книгу с моего локального хоста на сервер, перед отправкой с помощью команды maven я сделал это

cat common_vars.yml > vars.yml
cat snapshot_vars.yml >> vars.yml
# or 
#cat release_vars.yml >> vars.yml
mvn ....