37 lines
898 B
JavaScript
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;
|
|
}
|
|
}
|