У меня есть шаблон / схема Deployment Manager, и я хочу динамически включать различные параметры сценария запуска для cloud-init в зависимости от вызываемого шаблона template.yaml. В моем template.jinja есть:
metadata:
items:
- key: startup-script
value: |
{{ imports['startup-script-pre']|indent(14, true) }}
{{ imports['startup-script-custom']|indent(14, true) }}
{{ imports['startup-script-post']|indent(14, true) }}
Все импортированные данные включаются в окончательный вывод, однако jinja2 внутри них не обрабатывается, он оставляет там такие вещи, как {{env ["name"]}} на случай сбоя cloud-init. Внутри консоли GCP расширенная конфигурация выглядит так:
systemctl daemon-reload
systemctl enable {{ env["name"] }}
systemctl start {{ env["name"] }}
очевидно, cloud-init не знает, как с этим бороться.
Есть ли способ заставить этот импорт обрабатываться для jinja вместо просто вставленного сырого?
В примерах есть пример: