Los módulos de plantilla son archivos auxiliares que realizan funciones específicas que pueden hacer que tus plantillas sean más eficientes. Por ejemplo, puedes tener un módulo que genere nombres únicos para tus recursos. Deployment Manager puede ejecutar cualquier módulo escrito en Python o Jinja.
Antes de empezar
- Si quieres usar los ejemplos de línea de comandos de esta guía, instala la herramienta de línea de comandos`gcloud`.
- Si quieres usar los ejemplos de API de esta guía, configura el acceso a la API.
- Aprender a crear una plantilla básica
- Consulta cómo crear una configuración.
Crear un módulo de plantilla
Un módulo de plantilla se trata como un archivo de plantilla normal y se puede escribir en Jinja o Python.
Por ejemplo, a continuación se muestra una plantilla auxiliar que genera un nombre a partir de un prefijo y un sufijo.
Jinja
En Jinja, esta plantilla auxiliar (en este ejemplo, llamada helpers/common.jinja)
tendría el siguiente aspecto:
Después, puedes importar esta plantilla y usarla como módulo. En tu plantilla de Jinja, puedes usar el módulo de la siguiente manera:
A continuación, la configuración debe importar ambos archivos (incluido el archivo helpers/common.jinja
):
El servicio Deployment Manager ampliará la configuración y la configuración final será la siguiente:
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
En Python, la plantilla auxiliar (en este ejemplo, llamada helpers/common.py)
tendría este aspecto:
Para usarlo en tu plantilla de Python:
A continuación, la configuración debe importar ambos archivos (incluido el archivo helpers/common.py
):
Aquí tienes un módulo auxiliar más complejo:
Siguientes pasos
- Usa las propiedades de plantilla para abstraer el contenido.
- Rellena la información sobre tus proyectos e implementaciones con variables de entorno.
- Añade una plantilla de forma permanente a tu proyecto como tipo compuesto.