Vorlagen

Achtung:Dies ist eine veraltete Version der Deployment Manager API. Verwenden Sie stattdessen die aktuelle API-Version.

Stellt eine Vorlagenressource dar, die die Einstellungen für Ihre Bereitstellungen definiert.

Am Ende dieser Seite finden Sie eine Liste der Methoden für diese Ressource.

Ressourcendarstellungen

Eine Vorlage stellt eine vollständige Konfiguration für eine Bereitstellung dar.

{
  "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
    }
  }
}
Eigenschaft Wert Beschreibung Hinweise
actions object Aktionen, die für die Verwendung in den von dieser Vorlage definierten Modulen definiert sind.
actions.(key) nested object Der Name dieser Aktion, der bei der Angabe von Aktionen in Moduldefinitionen verwendet wird.
actions.(key).commands[] list Eine Liste von Befehlen, die für diese Aktion nacheinander ausgeführt werden sollen.
actions.(key).timeoutMs integer Das Zeitlimit in Millisekunden für die Ausführung dieser Aktion.
description string Eine Beschreibung dieser Vorlage.
modules object Eine Liste der Module für diese Vorlage.
modules.(key) nested object Name des Moduls. Der Name muss dem folgenden regulären Ausdruck entsprechen: [a-zA-Z0-9-_]{1,64}
modules.(key).autoscalingModule nested object Definiert ein Autoscaling-Modul.
modules.(key).autoscalingModule.coolDownPeriodSec integer Die Anzahl der Sekunden, die der Autoscaler zwischen zwei aufeinanderfolgenden Änderungen der Anzahl der virtuellen Maschinen warten soll. Sie sollten ein Intervall definieren, das mindestens so lang ist wie die Initialisierungszeit einer virtuellen Maschine. Der Standardwert beträgt 5 Sekunden.
modules.(key).autoscalingModule.description string Eine optionale Beschreibung für dieses Autoscaling-Modul.
modules.(key).autoscalingModule.maxNumReplicas integer Die maximale Anzahl der Replikate, auf die Sie das Autoscaling anwenden möchten.
modules.(key).autoscalingModule.minNumReplicas integer Die Mindestanzahl der Replikate, auf die Sie das Autoscaling anwenden möchten.
modules.(key).autoscalingModule.signalType string Das Signal, das Deployment Manager verwenden soll, um zu bestimmen, ob Autoscaling erforderlich ist.

Zulässige Werte sind:
  • AVG_CPU“: Es wird die durchschnittliche CPU Ihres Zielreplikatpool-Moduls verwendet, um zu bestimmen, wann skaliert werden soll.
modules.(key).autoscalingModule.targetModule string Das Zielmodul des Replikatpools, das skaliert werden soll.
modules.(key).autoscalingModule.targetUtilization double Die Zielauslastung, zwischen (0, 1]. Der Autoscaler sorgt dafür, dass der Wert des gewünschten Signals (derzeit nur die durchschnittliche CPU) ungefähr auf diesem Zielniveau gehalten wird. Wenn die durchschnittliche CPU-Auslastung Ihrer Replikate beispielsweise deutlich unter der Zielauslastung liegt, wird das Autoscaling herunterskaliert, bis die Zielauslastung oder die Mindestzahl der Replikate erreicht ist. Wenn die durchschnittliche CPU über dieser Zahl liegt, skaliert der Autoscaler nach oben, bis die Zielauslastung oder die maximale Anzahl von Ressourcen erreicht wird.
modules.(key).firewallModule nested object Erstellt ein Firewall-Modul, das einer Firewall-Ressource der Google Compute Engine entspricht.
modules.(key).firewallModule.allowed[] quilist Hier werden die zulässigen Ports und Protokolle für diese Firewall definiert.
modules.(key).firewallModule.allowed[].IPProtocol string Das zulässige IP-Protokoll für dieses Firewall-Modul. Kann entweder tcp,udp, icmp oder eine IP-Protokollnummer sein.
modules.(key).firewallModule.allowed[].ports[] list Liste der zulässigen Ports oder Portbereiche. Beispiele: ["22"], [?33?, "12345-12349"].
modules.(key).firewallModule.description string Die Beschreibung der Firewall.
modules.(key).firewallModule.network string Das Netzwerkmodul, auf das diese Firewall angewendet werden soll. Wenn nicht angegeben oder als default angegeben, wird diese Firewall auf das default -Netzwerk angewendet.
modules.(key).firewallModule.sourceRanges[] list Die IP-Adressblöcke, auf die diese Regel angewendet wird, im CIDR-Format. Es kann entweder sourceRanges oder sourceTags oder beides festgelegt werden. Eine eingehende Verbindung ist zulässig, wenn entweder der Bereich oder das Tag der Quelle mit sourceRanges oder sourceTags übereinstimmt.
modules.(key).firewallModule.sourceTags[] list Eine Liste der Instanz-Tags, auf die diese Regel angewendet wird. Es kann entweder sourceRanges oder sourceTags oder beides festgelegt werden. Eine eingehende Verbindung ist zulässig, wenn entweder der Bereich oder das Tag der Quelle mit sourceRanges oder sourceTags übereinstimmt.
modules.(key).firewallModule.targetTags[] list  Eine Liste von Instanz-Tags, die Instanzengruppen im Netzwerk angeben, die Netzwerkverbindungen gemäß allowed[] herstellen können. Wenn keine targetTags angegeben sind, gilt die Firewallregel für alle Instanzen im angegebenen Netzwerk.
modules.(key).healthCheckModule nested object Hiermit wird ein Modul für die Systemdiagnose definiert, das für das Load Balancing verwendet werden soll.
modules.(key).healthCheckModule.checkIntervalSec integer Legt das Intervall in Sekunden für die Durchführung einer Systemdiagnose fest. Der Standardwert beträgt 5 Sekunden.
modules.(key).healthCheckModule.description string Eine Beschreibung dieses Moduls für die Systemdiagnose.
modules.(key).healthCheckModule.healthyThreshold integer Gibt die Anzahl der erfolgreichen Wiederholungsversuche an, bevor eine fehlerhafte VM-Instanz als fehlerfrei markiert wird. Der Standardwert ist 2.
modules.(key).healthCheckModule.host string Der Wert des Hostheaders, der in dieser Systemdiagnoseanfrage verwendet wird. Wenn Sie beispielsweise Webseiten von einer Instanz mit der Domain www.meinedomain.de aus bereitstellen, können Sie den Hostnamen als www.meinedomain.de festlegen, damit die Systemdiagnose für diesen Host ausgeführt wird. 

Dieser Wert ist standardmäßig leer. Die Google Compute Engine setzt den Hostheader in Diagnoseanfragen automatisch auf dieselbe externe IP-Adresse wie die Weiterleitungsregel, die mit diesem Zielpool verknüpft ist. Wenn ein Load Balancing-Modul beispielsweise die externe IP-Adresse 1.2.3.4 hat und Traffic an einen Zielmodulpool namens tp1 weiterleitet, der ein Systemdiagnoseobjekt mit einer Standard-Hosteinstellung hat, wird der Hostheader auf 1.2.3.4 gesetzt.
modules.(key).healthCheckModule.path string Der Anfragepfad für diese Systemdiagnose. Beispiel: /healthcheck. Der Standardwert ist /.
modules.(key).healthCheckModule.port integer Die TCP-Portnummer für diese Systemdiagnoseanfrage. Der Standardwert ist 80.
modules.(key).healthCheckModule.timeoutSec integer Wenn die Google Compute Engine bis zum timeoutSec keine HTTP 200-Antwort von der Instanz erhält, gilt die Systemdiagnoseanfrage als fehlgeschlagen. Der Standardwert ist 5 Sekunden.
modules.(key).healthCheckModule.unhealthyThreshold integer Gibt die Anzahl der erfolgreichen Wiederholungsversuche an, bevor eine intakte VM-Instanz als fehlerhaft markiert wird. Der Standardwert ist 2.
modules.(key).lbModule nested object Gibt ein Load Balancing-Modul an.
modules.(key).lbModule.description string Eine Beschreibung dieses Load Balancing-Moduls.
modules.(key).lbModule.healthChecks[] list Eine Liste der Systemdiagnosen, die für dieses Load Balancing-Modul verwendet werden sollen.
modules.(key).lbModule.ipAddress string Eine externe statische IP-Adresse, in deren Namen diese Weiterleitungsregel dient. Dies kann eine reservierte statische IP-Adresse sein. Wenn das Feld leer bleibt oder nicht angegeben ist, wird standardmäßig eine sitzungsspezifische IP-Adresse zugewiesen. Mehrere Weiterleitungsregeln können dieselbe IP-Adresse verwenden, solange sich ihr Portbereich und ihr Protokoll nicht überschneiden. Beispiel: --ip="1.2.3.106".
modules.(key).lbModule.ipProtocol string Das Protokoll, das von diesem Load Balancing-Modul verarbeitet wird. 

Zulässige Werte sind:
modules.(key).lbModule.portRange string Die Liste der Ports, für die dieser Load Balancer verantwortlich ist. Pakete des angegebenen Protokolls, die an diese Ports gesendet werden, werden an den entsprechenden Zielpool weitergeleitet. Wenn dieses Feld leer bleibt, sendet der Load Balancer Traffic für alle Ports für das angegebene Protokoll. Kann ein einzelner Port oder ein Portbereich sein.
modules.(key).lbModule.targetModules[] list Gibt das Zielmodul an, das den Traffic von diesem Load Balancer verarbeitet. Ein Traffic-Modul enthält eine oder mehrere VM-Instanzen, die Traffic empfangen, der an diesen Load Balancer gesendet wird. 
modules.(key).networkModule nested object Definiert ein Netzwerkmodul.
modules.(key).networkModule.IPv4Range string Der Bereich der internen Adressen, die in diesem Netzwerk zulässig sind. Dieser Bereich ist eine CIDR-Spezifikation, z. B.: 192.168.0.0/16.
modules.(key).networkModule.description string Die Beschreibung des Netzwerks.
modules.(key).networkModule.gatewayIPv4 string Eine optionale Adresse, die für das Standard-Routing an andere Netzwerke verwendet wird. Diese Adresse muss sich innerhalb des von IPv4Range angegebenen Bereichs befinden und ist in der Regel die erste verwendbare Adresse in diesem Bereich. Wenn keine Angabe erfolgt, ist der Standardwert die erste nutzbare Adresse in IPv4Range.
modules.(key).replicaPoolModule nested object Gibt ein Replikatpoolmodul an, mit dem eine Compute Engine-VM-Instanz erstellt wird.
modules.(key).replicaPoolModule.envVariables object Eine Liste von Umgebungsvariablen.
modules.(key).replicaPoolModule.envVariables.(key) nested object Name der Umgebungsvariablen. Der Name muss dem folgenden regulären Ausdruck entsprechen: [a-zA-Z_]+[a-zA-Z0-9_]+.
modules.(key).replicaPoolModule.envVariables.(key).hidden boolean Gibt an, ob diese Variable ausgeblendet oder sichtbar ist.
modules.(key).replicaPoolModule.envVariables.(key).value string Wert der Umgebungsvariablen.
modules.(key).replicaPoolModule.healthChecks[] list Eine Liste der Systemdiagnosen, die für dieses Replikatpoolmodul verwendet werden sollen.
modules.(key).replicaPoolModule.numReplicas integer Anzahl der Replikate in diesem Modul.
modules.(key).replicaPoolModule.replicaPoolParams nested object Informationen für ein ReplicaPool-Modul.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1 nested object ReplicaPoolParams-Spezifikationen für die Verwendung mit ReplicaPools v1beta1.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.autoRestart boolean Gibt an, ob diese Repliken bei einem Fehler neu gestartet werden sollen. Der Standardwert ist true.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.baseInstanceName string Der Basisname für Instanzen in diesem ReplicaPool.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.canIpForward boolean Aktiviert die IP-Weiterleitung.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.description string Eine optionale Textbeschreibung der Ressource.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToAttach[] list Eine Liste vorhandener Ressourcen für nichtflüchtigen Speicher, die an jedes Replikat im Pool angehängt werden sollen. Jedes Laufwerk wird im Lesemodus an jedes Replikat angehängt.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToAttach[].attachment nested object Optional. Wie das Laufwerk an das Replikat angehängt wird.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToAttach[].attachment.deviceName string Der Gerätename dieses Laufwerks.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToAttach[].attachment.index unsigned integer Ein nullbasierter Index, der diesem Laufwerk zugewiesen werden soll. Die Zahl 0 ist für das Bootlaufwerk reserviert. Wenn keine Angabe erfolgt, wird sie vom Server zugewiesen.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToAttach[].source string Die vollständig qualifizierte URL der nichtflüchtigen Speicherressource. Sie muss sich in derselben Zone wie der Pool befinden.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[] list Eine Liste der Laufwerkressourcen, die für jedes Replikat im Pool erstellt und angehängt werden sollen. Derzeit können Sie nur einen Datenträger definieren. Dieser muss ein nichtflüchtiger Stammdatenträger sein. Beachten Sie, dass der Replikatpool für jedes Replikat ein nichtflüchtiges Stammlaufwerk erstellt.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].attachment nested object Wie das Laufwerk an das Replikat angehängt wird.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].attachment.deviceName string Der Gerätename dieses Laufwerks.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].attachment.index unsigned integer Ein nullbasierter Index, der diesem Laufwerk zugewiesen werden soll. Die Zahl 0 ist für das Bootlaufwerk reserviert. Wenn keine Angabe erfolgt, wird sie vom Server zugewiesen.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].autoDelete boolean Wenn true festgelegt ist, wird dieses Laufwerk gelöscht, wenn die Instanz gelöscht wird.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].boot boolean Wenn true angegeben ist, handelt es sich um den nichtflüchtigen Root-Speicher.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].initializeParams nested object Erstellen Sie das neue Laufwerk mit diesen Parametern. Der Name des Laufwerks lautet <instance_name>-<five_random_characters>.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].initializeParams.diskSizeGb long Die Größe des erstellten Laufwerks in Gigabyte.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].initializeParams.sourceImage string Der Name oder die vollständig qualifizierte URL eines Quell-Images, das zum Erstellen dieses Laufwerks verwendet werden soll. Wenn Sie einen Namen für das Quell-Image angeben, sucht das ReplicaPool-Modul in Ihrem Projekt nach einem Image mit diesem Namen. Wenn Sie ein von der Compute Engine bereitgestelltes Image angeben, müssen Sie die vollständige URL mit dem richtigen Projekt angeben, z. B.:
https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/debian-wheezy-7-vYYYYMMDD
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.initAction string Name der Aktion, die während der Initialisierung eines ReplicaPoolModules ausgeführt werden soll.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.machineType string Der Maschinentyp für diese Instanz. Entweder eine vollständige URL oder der Ressourcenname (z.B. n1-standard-1).
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.metadata nested object Die Metadaten-Schlüssel/Wert-Paare, die dieser Instanz zugewiesen sind.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.metadata.fingerPrint string Der Fingerabdruck der Metadaten.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.metadata.items[] list Eine Liste von Metadatenelementen.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.metadata.items[].key string Einen Metadatenschlüssel.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.metadata.items[].value string Ein Metadatenwert.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[] list Eine Liste der Netzwerkschnittstellen für die Instanz. Derzeit wird von der Google Compute Engine nur eine Oberfläche unterstützt.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[].accessConfigs[] list Eine Reihe von Konfigurationen für diese Benutzeroberfläche. Hier wird angegeben, wie diese Schnittstelle für die Interaktion mit anderen Netzwerkdiensten konfiguriert ist.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[].accessConfigs[].name string Name dieser Zugriffskonfiguration.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[].accessConfigs[].natIp string Externe IP-Adresse, die mit dieser Instanz verknüpft ist.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[].accessConfigs[].type string Der Typ dieser Zugriffskonfigurationsdatei. (Derzeit ist nur ONE_TO_ONE_NAT zulässig.)
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[].name string Name der Schnittstelle.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[].network string Der Name des NetworkModules, auf das sich diese Schnittstelle bezieht. Wenn keine Angabe gemacht wird oder „standard“ angegeben ist, wird das Netzwerk „standard“ verwendet.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[].networkIp string Eine optionale interne IPv4-Netzwerkadresse, die der Instanz für diese Netzwerkschnittstelle zugewiesen werden soll.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.onHostMaintenance string Legt das Wartungsverhalten für die Instanzen in diesem Replikpool fest. 

Zulässige Werte sind:
  • MIGRATE“: Die Instanzen werden von Wartungsereignissen migriert, ohne dass sie neu gestartet werden.
  • TERMINATE“: Die Instanzen werden außerhalb von Wartungsereignissen beendet und neu gestartet.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.serviceAccounts[] list Eine Liste der Dienstkonten, die für diese Instanz aktiviert werden sollen.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.serviceAccounts[].email string E-Mail-Adresse des Dienstkontos.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.serviceAccounts[].scopes[] list Liste der OAuth2-Bereiche, die für das Dienstkonto abgerufen werden sollen.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.tags nested object Eine Liste von Tags, die auf die Google Compute Engine-Instanz angewendet werden, um Ressourcen zu identifizieren.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.tags.fingerPrint string Der Fingerabdruck des Tags.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.tags.items[] list Elemente in diesem Tag.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.zone string Die Zone für diesen ReplicaPool.
modules.(key).replicaPoolModule.resourceView string [Nur Ausgabe]  Der Name der Ressourcenansicht, die mit einer
verknüpft ist.
Replikatpool-Modul Dieses Feld wird vom Dienst generiert.
 
modules.(key).type string Der Typ dieses Moduls>.

Zulässige Werte sind:
  • AUTOSCALING“: Erstellt ein Autoscaling-Modul
  • FIREWALL“: Erstellt ein Firewall-Modul.
  • HEALTH_CHECK“: Erstellt ein Modul für die Systemdiagnose.
  • LOAD_BALANCING“: Erstellt ein Load Balancing-Modul.
  • NETWORK“: Erstellt ein Netzwerkmodul.
  • REPLICA_POOL“: Erstellt ein Replikatpool-Modul.
name string Name dieser Vorlage. Der Name muss dem Ausdruck entsprechen: [a-zA-Z0-9-_]{1,64}

Methoden

Löschen
Löscht eine Vorlage. Dadurch wird die Vorlage aus Ihrem Projekt entfernt. Das Entfernen der Vorlage hat keine Auswirkungen auf Bereitstellungen, die mit dieser Vorlage erstellt wurden.
get
Ruft detaillierte Informationen zu einer Vorlage ab.
insert
Fügt eine Vorlage ein. Durch das Einfügen einer Vorlage werden keine Ressourcen erstellt. Sie müssen noch eine Bereitstellung mit der Vorlage erstellen, bevor physische Ressourcen erstellt werden.
list
Listet alle Vorlagen in einem Projekt auf.