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:
|
|
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).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:
|
|
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:
|
|
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.