I moduli dei modelli sono file di supporto che eseguono funzioni specifiche che possono rendere più efficienti i modelli. Ad esempio, puoi avere un modulo che generi nomi unici per le 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 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 di supporto che genera un nome in base a 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, che assume 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 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 un modello definitivamente al progetto come tipo composito.