Os módulos de modelos são ficheiros auxiliares que executam funções específicas que podem tornar os seus modelos mais eficientes. Por exemplo, pode ter um módulo que gera nomes únicos para os seus recursos. O Deployment Manager pode executar qualquer módulo escrito em Python ou Jinja.
Antes de começar
- Se quiser usar os exemplos de linhas de comando neste guia, instale a ferramenta de linhas de comando`gcloud`.
- Se quiser usar os exemplos de API neste guia, configure o acesso à API.
- Compreenda como criar um modelo básico.
- Compreenda como criar uma configuração
Criar um módulo de modelo
Um módulo de modelo é tratado como um ficheiro de modelo normal e pode ser escrito em Jinja ou Python.
Por exemplo, o seguinte é um modelo auxiliar que gera um nome dado um prefixo e um sufixo.
Jinja
Em Jinja, este modelo auxiliar (neste exemplo, denominado helpers/common.jinja)
teria o seguinte aspeto:
Em seguida, pode importar este modelo e usá-lo como um módulo. No modelo Jinja, pode usar o módulo da seguinte forma:
Em seguida, a configuração tem de importar ambos os ficheiros (incluindo o ficheiro helpers/common.jinja
):
O serviço Deployment Manager expande a configuração e a configuração final tem o seguinte aspeto:
resources:
- name: myfrontend-prod
type: compute.v1.instance
properties:
zone: us-central1-f
machineType: https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/machineTypes/f1-micro
disks:
- deviceName: boot
type: PERSISTENT
boot: true
autoDelete: true
initializeParams:
sourceImage: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/family/debian-9
networkInterfaces:
- network: https://www.googleapis.com/compute/v1/projects/myproject/global/networks/default
accessConfigs:
- name: External NAT
type: ONE_TO_ONE_NAT
Python
Em Python, o modelo auxiliar (neste exemplo, denominado helpers/common.py)
teria o seguinte aspeto:
Para o usar no seu modelo Python:
Em seguida, a configuração tem de importar ambos os ficheiros (incluindo o ficheiro helpers/common.py
):
Segue-se um módulo auxiliar mais complicado:
O que se segue?
- Use propriedades de modelos para abstrair o seu conteúdo.
- Preencha informações sobre os seus projetos e implementações através de variáveis de ambiente.
- Adicione um modelo permanentemente ao seu projeto como um tipo composto.