#!/bin/bash

set -euo pipefail

vendor=${1}
env=${2}
region=${3}
logical_region=${4}

# throw error if any of the arguments are not set
if [ -z "$vendor" ] || [ -z "$env" ] || [ -z "$region" ]; then
  echo "Error: Missing required arguments."
  echo "Usage: $0 <vendor> <env> <region>"
  exit 1
fi

ROOT=$(cd $(dirname ${BASH_SOURCE[0]}) && pwd)

# traverse folders and execute destroy-region.sh in each folder if exist.
for folder in $ROOT/*; do
    if [ -f "$folder/destroy-region.sh" ]; then
        echo "----- Start destroying $folder -----"
        pushd "$folder"
        # pass all the input params
        # prevent exit on error
        set +e
        bash destroy-region.sh "$@"
        # wait for command to succeed
        if [ $? -ne 0 ]; then
            echo "----- Failed to destroy $folder -----"
            exit 1
        fi
        echo "----- End destroying $folder -----"
        popd
    fi
done
