Modèles

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 :
  • "AVG_CPU": utilise le CPU moyen de votre module de pool d'instances dupliquées cible pour déterminer quand effectuer l'ajustement.
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).hidden boolean Indique si cette variable est masquée ou visible.
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 :
  • "MIGRATE": permet de migrer les instances hors des événements de maintenance sans les redémarrer.
  • "TERMINATE": arrêtez et redémarrez les instances en dehors des événements de maintenance.
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 :
  • "AUTOSCALING": crée un module d'autoscaling
  • "FIREWALL": crée un module de pare-feu.
  • "HEALTH_CHECK": crée un module de vérification de l'état.
  • "LOAD_BALANCING": crée un module d'équilibrage de charge.
  • "NETWORK": crée un module de mise en réseau.
  • "REPLICA_POOL": crée un module de pool d'instances dupliqué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.