Initial
This commit is contained in:
6
resources/app/node_modules/@smithy/util-defaults-mode-node/dist-es/constants.js
generated
vendored
Normal file
6
resources/app/node_modules/@smithy/util-defaults-mode-node/dist-es/constants.js
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
export const AWS_EXECUTION_ENV = "AWS_EXECUTION_ENV";
|
||||
export const AWS_REGION_ENV = "AWS_REGION";
|
||||
export const AWS_DEFAULT_REGION_ENV = "AWS_DEFAULT_REGION";
|
||||
export const ENV_IMDS_DISABLED = "AWS_EC2_METADATA_DISABLED";
|
||||
export const DEFAULTS_MODE_OPTIONS = ["in-region", "cross-region", "mobile", "standard", "legacy"];
|
||||
export const IMDS_REGION_PATH = "/latest/meta-data/placement/region";
|
||||
11
resources/app/node_modules/@smithy/util-defaults-mode-node/dist-es/defaultsModeConfig.js
generated
vendored
Normal file
11
resources/app/node_modules/@smithy/util-defaults-mode-node/dist-es/defaultsModeConfig.js
generated
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
const AWS_DEFAULTS_MODE_ENV = "AWS_DEFAULTS_MODE";
|
||||
const AWS_DEFAULTS_MODE_CONFIG = "defaults_mode";
|
||||
export const NODE_DEFAULTS_MODE_CONFIG_OPTIONS = {
|
||||
environmentVariableSelector: (env) => {
|
||||
return env[AWS_DEFAULTS_MODE_ENV];
|
||||
},
|
||||
configFileSelector: (profile) => {
|
||||
return profile[AWS_DEFAULTS_MODE_CONFIG];
|
||||
},
|
||||
default: "legacy",
|
||||
};
|
||||
1
resources/app/node_modules/@smithy/util-defaults-mode-node/dist-es/index.js
generated
vendored
Normal file
1
resources/app/node_modules/@smithy/util-defaults-mode-node/dist-es/index.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export * from "./resolveDefaultsModeConfig";
|
||||
52
resources/app/node_modules/@smithy/util-defaults-mode-node/dist-es/resolveDefaultsModeConfig.js
generated
vendored
Normal file
52
resources/app/node_modules/@smithy/util-defaults-mode-node/dist-es/resolveDefaultsModeConfig.js
generated
vendored
Normal file
@@ -0,0 +1,52 @@
|
||||
import { NODE_REGION_CONFIG_OPTIONS } from "@smithy/config-resolver";
|
||||
import { loadConfig } from "@smithy/node-config-provider";
|
||||
import { memoize } from "@smithy/property-provider";
|
||||
import { AWS_DEFAULT_REGION_ENV, AWS_EXECUTION_ENV, AWS_REGION_ENV, DEFAULTS_MODE_OPTIONS, ENV_IMDS_DISABLED, IMDS_REGION_PATH, } from "./constants";
|
||||
import { NODE_DEFAULTS_MODE_CONFIG_OPTIONS } from "./defaultsModeConfig";
|
||||
export const resolveDefaultsModeConfig = ({ region = loadConfig(NODE_REGION_CONFIG_OPTIONS), defaultsMode = loadConfig(NODE_DEFAULTS_MODE_CONFIG_OPTIONS), } = {}) => memoize(async () => {
|
||||
const mode = typeof defaultsMode === "function" ? await defaultsMode() : defaultsMode;
|
||||
switch (mode?.toLowerCase()) {
|
||||
case "auto":
|
||||
return resolveNodeDefaultsModeAuto(region);
|
||||
case "in-region":
|
||||
case "cross-region":
|
||||
case "mobile":
|
||||
case "standard":
|
||||
case "legacy":
|
||||
return Promise.resolve(mode?.toLocaleLowerCase());
|
||||
case undefined:
|
||||
return Promise.resolve("legacy");
|
||||
default:
|
||||
throw new Error(`Invalid parameter for "defaultsMode", expect ${DEFAULTS_MODE_OPTIONS.join(", ")}, got ${mode}`);
|
||||
}
|
||||
});
|
||||
const resolveNodeDefaultsModeAuto = async (clientRegion) => {
|
||||
if (clientRegion) {
|
||||
const resolvedRegion = typeof clientRegion === "function" ? await clientRegion() : clientRegion;
|
||||
const inferredRegion = await inferPhysicalRegion();
|
||||
if (!inferredRegion) {
|
||||
return "standard";
|
||||
}
|
||||
if (resolvedRegion === inferredRegion) {
|
||||
return "in-region";
|
||||
}
|
||||
else {
|
||||
return "cross-region";
|
||||
}
|
||||
}
|
||||
return "standard";
|
||||
};
|
||||
const inferPhysicalRegion = async () => {
|
||||
if (process.env[AWS_EXECUTION_ENV] && (process.env[AWS_REGION_ENV] || process.env[AWS_DEFAULT_REGION_ENV])) {
|
||||
return process.env[AWS_REGION_ENV] ?? process.env[AWS_DEFAULT_REGION_ENV];
|
||||
}
|
||||
if (!process.env[ENV_IMDS_DISABLED]) {
|
||||
try {
|
||||
const { getInstanceMetadataEndpoint, httpRequest } = await import("@smithy/credential-provider-imds");
|
||||
const endpoint = await getInstanceMetadataEndpoint();
|
||||
return (await httpRequest({ ...endpoint, path: IMDS_REGION_PATH })).toString();
|
||||
}
|
||||
catch (e) {
|
||||
}
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user