Attention:Il s'agit d'une version obsolète de l'API Deployment Manager. Veuillez utiliser la dernière version de l'API à la place.
Représente une ressource de modèle, qui définit les paramètres de vos déploiements.
La liste des méthodes associées à cette ressource est présentée au bas de la page.
Représentations de la ressource
Un modèle représente une configuration complète pour un déploiement.
{ "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 } } }
Nom de propriété | Valeur | Description | Remarques |
---|---|---|---|
actions |
object |
Actions définies pour être utilisées dans les modules définis par ce modèle. | |
actions.(key) |
nested object |
Nom de cette action, utilisé lors de la spécification d'actions dans les définitions de modules. | |
actions.(key).commands[] |
list |
Liste des commandes à exécuter de manière séquentielle pour cette action. | |
actions.(key).timeoutMs |
integer |
Délai avant expiration (en millisecondes) pour l'exécution de cette action. | |
description |
string |
Description de ce modèle. | |
modules |
object |
Liste des modules de ce modèle. | |
modules.(key) |
nested object |
Nom du module. Le nom doit respecter l'expression régulière suivante: [a-zA-Z0-9-_]{1,64} |
|
modules.(key).autoscalingModule |
nested object |
Définit un module d'autoscaling. | |
modules.(key).autoscalingModule.coolDownPeriodSec |
integer |
Nombre de secondes que l'autoscaler doit attendre entre deux modifications consécutives du nombre de machines virtuelles. Vous devez définir un intervalle d'au moins la durée d'initialisation d'une machine virtuelle. La valeur par défaut est de 5 secondes. | |
modules.(key).autoscalingModule.description |
string |
Description facultative de ce module d'autoscaling. | |
modules.(key).autoscalingModule.maxNumReplicas |
integer |
Nombre maximal d'instances dupliquées que vous souhaitez faire évoluer automatiquement. | |
modules.(key).autoscalingModule.minNumReplicas |
integer |
Nombre minimal d'instances dupliquées que vous souhaitez faire évoluer automatiquement. | |
modules.(key).autoscalingModule.signalType |
string |
Signal que le Gestionnaire de déploiement doit utiliser pour déterminer si l'autoscaling est nécessaire.
Les valeurs acceptées sont les suivantes :
|
|
modules.(key).autoscalingModule.targetModule |
string |
Module de pool de réplicas cible à mettre à l'échelle. | |
modules.(key).autoscalingModule.targetUtilization |
double |
Utilisation cible, comprise entre (0, 1] . L'autoscaler s'efforce de maintenir la valeur du signal souhaité (actuellement, uniquement la CPU moyenne) à peu près à ce niveau cible. Par exemple, si l'utilisation moyenne du processeur de vos réplicas est considérablement inférieure à votre utilisation cible, l'autoscaler réduit le nombre de réplicas jusqu'à ce qu'il atteigne l'utilisation cible ou le nombre minimal de réplicas. Si l'utilisation moyenne du processeur est supérieure à ce nombre, l'autoscaler effectue un scaling à la hausse jusqu'à ce qu'il atteigne l'utilisation cible ou le nombre maximal de ressources. |
|
modules.(key).firewallModule |
nested object |
Crée un module de pare-feu, équivalent à une ressource de pare-feu Google Compute Engine. | |
modules.(key).firewallModule.allowed[] |
quilist |
Définit les ports et les protocoles autorisés pour ce pare-feu. | |
modules.(key).firewallModule.allowed[].IPProtocol |
string |
Protocole IP autorisé pour ce module de pare-feu. Peut être tcp ,udp ou icmp , ou un numéro de protocole IP. |
|
modules.(key).firewallModule.allowed[].ports[] |
list |
Liste des ports ou plages de ports autorisés (par exemple:
["22"],
[?33?, "12345-12349"] . |
|
modules.(key).firewallModule.description |
string |
Description du pare-feu. | |
modules.(key).firewallModule.network |
string |
Module réseau auquel ce pare-feu doit s'appliquer. Si ce champ n'est pas spécifié ou s'il est défini sur default
, ce pare-feu sera appliqué au réseau default . |
|
modules.(key).firewallModule.sourceRanges[] |
list |
Blocs d'adresses IP auxquels cette règle s'applique, exprimés au format CIDR. Vous pouvez définir l'un ou les deux des attributs sourceRanges et sourceTags. Une connexion entrante est autorisée si la plage ou le tag de la source correspondent à sourceRanges ou sourceTags . |
|
modules.(key).firewallModule.sourceTags[] |
list |
Liste des tags d'instance auxquels cette règle s'applique. Vous pouvez définir l'un ou les deux des attributs sourceRanges et sourceTags. Une connexion entrante est autorisée si la plage ou la balise de la source correspond à sourceRanges ou sourceTags . |
|
modules.(key).firewallModule.targetTags[] |
list |
Liste de tags d'instance indiquant des ensembles d'instances situées sur un réseau pouvant établir des connexions réseau, comme spécifié dans allowed[] . Si aucun targetTags n'est spécifié, la règle de pare-feu s'applique à toutes les instances du réseau spécifié. |
|
modules.(key).healthCheckModule |
nested object |
Définit un module de vérification de l'état à utiliser pour l'équilibrage de charge. | |
modules.(key).healthCheckModule.checkIntervalSec |
integer |
Définit l'intervalle en secondes pour effectuer une vérification de l'état. La valeur par défaut est de 5 secondes. | |
modules.(key).healthCheckModule.description |
string |
Description de ce module de vérification de l'état. | |
modules.(key).healthCheckModule.healthyThreshold |
integer |
Spécifie le nombre de nouvelles tentatives réussies avant qu'une instance de machine virtuelle défaillante ne soit marquée comme opérationnelle. La valeur par défaut est 2. | |
modules.(key).healthCheckModule.host |
string |
Valeur de l'en-tête d'hôte utilisé dans cette requête de vérification d'état. Par exemple, si vous diffusez des pages Web à partir d'une instance utilisant le domaine www.mondomaine.com, vous pouvez définir le nom d'hôte sur www.mondomaine.com afin que l'état de santé de cet hôte soit vérifié. Par défaut, ce champ est vide, et Google Compute Engine définit automatiquement l'en-tête d'hôte dans les requêtes de vérification de l'état sur la même adresse IP externe que la règle de transfert associée à ce pool cible. Par exemple, si un module d'équilibrage de charge a une adresse IP externe de 1.2.3.4 et dirige le trafic vers un pool de modules cibles nommé tp1 qui possède un objet de vérification de l'état avec un paramètre d'hôte par défaut, l'en-tête d'hôte est défini sur 1.2.3.4 . |
|
modules.(key).healthCheckModule.path |
string |
Chemin de la requête pour cette vérification de l'état. Par exemple : /healthcheck . La valeur par défaut est / . |
|
modules.(key).healthCheckModule.port |
integer |
Numéro de port TCP de cette requête de vérification de l'état. La valeur par défaut est 80 . |
|
modules.(key).healthCheckModule.timeoutSec |
integer |
Si Google Compute Engine ne reçoit pas de réponse HTTP 200 de l'instance d'ici le timeoutSec , la requête de vérification de l'état est considérée comme un échec. La valeur par défaut est de 5 secondes. |
|
modules.(key).healthCheckModule.unhealthyThreshold |
integer |
Spécifie le nombre de nouvelles tentatives réussies avant qu'une instance de machine virtuelle saine ne soit marquée comme non saine. La valeur par défaut est 2. | |
modules.(key).lbModule |
nested object |
Spécifie un module d'équilibrage de charge. | |
modules.(key).lbModule.description |
string |
Description de ce module d'équilibrage de charge. | |
modules.(key).lbModule.healthChecks[] |
list |
Liste des vérifications d'état à utiliser pour ce module d'équilibrage de charge. | |
modules.(key).lbModule.ipAddress |
string |
Adresse IP externe statique pour laquelle cette règle de transfert est diffusée. Il peut s'agir d'une adresse IP statique réservée. Si cette valeur est laissée vide ou non spécifiée, une adresse IP éphémère est attribuée par défaut. Plusieurs règles de transfert peuvent utiliser la même adresse IP, à condition que leur plage de ports et leur protocole ne se chevauchent pas. Par exemple, --ip="1.2.3.106" . |
|
modules.(key).lbModule.ipProtocol |
string |
Protocole géré par ce module d'équilibrage de charge.
Valeurs acceptées :
|
|
modules.(key).lbModule.portRange |
string |
Liste des ports pour lesquels cet équilibreur de charge est responsable. Les paquets du protocole spécifié envoyés à ces ports seront transférés au pool cible approprié. Si ce champ est laissé vide, l'équilibreur de charge envoie du trafic pour tous les ports du protocole spécifié. Il peut s'agir d'un seul port ou d'une plage de ports. | |
modules.(key).lbModule.targetModules[] |
list |
Spécifie le module cible qui gère le trafic de cet équilibreur de charge. Un module de trafic contient une ou plusieurs instances de machine virtuelle qui recevront le trafic envoyé à cet équilibreur de charge. | |
modules.(key).networkModule |
nested object |
Définit un module de réseau. | |
modules.(key).networkModule.IPv4Range |
string |
Plage d'adresses internes autorisées sur ce réseau. Cette plage est une spécification CIDR, par exemple:
192.168.0.0/16. |
|
modules.(key).networkModule.description |
string |
Description du réseau. | |
modules.(key).networkModule.gatewayIPv4 |
string |
Adresse facultative utilisée pour le routage par défaut vers d'autres réseaux. Elle doit être comprise dans la plage spécifiée par IPv4Range et correspond généralement à la première adresse utilisable de cette plage. Si aucune valeur n'est spécifiée, la valeur par défaut est la première adresse utilisable dans IPv4Range. | |
modules.(key).replicaPoolModule |
nested object |
Spécifie un module de pool de réplicas, qui crée une instance de machine virtuelle Compute Engine. | |
modules.(key).replicaPoolModule.envVariables |
object |
Liste des variables d'environnement. | |
modules.(key).replicaPoolModule.envVariables.(key) |
nested object |
Nom de la variable d'environnement. Le nom doit respecter l'expression régulière suivante: [a-zA-Z_]+[a-zA-Z0-9_]+ . |
|
modules.(key).replicaPoolModule.envVariables.(key).value |
string |
Valeur de la variable d'environnement. | |
modules.(key).replicaPoolModule.healthChecks[] |
list |
Liste des vérifications d'état à utiliser pour ce module de pool de réplicas. | |
modules.(key).replicaPoolModule.numReplicas |
integer |
Nombre de réplicas dans ce module. | |
modules.(key).replicaPoolModule.replicaPoolParams |
nested object |
Informations sur un ReplicaPoolModule. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1 |
nested object |
Spécifications ReplicaPoolParams à utiliser avec ReplicaPools v1beta1. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.autoRestart |
boolean |
Indique si ces réplicas doivent être redémarrés en cas d'échec. La valeur par défaut est true . |
|
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.baseInstanceName |
string |
Nom de base des instances de ce ReplicaPool. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.canIpForward |
boolean |
Active le transfert IP. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.description |
string |
Description textuelle facultative de la ressource. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToAttach[] |
list |
Liste des ressources de disque persistant existantes à associer à chaque réplica du pool. Chaque disque sera associé en mode lecture seule à chaque réplica. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToAttach[].attachment |
nested object |
Facultatif. Comment le disque sera associé à la réplication. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToAttach[].attachment.deviceName |
string |
Nom de l'appareil de ce disque. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToAttach[].attachment.index |
unsigned integer |
Index basé sur zéro à attribuer à ce disque, où 0 est réservé au disque de démarrage. Si aucune valeur n'est spécifiée, elle est attribuée par le serveur. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToAttach[].source |
string |
URL complète de la ressource de disque persistant. Il doit se trouver dans la même zone que le pool. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[] |
list |
Liste des ressources de disque à créer et à associer à chaque réplica du pool. Pour le moment, vous ne pouvez définir qu'un seul disque, qui doit être un disque persistant racine. Notez que le pool de réplicas crée un disque persistant racine pour chaque réplica. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].attachment |
nested object |
Comment le disque sera associé à la réplication. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].attachment.deviceName |
string |
Nom de l'appareil de ce disque. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].attachment.index |
unsigned integer |
Index basé sur zéro à attribuer à ce disque, où 0 est réservé au disque de démarrage. Si aucune valeur n'est spécifiée, elle est attribuée par le serveur. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].autoDelete |
boolean |
Si la valeur est true , ce disque sera supprimé lorsque l'instance sera supprimée. |
|
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].boot |
boolean |
Si la valeur est true , cela indique qu'il s'agit du disque persistant racine. |
|
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].initializeParams |
nested object |
Créez le disque à l'aide de ces paramètres. Le nom du disque sera <instance_name>-<five_random_characters> . |
|
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].initializeParams.diskSizeGb |
long |
Taille du disque créé en gigaoctets. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].initializeParams.sourceImage |
string |
Nom ou URL complète d'une image source à utiliser pour créer ce disque. Si vous fournissez un nom pour l'image source, le module ReplicaPool recherche une image portant ce nom dans votre projet. Si vous spécifiez une image fournie par Compute Engine, vous devez fournir l'URL complète avec le projet approprié, par exemple:https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/debian-wheezy-7-vYYYYMMDD |
|
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.initAction |
string |
Nom de l'action à exécuter lors de l'initialisation d'un ReplicaPoolModule. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.machineType |
string |
Type de machine de cette instance. URL complète ou nom de la ressource (par exemple, n1-standard-1 ). |
|
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.metadata |
nested object |
Les paires clé/valeur de métadonnées attribuées à cette instance. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.metadata.fingerPrint |
string |
Empreinte digitale des métadonnées. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.metadata.items[] |
list |
Liste des éléments de métadonnées. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.metadata.items[].key |
string |
Clé de métadonnées. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.metadata.items[].value |
string |
Valeur de métadonnées. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[] |
list |
Liste des interfaces réseau de l'instance. Actuellement, Google Compute Engine n'est compatible qu'avec une seule interface. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[].accessConfigs[] |
list |
Tableau de configurations pour cette interface. Ce paramètre indique comment cette interface est configurée pour interagir avec d'autres services réseau. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[].accessConfigs[].name |
string |
Nom de cette configuration d'accès. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[].accessConfigs[].natIp |
string |
Adresse IP externe associée à cette instance. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[].accessConfigs[].type |
string |
Type de ce fichier de configuration d'accès. (Actuellement, seul ONE_TO_ONE_NAT est légal.) |
|
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[].name |
string |
Nom de l'interface. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[].network |
string |
Nom du NetworkModule auquel cette interface s'applique. Si cet indicateur n'est pas spécifié ou est défini sur "default", le réseau "default" est utilisé. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[].networkIp |
string |
Adresse réseau interne IPv4 facultative à attribuer à l'instance pour cette interface réseau. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.onHostMaintenance |
string |
Définit le comportement de maintenance pour les instances de ce pool d'instances dupliquées.
Les valeurs acceptées sont les suivantes :
|
|
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.serviceAccounts[] |
list |
Liste des comptes de service à activer pour cette instance. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.serviceAccounts[].email |
string |
Adresse e-mail du compte de service. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.serviceAccounts[].scopes[] |
list |
Liste des champs d'application OAuth2 à obtenir pour le compte de service. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.tags |
nested object |
Liste des tags à appliquer à l'instance Google Compute Engine pour identifier les ressources. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.tags.fingerPrint |
string |
Empreinte de la balise. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.tags.items[] |
list |
Éléments contenus dans cette balise. | |
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.zone |
string |
Zone de ce ReplicaPool. | |
modules.(key).replicaPoolModule.resourceView |
string |
[Résultat uniquement] Nom de la vue de ressources associée à un module de pool de réplicas. Ce champ est généré par le service. |
|
modules.(key).type |
string |
Type de ce module>.
Valeurs acceptées :
|
|
name |
string |
Nom de ce modèle. Le nom doit respecter l'expression: [a-zA-Z0-9-_]{1,64} |
Méthodes
- delete
- Supprime un modèle. Le modèle est alors supprimé de votre projet. La suppression du modèle n'a aucune incidence sur les déploiements créés à partir de celui-ci.
- get
- Obtient des informations détaillées sur un modèle.
- insert
- Insère un modèle. L'insertion d'un modèle ne crée aucune ressource. Vous devez toujours créer un déploiement avec le modèle avant que les ressources physiques ne soient créées.
- list
- Répertorie tous les modèles d'un projet.