I moduli dei modelli sono file di supporto che svolgono funzioni specifiche che possono rendere i tuoi modelli più efficienti. Ad esempio, puoi avere un modulo che genera nomi univoci per le tue risorse. Deployment Manager può eseguire qualsiasi modulo scritto in Python o Jinja.
Prima di iniziare
- Se vuoi utilizzare gli esempi di riga di comando in questa guida, installa lo strumento a riga di comando`gcloud`.
- Se vuoi utilizzare gli esempi di API in questa guida, configura l'accesso API.
- Scopri come creare un modello di base.
- Scopri come creare una configurazione.
Creazione di un modulo di modello
Un modulo modello viene trattato come un normale file di modello e può essere scritto in Jinja o Python.
Ad esempio, di seguito è riportato un template helper che genera un nome dato un prefisso e un suffisso.
Jinja
In Jinja, questo modello helper (in questo esempio, denominato helpers/common.jinja)
avrebbe il seguente aspetto:
Puoi quindi importare questo modello e utilizzarlo come modulo. Nel modello Jinja, puoi utilizzare il modulo nel seguente modo:
La configurazione deve quindi importare entrambi i file
(incluso il file helpers/common.jinja
):
Il servizio Deployment Manager espanderà la configurazione e la configurazione finale avrà il seguente aspetto:
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
In Python, il modello helper (in questo esempio denominato helpers/common.py)
avrebbe il seguente aspetto:
Per utilizzarlo nel tuo modello Python:
La configurazione deve quindi importare entrambi i file
(incluso il file helpers/common.py
):
Ecco un modulo helper più complesso:
Passaggi successivi
- Utilizza le proprietà del modello per astrarre i contenuti.
- Inserisci le informazioni sui tuoi progetti e deployment utilizzando le variabili di ambiente.
- Aggiungi un modello in modo permanente al tuo progetto come tipo composito.