Initial
This commit is contained in:
9
resources/app/node_modules/@smithy/config-resolver/dist-es/endpointsConfig/NodeUseDualstackEndpointConfigOptions.js
generated
vendored
Normal file
9
resources/app/node_modules/@smithy/config-resolver/dist-es/endpointsConfig/NodeUseDualstackEndpointConfigOptions.js
generated
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
import { booleanSelector, SelectorType } from "@smithy/util-config-provider";
|
||||
export const ENV_USE_DUALSTACK_ENDPOINT = "AWS_USE_DUALSTACK_ENDPOINT";
|
||||
export const CONFIG_USE_DUALSTACK_ENDPOINT = "use_dualstack_endpoint";
|
||||
export const DEFAULT_USE_DUALSTACK_ENDPOINT = false;
|
||||
export const NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS = {
|
||||
environmentVariableSelector: (env) => booleanSelector(env, ENV_USE_DUALSTACK_ENDPOINT, SelectorType.ENV),
|
||||
configFileSelector: (profile) => booleanSelector(profile, CONFIG_USE_DUALSTACK_ENDPOINT, SelectorType.CONFIG),
|
||||
default: false,
|
||||
};
|
||||
9
resources/app/node_modules/@smithy/config-resolver/dist-es/endpointsConfig/NodeUseFipsEndpointConfigOptions.js
generated
vendored
Normal file
9
resources/app/node_modules/@smithy/config-resolver/dist-es/endpointsConfig/NodeUseFipsEndpointConfigOptions.js
generated
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
import { booleanSelector, SelectorType } from "@smithy/util-config-provider";
|
||||
export const ENV_USE_FIPS_ENDPOINT = "AWS_USE_FIPS_ENDPOINT";
|
||||
export const CONFIG_USE_FIPS_ENDPOINT = "use_fips_endpoint";
|
||||
export const DEFAULT_USE_FIPS_ENDPOINT = false;
|
||||
export const NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS = {
|
||||
environmentVariableSelector: (env) => booleanSelector(env, ENV_USE_FIPS_ENDPOINT, SelectorType.ENV),
|
||||
configFileSelector: (profile) => booleanSelector(profile, CONFIG_USE_FIPS_ENDPOINT, SelectorType.CONFIG),
|
||||
default: false,
|
||||
};
|
||||
4
resources/app/node_modules/@smithy/config-resolver/dist-es/endpointsConfig/index.js
generated
vendored
Normal file
4
resources/app/node_modules/@smithy/config-resolver/dist-es/endpointsConfig/index.js
generated
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
export * from "./NodeUseDualstackEndpointConfigOptions";
|
||||
export * from "./NodeUseFipsEndpointConfigOptions";
|
||||
export * from "./resolveCustomEndpointsConfig";
|
||||
export * from "./resolveEndpointsConfig";
|
||||
11
resources/app/node_modules/@smithy/config-resolver/dist-es/endpointsConfig/resolveCustomEndpointsConfig.js
generated
vendored
Normal file
11
resources/app/node_modules/@smithy/config-resolver/dist-es/endpointsConfig/resolveCustomEndpointsConfig.js
generated
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
import { normalizeProvider } from "@smithy/util-middleware";
|
||||
export const resolveCustomEndpointsConfig = (input) => {
|
||||
const { endpoint, urlParser } = input;
|
||||
return {
|
||||
...input,
|
||||
tls: input.tls ?? true,
|
||||
endpoint: normalizeProvider(typeof endpoint === "string" ? urlParser(endpoint) : endpoint),
|
||||
isCustomEndpoint: true,
|
||||
useDualstackEndpoint: normalizeProvider(input.useDualstackEndpoint ?? false),
|
||||
};
|
||||
};
|
||||
15
resources/app/node_modules/@smithy/config-resolver/dist-es/endpointsConfig/resolveEndpointsConfig.js
generated
vendored
Normal file
15
resources/app/node_modules/@smithy/config-resolver/dist-es/endpointsConfig/resolveEndpointsConfig.js
generated
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
import { normalizeProvider } from "@smithy/util-middleware";
|
||||
import { getEndpointFromRegion } from "./utils/getEndpointFromRegion";
|
||||
export const resolveEndpointsConfig = (input) => {
|
||||
const useDualstackEndpoint = normalizeProvider(input.useDualstackEndpoint ?? false);
|
||||
const { endpoint, useFipsEndpoint, urlParser } = input;
|
||||
return {
|
||||
...input,
|
||||
tls: input.tls ?? true,
|
||||
endpoint: endpoint
|
||||
? normalizeProvider(typeof endpoint === "string" ? urlParser(endpoint) : endpoint)
|
||||
: () => getEndpointFromRegion({ ...input, useDualstackEndpoint, useFipsEndpoint }),
|
||||
isCustomEndpoint: !!endpoint,
|
||||
useDualstackEndpoint,
|
||||
};
|
||||
};
|
||||
15
resources/app/node_modules/@smithy/config-resolver/dist-es/endpointsConfig/utils/getEndpointFromRegion.js
generated
vendored
Normal file
15
resources/app/node_modules/@smithy/config-resolver/dist-es/endpointsConfig/utils/getEndpointFromRegion.js
generated
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
export const getEndpointFromRegion = async (input) => {
|
||||
const { tls = true } = input;
|
||||
const region = await input.region();
|
||||
const dnsHostRegex = new RegExp(/^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9])$/);
|
||||
if (!dnsHostRegex.test(region)) {
|
||||
throw new Error("Invalid region in client config");
|
||||
}
|
||||
const useDualstackEndpoint = await input.useDualstackEndpoint();
|
||||
const useFipsEndpoint = await input.useFipsEndpoint();
|
||||
const { hostname } = (await input.regionInfoProvider(region, { useDualstackEndpoint, useFipsEndpoint })) ?? {};
|
||||
if (!hostname) {
|
||||
throw new Error("Cannot resolve hostname from client config");
|
||||
}
|
||||
return input.urlParser(`${tls ? "https:" : "http:"}//${hostname}`);
|
||||
};
|
||||
3
resources/app/node_modules/@smithy/config-resolver/dist-es/index.js
generated
vendored
Normal file
3
resources/app/node_modules/@smithy/config-resolver/dist-es/index.js
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
export * from "./endpointsConfig";
|
||||
export * from "./regionConfig";
|
||||
export * from "./regionInfo";
|
||||
12
resources/app/node_modules/@smithy/config-resolver/dist-es/regionConfig/config.js
generated
vendored
Normal file
12
resources/app/node_modules/@smithy/config-resolver/dist-es/regionConfig/config.js
generated
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
export const REGION_ENV_NAME = "AWS_REGION";
|
||||
export const REGION_INI_NAME = "region";
|
||||
export const NODE_REGION_CONFIG_OPTIONS = {
|
||||
environmentVariableSelector: (env) => env[REGION_ENV_NAME],
|
||||
configFileSelector: (profile) => profile[REGION_INI_NAME],
|
||||
default: () => {
|
||||
throw new Error("Region is missing");
|
||||
},
|
||||
};
|
||||
export const NODE_REGION_CONFIG_FILE_OPTIONS = {
|
||||
preferredFile: "credentials",
|
||||
};
|
||||
6
resources/app/node_modules/@smithy/config-resolver/dist-es/regionConfig/getRealRegion.js
generated
vendored
Normal file
6
resources/app/node_modules/@smithy/config-resolver/dist-es/regionConfig/getRealRegion.js
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
import { isFipsRegion } from "./isFipsRegion";
|
||||
export const getRealRegion = (region) => isFipsRegion(region)
|
||||
? ["fips-aws-global", "aws-fips"].includes(region)
|
||||
? "us-east-1"
|
||||
: region.replace(/fips-(dkr-|prod-)?|-fips/, "")
|
||||
: region;
|
||||
2
resources/app/node_modules/@smithy/config-resolver/dist-es/regionConfig/index.js
generated
vendored
Normal file
2
resources/app/node_modules/@smithy/config-resolver/dist-es/regionConfig/index.js
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
export * from "./config";
|
||||
export * from "./resolveRegionConfig";
|
||||
1
resources/app/node_modules/@smithy/config-resolver/dist-es/regionConfig/isFipsRegion.js
generated
vendored
Normal file
1
resources/app/node_modules/@smithy/config-resolver/dist-es/regionConfig/isFipsRegion.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export const isFipsRegion = (region) => typeof region === "string" && (region.startsWith("fips-") || region.endsWith("-fips"));
|
||||
25
resources/app/node_modules/@smithy/config-resolver/dist-es/regionConfig/resolveRegionConfig.js
generated
vendored
Normal file
25
resources/app/node_modules/@smithy/config-resolver/dist-es/regionConfig/resolveRegionConfig.js
generated
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
import { getRealRegion } from "./getRealRegion";
|
||||
import { isFipsRegion } from "./isFipsRegion";
|
||||
export const resolveRegionConfig = (input) => {
|
||||
const { region, useFipsEndpoint } = input;
|
||||
if (!region) {
|
||||
throw new Error("Region is missing");
|
||||
}
|
||||
return {
|
||||
...input,
|
||||
region: async () => {
|
||||
if (typeof region === "string") {
|
||||
return getRealRegion(region);
|
||||
}
|
||||
const providedRegion = await region();
|
||||
return getRealRegion(providedRegion);
|
||||
},
|
||||
useFipsEndpoint: async () => {
|
||||
const providedRegion = typeof region === "string" ? region : await region();
|
||||
if (isFipsRegion(providedRegion)) {
|
||||
return true;
|
||||
}
|
||||
return typeof useFipsEndpoint !== "function" ? Promise.resolve(!!useFipsEndpoint) : useFipsEndpoint();
|
||||
},
|
||||
};
|
||||
};
|
||||
1
resources/app/node_modules/@smithy/config-resolver/dist-es/regionInfo/EndpointVariant.js
generated
vendored
Normal file
1
resources/app/node_modules/@smithy/config-resolver/dist-es/regionInfo/EndpointVariant.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export {};
|
||||
1
resources/app/node_modules/@smithy/config-resolver/dist-es/regionInfo/EndpointVariantTag.js
generated
vendored
Normal file
1
resources/app/node_modules/@smithy/config-resolver/dist-es/regionInfo/EndpointVariantTag.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export {};
|
||||
1
resources/app/node_modules/@smithy/config-resolver/dist-es/regionInfo/PartitionHash.js
generated
vendored
Normal file
1
resources/app/node_modules/@smithy/config-resolver/dist-es/regionInfo/PartitionHash.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export {};
|
||||
1
resources/app/node_modules/@smithy/config-resolver/dist-es/regionInfo/RegionHash.js
generated
vendored
Normal file
1
resources/app/node_modules/@smithy/config-resolver/dist-es/regionInfo/RegionHash.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export {};
|
||||
1
resources/app/node_modules/@smithy/config-resolver/dist-es/regionInfo/getHostnameFromVariants.js
generated
vendored
Normal file
1
resources/app/node_modules/@smithy/config-resolver/dist-es/regionInfo/getHostnameFromVariants.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export const getHostnameFromVariants = (variants = [], { useFipsEndpoint, useDualstackEndpoint }) => variants.find(({ tags }) => useFipsEndpoint === tags.includes("fips") && useDualstackEndpoint === tags.includes("dualstack"))?.hostname;
|
||||
29
resources/app/node_modules/@smithy/config-resolver/dist-es/regionInfo/getRegionInfo.js
generated
vendored
Normal file
29
resources/app/node_modules/@smithy/config-resolver/dist-es/regionInfo/getRegionInfo.js
generated
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
import { getHostnameFromVariants } from "./getHostnameFromVariants";
|
||||
import { getResolvedHostname } from "./getResolvedHostname";
|
||||
import { getResolvedPartition } from "./getResolvedPartition";
|
||||
import { getResolvedSigningRegion } from "./getResolvedSigningRegion";
|
||||
export const getRegionInfo = (region, { useFipsEndpoint = false, useDualstackEndpoint = false, signingService, regionHash, partitionHash, }) => {
|
||||
const partition = getResolvedPartition(region, { partitionHash });
|
||||
const resolvedRegion = region in regionHash ? region : partitionHash[partition]?.endpoint ?? region;
|
||||
const hostnameOptions = { useFipsEndpoint, useDualstackEndpoint };
|
||||
const regionHostname = getHostnameFromVariants(regionHash[resolvedRegion]?.variants, hostnameOptions);
|
||||
const partitionHostname = getHostnameFromVariants(partitionHash[partition]?.variants, hostnameOptions);
|
||||
const hostname = getResolvedHostname(resolvedRegion, { regionHostname, partitionHostname });
|
||||
if (hostname === undefined) {
|
||||
throw new Error(`Endpoint resolution failed for: ${{ resolvedRegion, useFipsEndpoint, useDualstackEndpoint }}`);
|
||||
}
|
||||
const signingRegion = getResolvedSigningRegion(hostname, {
|
||||
signingRegion: regionHash[resolvedRegion]?.signingRegion,
|
||||
regionRegex: partitionHash[partition].regionRegex,
|
||||
useFipsEndpoint,
|
||||
});
|
||||
return {
|
||||
partition,
|
||||
signingService,
|
||||
hostname,
|
||||
...(signingRegion && { signingRegion }),
|
||||
...(regionHash[resolvedRegion]?.signingService && {
|
||||
signingService: regionHash[resolvedRegion].signingService,
|
||||
}),
|
||||
};
|
||||
};
|
||||
5
resources/app/node_modules/@smithy/config-resolver/dist-es/regionInfo/getResolvedHostname.js
generated
vendored
Normal file
5
resources/app/node_modules/@smithy/config-resolver/dist-es/regionInfo/getResolvedHostname.js
generated
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
export const getResolvedHostname = (resolvedRegion, { regionHostname, partitionHostname }) => regionHostname
|
||||
? regionHostname
|
||||
: partitionHostname
|
||||
? partitionHostname.replace("{region}", resolvedRegion)
|
||||
: undefined;
|
||||
1
resources/app/node_modules/@smithy/config-resolver/dist-es/regionInfo/getResolvedPartition.js
generated
vendored
Normal file
1
resources/app/node_modules/@smithy/config-resolver/dist-es/regionInfo/getResolvedPartition.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export const getResolvedPartition = (region, { partitionHash }) => Object.keys(partitionHash || {}).find((key) => partitionHash[key].regions.includes(region)) ?? "aws";
|
||||
12
resources/app/node_modules/@smithy/config-resolver/dist-es/regionInfo/getResolvedSigningRegion.js
generated
vendored
Normal file
12
resources/app/node_modules/@smithy/config-resolver/dist-es/regionInfo/getResolvedSigningRegion.js
generated
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
export const getResolvedSigningRegion = (hostname, { signingRegion, regionRegex, useFipsEndpoint }) => {
|
||||
if (signingRegion) {
|
||||
return signingRegion;
|
||||
}
|
||||
else if (useFipsEndpoint) {
|
||||
const regionRegexJs = regionRegex.replace("\\\\", "\\").replace(/^\^/g, "\\.").replace(/\$$/g, "\\.");
|
||||
const regionRegexmatchArray = hostname.match(regionRegexJs);
|
||||
if (regionRegexmatchArray) {
|
||||
return regionRegexmatchArray[0].slice(1, -1);
|
||||
}
|
||||
}
|
||||
};
|
||||
3
resources/app/node_modules/@smithy/config-resolver/dist-es/regionInfo/index.js
generated
vendored
Normal file
3
resources/app/node_modules/@smithy/config-resolver/dist-es/regionInfo/index.js
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
export * from "./PartitionHash";
|
||||
export * from "./RegionHash";
|
||||
export * from "./getRegionInfo";
|
||||
Reference in New Issue
Block a user