PROBLEM
The whole idea of placing a lien on a project is to prevent accidental deletion.
But, sometimes it’s a little pain in the ass to attempt a project deletion in GCP Console only to find out a lien was set, especially during the development phase.
Then, we grumpily open up Cloud Shell and run a series of commands to delete the project.
SOLUTION
To play fast and loose in the name of Shitty Agile, create a script called delete-project.sh
with the following content:-
#!/bin/bash
set -e
project_id="$1"
gcloud config set project "${project_id}"
lien_id=$(gcloud alpha resource-manager liens list --format=json | jq -r '.[0] .name' | sed -e 's/liens\///g')
[[ "${lien_id}" != "null" ]] && gcloud alpha resource-manager liens delete "${lien_id}"
gcloud projects delete "${project_id}" --quiet
This script will delete a project regardless the existence of lien.
From Cloud Shell, run this bad boy:-
./delete-project.sh [PROJECT_ID]
Leave a Reply