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.