テンプレート モジュールは、特定の機能を実行するヘルパー ファイルです。これにより、テンプレートをより効率的に使用できます。たとえば、リソースに固有の名前を生成するモジュールを作成できます。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
ファイルを含む両方のファイルをインポートする必要があります。
次に、より複雑なヘルパー モジュールを示します。
次のステップ
- テンプレート プロパティを使用してコンテンツを抽象化する。
- 環境変数を使用してプロジェクトとデプロイの情報を設定する。
- プロジェクトに、テンプレートを複合タイプとして永続的に追加する。