diff options
Diffstat (limited to 'ansible_collections/google/cloud/scripts/cleanup-project.sh')
-rwxr-xr-x | ansible_collections/google/cloud/scripts/cleanup-project.sh | 17 |
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 } |