Como solucionar problemas de exclusão de projetos

Para resolver erros que impedem a exclusão de um projeto do Google Cloud, identifique e remova todas as dependências de recursos ou garantias do projeto. Se a exclusão do projeto falhar, use a Google Cloud CLI para encerrar o projeto e analisar a mensagem de erro.

Garantias

Se houver uma garantia em um projeto, esse projeto não poderá ser excluído até que a garantia seja removida. Se você tiver a permissão resourcemanager.projects.get no projeto, poderá listar as garantias aplicadas a um projeto com o comando liens list da CLI gcloud.

Para mais informações sobre garantias, consulte como proteger projetos com garantias.

Cloud Endpoints

Cloud Endpoints são recursos especiais considerados recursos filhos de um projeto. Esse fato pode bloquear a exclusão de um projeto com Endpoints.

O exemplo a seguir mostra uma tentativa de excluir um projeto usando a Google Cloud CLI que falha devido à existência de endpoints no projeto:

@cloudshell:~ ($project)$ gcloud projects delete $project
Your project will be deleted.

Do you want to continue (Y/n)?  Y

ERROR: (gcloud.projects.delete) FAILED_PRECONDITION: active child resource
- '@type':type.googleapis.com/google.rpc.PreconditionFailure
 violations:
 - description: active child resource
   subject: services/$service
- '@type':type.googleapis.com/google.rpc.ResourceInfo
 resourceName: projects/$project
 resourceType: PROJECT

Para resolver esse problema, exclua os Endpoints antes de tentar excluir o projeto.

Para mais informações sobre Endpoints, consulte a documentação do Cloud Endpoints.

Projetos de gerenciamento

Se um projeto for designado como um projeto de gerenciamento para uma pasta habilitada para apps, não será possível excluí-lo diretamente. Isso pode bloquear a exclusão de um projeto com uma mensagem de erro semelhante a esta:

ERROR: (gcloud.projects.delete) FAILED_PRECONDITION: Deletion is not allowed
because this project is the management project for the folder it resides in.

Para resolver esse problema, desative o gerenciamento de aplicativos na pasta mãe. Desativar o gerenciamento de aplicativos exclui automaticamente o projeto de gerenciamento.

Para desativar o gerenciamento de aplicativos usando a CLI gcloud, execute o seguinte comando:

gcloud resource-manager capabilities update folders/FOLDER_ID/capabilities/app-management --no-enable

Para instruções sobre como desativar o gerenciamento de aplicativos usando o console do Google Cloud , consulte Como gerenciar aplicativos em uma pasta.

Solução alternativa para estados órfãos

Em alguns casos, o gerenciamento de aplicativos de uma pasta mãe pode parecer desativado, mas o projeto associado permanece bloqueado com o mesmo erro. Para desvincular o projeto da pasta nesse cenário, limpe o nó de CRM do limite do App Hub.

Para limpar o limite usando a CLI gcloud, execute o seguinte comando:

gcloud alpha apphub boundary update --project=PROJECT_ID --location=global --crm-node=''

Nuvem Privada Virtual compartilhada

Se um projeto apresentar Nuvem Privada Virtual (VPC) compartilhada ou tiver projetos de serviço anexados, uma garantia bloqueará a exclusão do projeto.

Para mais detalhes e instruções sobre como desanexar projetos de serviço e desabilitar a VPC compartilhada, consulte Como desprovisionar a VPC compartilhada.