Obtén la vista previa de una configuración

En esta página se describe cómo obtener una vista previa de un archivo de configuración antes de crear una implementación. Para obtener más información sobre la configuración, consulta Descripción general de configuraciones.

Una vez que escribiste un archivo de configuración, puedes obtener una vista previa de la configuración antes de crear una implementación. La vista previa de la configuración te permite ver los recursos que creará Deployment Manager, pero sin iniciar realmente los recursos. Para obtener una vista previa de la configuración, el servicio de Deployment Manager hace lo siguiente:

  1. Expande la configuración completa, incluidas todas las plantillas.
  2. Crea una implementación y recursos “shell”.

Puedes obtener una vista previa de la configuración mediante el uso del parámetro de búsqueda preview cuando realizas una solicitud insert().

Antes de comenzar

Obtener una vista previa de una nueva configuración

Para obtener una vista previa de una configuración, usa Google Cloud CLI o realiza una solicitud directa a la API.

gcloud

Si usas Google Cloud CLI, usa el subcomando create con la marca --preview:

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

El servidor muestra una lista de recursos cuyo estado es IN_PREVIEW para que los revises:

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

En la API, usa el método insert() con un cuerpo de solicitud que contiene los campos target y name y el parámetro de búsqueda preview=true. Proporciona tu configuración en el campo target.

Por ejemplo, en la siguiente solicitud a la API se ve la vista previa de una plantilla simple:

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"
   }
  }
}

Cuando una implementación está en modo de vista previa, puedes avanzar con la implementación de una de las siguientes tres maneras:

Realizar varias vistas previas

Si deseas realizar cambios en la configuración y otra vista previa, usa el comando update con la marca --preview:

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

En la API, realiza una solicitud PUT() con una implementación existente y proporciona el parámetro de búsqueda preview=true. El cuerpo de la solicitud debe contener los campos intent, target y name. Por ejemplo, en la siguiente solicitud a la API se ve la vista previa de una actualización simple:

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 o cancelar una vista previa

Luego de previsualizar una implementación, puedes avanzar con la implementación; para ello, realiza una actualización y confirma la configuración. Por ejemplo, supone que tienes una implementación llamada example-config actualmente en modo de vista previa. Puedes avanzar con la implementación mediante la ejecución del siguiente comando:

gcloud deployment-manager deployments update example-config

Deployment Manager usará la última configuración de vista previa para crear una implementación.

Como alternativa, si no deseas continuar con la configuración, puedes cancelar la vista previa y, luego, borrar la implementación:

gcloud deployment-manager deployments cancel-preview example-config

Cuando una implementación está en modo de vista previa, no puedes avanzar con otra configuración. Por ejemplo, supongamos que tienes una implementación llamada example-config en modo de vista previa con una configuración llamada vm.yaml. Decides que deseas implementar una configuración nueva llamada two_vms.yaml en la misma implementación, y omites el proceso de vista previa. Si bien example-config aún está en modo de vista previa, no puedes implementar una configuración nueva. Cancela la vista previa y, luego, actualiza la implementación con la configuración nueva.

¿Qué sigue?