Plantillas

Precaución: Esta es una versión obsoleta de la API de Deployment Manager. En su lugar, usa la versión más reciente de la API.

Representa un recurso de plantilla, que define la configuración de tus implementaciones.

Para obtener una lista de los métodos de este recurso, consulta el final de esta página.

Representaciones de recursos

Una plantilla representa una configuración completa para una implementación.

{
  "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
    }
  }
}
Nombre de la propiedad Valor Descripción Notas
actions object Acciones definidas para usar en los módulos que define esta plantilla.
actions.(key) nested object Es el nombre de esta acción, que se usa cuando se especifican acciones en las definiciones de módulos.
actions.(key).commands[] list Es una lista de comandos que se ejecutarán de forma secuencial para esta acción.
actions.(key).timeoutMs integer Es el tiempo de espera en milisegundos para que se ejecute esta acción.
description string Una descripción de esta plantilla.
modules object Es una lista de los módulos de esta plantilla.
modules.(key) nested object Es el nombre del módulo. El nombre debe cumplir con la siguiente expresión regular: [a-zA-Z0-9-_]{1,64}
modules.(key).autoscalingModule nested object Define un módulo de ajuste de escala automático.
modules.(key).autoscalingModule.coolDownPeriodSec integer Es la cantidad de segundos que el escalador automático debe esperar entre dos cambios consecutivos en la cantidad de máquinas virtuales. Debes definir un intervalo que sea al menos tan largo como el tiempo de inicialización de una máquina virtual. El valor predeterminado es de 5 segundos.
modules.(key).autoscalingModule.description string Una descripción opcional para este módulo de escalamiento automático.
modules.(key).autoscalingModule.maxNumReplicas integer La cantidad máxima de réplicas a las que deseas ajustar la escala automáticamente.
modules.(key).autoscalingModule.minNumReplicas integer Es la cantidad mínima de réplicas a las que deseas ajustar la escala automáticamente.
modules.(key).autoscalingModule.signalType string Es el indicador que debe usar el Administrador de implementaciones para determinar si se necesita el ajuste de escala automático.

Los valores aceptables son los siguientes:
  • "AVG_CPU": Usa la CPU promedio del módulo del grupo de réplicas objetivo para determinar cuándo escalar.
modules.(key).autoscalingModule.targetModule string Es el módulo del grupo de réplicas de destino que se escalará.
modules.(key).autoscalingModule.targetUtilization double El uso objetivo, entre (0, 1]. El escalador automático funciona para mantener el valor del indicador deseado (actualmente, solo la CPU promedio) en aproximadamente este nivel objetivo. Por ejemplo, si el uso de CPU promedio de tus réplicas es significativamente inferior al uso objetivo, el escalador automático reducirá la escala hasta alcanzar el uso objetivo o la cantidad mínima de réplicas. Si el uso promedio de CPU supera esta cantidad, el escalador automático aumentará la escala hasta alcanzar el uso objetivo o la cantidad máxima de recursos.
modules.(key).firewallModule nested object Crea un módulo de firewall, equivalente a un recurso de firewall de Google Compute Engine.
modules.(key).firewallModule.allowed[] quilist Define los puertos y protocolos permitidos para este firewall.
modules.(key).firewallModule.allowed[].IPProtocol string Es el protocolo IP permitido para este módulo de firewall. Puede ser tcp,udp, icmp o un número de protocolo IP.
modules.(key).firewallModule.allowed[].ports[] list Es la lista de puertos o rangos de puertos permitidos (entre los ejemplos de entradas, se incluyen los siguientes: ["22"], [?33?, "12345-12349"].
modules.(key).firewallModule.description string Es la descripción del firewall.
modules.(key).firewallModule.network string Es el módulo de red al que se debe aplicar este firewall. Si no se especifica o se especifica como default, este firewall se aplicará a la red default .
modules.(key).firewallModule.sourceRanges[] list Los bloques de direcciones IP a los que se aplica esta regla, expresados en formato CIDR. Se puede configurar uno o ambos de sourceRanges y sourceTags. Se permite una conexión entrante si el rango o la etiqueta de la fuente coinciden con sourceRanges o sourceTags.
modules.(key).firewallModule.sourceTags[] list Es una lista de etiquetas de instancia a las que se aplica esta regla. Se puede configurar uno o ambos de sourceRanges y sourceTags. Se permite una conexión entrante si el rango o la etiqueta de la fuente coinciden con sourceRanges o sourceTags.
modules.(key).firewallModule.targetTags[] list  Es una lista de etiquetas de instancias que indican conjuntos de instancias ubicadas en la red que pueden establecer conexiones de red, como se especifica en allowed[]. Si no se especifican targetTags , la regla de firewall se aplica a todas las instancias de la red especificada.
modules.(key).healthCheckModule nested object Define un módulo de verificación de estado para usar en el balanceo de cargas.
modules.(key).healthCheckModule.checkIntervalSec integer Establece el intervalo en segundos para realizar una verificación de estado. El valor predeterminado es de 5 segundos.
modules.(key).healthCheckModule.description string Una descripción de este módulo de verificación de estado.
modules.(key).healthCheckModule.healthyThreshold integer Especifica la cantidad de reintentos correctos antes de que una instancia de máquina virtual en mal estado se marque como en buen estado. El valor predeterminado es 2.
modules.(key).healthCheckModule.host string El valor del encabezado de host que se usó en esta solicitud de verificación de estado. Por ejemplo, si publicas páginas web desde una instancia con el dominio www.midominio.com, te recomendamos que configures el nombre de host como www.midominio.com para que se realice la verificación de estado de ese host. 

De forma predeterminada, este campo está vacío y Google Compute Engine establece automáticamente el encabezado de host en las solicitudes de estado en la misma dirección IP externa que la regla de reenvío asociada con este grupo de destino. Por ejemplo, si un módulo de balanceo de cargas tiene una dirección IP externa de 1.2.3.4 y dirige el tráfico a un grupo de módulos de destino llamado tp1 que tiene un objeto de verificación de estado con una configuración de host predeterminada, el encabezado de host se establecerá en 1.2.3.4.
modules.(key).healthCheckModule.path string La ruta de acceso de la solicitud para esta verificación de estado. Por ejemplo, /healthcheck. El valor predeterminado es /.
modules.(key).healthCheckModule.port integer Es el número de puerto TCP de esta solicitud de verificación de estado. El valor predeterminado es 80.
modules.(key).healthCheckModule.timeoutSec integer Si Google Compute Engine no recibe una respuesta HTTP 200 de la instancia antes de timeoutSec, la solicitud de verificación de estado se considera un error. El valor predeterminado es de 5 segundos.
modules.(key).healthCheckModule.unhealthyThreshold integer Especifica la cantidad de reintentos correctos antes de que una instancia de máquina virtual en buen estado se marque como en mal estado. El valor predeterminado es 2.
modules.(key).lbModule nested object Especifica un módulo de balanceo de cargas.
modules.(key).lbModule.description string Una descripción de este módulo de balanceo de cargas.
modules.(key).lbModule.healthChecks[] list Es una lista de verificaciones de estado que se usarán para este módulo de balanceo de cargas.
modules.(key).lbModule.ipAddress string Una IP estática externa en nombre de la que entrega esta regla de reenvío. Puede ser una IP estática reservada o, si se deja en blanco o no se especifica, la opción predeterminada es asignar una dirección IP efímera. Varias reglas de reenvío pueden usar la misma dirección IP, siempre que su rango de puertos y protocolo no se superpongan. Por ejemplo, --ip="1.2.3.106".
modules.(key).lbModule.ipProtocol string El protocolo que controla este módulo de balanceo de cargas. 

Los valores aceptables son los siguientes:
modules.(key).lbModule.portRange string Es la lista de puertos de los que es responsable este balanceador de cargas. Los paquetes del protocolo especificado que se envíen a estos puertos se reenvían al grupo de destino correspondiente. Si este campo se deja vacío, el balanceador de cargas envía tráfico para todos los puertos del protocolo especificado. Puede ser un solo puerto o un rango de puertos.
modules.(key).lbModule.targetModules[] list Especifica el módulo de destino que controla el tráfico de este balanceador de cargas. Un módulo de tráfico contiene una o más instancias de máquina virtual que recibirán el tráfico enviado a este balanceador de cargas. 
modules.(key).networkModule nested object Define un módulo de red.
modules.(key).networkModule.IPv4Range string Es el rango de direcciones internas que son legales en esta red. Este rango es una especificación CIDR, por ejemplo: 192.168.0.0/16.
modules.(key).networkModule.description string Es la descripción de la red.
modules.(key).networkModule.gatewayIPv4 string Es una dirección opcional que se usa para el enrutamiento predeterminado a otras redes. Debe estar dentro del rango especificado por IPv4Range y, por lo general, es la primera dirección utilizable en ese rango. Si no se especifica, el valor predeterminado es la primera dirección utilizable en IPv4Range.
modules.(key).replicaPoolModule nested object Especifica un módulo de grupo de réplicas, que crea una instancia de máquina virtual de Compute Engine.
modules.(key).replicaPoolModule.envVariables object Una lista de variables de entorno.
modules.(key).replicaPoolModule.envVariables.(key) nested object Es el nombre de la variable de entorno. El nombre debe cumplir con la siguiente expresión regular: [a-zA-Z_]+[a-zA-Z0-9_]+.
modules.(key).replicaPoolModule.envVariables.(key).hidden boolean Indica si esta variable está oculta o visible.
modules.(key).replicaPoolModule.envVariables.(key).value string Es el valor de la variable de entorno.
modules.(key).replicaPoolModule.healthChecks[] list Es una lista de verificaciones de estado que se usarán para este módulo de grupo de réplicas.
modules.(key).replicaPoolModule.numReplicas integer Cantidad de réplicas en este módulo.
modules.(key).replicaPoolModule.replicaPoolParams nested object Información para un ReplicaPoolModule.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1 nested object Especificaciones de ReplicaPoolParams para usar con ReplicaPools v1beta1.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.autoRestart boolean Si se deben reiniciar estas réplicas si experimentan una falla. El valor predeterminado es true.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.baseInstanceName string Es el nombre base de las instancias dentro de este ReplicaPool.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.canIpForward boolean Habilita el reenvío de IP.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.description string Una descripción textual opcional del recurso.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToAttach[] list Es una lista de recursos de disco persistente existentes para conectar a cada réplica del grupo. Cada disco se conectará en modo de solo lectura a cada réplica.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToAttach[].attachment nested object Opcional. Indica cómo se adjuntará el disco a la réplica.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToAttach[].attachment.deviceName string Es el nombre del dispositivo de este disco.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToAttach[].attachment.index unsigned integer Es un índice basado en cero que se asignará a este disco, en el que 0 está reservado para el disco de arranque. Si no se especifica, el servidor lo asigna.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToAttach[].source string Es la URL completamente calificada del recurso de disco persistente. Debe estar en la misma zona que el grupo.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[] list Es una lista de recursos de disco que se crearán y adjuntarán a cada réplica del grupo. Actualmente, solo puedes definir un disco, que debe ser un disco persistente raíz. Ten en cuenta que el grupo de réplicas creará un disco persistente raíz para cada réplica.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].attachment nested object Indica cómo se adjuntará el disco a la réplica.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].attachment.deviceName string Es el nombre del dispositivo de este disco.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].attachment.index unsigned integer Es un índice basado en cero que se asignará a este disco, en el que 0 está reservado para el disco de arranque. Si no se especifica, el servidor lo asigna.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].autoDelete boolean Si es true, este disco se borrará cuando se borre la instancia.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].boot boolean Si es true, indica que este es el disco persistente raíz.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].initializeParams nested object Crea el disco nuevo con estos parámetros. El nombre del disco será <instance_name>-<five_random_characters>.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].initializeParams.diskSizeGb long Es el tamaño del disco creado en gigabytes.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].initializeParams.sourceImage string Es el nombre o la URL completamente calificada de una imagen de origen que se usará para crear este disco. Si proporcionas un nombre para la imagen de origen, el módulo ReplicaPool buscará una imagen con ese nombre en tu proyecto. Si especificas una imagen proporcionada por Compute Engine, deberás proporcionar la URL completa con el proyecto correcto, como el siguiente ejemplo:
https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/debian-wheezy-7-vYYYYMMDD
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.initAction string Es el nombre de la acción que se ejecutará durante la inicialización de un ReplicaPoolModule.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.machineType string Es el tipo de máquina de esta instancia. Una URL completa o el nombre del recurso (p.ej., n1-standard-1).
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.metadata nested object Los pares clave-valor de metadatos asignados a esta instancia.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.metadata.fingerPrint string La huella digital de los metadatos
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.metadata.items[] list Es una lista de elementos de metadatos.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.metadata.items[].key string Una clave de metadatos
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.metadata.items[].value string Un valor de metadatos.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[] list Una lista de interfaces de red para la instancia. Actualmente, Google Compute Engine solo admite una interfaz.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[].accessConfigs[] list Un array de parámetros de configuración para esta interfaz. Esto especifica cómo se configura esta interfaz para interactuar con otros servicios de red.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[].accessConfigs[].name string Es el nombre de esta configuración de acceso.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[].accessConfigs[].natIp string Una dirección IP externa asociada con esta instancia.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[].accessConfigs[].type string Es el tipo de este archivo de configuración de acceso. (Actualmente, solo ONE_TO_ONE_NAT es legal).
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[].name string Es el nombre de la interfaz.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[].network string Es el nombre del NetworkModule al que se aplica esta interfaz. Si no se especifica o se especifica como "predeterminada", se usará la red "predeterminada".
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[].networkIp string Es una dirección de red interna IPv4 opcional que se asigna a la instancia para esta interfaz de red.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.onHostMaintenance string Establece el comportamiento de mantenimiento de las instancias de este grupo de réplicas. 

Los valores aceptables son los siguientes:
  • "MIGRATE": Migra las instancias de los eventos de mantenimiento sin reiniciarlas.
  • "TERMINATE": Finaliza y reinicia las instancias fuera de los eventos de mantenimiento.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.serviceAccounts[] list Es una lista de cuentas de servicio que se habilitarán para esta instancia.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.serviceAccounts[].email string Dirección de correo electrónico de la cuenta de servicio.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.serviceAccounts[].scopes[] list Es la lista de alcances de OAuth2 que se deben obtener para la cuenta de servicio.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.tags nested object Es una lista de etiquetas que se aplicarán a la instancia de Google Compute Engine para identificar recursos.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.tags.fingerPrint string La huella digital de la etiqueta
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.tags.items[] list Son los elementos que contiene esta etiqueta.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.zone string Es la zona de este ReplicaPool.
modules.(key).replicaPoolModule.resourceView string [Solo salida] El nombre de la vista de recursos asociada con un
módulo del grupo de réplicas. El servicio genera este campo.
 
modules.(key).type string Es el tipo de este módulo>.

Los valores aceptables son los siguientes:
  • "AUTOSCALING": Crea un módulo de escalamiento automático.
  • "FIREWALL": Crea un módulo de firewall.
  • "HEALTH_CHECK": Crea un módulo de verificación de estado.
  • "LOAD_BALANCING": Crea un módulo de balanceo de cargas.
  • "NETWORK": Crea un módulo de red.
  • "REPLICA_POOL": Crea un módulo de grupo de réplicas.
name string Es el nombre de esta plantilla. El nombre debe cumplir con la expresión: [a-zA-Z0-9-_]{1,64}

Métodos

delete
Borra una plantilla. De esta forma, se quitará la plantilla de tu proyecto. Quitar la plantilla no afecta a ninguna implementación que se haya creado a partir de ella.
get
Obtiene información detallada sobre una plantilla.
insert
Inserta una plantilla. Si insertas una plantilla, no se creará ningún recurso. Aún debes crear una implementación con la plantilla antes de crear los recursos físicos.
list
Enumera todas las plantillas de un proyecto.