範本模組是能執行特定功能的輔助檔案,可讓您的範本更有效率。舉例來說,您可以建立一個可針對您的資源產生不重複名稱的模組。Deployment Manager 可以執行任何以 Python 或 Jinja 編寫的模組。
事前準備
- 如要使用本指南提供的指令列範例,請安裝 `gcloud` 指令列工具。
- 如要使用本指南提供的 API 範例,請設定 API 存取權。
- 瞭解如何建立基本範本。
- 瞭解如何建立設定。
建立範本模組
系統會將範本模組視為可用 Jinja 或 Python 編寫的一般範本檔案。
舉例來說,下列輔助範本可產生含有指定前置字串和後置字串的名稱。
Jinja
使用 Jinja 時,這個輔助範本 (在本範例中名為 helpers/common.jinja) 看起來會如下所示:
接著,您可以匯入這個範本並將其當做模組。在您的 Jinja 範本中,您可以透過下列方式來使用模組:
接著,設定必須匯入兩個檔案 (包含 helpers/common.jinja
檔案):
Deployment Manager 服務將會展開設定,最終設定看起來會如下所示:
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
使用 Python 時,輔助範本 (在本範例中名為 helpers/common.py) 看起來會如下所示:
如要在 Python 範本中使用:
接著,設定必須匯入兩個檔案 (包含 helpers/common.py
檔案):
以下是較為複雜的輔助檔案模組: