#!/bin/bash
set -euo pipefail

vendor=${1}
env=${2}
region=${3}
logical_region=${4}
cluster=${5}
# json_file_path=${6}
# additional_args=$(jq -r '.' "${json_file_path}")

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

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

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