Pré-visualizar uma configuração

Esta página descreve como pré-visualizar um ficheiro de configuração antes de criar uma implementação. Para saber mais sobre as configurações, leia o artigo Vista geral das configurações.

Depois de escrever um ficheiro de configuração, pode pré-visualizar a configuração antes de criar uma implementação. A pré-visualização de uma configuração permite-lhe ver os recursos que o Deployment Manager criaria, mas não instancia recursos reais. O serviço Deployment Manager pré-visualiza a configuração através do seguinte:

  1. Expandir a configuração completa, incluindo todos os modelos.
  2. Criar uma implementação e recursos de "shell".

Pode pré-visualizar a configuração através do parâmetro de consulta preview quando faz um pedido insert().

Antes de começar

Pré-visualizar uma nova configuração

Pré-visualize uma configuração através da CLI Google Cloud ou fazendo um pedido direto à API.

gcloud

Se estiver a usar a Google Cloud CLI, use o subcomando create com a flag --preview:

gcloud deployment-manager deployments create example-config --config configuration-file.yaml \
     --preview

O servidor devolve uma lista de recursos cujo estado é IN_PREVIEW para sua revisão:

The fingerprint of the deployment is ulPDrJON8E5ySHKC5fcukw==
Waiting for create [operation-1492785372594-54dae2ddbff50-58d45d53-12d483cf]...done.
Create operation operation-1492785372594-54dae2ddbff50-58d45d53-12d483cf completed successfully.
NAME                      TYPE                 STATE       ERRORS  INTENT
datadisk-example  compute.v1.disk      IN_PREVIEW  []      CREATE_OR_ACQUIRE
vm-example        compute.v1.instance  IN_PREVIEW  []      CREATE_OR_ACQUIRE

API

Na API, use o método insert() com um corpo do pedido que contenha os campos target e name e o parâmetro de consulta preview=true. Indique a sua configuração no campo target.

Por exemplo, o seguinte pedido de API pré-visualiza um modelo simples:

POST https://www.googleapis.com/deploymentmanager/v2/projects/myproject/global/deployments?preview=true

{
 "name": "example-config",
 "target": {
  "config": {
    "content":  "resources:\n- name: vm-created-by-cloud-config\n  type: compute.v1.instance\n  properties:\n    zone: us-central1-a\n    machineType: https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/machineTypes/n1-standard-1\n    disks:\n    - deviceName: boot\n      type: PERSISTENT\n      boot: true\n      autoDelete: true\n      initializeParams:\n        diskName: disk-created-by-cloud-config\n        sourceImage: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/debian-7-wheezy-v20140619\n    networkInterfaces:\n    networkInterfaces:\n    - network: https://www.googleapis.com/compute/v1/projects/myproject/global/networks/default"
   }
  }
}

Quando uma implementação está no modo de pré-visualização, pode avançar com a implementação de uma das seguintes três formas:

Fazer várias pré-visualizações

Se quiser alterar a configuração e fazer outra pré-visualização, use o comando update com a flag --preview:

gcloud deployment-manager deployments update example-config \
    --config new-config.yaml --preview

Na API, faça um pedido PUT() com uma implementação existente e forneça o parâmetro de consulta preview=true. O corpo do pedido tem de conter os campos intent, target e name. Por exemplo, o pedido de API seguinte pré-visualiza uma atualização simples:

PUT https://www.googleapis.com/deploymentmanager/v2/projects/myproject/global/deployments/example-config?preview=true

{
 "target": {
  "config": {
   "content": "resources:\n- name: vm-created-by-cloud-config\n  type: compute.v1.instance\n  properties:\n    zone: us-central1-a\n    machineType: https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/machineTypes/n1-standard-1\n    disks:\n    - deviceName: boot\n      type: PERSISTENT\n      boot: true\n      autoDelete: true\n      initializeParams:\n        diskName: disk-created-by-cloud-config\n        sourceImage: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/debian-7-wheezy-v20140619\n    networkInterfaces:\n    - network: https://www.googleapis.com/compute/v1/projects/myproject/global/networks/default"
  }
 },
 "name": "example-config"
}

Implementar ou cancelar uma pré-visualização

Depois de pré-visualizar uma implementação, pode avançar com a implementação fazendo uma atualização e confirmando a configuração. Por exemplo, suponha que tem uma implementação denominada example-config atualmente no modo de pré-visualização. Pode avançar com a implementação executando o seguinte comando:

gcloud deployment-manager deployments update example-config

O Deployment Manager usa a configuração pré-visualizada mais recentemente para criar uma implementação.

Em alternativa, se não quiser continuar com a configuração, pode cancelar a pré-visualização e, em seguida, eliminar a implementação:

gcloud deployment-manager deployments cancel-preview example-config

Enquanto uma implementação estiver no modo de pré-visualização, não pode avançar com outra configuração. Por exemplo, suponha que tem uma implementação denominada example-config que está no modo de pré-visualização a usar uma configuração denominada vm.yaml. Decide que quer implementar uma nova configuração denominada two_vms.yaml na mesma implementação, ignorando o processo de pré-visualização. Enquanto o example-config estiver no modo de pré-visualização, não pode implementar uma nova configuração. Cancele a pré-visualização e, de seguida, atualize a implementação com a nova configuração.

O que se segue?