@catquistador

Как динамически получить словарь по имени переменной?

Привет!
есть набор словарей
project1_defaults:
	someprop: somevalue
project1_specific:
	someprop: somavalue
---
project2_defaults:
	...
project2_specific:
       ...


подскажите красивый вариант, как при передаче ключа "project" из extra-args ansible подгрузить соответствующий словарь, чтобы внутри темплейла поля можно было описать как-то типа `"{{ project_value_defaults.someprop }}" / "{{ project_value_specific.someprop }}"`
или иначе абстрагироваться в шаблоне от имени передаваемого проекта.
  • Вопрос задан
  • 118 просмотров
Решения вопроса 1
@MaxKozlov
Не знаю насчёт красивости, но вот это
ansible.builtin.vars – Lookup templated value of variables
https://docs.ansible.com/ansible/latest/collection...

Вам должно подойти
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@catquistador Автор вопроса
Спасибо, это отличный вариант.
В вызов роли из плейбука воткнул
vars:
    project: "{{ lookup('vars', app)}}"
    project_specific: "{{ lookup('vars', app + '_specific' )}}"

ну и, естественно, app передаю в вызове.
в шаблоне привязки к конкретным словарям исчезли
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы