I moduli dei modelli sono file di supporto che svolgono funzioni specifiche che possono rendere più efficienti i modelli. Ad esempio, puoi avere un modulo che genera 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.
- Comprendere come creare una configurazione
Creazione di un modulo modello
Un modulo modello viene trattato come un normale file modello e può essere scritto in Jinja o Python.
Ad esempio, di seguito è riportato un modello helper che genera un nome un prefisso e un suffisso.
Jinja
In Jinja, questo modello di helper (in questo esempio denominato helpers/common.jinja)
avrebbe il seguente aspetto:
Puoi quindi importare questo modello e utilizzarlo come modulo. Nel tuo 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 espande la configurazione e configurazione finale sarà simile a questa:
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 di 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 di assistenza più complicato:
Passaggi successivi
- Utilizza le proprietà modello per astrarre i contenuti.
- Compila le informazioni sui progetti e sui deployment utilizzando le variabili di ambiente.
- Aggiungi definitivamente un modello al progetto come tipo composto.