Files

37 lines
898 B
JavaScript

/**
* Copyright IBM Corp. 2021, 2026
* SPDX-License-Identifier: BUSL-1.1
*/
/**
* Checks that the provided environment variables are set
* @param {string[]} envs List of environment variables
*/
export async function checkEnv(envs) {
let missing = [];
for (let env in envs) {
if (!process.env[envs[env]]) {
missing.push(envs[env]);
}
}
if (missing.length > 0) {
throw new Error('Missing Environment Variables -- ' + missing);
}
}
/**
* Checks if a controller address is an AWS controller by examining the hostname for 'amazonaws.com'
* @param {*} controllerAddr
* @returns
*/
export async function isAwsController(controllerAddr) {
try {
const { hostname } = new URL(controllerAddr);
return hostname === 'amazonaws.com' || hostname.endsWith('.amazonaws.com');
} catch {
// If the URL is invalid, treat it as non-AWS.
return false;
}
}