Modul template adalah file pembantu yang menjalankan fungsi tertentu yang dapat membuat template Anda lebih efisien. Misalnya, Anda dapat memiliki modul yang membuat nama unik untuk resource Anda. Deployment Manager dapat mengeksekusi modul apa pun yang ditulis dalam Python atau Jinja.
Sebelum memulai
- Jika Anda ingin menggunakan contoh command line dalam panduan ini, instal alat command line`gcloud`.
- Jika Anda ingin menggunakan contoh API dalam panduan ini, siapkan akses API.
- Pahami cara membuat template dasar.
- Pahami cara membuat konfigurasi
Membuat modul template
Modul template diperlakukan sebagai file template biasa dan dapat ditulis dalam Jinja atau Python.
Misalnya, berikut adalah template pembantu yang menghasilkan nama dengan awalan dan akhiran tertentu.
Jinja
Di Jinja, template helper ini (dalam contoh ini, bernama helpers/common.jinja)
akan terlihat seperti berikut:
Kemudian, Anda dapat mengimpor template ini dan menggunakannya sebagai modul. Dalam template Jinja, Anda dapat menggunakan modul seperti berikut:
Konfigurasi kemudian harus mengimpor kedua file
(termasuk file helpers/common.jinja
):
Layanan Deployment Manager akan memperluas konfigurasi dan konfigurasi akhir akan terlihat seperti ini:
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
Di Python, template helper (dalam contoh ini, bernama helpers/common.py)
akan terlihat seperti ini:
Untuk menggunakannya di template Python Anda:
Konfigurasi kemudian harus mengimpor kedua file
(termasuk file helpers/common.py
):
Berikut adalah modul helper yang lebih rumit:
Langkah berikutnya
- Gunakan properti template untuk mengabstraksi konten Anda.
- Isi informasi tentang project dan deployment Anda menggunakan variabel lingkungan.
- Tambahkan template secara permanen ke project Anda sebagai jenis komposit.