Modelli

Attenzione: questa è una versione ritirata dell'API Deployment Manager. Utilizza la versione più recente dell'API.

Rappresenta una risorsa modello che definisce le impostazioni per i deployment.

Per un elenco dei metodi per questa risorsa, consulta la fine di questa pagina.

Rappresentazioni delle risorse

Un modello rappresenta una configurazione completa per un 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
    }
  }
}
Nome proprietà Valore Descrizione Note
actions object Azioni definite per l'utilizzo nei moduli definiti da questo modello.
actions.(key) nested object Il nome di questa azione, utilizzato per specificare le azioni nelle definizioni del modulo.
actions.(key).commands[] list Un elenco di comandi da eseguire in sequenza per questa azione.
actions.(key).timeoutMs integer Il timeout in millisecondi per l'esecuzione di questa azione.
description string Una descrizione di questo modello.
modules object Un elenco di moduli per questo modello.
modules.(key) nested object Nome del modulo. Il nome deve essere conforme alla seguente espressione regolare: [a-zA-Z0-9-_]{1,64}
modules.(key).autoscalingModule nested object Definisce un modulo di scalabilità automatica.
modules.(key).autoscalingModule.coolDownPeriodSec integer Il numero di secondi che lo scalatore deve attendere tra due modifiche successive al numero di macchine virtuali. Devi definire un intervallo di almeno il tempo di inizializzazione di una macchina virtuale. Il valore predefinito è 5 secondi.
modules.(key).autoscalingModule.description string Una descrizione facoltativa per questo modulo di scalabilità automatica.
modules.(key).autoscalingModule.maxNumReplicas integer Il numero massimo di repliche a cui vuoi applicare la scalabilità automatica.
modules.(key).autoscalingModule.minNumReplicas integer Il numero minimo di repliche a cui vuoi applicare la scalabilità automatica.
modules.(key).autoscalingModule.signalType string L'indicatore che Deployment Manager deve utilizzare per determinare se è necessaria la scalabilità automatica.

I valori accettati sono:
  • "AVG_CPU": utilizza la CPU media del modulo del pool di repliche target per determinare quando eseguire la scalabilità.
modules.(key).autoscalingModule.targetModule string Il modulo del pool di replica di destinazione da scalare.
modules.(key).autoscalingModule.targetUtilization double L'utilizzo target, compreso tra (0, 1]. Il gestore della scalabilità automatica si adopera per mantenere il valore dell'indicatore desiderato (attualmente solo CPU media) a questo livello target approssimativo. Ad esempio, se la CPU media delle repliche è molto inferiore all'utilizzo target, il gestore della scalabilità automatica eseguirà lo scale down fino a raggiungere l'utilizzo target o il numero minimo di repliche. Se la CPU media è superiore a questo numero, lo strumento di scalabilità automatica eseguirà lo scale up fino a raggiungere l'utilizzo target o il numero massimo di risorse.
modules.(key).firewallModule nested object Crea un modulo firewall, equivalente a una risorsa firewall di Google Compute Engine.
modules.(key).firewallModule.allowed[] quilist Definisce le porte e i protocolli consentiti per questo firewall.
modules.(key).firewallModule.allowed[].IPProtocol string Il protocollo IP consentito per questo modulo firewall. Può essere tcp, udp o icmp o un numero di protocollo IP.
modules.(key).firewallModule.allowed[].ports[] list Elenco di porte o intervalli di porte consentiti (esempi di input: ["22"], [?33?, "12345-12349"].
modules.(key).firewallModule.description string La descrizione del firewall.
modules.(key).firewallModule.network string Il modulo di rete a cui deve essere applicato questo firewall. Se non specificato o se specificato come default, questo firewall verrà applicato alla rete default .
modules.(key).firewallModule.sourceRanges[] list I blocchi di indirizzi IP a cui si applica questa regola, espressi in formato CIDR. È possibile impostare uno o entrambi i valori sourceRanges e sourceTags. Una connessione in entrata è consentita se l'intervallo o il tag dell'origine corrisponde a sourceRanges o sourceTags.
modules.(key).firewallModule.sourceTags[] list Un elenco di tag istanza a cui si applica questa regola. È possibile impostare uno o entrambi i valori sourceRanges e sourceTags. Una connessione in entrata è consentita se l'intervallo o il tag dell'origine corrisponde a sourceRanges o sourceTags.
modules.(key).firewallModule.targetTags[] list  Un elenco di tag istanza che indicano insiemi di istanze situate sulla rete che possono effettuare connessioni di rete come specificato in allowed[]. Se non vengono specificati targetTags , la regola firewall si applica a tutte le istanze nella rete specificata.
modules.(key).healthCheckModule nested object Definisce un modulo di controllo di integrità da utilizzare per il bilanciamento del carico.
modules.(key).healthCheckModule.checkIntervalSec integer Imposta l'intervallo in secondi per eseguire un controllo di integrità. Il valore predefinito è 5 secondi.
modules.(key).healthCheckModule.description string Una descrizione di questo modulo di controllo di integrità.
modules.(key).healthCheckModule.healthyThreshold integer Specifica il numero di tentativi riusciti prima che un'istanza di macchina virtuale non integra venga contrassegnata come integra. Il valore predefinito è 2.
modules.(key).healthCheckModule.host string Il valore dell'intestazione host utilizzata in questa richiesta di controllo di integrità. Ad esempio, se pubblichi pagine web da un'istanza che utilizza il dominio www.miodominio.com, ti consigliamo di impostare il nome host come www.miodominio.com in modo che venga eseguito il controllo di stato per quell'host. 

Per impostazione predefinita, questo valore è vuoto e Google Compute Engine imposta automaticamente l'intestazione host nelle richieste di stato sullo stesso indirizzo IP esterno della regola di inoltro associata a questo pool di destinazione. Ad esempio, se un modulo di bilanciamento del carico ha un indirizzo IP esterno 1.2.3.4 e indirizza il traffico a un pool di moduli di destinazione denominato tp1 che ha un oggetto di controllo di integrità con un'impostazione host predefinita, l'intestazione host viene impostata su 1.2.3.4.
modules.(key).healthCheckModule.path string Il percorso della richiesta per questo controllo di integrità. Ad esempio, /healthcheck. Il valore predefinito è /
modules.(key).healthCheckModule.port integer Il numero di porta TCP per questa richiesta di controllo di integrità. Il valore predefinito è 80.
modules.(key).healthCheckModule.timeoutSec integer Se Google Compute Engine non riceve una risposta HTTP 200 dall'istanza entro il giorno timeoutSec, la richiesta di controllo di integrità viene considerata un errore. Il valore predefinito è 5 secondi.
modules.(key).healthCheckModule.unhealthyThreshold integer Specifica il numero di tentativi riusciti prima che un'istanza di macchina virtuale sana venga contrassegnata come non sana. Il valore predefinito è 2.
modules.(key).lbModule nested object Specifica un modulo di bilanciamento del carico.
modules.(key).lbModule.description string Una descrizione di questo modulo di bilanciamento del carico.
modules.(key).lbModule.healthChecks[] list Un elenco di controlli di integrità da utilizzare per questo modulo di bilanciamento del carico.
modules.(key).lbModule.ipAddress string Un indirizzo IP statico esterno per conto del quale viene eseguita questa regola di inoltro. Può essere un indirizzo IP statico riservato oppure, se lasciato vuoto o non specificato, per impostazione predefinita viene assegnato un indirizzo IP temporaneo. Più regole di inoltro possono utilizzare lo stesso indirizzo IP, a condizione che l'intervallo di porte e il protocollo non si sovrappongano. Ad esempio, --ip="1.2.3.106".
modules.(key).lbModule.ipProtocol string Il protocollo gestito da questo modulo di bilanciamento del carico. 

I valori accettati sono:
modules.(key).lbModule.portRange string L'elenco delle porte di cui è responsabile questo bilanciatore del carico. I pacchetti del protocollo specificato inviati a queste porte verranno inoltrati al pool di destinazione appropriato. Se questo campo viene lasciato vuoto, il bilanciatore del carico invia il traffico per tutte le porte per il protocollo specificato. Può essere una singola porta o un intervallo di porte.
modules.(key).lbModule.targetModules[] list Specifica il modulo target che gestisce il traffico da questo bilanciatore del carico. Un modulo di traffico contiene una o più istanze di macchine virtuali che riceveranno il traffico inviato a questo bilanciatore del carico. 
modules.(key).networkModule nested object Definisce un modulo di rete.
modules.(key).networkModule.IPv4Range string L'intervallo di indirizzi interni consentiti su questa rete. Questo intervallo è una specifica CIDR, ad esempio: 192.168.0.0/16.
modules.(key).networkModule.description string La descrizione della rete.
modules.(key).networkModule.gatewayIPv4 string Un indirizzo facoltativo utilizzato per il routing predefinito verso altre reti. Deve rientrare nell'intervallo specificato da IPv4Range ed è in genere il primo indirizzo utilizzabile in quell'intervallo. Se non specificato, il valore predefinito è il primo indirizzo utilizzabile in IPv4Range.
modules.(key).replicaPoolModule nested object Specifica un modulo del pool di repliche che crea un'istanza di macchina virtuale Compute Engine.
modules.(key).replicaPoolModule.envVariables object Un elenco di variabili di ambiente.
modules.(key).replicaPoolModule.envVariables.(key) nested object Nome della variabile di ambiente. Il nome deve essere conforme alla seguente espressione regolare: [a-zA-Z_]+[a-zA-Z0-9_]+.
modules.(key).replicaPoolModule.envVariables.(key).hidden boolean Indica se la variabile è nascosta o visibile.
modules.(key).replicaPoolModule.envVariables.(key).value string Valore della variabile di ambiente.
modules.(key).replicaPoolModule.healthChecks[] list Un elenco di controlli di integrità da utilizzare per questo modulo del pool di repliche.
modules.(key).replicaPoolModule.numReplicas integer Numero di repliche in questo modulo.
modules.(key).replicaPoolModule.replicaPoolParams nested object Informazioni per un ReplicaPoolModule.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1 nested object Specifiche di ReplicaPoolParams da utilizzare con ReplicaPools v1beta1.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.autoRestart boolean Indica se queste repliche devono essere riavviate in caso di errore. Il valore predefinito è true.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.baseInstanceName string Il nome di base per le istanze all'interno di questo ReplicaPool.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.canIpForward boolean Attiva l'IP forwarding.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.description string Una descrizione testuale facoltativa della risorsa.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToAttach[] list Un elenco di risorse disco permanente esistenti da collegare a ogni replica del pool. Ogni disco verrà collegato in modalità di sola lettura a ogni replica.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToAttach[].attachment nested object Facoltativo. Come verrà collegato il disco alla replica.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToAttach[].attachment.deviceName string Il nome del dispositivo di questo disco.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToAttach[].attachment.index unsigned integer Un indice a partire da zero da assegnare a questo disco, dove 0 è riservato al disco di avvio. Se non specificato, viene assegnato dal server.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToAttach[].source string L'URL completo della risorsa disco permanente. Deve trovarsi nella stessa zona del pool.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[] list Un elenco di risorse disco da creare e collegare a ogni replica nel pool. Al momento puoi definire un solo disco e deve essere un disco permanente principale. Tieni presente che il pool di repliche creerà un disco permanente principale per ogni replica.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].attachment nested object Il modo in cui il disco verrà collegato alla replica.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].attachment.deviceName string Il nome del dispositivo di questo disco.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].attachment.index unsigned integer Un indice a partire da zero da assegnare a questo disco, dove 0 è riservato al disco di avvio. Se non specificato, viene assegnato dal server.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].autoDelete boolean Se true, questo disco verrà eliminato quando viene eliminata l'istanza.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].boot boolean Se true, indica che si tratta del disco permanente principale.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].initializeParams nested object Crea il nuovo disco utilizzando questi parametri. Il nome del disco sarà <instance_name>-<five_random_characters>.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].initializeParams.diskSizeGb long La dimensione del disco creato in gigabyte.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].initializeParams.sourceImage string Il nome o l'URL completo di un'immagine di origine da utilizzare per creare questo disco. Se fornisci un nome per l'immagine di origine, il modulo ReplicaPool cercherà un'immagine con quel nome nel progetto. Se specifichi un'immagine fornita da Compute Engine, devi fornire l'URL completo con il progetto corretto, ad esempio:
https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/debian-wheezy-7-vYYYYMMDD
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.initAction string Nome dell'azione da eseguire durante l'inizializzazione di un ReplicaPoolModule.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.machineType string Il tipo di macchina per questa istanza. Un URL completo o il nome della risorsa (ad es. n1-standard-1).
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.metadata nested object Le coppie chiave/valore dei metadati assegnate a questa istanza.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.metadata.fingerPrint string L'impronta dei metadati.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.metadata.items[] list Un elenco di elementi di metadati.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.metadata.items[].key string Una chiave dei metadati.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.metadata.items[].value string Un valore dei metadati.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[] list Un elenco di interfacce di rete per l'istanza. Al momento Google Compute Engine supporta una sola interfaccia.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[].accessConfigs[] list Un array di configurazioni per questa interfaccia. Specifica in che modo questa interfaccia è configurata per interagire con altri servizi di rete
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[].accessConfigs[].name string Nome di questa configurazione di accesso.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[].accessConfigs[].natIp string Un indirizzo IP esterno associato a questa istanza.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[].accessConfigs[].type string Tipo di questo file di configurazione dell'accesso. (attualmente è legale solo ONE_TO_ONE_NAT).
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[].name string Nome dell'interfaccia.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[].network string Il nome del NetworkModule a cui si applica questa interfaccia. Se non viene specificato o se viene specificato come "predefinito", verrà utilizzata la rete "predefinita".
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[].networkIp string Un indirizzo di rete interna IPV4 facoltativo da assegnare all'istanza per questa interfaccia di rete.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.onHostMaintenance string Imposta il comportamento di manutenzione per le istanze in questo pool di repliche. 

I valori accettati sono:
  • "MIGRATE": esegui la migrazione delle istanze dagli eventi di manutenzione senza riavviarle.
  • "TERMINATE": termina e riavvia le istanze lontano dagli eventi di manutenzione.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.serviceAccounts[] list Un elenco di service account da attivare per questa istanza.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.serviceAccounts[].email string Indirizzo email dell'account di servizio.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.serviceAccounts[].scopes[] list Elenco degli ambiti OAuth2 da ottenere per l'account di servizio.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.tags nested object Un elenco di tag da applicare all'istanza Google Compute Engine per identificare le risorse.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.tags.fingerPrint string L'impronta del tag.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.tags.items[] list Elementi contenuti in questo tag.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.zone string La zona per questo ReplicaPool.
modules.(key).replicaPoolModule.resourceView string [Solo output] Il nome della visualizzazione della risorsa associata a un
modulo del pool di repliche. Questo campo viene generato dal servizio.
 
modules.(key).type string Il tipo di questo modulo>.

I valori accettati sono:
  • "AUTOSCALING": crea un modulo di scalabilità automatica
  • "FIREWALL": crea un modulo firewall.
  • "HEALTH_CHECK": crea un modulo di controllo di integrità.
  • "LOAD_BALANCING": crea un modulo di bilanciamento del carico.
  • "NETWORK": crea un modulo di rete.
  • "REPLICA_POOL": crea un modulo del pool di replica.
name string Il nome del modello. Il nome deve essere conforme all'espressione: [a-zA-Z0-9-_]{1,64}

Metodi

delete
Elimina un modello. Il modello viene rimosso dal progetto. La rimozione del modello non influisce sui deployment creati da questo modello.
get
Ottiene informazioni dettagliate su un modello.
insert
Inserisce un modello. L'inserimento di un modello non crea risorse. Devi comunque creare un deployment con il modello prima che vengano create le risorse fisiche.
list
Elenca tutti i modelli all'interno di un progetto.