Utiliser des variables d'environnement

Les variables d'environnement sont des variables prédéfinies qui renseignent certains éléments d'information déterminés d'après votre déploiement. Utilisez des variables d'environnement dans votre modèle pour obtenir des informations uniques sur votre projet ou votre déploiement.

Avant de commencer

Variables d'environnement valides

Les variables d'environnement suivantes sont automatiquement définies par Deployment Manager. Elles sont remplacées par des valeurs appropriées partout où vous les utilisez dans vos modèles. Par exemple, utilisez la variable project_number pour ajouter le numéro de projet au nom d'un compte de service.

Variable d'environnement Valeur
deployment Le nom du déploiement.
name Le nom (name) déclaré dans la configuration qui utilise le modèle. Cela peut être utile si vous souhaitez que le nom que vous déclarez dans la configuration corresponde au nom de la ressource définie dans les modèles sous-jacents.
project L'ID du projet concerné par le déploiement.
project_number Le numéro de projet associé au déploiement.
current_time L'horodatage UTC : cette valeur indique le moment où le déploiement a débuté.
type Le type de ressource déclaré dans la configuration de premier niveau.
username L'utilisateur actuel de Deployment Manager.

Utiliser une variable d'environnement

Utilisez la syntaxe suivante pour ajouter des variables d'environnement à vos modèles :

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

context.env["deployment"] # Python

Dans votre modèle, utilisez les variables comme dans ces exemples :

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}

Étapes suivantes

  • Ajoutez un modèle qui sera associé de façon permanente à votre projet en tant que type composite.
  • Héberger des modèles en externe pour les partager avec d'autres utilisateurs
  • Ajoutez des schémas pour vous assurer que les utilisateurs interagissent correctement avec vos modèles.
Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Documentation Cloud Deployment Manager