Como expandir o jinja dentro das importações para o GCP Deployment Manager

Como expandir o jinja dentro das importações para o GCP Deployment Manager

Eu tenho um modelo/esquema do Deployment Manager e quero incluir dinamicamente diferentes opções de script de inicialização para cloud-init, dependendo do template.yaml que estou chamando. No meu template.jinja eu tenho:

      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 as importações são incluídas na saída final, porém o jinja2 dentro delas não é processado, ele deixa coisas como {{ env["name"] }} lá para que o cloud-init falhe. Dentro do console do GCP, a configuração expandida se parece com:

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

com o qual obviamente o cloud-init não tem ideia de como lidar.

Existe uma maneira de forçar essas importações a serem processadas para jinja em vez de apenas inseridas em bruto?

Responder1

informação relacionada