86 lines
3.0 KiB
JavaScript
86 lines
3.0 KiB
JavaScript
import { BinaryDecisionDiagram } from "@smithy/core/endpoints";
|
|
const q = "ref";
|
|
const a = -1, b = true, c = "isSet", d = "PartitionResult", e = "booleanEquals", f = "stringEquals", g = "getAttr", h = "us-east-1", i = "sigv4", j = "sts", k = "https://sts.{Region}.{PartitionResult#dnsSuffix}", l = { [q]: "Endpoint" }, m = { [q]: "Region" }, n = { [q]: d }, o = {}, p = [m];
|
|
const _data = {
|
|
conditions: [
|
|
[c, [l]],
|
|
[c, p],
|
|
["aws.partition", p, d],
|
|
[e, [{ [q]: "UseFIPS" }, b]],
|
|
[e, [{ [q]: "UseDualStack" }, b]],
|
|
[f, [m, "aws-global"]],
|
|
[e, [{ [q]: "UseGlobalEndpoint" }, b]],
|
|
[f, [m, "eu-central-1"]],
|
|
[e, [{ fn: g, argv: [n, "supportsDualStack"] }, b]],
|
|
[e, [{ fn: g, argv: [n, "supportsFIPS"] }, b]],
|
|
[f, [m, "ap-south-1"]],
|
|
[f, [m, "eu-north-1"]],
|
|
[f, [m, "eu-west-1"]],
|
|
[f, [m, "eu-west-2"]],
|
|
[f, [m, "eu-west-3"]],
|
|
[f, [m, "sa-east-1"]],
|
|
[f, [m, h]],
|
|
[f, [m, "us-east-2"]],
|
|
[f, [m, "us-west-2"]],
|
|
[f, [m, "us-west-1"]],
|
|
[f, [m, "ca-central-1"]],
|
|
[f, [m, "ap-southeast-1"]],
|
|
[f, [m, "ap-northeast-1"]],
|
|
[f, [m, "ap-southeast-2"]],
|
|
[f, [{ fn: g, argv: [n, "name"] }, "aws-us-gov"]]
|
|
],
|
|
results: [
|
|
[a],
|
|
["https://sts.amazonaws.com", { authSchemes: [{ name: i, signingName: j, signingRegion: h }] }],
|
|
[k, { authSchemes: [{ name: i, signingName: j, signingRegion: "{Region}" }] }],
|
|
[a, "Invalid Configuration: FIPS and custom endpoint are not supported"],
|
|
[a, "Invalid Configuration: Dualstack and custom endpoint are not supported"],
|
|
[l, o],
|
|
["https://sts-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", o],
|
|
[a, "FIPS and DualStack are enabled, but this partition does not support one or both"],
|
|
["https://sts.{Region}.amazonaws.com", o],
|
|
["https://sts-fips.{Region}.{PartitionResult#dnsSuffix}", o],
|
|
[a, "FIPS is enabled but this partition does not support FIPS"],
|
|
["https://sts.{Region}.{PartitionResult#dualStackDnsSuffix}", o],
|
|
[a, "DualStack is enabled but this partition does not support DualStack"],
|
|
[k, o],
|
|
[a, "Invalid Configuration: Missing Region"]
|
|
]
|
|
};
|
|
const root = 2;
|
|
const r = 100_000_000;
|
|
const nodes = new Int32Array([
|
|
-1, 1, -1,
|
|
0, 30, 3,
|
|
1, 4, r + 14,
|
|
2, 5, r + 14,
|
|
3, 25, 6,
|
|
4, 24, 7,
|
|
5, r + 1, 8,
|
|
6, 9, r + 13,
|
|
7, r + 1, 10,
|
|
10, r + 1, 11,
|
|
11, r + 1, 12,
|
|
12, r + 1, 13,
|
|
13, r + 1, 14,
|
|
14, r + 1, 15,
|
|
15, r + 1, 16,
|
|
16, r + 1, 17,
|
|
17, r + 1, 18,
|
|
18, r + 1, 19,
|
|
19, r + 1, 20,
|
|
20, r + 1, 21,
|
|
21, r + 1, 22,
|
|
22, r + 1, 23,
|
|
23, r + 1, r + 2,
|
|
8, r + 11, r + 12,
|
|
4, 28, 26,
|
|
9, 27, r + 10,
|
|
24, r + 8, r + 9,
|
|
8, 29, r + 7,
|
|
9, r + 6, r + 7,
|
|
3, r + 3, 31,
|
|
4, r + 4, r + 5,
|
|
]);
|
|
export const bdd = BinaryDecisionDiagram.from(nodes, root, _data.conditions, _data.results);
|