#!/usr/bin/env bash [ -n "$GCLOUDRIG_DEBUG" ] && set -x # full path to script dir DIR="$( cd "$( dirname -- "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" # load globals # shellcheck source=globals.sh source "$DIR/globals.sh" init_gcloudrig; # shut it down gcloudrig_stop || echo -n # delete managed instance group gcloudrig_delete_instance_group # remove software install metadata gcloud compute project-info remove-metadata \ --keys "gcloudrig-setup-script-gcs-url,gcloudrig-setup-state,gcloudrig-setup-options" || echo -n # remove software install script gsutil rm "$GCSBUCKET/gcloudrig.psm1" || echo -n # delete images images=() mapfile -t images < <(gcloud compute images list \ --format "value(name)" \ --filter "labels.$GCRLABEL=true") for image in "${images[@]}"; do gcloud compute images delete "$image" || echo -n done # delete disks, if left behind disks=() mapfile -t disks < <(gcloud compute disks list \ --filter="name:gcloudrig" \ --format="csv[no-heading](name,zone)") for name_zone in "${disks[@]}"; do name="${name_zone%%,*}" zone="${name_zone##*,}" gcloud compute disks delete "$name" \ --zone "$zone" || echo -n done # delete snapshots SNAPSHOTS=() mapfile -t SNAPSHOTS < <(gcloud compute snapshots list \ --format "value(name)" \ --filter "labels.$GCRLABEL=true") for SNAP in "${SNAPSHOTS[@]}"; do gcloud compute snapshots delete "$SNAP" || echo -n done # delete 'gcloud config configuration' gcloud config configurations activate NONE || echo -n gcloud config configurations delete "$CONFIGURATION"