Les modules de modèle sont des fichiers d'aide qui exécutent des fonctions spécifiques afin d'augmenter l'efficacité de vos modèles. Un module peut par exemple générer des noms uniques pour vos ressources. Deployment Manager peut exécuter n'importe quel module rédigé en Python ou Jinja.
Avant de commencer
- Si vous voulez vous servir des exemples de ligne de commande de ce guide, installez l'outil de ligne de commande gcloud.
- Si vous voulez utiliser les exemples d'API de ce guide, configurez l'accès aux API.
- Assurez-vous d'avoir bien compris comment créer un modèle de base.
- Assurez-vous d'avoir bien compris comment créer une configuration.
Créer un module de modèle
Un module de modèle est traité comme un fichier de modèle standard et peut être rédigé en Jinja ou en Python.
Par exemple, vous trouverez ci-dessous un modèle d'aide générant un nom avec un préfixe et un suffixe.
Jinja
En Jinja, ce modèle d'aide (appelé helpers/common.jinja dans cet exemple) ressemblerait à ceci :
Vous pouvez ensuite importer ce modèle et l'utiliser en tant que module. Dans votre modèle Jinja, cela donnerait l'exemple suivant :
La configuration doit ensuite importer les deux fichiers (dont le fichier helpers/common.jinja
) :
Le service Deployment Manager développe la configuration, qui ressemble au final à ceci :
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, ce modèle d'aide (appelé helpers/common.py dans cet exemple) ressemblerait à ceci :
Pour l'utiliser dans votre modèle Python :
La configuration doit ensuite importer les deux fichiers (dont le fichier helpers/common.py
) :
Voici un module d'aide plus complexe :
Étape suivante
- Extraire votre contenu à l'aide de propriétés de modèle
- Renseigner des informations relatives à vos projets et déploiements à l'aide de variables d'environnement
- Ajouter un modèle qui sera associé de façon permanente à votre projet en tant que type composite