Я работаю над доступным сценарием для развертывания некоторой конфигурации служб в другом регионе, и у меня есть начальные переменные, импортированные include_vars
следующим образом:
common: [...]
us_local: [...]
uk_local: [...]
us_global: [...]
uk_global: [...]
По сути, я хочу сгенерировать конфигурацию, включив переменные из common
, все глобальные конфигурации, а также локальную конфигурацию этого региона, используя переменную {{ site }}
, которая определена в hosts.yaml. Например, если развернутый хост - это мы, то я хочу использовать common
, us_local
, us_global
, uk_global
.
Я буду использовать шаблон jinja2 для генерации окончательной конфигурации, и, насколько я понимаю, самый простой способ - создать другую переменную с именем current_site_local
и скопировать в нее все из {{ site }}_local
, чтобы позже я мог напрямую ссылаться на нее внутри шаблона. Однако мне не удается заставить его работать через set_facts
.
Любая помощь будет оценена по достоинству.
ОБНОВИТЬ:
Я использовал следующий синтаксис, и он работает:
- name: generate curr_site_local
set_fact:
current_site_local: '{{ vars[site + "_local"] }}'