Cómo expandir las importaciones internas de jinja para GCP Deployment Manager

Cómo expandir las importaciones internas de jinja para GCP Deployment Manager

Tengo una plantilla/esquema de Deployment Manager y quiero incluir dinámicamente diferentes opciones de script de inicio para cloud-init dependiendo del template.yaml al que estoy llamando. En mi plantilla.jinja tengo:

      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) }}

Todas las importaciones se incluyen en el resultado final, sin embargo, el jinja2 dentro de ellas no se procesa, deja cosas como {{ env["name"] }} allí para que cloud-init falle. Dentro de la consola de GCP, la configuración expandida se ve así:

systemctl daemon-reload
systemctl enable {{ env["name"] }}
systemctl start {{ env["name"] }}

que obviamente cloud-init no tiene idea de cómo lidiar.

¿Hay alguna manera de obligar a que esas importaciones se procesen para jinja en lugar de simplemente insertarlas sin procesar?

Respuesta1

información relacionada