I moduli modello sono file helper che eseguono funzioni specifiche che possono rendere i modelli più efficienti. Puoi avere, ad esempio, un modulo che genera nomi univoci 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 di questa guida, installa lo strumento a riga di comando "gcloud".
- Se vuoi utilizzare gli esempi di API riportati 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 considerato 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 supporto (in questo esempio, chiamato helpers/common.jinja) avrà il seguente aspetto:
Puoi quindi importare questo modello e utilizzarlo come modulo. Nel tuo modello Jinja, puoi utilizzare il modulo in questo 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 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 supporto (in questo esempio, chiamato helpers/common.py) avrà 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 supporto più complicato:
Passaggi successivi
- Utilizza le proprietà del modello per astrarre i contenuti.
- Compilare le informazioni sui progetti e sui deployment utilizzando le variabili di ambiente.
- Aggiungi definitivamente un modello al tuo progetto come tipo composito.