Modelos

Cuidado:esta é uma versão descontinuada da API Deployment Manager. Use a versão mais recente da API.

Representa um recurso de modelo, que define as configurações das implantações.

Para ver uma lista de métodos desse recurso, consulte o fim desta página.

Representações de recursos

Um modelo representa uma configuração completa de uma implantação.

{
  "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 da propriedade Valor Descrição Observações
actions object Ações definidas para uso nos módulos definidos neste modelo.
actions.(key) nested object O nome dessa ação, usado ao especificar ações nas definições de módulo.
actions.(key).commands[] list Uma lista de comandos a serem executados sequencialmente para essa ação.
actions.(key).timeoutMs integer O tempo limite em milissegundos para a execução desta ação.
description string Uma descrição do modelo.
modules object Uma lista de módulos para este modelo.
modules.(key) nested object Nome do módulo. O nome precisa estar em conformidade com a seguinte expressão regular: [a-zA-Z0-9-_]{1,64}
modules.(key).autoscalingModule nested object Define um módulo de escalonamento automático.
modules.(key).autoscalingModule.coolDownPeriodSec integer O número de segundos que o escalonador automático precisa aguardar entre duas mudanças sucessivas no número de máquinas virtuais. Defina um intervalo com pelo menos o tempo de inicialização de uma máquina virtual. O padrão é 5 segundos.
modules.(key).autoscalingModule.description string Uma descrição opcional para este módulo de escalonamento automático.
modules.(key).autoscalingModule.maxNumReplicas integer O número máximo de réplicas que você quer escalonar automaticamente.
modules.(key).autoscalingModule.minNumReplicas integer O número mínimo de réplicas para escalonamento automático.
modules.(key).autoscalingModule.signalType string O indicador que o Deployment Manager precisa usar para determinar se o escalonamento automático é necessário.

Os valores aceitáveis são:
  • "AVG_CPU": usa a CPU média do módulo do pool de réplicas de destino para determinar quando escalonar.
modules.(key).autoscalingModule.targetModule string O módulo do pool de réplicas de destino a ser escalonado.
modules.(key).autoscalingModule.targetUtilization double A meta de utilização, entre (0, 1]. O escalonador automático trabalha para manter o valor do sinal desejado (atualmente, apenas a CPU média) aproximadamente nesse nível. Por exemplo, se a CPU média das suas réplicas estiver significativamente abaixo da utilização desejada, o escalonador automático vai reduzir o tamanho até atingir a utilização desejada ou o número mínimo de réplicas. Se a CPU média estiver acima desse número, o escalonador automático vai aumentar até atingir a utilização desejada ou o número máximo de recursos.
modules.(key).firewallModule nested object Cria um módulo de firewall equivalente a um recurso de firewall do Google Compute Engine.
modules.(key).firewallModule.allowed[] quilist Define as portas e os protocolos permitidos para esse firewall.
modules.(key).firewallModule.allowed[].IPProtocol string O protocolo IP permitido para este módulo de firewall. Pode ser tcp,udp, icmp ou um número de protocolo IP.
modules.(key).firewallModule.allowed[].ports[] list Lista de portas ou intervalos de portas permitidos (exemplos de entradas: ["22"], [?33?, "12345-12349"].
modules.(key).firewallModule.description string A descrição do firewall.
modules.(key).firewallModule.network string O módulo de rede a que esse firewall deve ser aplicado. Se não for especificado ou se for especificado como default, esse firewall será aplicado à rede default .
modules.(key).firewallModule.sourceRanges[] list Os blocos de endereços IP a que esta regra se aplica, expressos no formato CIDR. É possível definir sourceRanges e sourceTags ou apenas um deles. Uma conexão de entrada é permitida se o intervalo ou a tag da origem corresponder a sourceRanges ou sourceTags.
modules.(key).firewallModule.sourceTags[] list Uma lista de tags de instância a que esta regra se aplica. É possível definir sourceRanges e sourceTags ou apenas um deles. Uma conexão de entrada é permitida se o intervalo ou a tag da origem corresponder a sourceRanges ou sourceTags.
modules.(key).firewallModule.targetTags[] list  Uma lista de tags de instância que indicam conjuntos de instâncias localizadas na rede e que podem fazer conexões de rede conforme especificado em allowed[]. Se nenhum targetTags for especificado, a regra de firewall será aplicada a todas as instâncias na rede especificada.
modules.(key).healthCheckModule nested object Define um módulo de verificação de integridade para usar no balanceamento de carga.
modules.(key).healthCheckModule.checkIntervalSec integer Define o intervalo em segundos para realizar uma verificação de integridade. O padrão é 5 segundos.
modules.(key).healthCheckModule.description string Uma descrição do módulo de verificação de integridade.
modules.(key).healthCheckModule.healthyThreshold integer Especifica o número de novas tentativas bem-sucedidas antes que uma instância de máquina virtual não íntegra seja marcada como íntegra. O padrão é 2.
modules.(key).healthCheckModule.host string O valor do cabeçalho do host usado nesta solicitação de verificação de integridade. Por exemplo, se você estiver veiculando páginas da Web em uma instância usando o domínio www.meudominio.com, defina o nome do host como www.meudominio.com para que a verificação de integridade seja realizada. 

Por padrão, esse campo fica vazio, e o Google Compute Engine define automaticamente o cabeçalho do host nas solicitações de integridade para o mesmo endereço IP externo da regra de encaminhamento associada a esse pool de destino. Por exemplo, se um módulo de balanceamento de carga tiver um endereço IP externo de 1.2.3.4 e estiver direcionando o tráfego para um pool de módulo de destino chamado tp1 que tenha um objeto de verificação de integridade com uma configuração de host padrão, o cabeçalho do host será definido como 1.2.3.4.
modules.(key).healthCheckModule.path string O caminho da solicitação para essa verificação de integridade. Por exemplo, /healthcheck. O valor padrão é /
modules.(key).healthCheckModule.port integer O número da porta TCP para essa solicitação de verificação de integridade. O valor padrão é 80.
modules.(key).healthCheckModule.timeoutSec integer Se o Google Compute Engine não receber uma resposta HTTP 200 da instância até o timeoutSec, a solicitação de verificação de integridade será considerada um fracasso. O padrão é 5 segundos.
modules.(key).healthCheckModule.unhealthyThreshold integer Especifica o número de novas tentativas bem-sucedidas antes que uma instância de máquina virtual íntegra seja marcada como não íntegra. O padrão é 2.
modules.(key).lbModule nested object Especifica um módulo de balanceamento de carga.
modules.(key).lbModule.description string Uma descrição do módulo de balanceamento de carga.
modules.(key).lbModule.healthChecks[] list Uma lista de verificações de integridade a serem usadas para esse módulo de balanceamento de carga.
modules.(key).lbModule.ipAddress string Um IP estático externo que essa regra de encaminhamento atende. Ele pode ser um IP estático reservado ou, se deixado em branco ou não especificado, o padrão é atribuir um endereço IP temporário. Várias regras de encaminhamento podem usar o mesmo endereço IP, desde que o intervalo de portas e o protocolo não se sobreponham. Por exemplo, --ip="1.2.3.106".
modules.(key).lbModule.ipProtocol string O protocolo que esse módulo de balanceamento de carga está processando. 

Os valores aceitáveis são:
modules.(key).lbModule.portRange string A lista de portas pelas quais este balanceador de carga é responsável. Os pacotes do protocolo especificado enviados para essas portas serão encaminhados para o pool de destino apropriado. Se esse campo for deixado em branco, o balanceador de carga vai enviar tráfego para todas as portas do protocolo especificado. Pode ser uma única porta ou um intervalo de portas.
modules.(key).lbModule.targetModules[] list Especifica o módulo de destino que processa o tráfego desse balanceador de carga. Um módulo de tráfego contém uma ou mais instâncias de máquina virtual que vão receber o tráfego enviado para esse balanceador de carga. 
modules.(key).networkModule nested object Define um módulo de rede.
modules.(key).networkModule.IPv4Range string O intervalo de endereços internos que são válidos nesta rede. Esse intervalo é uma especificação CIDR, por exemplo: 192.168.0.0/16.
modules.(key).networkModule.description string A descrição da rede.
modules.(key).networkModule.gatewayIPv4 string Um endereço opcional usado para roteamento padrão para outras redes. Ele precisa estar dentro do intervalo especificado por IPv4Range e normalmente é o primeiro endereço utilizável nesse intervalo. Se não for especificado, o valor padrão será o primeiro endereço utilizável em IPv4Range.
modules.(key).replicaPoolModule nested object Especifica um módulo de pool de réplicas, que cria uma instância de máquina virtual do Compute Engine.
modules.(key).replicaPoolModule.envVariables object Uma lista de variáveis de ambiente.
modules.(key).replicaPoolModule.envVariables.(key) nested object Nome da variável de ambiente. O nome precisa estar em conformidade com a seguinte expressão regular: [a-zA-Z_]+[a-zA-Z0-9_]+.
modules.(key).replicaPoolModule.envVariables.(key).hidden boolean Se essa variável está oculta ou visível.
modules.(key).replicaPoolModule.envVariables.(key).value string Valor da variável de ambiente.
modules.(key).replicaPoolModule.healthChecks[] list Uma lista de verificações de integridade a serem usadas para este módulo de pool de réplicas.
modules.(key).replicaPoolModule.numReplicas integer Número de réplicas neste módulo.
modules.(key).replicaPoolModule.replicaPoolParams nested object Informações para um ReplicaPoolModule.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1 nested object Especificações do ReplicaPoolParams para uso com o ReplicaPools v1beta1.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.autoRestart boolean Se essas réplicas precisam ser reiniciadas em caso de falha. O valor padrão é true.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.baseInstanceName string O nome base das instâncias neste ReplicaPool.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.canIpForward boolean Ativa o encaminhamento de IP.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.description string Uma descrição textual opcional do recurso.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToAttach[] list Uma lista de recursos de disco permanente para anexar a cada réplica no pool. Cada disco será anexado no modo somente leitura a cada réplica.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToAttach[].attachment nested object Opcional. Como o disco será anexado à réplica.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToAttach[].attachment.deviceName string O nome do dispositivo desse disco.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToAttach[].attachment.index unsigned integer Um índice baseado em zero a ser atribuído a esse disco, em que 0 é reservado para o disco de inicialização. Se não for especificado, será atribuído pelo servidor.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToAttach[].source string O URL totalmente qualificado do recurso de disco permanente. Precisa estar na mesma zona que o pool.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[] list Uma lista de recursos de disco para criar e anexar a cada réplica no pool. No momento, só é possível definir um disco, e ele precisa ser um disco permanente raiz. O conjunto de réplicas vai criar um disco raiz permanente para cada réplica.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].attachment nested object Como o disco será anexado à réplica.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].attachment.deviceName string O nome do dispositivo desse disco.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].attachment.index unsigned integer Um índice baseado em zero a ser atribuído a esse disco, em que 0 é reservado para o disco de inicialização. Se não for especificado, será atribuído pelo servidor.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].autoDelete boolean Se for true, o disco será excluído quando a instância for excluída.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].boot boolean Se true, indica que este é o disco persistente raiz.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].initializeParams nested object Crie o novo disco usando esses parâmetros. O nome do disco será <instance_name>-<five_random_characters>.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].initializeParams.diskSizeGb long O tamanho do disco criado em gigabytes.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.disksToCreate[].initializeParams.sourceImage string O nome ou o URL completo de uma imagem de origem a ser usada para criar o disco. Se você fornecer um nome para a imagem de origem, o módulo ReplicaPool vai procurar uma imagem com esse nome no seu projeto. Se você estiver especificando uma imagem fornecida pelo Compute Engine, forneça o URL completo com o projeto correto, como:
https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/debian-wheezy-7-vYYYYMMDD
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.initAction string Nome da ação a ser executada durante a inicialização de um ReplicaPoolModule.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.machineType string O tipo de máquina para essa instância. Um URL completo ou o nome do recurso (por exemplo, n1-standard-1).
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.metadata nested object Os pares de chave-valor de metadados atribuídos a essa instância.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.metadata.fingerPrint string A impressão digital dos metadados.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.metadata.items[] list Uma lista de itens de metadados.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.metadata.items[].key string Uma chave de metadados.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.metadata.items[].value string Um valor de metadados.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[] list Uma lista de interfaces de rede para a instância. No momento, apenas uma interface é compatível com o Google Compute Engine.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[].accessConfigs[] list Uma matriz de configurações para essa interface. Isso especifica como essa interface é configurada para interagir com outros serviços de rede.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[].accessConfigs[].name string Nome desta configuração de acesso.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[].accessConfigs[].natIp string Um endereço IP externo associado a esta instância.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[].accessConfigs[].type string Tipo deste arquivo de configuração de acesso. No momento, apenas ONE_TO_ONE_NAT é legal.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[].name string Nome da interface.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[].network string O nome do NetworkModule a que esta interface se aplica. Se não for especificado ou for especificado como "padrão", a rede "padrão" será usada.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.networkInterfaces[].networkIp string Um endereço de rede interno IPV4 opcional a ser atribuído à instância para essa interface de rede.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.onHostMaintenance string Define o comportamento de manutenção das instâncias neste pool de réplicas. 

Os valores aceitáveis são:
  • "MIGRATE": migra as instâncias para fora dos eventos de manutenção sem reinicializar as instâncias.
  • "TERMINATE": encerra e reinicia as instâncias longe de eventos de manutenção.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.serviceAccounts[] list Uma lista de contas de serviço a serem ativadas para essa instância.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.serviceAccounts[].email string Endereço de e-mail da conta de serviço.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.serviceAccounts[].scopes[] list Lista de escopos do OAuth2 a serem recebidos para a conta de serviço.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.tags nested object Uma lista de tags a serem aplicadas à instância do Google Compute Engine para identificar recursos.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.tags.fingerPrint string A impressão digital da tag.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.tags.items[] list Itens contidos nesta tag.
modules.(key).replicaPoolModule.replicaPoolParams.v1beta1.zone string A zona deste ReplicaPool.
modules.(key).replicaPoolModule.resourceView string [Somente leitura] O nome da visualização de recursos associada a um
módulo de pool de réplicas. Esse campo é gerado pelo serviço.
 
modules.(key).type string O tipo deste módulo>.

Os valores aceitáveis são:
  • "AUTOSCALING": cria um módulo de escalonamento automático.
  • "FIREWALL": cria um módulo de firewall.
  • "HEALTH_CHECK": cria um módulo de verificação de integridade.
  • "LOAD_BALANCING": cria um módulo de balanceamento de carga.
  • "NETWORK": cria um módulo de rede.
  • "REPLICA_POOL": cria um módulo de pool de réplicas.
name string Nome deste modelo. O nome precisa estar em conformidade com a expressão: [a-zA-Z0-9-_]{1,64}

Métodos

excluir
Exclui um modelo. Isso remove o modelo do seu projeto. A remoção do modelo não afeta as implantações criadas com ele.
get
Recebe informações detalhadas sobre um modelo.
insert
Insere um modelo. Inserir um modelo não cria recursos. Você ainda precisa criar uma implantação com o modelo antes que os recursos físicos sejam criados.
list
Lista todos os modelos em um projeto.