#!/usr/bin/env bash

set -xeuo pipefail

# When changing this script, remember to modify the corresponding github action
vendor=${1}
env=${2}
region=${3}
logical_region=${4}
cluster=${5}
rsIpWhitelist=${6:-""}
dsIpWhitelist=${7:-""}

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

deploy_dir="${ROOT}/envs/${env}"
deploy_file="${deploy_dir}/regional-${vendor}-${logical_region}.yaml"
mkdir -p ${deploy_dir}

if [ -e ${deploy_file} ]; then
  echo "New region deploy file already exist, skip it"
else
  echo "Prepare waf file"
  cp "${ROOT}/variants/aws-waf-tmpl.yaml" "${deploy_file}"
  sed -i "s|TMPL_CLUSTER_NAME|${cluster}|g" ${deploy_file}
  if [ -n "${rsIpWhitelist}" ]; then
    IFS=',' read -ra IPS <<< "${rsIpWhitelist}"
    for ip in "${IPS[@]}"; do
      yq -i -y ".Resources.RsIpSet.Properties.Addresses += [\"${ip}\"]" ${deploy_file}
    done
  fi
  if [ -n "${dsIpWhitelist}" ]; then
    IFS=',' read -ra IPS <<< "${dsIpWhitelist}"
    for ip in "${IPS[@]}"; do
      yq -i -y ".Resources.DsIpSet.Properties.Addresses += [\"${ip}\"]" ${deploy_file}
    done
  fi
fi
