テンプレート

注意: これは Deployment Manager API の非推奨バージョンです。代わりに、最新の API バージョンを使用してください。

デプロイの設定を定義する Template リソースを表します。

このリソースのメソッドのリストについては、このページの末尾をご覧ください。

リソースの表記

テンプレートは、Deployment の完全な構成を表します。

{
  "name": string,
  "description": string,
  "modules": {
    (key): {
      "type": string,
      "healthCheckModule": {
        "host": string,
        "path": string,
        "port": integer,
        "checkIntervalSec": integer,
        "timeoutSec": integer,
        "unhealthyThreshold": integer,
        "healthyThreshold": integer,
        "description": string
      },
      "lbModule": {
        "targetModules": [
          string
        ],
        "ipProtocol": string,
        "healthChecks": [
          string
        ],
        "ipAddress": string,
        "portRange": string,
        "description": string
      },
      "replicaPoolModule": {
        "numReplicas": integer,
        "envVariables": {
          (key): {
            "value": string,
            "hidden": boolean
          }
        },
        "resourceView": string,
        "replicaPoolParams": {
          "v1beta1": {
            "machineType": string,
            "zone": string,
            "baseInstanceName": string,
            "serviceAccounts": [
              {
                "email": string,
                "scopes": [
                  string
                ]
              }
            ],
            "description": string,
            "tags": {
              "fingerPrint": string,
              "items": [
                string
              ]
            },
            "networkInterfaces": [
              {
                "name": string,
                "network": string,
                "networkIp": string,
                "accessConfigs": [
                  {
                    "name": string,
                    "type": string,
                    "natIp": string
                  }
                ]
              }
            ],
            "metadata": {
              "fingerPrint": string,
              "items": [
                {
                  "key": string,
                  "value": string
                }
              ]
            },
            "canIpForward": boolean,
            "autoRestart": boolean,
            "initAction": string,
            "onHostMaintenance": string,
            "disksToCreate": [
              {
                "boot": boolean,
                "autoDelete": boolean,
                "attachment": {
                  "deviceName": string,
                  "index": unsigned integer
                },
                "initializeParams": {
                  "sourceImage": string,
                  "diskSizeGb": long
                }
              }
            ],
            "disksToAttach": [
              {
                "source": string,
                "attachment": {
                  "deviceName": string,
                  "index": unsigned integer
                }
              }
            ]
          }
        },
        "healthChecks": [
          string
        ]
      },
      "autoscalingModule": {
        "minNumReplicas": integer,
        "maxNumReplicas": integer,
        "signalType": string,
        "targetUtilization": double,
        "targetModule": string,
        "description": string,
        "coolDownPeriodSec": integer
      },
      "firewallModule": {
        "description": string,
        "network": string,
        "sourceRanges": [
          string
        ],
        "sourceTags": [
          string
        ],
        "targetTags": [
          string
        ],
        "allowed": [
          {
            "IPProtocol": string,
            "ports": [
              string
            ]
          }
        ]
      },
      "networkModule": {
        "description": string,
        "IPv4Range": string,
        "gatewayIPv4": string
      }
    }
  },
  "actions": {
    (key): {
      "commands": [
        string
      ],
      "timeoutMs": integer
    }
  }
}
プロパティ名 説明 メモ
actions object このテンプレートで定義するモジュールで使用するために定義されたアクション。
actions.(key) nested object このアクションの名前。モジュール定義でアクションを指定するときに使用します。
actions.(key).commands[] list このアクションで順番に実行するコマンドのリスト。
actions.(key).timeoutMs integer このアクションの実行時間のタイムアウト(ミリ秒単位)。
description string このテンプレートの説明。
modules object このテンプレートのモジュールのリスト。
modules.(key) nested object モジュールの名前。名前は次の正規表現 [a-zA-Z0-9-_]{1,64} に準拠している必要があります。
modules.(key).autoscalingModule nested object 自動スケーリング モジュールを定義します。
modules.(key).autoscalingModule.coolDownPeriodSec integer 仮想マシン数の 2 回連続の変更の間にオートスケーラーが待機する秒数。仮想マシンの初期化時間以上の間隔を定義する必要があります。デフォルト値は 5 秒です。
modules.(key).autoscalingModule.description string この自動スケーリング モジュールの説明(省略可)。
modules.(key).autoscalingModule.maxNumReplicas integer 自動スケーリングするレプリカの最大数。
modules.(key).autoscalingModule.minNumReplicas integer 自動スケーリングするレプリカの最小数。
modules.(key).autoscalingModule.signalType string Deployment Manager が自動スケーリングが必要かどうかを判断するために使用するシグナル。

有効な値は次のとおりです。
  • AVG_CPU」: ターゲット レプリカプール モジュールの平均 CPU を使用して、スケーリングするタイミングを決定します。
modules.(key).autoscalingModule.targetModule string スケーリングするターゲット レプリカ プール モジュール。
modules.(key).autoscalingModule.targetUtilization double ターゲットの使用率( (0, 1]~ (0, 1])。オートスケーラーは、目的のシグナルの値(現在は平均 CPU のみ)をこのターゲット レベル付近で維持するように動作します。たとえば、レプリカの平均 CPU 使用率が目標使用率を大幅に下回っている場合、オートスケーラーは目標使用率またはレプリカの最小数に達するまでスケールダウンします。平均 CPU がこの数を超えると、オートスケーラーはターゲット使用率またはリソースの最大数に達するまでスケールアップします。
modules.(key).firewallModule nested object Google Compute Engine のファイアウォール リソースと同等のファイアウォール モジュールを作成します。
modules.(key).firewallModule.allowed[] quilist このファイアウォールで許可されるポートとプロトコルを定義します。
modules.(key).firewallModule.allowed[].IPProtocol string このファイアウォール モジュールで許可される IP プロトコル。 tcpudpicmp、または IP プロトコル番号のいずれかです。
modules.(key).firewallModule.allowed[].ports[] list 許可されるポートまたはポート範囲のリスト(例: ["22"], [?33?, "12345-12349"])。
modules.(key).firewallModule.description string ファイアウォールの説明。
modules.(key).firewallModule.network string このファイアウォールを適用するネットワーク モジュール。指定しない場合、または default として指定した場合、このファイアウォールは default  ネットワークに適用されます。
modules.(key).firewallModule.sourceRanges[] list このルールが適用される IP アドレス ブロック。 CIDR 形式で指定します。 sourceRanges と sourceTags のいずれか、または両方を設定できます。送信元の範囲またはタグが sourceRanges または sourceTags のいずれかに一致する場合、上り(内向き)接続が許可されます。
modules.(key).firewallModule.sourceTags[] list このルールが適用されるインスタンスタグのリスト。 sourceRanges と sourceTags のいずれか、または両方を設定できます。送信元の範囲またはタグが sourceRanges または sourceTags のいずれかに一致する場合、上り(内向き)接続が許可されます。
modules.(key).firewallModule.targetTags[] list  allowed[] で指定されているように、ネットワーク接続を行う可能性があるネットワーク上にあるインスタンス セットを示すインスタンスタグのリスト。 targetTags が指定されていない場合、ファイアウォール ルールは指定されたネットワーク上のすべてのインスタンスに適用されます。
modules.(key).healthCheckModule nested object ロード バランシングに使用するヘルスチェック モジュールを定義します。
modules.(key).healthCheckModule.checkIntervalSec integer ヘルスチェックを実行する間隔を秒単位で設定します。デフォルト値は 5 秒です。
modules.(key).healthCheckModule.description string このヘルスチェック モジュールの説明。
modules.(key).healthCheckModule.healthyThreshold integer 異常な仮想マシン インスタンスを正常とマークするまでの正常な再試行回数を指定します。デフォルトは 2 です。
modules.(key).healthCheckModule.host string このヘルスチェック リクエストで使用されるホスト ヘッダーの値。たとえば、ドメイン www.mydomain.com を使用してインスタンスからウェブページを提供している場合は、ホスト名を www.mydomain.com に設定して、そのホストのヘルスチェックを実行できます。 

デフォルトでは空で、Google Compute Engine はヘルスチェック リクエストのホストヘッダーを、このターゲット プールに関連付けられた転送ルールと同じ外部 IP アドレスに自動的に設定します。たとえば、ロード バランシング モジュールの外部 IP アドレスが 1.2.3.4 で、デフォルトのホスト設定のヘルスチェック オブジェクトを持つ tp1 という名前のターゲット モジュール プールにトラフィックを転送している場合、ホストヘッダーは 1.2.3.4 に設定されます。
modules.(key).healthCheckModule.path string このヘルスチェックのリクエストパス。例: /healthcheck。デフォルト値は /
modules.(key).healthCheckModule.port integer このヘルスチェック リクエストの TCP ポート番号。デフォルト値は 80です。
modules.(key).healthCheckModule.timeoutSec integer Google Compute Engine がtimeoutSecまでにインスタンスからHTTP 200レスポンスを受信しなかった場合、ヘルスチェック リクエストは失敗と見なされます。デフォルトは 5 秒です。
modules.(key).healthCheckModule.unhealthyThreshold integer 正常な仮想マシン インスタンスを異常としてマークするまでの正常な再試行回数を指定します。デフォルトは 2 です。
modules.(key).lbModule nested object ロード バランシング モジュールを指定します。
modules.(key).lbModule.description string このロード バランシング モジュールの説明。
modules.(key).lbModule.healthChecks[] list このロード バランシング モジュールで使用するヘルスチェックのリスト。
modules.(key).lbModule.ipAddress string この転送ルールが代理で提供する外部静的 IP。これは予約済みの静的 IP にできます。空白のままにするか指定しない場合、デフォルトでエフェメラル IP アドレスが割り当てられます。ポート範囲とプロトコルが重複しない限り、複数の転送ルールで同じ IP アドレスを使用できます。例: --ip="1.2.3.106"
modules.(key).lbModule.ipProtocol string このロード バランシング モジュールが処理するプロトコル。 

有効な値は次のとおりです。
modules.(key).lbModule.portRange string このロードバランサが処理するポートのリスト。これらのポートに送信された指定されたプロトコルのパケットは、適切なターゲット プールに転送されます。このフィールドを空のままにすると、ロードバランサは指定されたプロトコルのすべてのポートのトラフィックを送信します。単一のポートまたはポート範囲にできます。
modules.(key).lbModule.targetModules[] list このロードバランサからのトラフィックを処理するターゲット モジュールを指定します。トラフィック モジュールには、このロードバランサに送信されるトラフィックを受信する 1 つ以上の仮想マシン インスタンスが含まれます。 
modules.(key).networkModule nested object ネットワーク モジュールを定義します。
modules.(key).networkModule.IPv4Range string このネットワークで有効な内部アドレスの範囲。この範囲は CIDR 仕様です(例: 192.168.0.0/16.)。
modules.(key).networkModule.description string ネットワークの説明。
modules.(key).networkModule.gatewayIPv4 string 他のネットワークへのデフォルト ルーティングに使用されるオプションのアドレス。これは IPv4Range で指定された範囲内にある必要があります。通常は、その範囲内で最初に使用可能なアドレスです。指定しない場合、デフォルト値は IPv4Range の最初の使用可能なアドレスになります。
modules.(key).replicaPoolModule nested object Compute Engine 仮想マシン インスタンスを作成するレプリカプール モジュールを指定します。
modules.(key).replicaPoolModule.envVariables object 環境変数のリスト。
modules.(key).replicaPoolModule.envVariables.(key) nested object 環境変数の名前。名前は正規表現 [a-zA-Z_]+[a-zA-Z0-9_]+ に準拠している必要があります。
modules.(key).replicaPoolModule.envVariables.(key).hidden boolean この変数が非表示か表示か。
modules.(key).replicaPoolModule.envVariables.(key).value string 環境変数の値。
modules.(key).replicaPoolModule.healthChecks[] list このレプリカプール モジュールに使用するヘルスチェックのリスト。
modules.(key).replicaPoolModule.numReplicas integer このモジュールのレプリカの数。
modules.(key).replicaPoolModule.replicaPoolParams nested object ReplicaPoolModule の情報。
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1 nested object ReplicaPools v1beta1 で使用する ReplicaPoolParams の仕様。
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.autoRestart boolean これらのレプリカで障害が発生した場合に再起動されるかどうか。デフォルト値は true です。
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.baseInstanceName string この ReplicaPool 内のインスタンスのベース名。
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.canIpForward boolean IP 転送を有効にします。
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.description string リソースのテキストによる説明(省略可)。
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToAttach[] list プール内の各レプリカにアタッチする既存の Persistent Disk リソースのリスト。各ディスクは、すべてのレプリカに読み取り専用モードでアタッチされます。
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToAttach[].attachment nested object 省略可。ディスクをレプリカにアタッチする方法。
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToAttach[].attachment.deviceName string このディスクのデバイス名。
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToAttach[].attachment.index unsigned integer このディスクに割り当てる 0 から始まるインデックス。0 はブートディスクに予約されています。指定しない場合、サーバーが割り当てます。
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToAttach[].source string Persistent Disk リソースの完全修飾 URL。プールと同じゾーンに存在する必要があります。
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[] list プール内の各レプリカに作成してアタッチするディスク リソースのリスト。現在、定義できるディスクは 1 つだけです。これはルート永続ディスクである必要があります。レプリカプールでは、レプリカごとにルート永続ディスクが作成されます。
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].attachment nested object ディスクをレプリカにアタッチする方法。
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].attachment.deviceName string このディスクのデバイス名。
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].attachment.index unsigned integer このディスクに割り当てる 0 から始まるインデックス。0 はブートディスクに予約されています。指定しない場合、サーバーが割り当てます。
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].autoDelete boolean true の場合、インスタンスの削除時にこのディスクが削除されます。
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].boot boolean true の場合、これがルート永続ディスクであることを示します。
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].initializeParams nested object これらのパラメータを使用して新しいディスクを作成します。ディスクの名前は <instance_name>-<five_random_characters> になります。
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].initializeParams.diskSizeGb long 作成されるディスクのサイズ(ギガバイト単位)。
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].initializeParams.sourceImage string このディスクの作成に使用するソースイメージの名前または完全修飾 URL。ソースイメージの名前を指定した場合は、ReplicaPool モジュールがプロジェクト内でその名前のイメージを探します。Compute Engine で提供されるイメージを指定する場合は、正しいプロジェクトを含む完全な URL を指定する必要があります。次に例を示します。
https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/debian-wheezy-7-vYYYYMMDD
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.initAction string ReplicaPoolModule の初期化中に実行される Action の名前。
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.machineType string このインスタンスのマシンタイプ。完全な URL またはリソース名(n1-standard-1 など)。
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.metadata nested object このインスタンスに割り当てられたメタデータの Key-Value ペア。
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.metadata.fingerPrint string メタデータのフィンガープリント。
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.metadata.items[] list メタデータ アイテムのリスト。
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.metadata.items[].key string メタデータキー。
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.metadata.items[].value string メタデータ値。
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[] list インスタンスのネットワーク インターフェースのリスト。現在、Google Compute Engine でサポートされているインターフェースは 1 つだけです。
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[].accessConfigs[] list このインターフェースの構成の配列。他のネットワーク サービスとやり取りするようにこのインターフェースが構成される方法を指定します。
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[].accessConfigs[].name string このアクセス構成の名前。
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[].accessConfigs[].natIp string このインスタンスに関連付けられている外部 IP アドレス。
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[].accessConfigs[].type string このアクセス構成ファイルのタイプ。(現在、有効なのは ONE_TO_ONE_NAT のみです)。
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[].name string インターフェースの名前。
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[].network string このインターフェースが適用される NetworkModule の名前。指定しない場合、または「default」として指定した場合は、「default」ネットワークが使用されます。
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[].networkIp string このネットワーク インターフェースのインスタンスに割り当てる IPV4 内部ネットワーク アドレス(省略可)。
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.onHostMaintenance string このレプリカ プール内のインスタンスのメンテナンス動作を設定します。 

有効な値は次のとおりです。
  • MIGRATE」: インスタンスを再起動せずに、メンテナンス イベントからインスタンスを移行します。
  • TERMINATE」: メンテナンス イベントの外でインスタンスを停止して再起動します。
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.serviceAccounts[] list このインスタンスで有効にするサービス アカウントのリスト。
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.serviceAccounts[].email string サービス アカウントのメールアドレス。
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.serviceAccounts[].scopes[] list サービス アカウントに取得する OAuth2 スコープのリスト。
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.tags nested object Google Compute Engine インスタンスに適用してリソースを識別するタグのリスト。
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.tags.fingerPrint string タグのフィンガープリント。
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.tags.items[] list このタグに含まれるアイテム。
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.zone string この ReplicaPool のゾーン。
modules.(key).replicaPoolModule.resourceView string [出力専用] 
に関連付けられたリソースビューの名前
レプリカプール モジュール。このフィールドはサービスによって生成されます。
 
modules.(key).type string このモジュールのタイプ。

有効な値は次のとおりです。
  • AUTOSCALING」: 自動スケーリング モジュールを作成します。
  • FIREWALL」: ファイアウォール モジュールを作成します。
  • HEALTH_CHECK」: ヘルスチェック モジュールを作成します。
  • LOAD_BALANCING」: ロード バランシング モジュールを作成します。
  • NETWORK」: ネットワーキング モジュールを作成します。
  • REPLICA_POOL」: レプリカプール モジュールを作成します。
name string このテンプレートの名前。名前は式 [a-zA-Z0-9-_]{1,64} に準拠している必要があります。

メソッド

delete
テンプレートを削除します。これにより、テンプレートがプロジェクトから削除されます。テンプレートを削除しても、このテンプレートから作成されたデプロイには影響しません。
get
テンプレートに関する詳細情報を取得します。
挿入
テンプレートを挿入します。テンプレートを挿入してもリソースは作成されません。物理リソースが作成される前に、テンプレートを使用してデプロイメントを作成する必要があります。
list
プロジェクト内のすべてのテンプレートを一覧表示します。