Modul template adalah file bantuan yang menjalankan fungsi tertentu yang dapat membuat template Anda lebih efisien. Misalnya, Anda dapat memiliki modul yang menghasilkan nama unik untuk resource Anda. Deployment Manager dapat mengeksekusi modul apa pun yang ditulis dengan 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.
- Memahami cara membuat template dasar.
- Memahami cara membuat konfigurasi
Membuat modul template
Modul template diperlakukan sebagai file template biasa dan dapat ditulis dalam Jinja atau Python.
Misalnya, berikut ini adalah template helper yang menghasilkan nama dengan awalan dan akhiran.
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. Di template Jinja, Anda dapat menggunakan modul seperti ini:
Selanjutnya, konfigurasi 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, helpers/common.py bernama)
akan terlihat seperti ini:
Untuk menggunakannya dalam template Python Anda:
Selanjutnya, konfigurasi harus mengimpor kedua file
(termasuk file helpers/common.py
):
Berikut adalah modul bantuan yang lebih rumit:
Langkah selanjutnya
- Gunakan properti template untuk memisahkan konten Anda.
- Isi informasi tentang project dan deployment Anda menggunakan variabel lingkungan.
- Tambahkan template secara permanen ke project Anda sebagai jenis komposit.