Excluir uma nuvem privada

Uma nuvem privada consiste em um ou mais clusters do vSphere. Quando você exclui uma nuvem privada, todos os clusters e os respectivos nós são excluídos.

Antes de começar

A exclusão de uma nuvem privada exclui toda a nuvem privada. Todos os componentes da nuvem privada são excluídos, incluindo todos os nós da nuvem privada. Se você quiser manter algum dos dados, faça backup deles no armazenamento local ou em outro armazenamento.

Estes são os componentes de uma nuvem privada:

  • Nós
  • Máquinas virtuais
  • VLANs e sub-redes de gerenciamento
  • Sub-redes de carga de trabalho
  • Todos os dados do usuário armazenados na nuvem privada
  • Todos os anexos de regra de firewall a uma sub-rede

gcloud e requisitos de API

Para usar a ferramenta de linha de comando gcloud ou a API para gerenciar os recursos do VMware Engine, recomendamos configurar as ferramentas conforme descrito abaixo.

gcloud

  1. Defina o ID do projeto padrão:

    gcloud config set project PROJECT_ID
    
  2. Defina uma região e uma zona padrão.

    gcloud config set compute/region REGION
    
    gcloud config set compute/zone ZONE
    

Para mais informações sobre a ferramenta gcloud vmware, consulte os documentos de referência do SDK Cloud.

API

Os exemplos de API neste conjunto de documentação usam a ferramenta de linha de comando cURL para consultar a API. Um token de acesso válido é necessário como parte da solicitação cURL. Há muitas maneiras de conseguir um token de acesso válido. As etapas a seguir usam a ferramenta gcloud para gerar um token de acesso:

  1. Faça login no Google Cloud:

    gcloud auth login
    
  2. Gere o token de acesso e exporte para o TOKEN:

    export TOKEN=`gcloud auth print-access-token`
    
  3. Verifique se o TOKEN está definido corretamente:

    echo $TOKEN
    

Use agora o token de autorização nas solicitações para a API. Exemplo:

curl -X GET -H "Authorization: Bearer \"$TOKEN\"" -H "Content-Type: application/json; charset=utf-8" https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations

Python

Os exemplos de código Python nesta documentação usam a biblioteca do VMware Engine para se comunicar com a API. Para usar essa abordagem, a biblioteca precisa estar instalada e o Application Default Credentials precisa estar configurado.

  1. Faça o download e instale a biblioteca Python:

    pip install google-cloud-vmwareengine
    
  2. Configure as informações do ADC executando estes comandos no shell:

    gcloud auth application-default login
    

    Ou use um arquivo de chave da conta de serviço:

    export GOOGLE_APPLICATION_CREDENTIALS="FILE_PATH"
    

Para mais informações sobre a biblioteca, acesse a página de referência ou veja os exemplos de código no GitHub.

Excluir uma nuvem privada

Console

  1. Vá para o Console do Google Cloud
  2. Na navegação principal, clique em Nuvens privadas.
  3. Selecione a nuvem privada que você quer excluir.
  4. Na página de resumo, clique em Excluir esta nuvem privada.
  5. Na página de confirmação, você será solicitado a verificar todos os resultados da ação de exclusão. Leia-os com cuidado e continue com a exclusão apenas se você estiver pronto para aceitar os resultados. Quando você estiver pronto para aceitar os resultados, marque todas as caixas de seleção.
  6. Insira um número de horas para aguardar antes de executar a exclusão (de 1 a 8 horas). Nesse período, é possível cancelar a exclusão clicando em Cancelar.
  7. Para verificar se você sabe qual nuvem privada está excluindo, insira o nome da nuvem privada a ser excluída.
  8. Clique em Excluir para marcar a nuvem particular para exclusão.

O processo de exclusão começa após o tempo especificado em horas, e é executado até a conclusão.

gcloud

Para excluir uma nuvem privada usando a Google Cloud CLI, use o comando gcloud vmware private-clouds delete.

  gcloud vmware private-clouds delete PRIVATE_CLOUD_ID \
     --location=ZONE [--delay-hours=HOURS]

Substitua:

  • PRIVATE_CLOUD_ID: o ID da nuvem privada da solicitação.
  • ZONE: a zona desta nuvem privada
  • HOURS: o número de horas de atraso dessa solicitação. Por padrão, esse valor é definido como três horas, mas é possível ser definido de 0 a 8 horas. Definir esse valor como 0 significa que a solicitação de exclusão começará imediatamente.

API

Para excluir uma nuvem privada usando a API VMware Engine, faça uma solicitação DELETE:

curl -X DELETE -H "Authorization: Bearer TOKEN"  -H "Content-Type: application/json; charset=utf-8" https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds?privateCloudId=PRIVATE_CLOUD_ID&mps;delayHours=HOUR

Substitua:

  • TOKEN: o token de autorização da solicitação.
  • PROJECT_ID: o projeto para esta solicitação
  • ZONE: a zona da nuvem privada
  • PRIVATE_CLOUD_ID: o ID da nuvem privada da nuvem privada.
  • HOUR: o número de horas para atrasar essa solicitação; o padrão é 3. Você pode definir uma hora entre 0 e 8. Definir esse valor como 0 inicia a solicitação de exclusão imediatamente.

Python

A exclusão de uma nuvem privada com a biblioteca do VMWare Engine é um processo de uma etapa em comparação com o uso do console do Google Cloud. Tenha muito cuidado ao chamar métodos de exclusão da nuvem privada.

from google.api_core import operation
from google.cloud import vmwareengine_v1

def delete_private_cloud_by_full_name(cloud_name: str) -> operation.Operation:
    """
    Deletes VMWare Private Cloud.

    Args:
        cloud_name: identifier of the Private Cloud you want to delete.
            Expected format:
            projects/{project_name}/locations/{zone}/privateClouds/{cloud}

    Returns:
        An Operation object related to started private cloud deletion operation.
    """
    client = vmwareengine_v1.VmwareEngineClient()
    request = vmwareengine_v1.DeletePrivateCloudRequest()
    request.force = True
    request.delay_hours = 3
    request.name = cloud_name
    return client.delete_private_cloud(request)

def delete_private_cloud(
    project_id: str, zone: str, cloud_name: str
) -> operation.Operation:
    """
    Deletes VMWare Private Cloud.

    Args:
        project_id: name of the project hosting the private cloud.
        zone: zone in which the private cloud is located in.
        cloud_name: name of the private cloud to be deleted.

    Returns:
        An Operation object related to started private cloud deletion operation.
    """
    return delete_private_cloud_by_full_name(
        f"projects/{project_id}/locations/{zone}/privateClouds/{cloud_name}"
    )

Cancelar a exclusão de uma nuvem privada

É possível cancelar a exclusão de uma nuvem privada dentro do período de espera. Siga estas etapas:

Console

  1. Vá para o Console do Google Cloud
  2. Na navegação principal, clique em Nuvens privadas.
  3. Selecione a nuvem privada que você marcou para exclusão.
  4. Na página de resumo, clique em Cancelar exclusão para cancelar a exclusão da nuvem privada.

gcloud

Para cancelar a exclusão de uma nuvem privada usando a Google Cloud CLI, use o comando gcloud vmware private-clouds undelete:

  gcloud vmware private-clouds undelete PRIVATE_CLOUD_ID \
     --location=ZONE

Substitua:

  • PRIVATE_CLOUD_ID: o ID da nuvem privada da solicitação.
  • ZONE: a zona desta nuvem privada

API

Para cancelar a exclusão de uma nuvem privada usando a API VMware Engine, faça uma solicitação POST:

curl -X POST -H "Authorization: Bearer TOKEN"  -H "Content-Type: application/json; charset=utf-8" https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds?privateCloudId=PRIVATE_CLOUD_ID:undelete

Substitua:

  • TOKEN: o token de autorização da solicitação.
  • PROJECT_ID: o ID do projeto desta solicitação
  • ZONE: a zona da nuvem privada
  • PRIVATE_CLOUD_ID: o ID da nuvem privada da solicitação.

Python

from google.api_core import operation
from google.cloud import vmwareengine_v1

def cancel_private_cloud_deletion_by_full_name(cloud_name: str) -> operation.Operation:
    """
    Cancels in progress deletion of VMWare Private Cloud.

    Args:
        cloud_name: identifier of the Private Cloud you want to cancel deletion for.
            Expected format:
            projects/{project_name}/locations/{zone}/privateClouds/{cloud}

    Returns:
        An Operation object related to canceling private cloud deletion operation.
    """
    client = vmwareengine_v1.VmwareEngineClient()
    request = vmwareengine_v1.UndeletePrivateCloudRequest()
    request.name = cloud_name
    return client.undelete_private_cloud(request)

def cancel_private_cloud_deletion(
    project_id: str, zone: str, cloud_name: str
) -> operation.Operation:
    """
    Cancels in progress deletion of VMWare Private Cloud.

    Args:
        project_id: name of the project hosting the private cloud.
        zone: zone in which the private cloud is located in.
        cloud_name: name of the private cloud to cancel deletion for.

    Returns:
        An Operation object related to canceling private cloud deletion operation.
    """
    return cancel_private_cloud_deletion_by_full_name(
        f"projects/{project_id}/locations/{zone}/privateClouds/{cloud_name}"
    )