Usar variables del entorno

Las variables de entorno son variables predefinidas que propagan ciertos tipos de información que se infieren de tu implementación. Utiliza variables de entorno en tu plantilla para obtener información única sobre tu proyecto o implementación.

Antes de comenzar

Variables de entorno válidas

Deployment Manager configura las siguientes variables del entorno automáticamente. Se las reemplaza en cualquier lugar que las utilices en tus plantillas. Por ejemplo, utiliza la variable project_number a fin de agregar el número del proyecto al nombre de una cuenta de servicio.

Variable de entorno Valor
deployment El nombre de la implementación.
name El name declarado en la configuración que utiliza la plantilla. Esta variable puede ser útil si quieres que el nombre que declaras en la configuración sea el mismo del recurso en las plantillas subyacentes.
project El ID del proyecto de esta implementación.
project_number El número del proyecto de esta implementación.
current_time La marca de tiempo UTC cuando comenzó la expansión de la implementación.
type El tipo de recurso declarado en la configuración de nivel superior.

Utilizar una variable de entorno

Utiliza la siguiente sintaxis para agregar una variable de entorno a tus plantillas:

{{ env["deployment"] }} # Jinja

context.env["deployment"] # Python

En tu plantilla, utiliza las variables como se muestra en estos ejemplos:

Jinja

- type: compute.v1.instance
  name: vm-{{ env["deployment"] }}
  properties:
    machineType: zones/us-central1-a/machineTypes/f1-micro
    serviceAccounts:
    - email: {{ env['project_number'] }}-compute@developer.gserviceaccount.com
      scopes:
      - ...

Python

def GenerateConfig(context):
  resources = []
  resources.append ({
    'name': 'vm-' + context.env["deployment"],
    'type': 'compute.v1.instance',
    'properties': {
       'serviceAccounts': [{
         'email': context.env['project_number'] + '-compute@developer.gserviceaccount.com',
         'scopes': [...]
       }]
    }
    ...}]
  return {'resources': resources}

Pasos siguientes

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Documentación de Cloud Deployment Manager