- Introduced Aggregator.sol for Chainlink-compatible oracle functionality, including round-based updates and access control. - Added OracleWithCCIP.sol to extend Aggregator with CCIP cross-chain messaging capabilities. - Created .gitmodules to include OpenZeppelin contracts as a submodule. - Developed a comprehensive deployment guide in NEXT_STEPS_COMPLETE_GUIDE.md for Phase 2 and smart contract deployment. - Implemented Vite configuration for the orchestration portal, supporting both Vue and React frameworks. - Added server-side logic for the Multi-Cloud Orchestration Portal, including API endpoints for environment management and monitoring. - Created scripts for resource import and usage validation across non-US regions. - Added tests for CCIP error handling and integration to ensure robust functionality. - Included various new files and directories for the orchestration portal and deployment scripts.
122 lines
3.3 KiB
Bash
Executable File
122 lines
3.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Region code mapping - Single source of truth
|
|
# All region codes are standardized to exactly 3 characters
|
|
# Usage: source "$SCRIPT_DIR/lib/config/regions.sh"
|
|
|
|
# Region codes mapping (standardized to exactly 3 characters)
|
|
declare -A REGION_CODES=(
|
|
["northeurope"]="nor"
|
|
["uksouth"]="uks"
|
|
["ukwest"]="ukw"
|
|
["westeurope"]="wst"
|
|
["francecentral"]="frc"
|
|
["germanywestcentral"]="gwc"
|
|
["switzerlandnorth"]="swn"
|
|
["switzerlandwest"]="swt"
|
|
["swedencentral"]="swc"
|
|
["norwayeast"]="noe"
|
|
["polandcentral"]="pol"
|
|
["spaincentral"]="spa"
|
|
["italynorth"]="ita"
|
|
["southindia"]="sin"
|
|
["centralindia"]="cin"
|
|
["westindia"]="win"
|
|
["belgiumcentral"]="bel"
|
|
["eastasia"]="eas"
|
|
["southeastasia"]="sea"
|
|
["japaneast"]="jpe"
|
|
["japanwest"]="jpw"
|
|
["koreacentral"]="kor"
|
|
["koreasouth"]="kos"
|
|
["australiaeast"]="aus"
|
|
["australiasoutheast"]="ase"
|
|
["newzealandnorth"]="nzl"
|
|
["indonesiacentral"]="idn"
|
|
["malaysiawest"]="mys"
|
|
["uaenorth"]="uae"
|
|
["qatarcentral"]="qat"
|
|
["israelcentral"]="ilc"
|
|
["canadacentral"]="can"
|
|
["canadaeast"]="cae"
|
|
["brazilsouth"]="bra"
|
|
["chilecentral"]="chl"
|
|
["mexicocentral"]="mex"
|
|
["southafricanorth"]="zaf"
|
|
["austriaeast"]="aut"
|
|
)
|
|
|
|
# Reverse mapping (code -> region name)
|
|
declare -A REGION_CODE_TO_NAME=()
|
|
for region_name in "${!REGION_CODES[@]}"; do
|
|
REGION_CODE_TO_NAME["${REGION_CODES[$region_name]}"]="$region_name"
|
|
done
|
|
|
|
# Old code mappings (for backward compatibility with existing resources)
|
|
declare -A OLD_CODE_TO_REGION=(
|
|
["ne"]="northeurope"
|
|
["we"]="westeurope"
|
|
["fc"]="francecentral"
|
|
["sn"]="switzerlandnorth"
|
|
["sw"]="switzerlandwest"
|
|
["in"]="italynorth"
|
|
["pc"]="polandcentral"
|
|
["sc"]="spaincentral"
|
|
["bc"]="belgiumcentral"
|
|
["ae"]="australiaeast" # Note: conflicts with austriaeast (old), prefer australiaeast
|
|
["ea"]="eastasia"
|
|
["ci"]="centralindia"
|
|
["si"]="southindia"
|
|
["wi"]="westindia"
|
|
["je"]="japaneast"
|
|
["jw"]="japanwest"
|
|
["kc"]="koreacentral"
|
|
["ks"]="koreasouth"
|
|
["cc"]="canadacentral"
|
|
["ce"]="canadaeast"
|
|
["bs"]="brazilsouth"
|
|
["mc"]="mexicocentral"
|
|
["qc"]="qatarcentral"
|
|
["ic"]="indonesiacentral"
|
|
["mw"]="malaysiawest"
|
|
["nzn"]="newzealandnorth"
|
|
["san"]="southafricanorth"
|
|
["uan"]="uaenorth"
|
|
["chc"]="chilecentral"
|
|
)
|
|
|
|
# Get all regions as array (region_name:code format)
|
|
get_all_regions() {
|
|
for region_name in "${!REGION_CODES[@]}"; do
|
|
echo "${region_name}:${REGION_CODES[$region_name]}"
|
|
done | sort
|
|
}
|
|
|
|
# Get region code by region name
|
|
get_region_code() {
|
|
local region_name="$1"
|
|
echo "${REGION_CODES[$region_name]:-}"
|
|
}
|
|
|
|
# Get region name by code (tries new codes first, then old codes)
|
|
get_region_name() {
|
|
local code="$1"
|
|
# Try new codes first
|
|
if [ -n "${REGION_CODE_TO_NAME[$code]:-}" ]; then
|
|
echo "${REGION_CODE_TO_NAME[$code]}"
|
|
return 0
|
|
fi
|
|
# Try old codes for backward compatibility
|
|
if [ -n "${OLD_CODE_TO_REGION[$code]:-}" ]; then
|
|
echo "${OLD_CODE_TO_REGION[$code]}"
|
|
return 0
|
|
fi
|
|
return 1
|
|
}
|
|
|
|
# Validate region code (must be 3 characters)
|
|
is_valid_region_code() {
|
|
local code="$1"
|
|
[[ "$code" =~ ^[a-z]{3}$ ]] && [ -n "${REGION_CODE_TO_NAME[$code]:-}" ]
|
|
}
|
|
|