Los módulos de plantilla son archivos de ayuda que ejecutan funciones específicas para 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 en Jinja.
Antes de comenzar
- Si deseas usar los ejemplos de línea de comandos de esta guía, instala la herramienta de línea de comandos de gcloud.
- Si deseas usar los ejemplos de la API en esta guía, configura el acceso a la API.
- Aprende a crear una plantilla básica.
- Aprende a crear una configuración
Crear un módulo de plantilla
Un módulo de plantilla se trata de igual manera que un archivo de plantilla normal y se puede escribir en Jinja o en Python.
Por ejemplo, la que sigue es una plantilla de ayuda que genera un nombre si se le da un prefijo o un sufijo.
Jinja
En Jinja, esta plantilla de ayuda (en el ejemplo, helpers/common.jinja) se vería de la siguiente manera:
Luego, puedes importar esta plantilla y usarla como módulo. En tu plantilla en Jinja, podrías usar un módulo como el que sigue:
Luego, la configuración debe importar ambos archivos (incluido el archivo helpers/common.jinja
):
El servicio Deployment Manager expandirá la configuración y la configuración final presenta el siguiente aspecto:
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 de ayuda (en el ejemplo, helpers/common.py) se vería de la siguiente manera:
Para usarlo en tu plantilla en Python:
Luego, la configuración debe importar ambos archivos (incluido el archivo helpers/common.py
):
A continuación, verás un módulo de ayuda más complicado:
¿Qué sigue?
- Usa las propiedades de las plantillas para extraer tu contenido.
- Propaga la información sobre los proyectos y las implementaciones con las variables de entorno.
- Agrega una plantilla de forma permanente a tu proyecto como un tipo compuesto.