summaryrefslogtreecommitdiffstats
path: root/ansible_collections/google/cloud/scripts/cleanup-project.sh
diff options
context:
space:
mode:
Diffstat (limited to 'ansible_collections/google/cloud/scripts/cleanup-project.sh')
-rwxr-xr-xansible_collections/google/cloud/scripts/cleanup-project.sh17
1 files changed, 15 insertions, 2 deletions
diff --git a/ansible_collections/google/cloud/scripts/cleanup-project.sh b/ansible_collections/google/cloud/scripts/cleanup-project.sh
index 4dd4ddb0a..b05a2f15f 100755
--- a/ansible_collections/google/cloud/scripts/cleanup-project.sh
+++ b/ansible_collections/google/cloud/scripts/cleanup-project.sh
@@ -40,8 +40,21 @@ cleanup_resource() {
extra_list_arg="$3"
extra_delete_arg="$4"
- for resource_id in $(gcloud "${resource_group}" "${resource}" list --project="${PROJECT_ID}" --format="csv[no-heading](name)" "${extra_list_arg}"); do
- gcloud "${resource_group}" "${resource}" delete "${resource_id}" --project="${PROJECT_ID}" -q "${extra_delete_arg}"
+ if [ -z "$extra_list_arg" ]
+ then
+ mapfile -t resources < <(gcloud "${resource_group}" "${resource}" list --project="${PROJECT_ID}" --format="csv[no-heading](name)")
+ else
+ mapfile -t resources < <(gcloud "${resource_group}" "${resource}" list --project="${PROJECT_ID}" --format="csv[no-heading](name)" "${extra_list_arg}")
+ fi
+
+ for resource_id in "${resources[@]}"
+ do
+ if [ -z "$extra_delete_arg" ]
+ then
+ gcloud "${resource_group}" "${resource}" delete "${resource_id}" --project="${PROJECT_ID}" -q
+ else
+ gcloud "${resource_group}" "${resource}" delete "${resource_id}" --project="${PROJECT_ID}" -q "${extra_delete_arg}"
+ fi
done
}