@fjall/components-infrastructure 0.46.0 → 0.46.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,12 +1,22 @@
1
1
  import { RepositoryImage } from "aws-cdk-lib/aws-ecs";
2
2
  import { Repository } from "aws-cdk-lib/aws-ecr";
3
3
  import { Connections, IConnectable, IVpc, UserData, IMachineImage } from "aws-cdk-lib/aws-ec2";
4
- import { Code, Runtime, FunctionUrlAuthType, FunctionUrlCorsOptions } from "aws-cdk-lib/aws-lambda";
4
+ import { Code, Runtime, FunctionUrlAuthType } from "aws-cdk-lib/aws-lambda";
5
+ import { Duration } from "aws-cdk-lib";
5
6
  import { PolicyDocument } from "aws-cdk-lib/aws-iam";
6
7
  import { Construct } from "constructs";
7
8
  import App from "../../app";
8
9
  import { DomainConfig } from "../../resources/aws/compute/ecs";
9
10
  import { SecretImport } from "../../resources/aws/secrets";
11
+ export type HttpMethodString = "GET" | "POST" | "PUT" | "DELETE" | "HEAD" | "OPTIONS" | "PATCH";
12
+ export interface SimplifiedCorsOptions {
13
+ allowedOrigins?: string[];
14
+ allowedMethods?: HttpMethodString[];
15
+ allowedHeaders?: string[];
16
+ maxAge?: Duration;
17
+ allowCredentials?: boolean;
18
+ exposeHeaders?: string[];
19
+ }
10
20
  interface IComputeProps {
11
21
  vpc?: IVpc;
12
22
  ecrRepository?: Repository | RepositoryImage;
@@ -49,7 +59,7 @@ interface IComputeProps {
49
59
  };
50
60
  enableFunctionUrl?: boolean;
51
61
  functionUrlAuthType?: FunctionUrlAuthType;
52
- functionUrlCors?: FunctionUrlCorsOptions;
62
+ functionUrlCors?: SimplifiedCorsOptions;
53
63
  connections?: IConnectable[];
54
64
  }
55
65
  export declare class ComputeFactory {
@@ -10,6 +10,38 @@ const ecsFreeTier_1 = require("../../resources/aws/compute/ecsFreeTier");
10
10
  const ecsSpot_1 = require("../../resources/aws/compute/ecsSpot");
11
11
  const ec2_1 = require("../../resources/aws/compute/ec2");
12
12
  const lambda_1 = require("../../resources/aws/compute/lambda");
13
+ // Helper function to convert string HTTP methods to HttpMethod enum
14
+ function convertHttpMethods(methods) {
15
+ const methodMap = {
16
+ "GET": aws_lambda_1.HttpMethod.GET,
17
+ "POST": aws_lambda_1.HttpMethod.POST,
18
+ "PUT": aws_lambda_1.HttpMethod.PUT,
19
+ "DELETE": aws_lambda_1.HttpMethod.DELETE,
20
+ "HEAD": aws_lambda_1.HttpMethod.HEAD,
21
+ "OPTIONS": aws_lambda_1.HttpMethod.OPTIONS,
22
+ "PATCH": aws_lambda_1.HttpMethod.PATCH,
23
+ };
24
+ return methods.map(method => {
25
+ const httpMethod = methodMap[method];
26
+ if (!httpMethod) {
27
+ throw new Error(`Invalid HTTP method: ${method}. Valid methods are: ${Object.keys(methodMap).join(", ")}`);
28
+ }
29
+ return httpMethod;
30
+ });
31
+ }
32
+ // Convert simplified CORS options to CDK CORS options
33
+ function convertCorsOptions(simplifiedCors) {
34
+ if (!simplifiedCors)
35
+ return undefined;
36
+ return {
37
+ allowedOrigins: simplifiedCors.allowedOrigins,
38
+ allowedMethods: simplifiedCors.allowedMethods ? convertHttpMethods(simplifiedCors.allowedMethods) : undefined,
39
+ allowedHeaders: simplifiedCors.allowedHeaders,
40
+ maxAge: simplifiedCors.maxAge,
41
+ allowCredentials: simplifiedCors.allowCredentials,
42
+ exposedHeaders: simplifiedCors.exposeHeaders,
43
+ };
44
+ }
13
45
  class ComputeFactory {
14
46
  static build(id, props) {
15
47
  return (app, scope) => {
@@ -127,7 +159,7 @@ class Compute extends constructs_1.Construct {
127
159
  inlinePolicy: props.inlinePolicy || {},
128
160
  enableFunctionUrl: props.enableFunctionUrl,
129
161
  functionUrlAuthType: props.functionUrlAuthType,
130
- functionUrlCors: props.functionUrlCors,
162
+ functionUrlCors: convertCorsOptions(props.functionUrlCors),
131
163
  environment: props.containerEnvironment
132
164
  };
133
165
  this.compute = new lambda_1.LambdaFunction(this.scope, `${this.id}Lambda`, lambdaProps);
@@ -137,4 +169,4 @@ class Compute extends constructs_1.Construct {
137
169
  }
138
170
  }
139
171
  exports.Compute = Compute;
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9wYXR0ZXJucy9hd3MvY29tcHV0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxpREFBaUQ7QUFDakQsaURBUTZCO0FBQzdCLHVEQU1nQztBQUloQywyQ0FBdUM7QUFJdkMseURBTXlDO0FBQ3pDLHlFQUFrRTtBQUNsRSxpRUFBMEQ7QUFDMUQseURBQThEO0FBQzlELCtEQUFvRTtBQWtFcEUsTUFBYSxjQUFjO0lBQ3pCLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBVSxFQUFFLEtBQW9CO1FBQzNDLE9BQU8sQ0FBQyxHQUFRLEVBQUUsS0FBZ0IsRUFBRSxFQUFFO1lBQ3BDLE1BQU0sWUFBWSxHQUFHO2dCQUNuQixHQUFHO29CQUNELEdBQUcsRUFBRSxHQUFHLENBQUMsYUFBYSxFQUFFO29CQUN4QixhQUFhLEVBQUUsR0FBRyxDQUFDLDJCQUEyQixFQUFFO2lCQUNqRDtnQkFDRCxHQUFHLEtBQUs7YUFDVCxDQUFDO1lBRUYsT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQzlDLENBQUMsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQWRELHdDQWNDO0FBRUQsTUFBYSxPQUFRLFNBQVEsc0JBQVM7SUFjcEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFvQjtRQUM1RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ2IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFFbkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQW9CO1FBQzdCLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDO1FBRXhDLElBQUks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LENBQUM7WUFDSixDQUFDO1FBQ0gsQ0FBQztRQUVELE1BQU0sV0FBVyxHQUFHO1lBQ2xCLElBQUksRUFBRSxJQUFJO1lBQ1YsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLElBQUksZUFBZTtZQUN6QyxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sSUFBSSxvQkFBTyxDQUFDLFdBQVc7WUFDN0MsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO1lBQ3RCLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVTtZQUM1QixpQkFBaUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCO1lBQzFDLGVBQWUsRUFBRSxLQUFLLENBQUMsZUFBZTtZQUN0QyxZQUFZLEVBQUUsS0FBSyxDQUFDLFlBQVksSUFBSSxFQUFFO1lBQ3RDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxpQkFBaUI7WUFDMUMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLG1CQUFtQjtZQUM5QyxlQUFlLEVBQUUsS0FBSyxDQUFDLGVBQWU7WUFDdEMsV0FBVyxFQUFFLEtBQUssQ0FBQyxvQkFBb0I7U0FDeEMsQ0FBQztRQUVGLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSx1QkFBYyxDQUMvQixJQUFJLENBQUMsS0FBSyxFQUNWLEdBQUcsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUNsQixXQUFXLENBQ1osQ0FBQztRQUVGLGdFQUFnRTtRQUNoRSw4REFBOEQ7UUFDOUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLHFCQUFXLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0NBQ0Y7QUF4SkQsMEJBd0pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVwb3NpdG9yeUltYWdlIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lY3NcIjtcbmltcG9ydCB7IFJlcG9zaXRvcnkgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjclwiO1xuaW1wb3J0IHtcbiAgQ29ubmVjdGlvbnMsXG4gIElDb25uZWN0YWJsZSxcbiAgSVZwYyxcbiAgUG9ydCxcbiAgU3VibmV0VHlwZSxcbiAgVXNlckRhdGEsXG4gIElNYWNoaW5lSW1hZ2Vcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcbmltcG9ydCB7XG4gIENvZGUsXG4gIFJ1bnRpbWUsXG4gIEZ1bmN0aW9uVXJsQXV0aFR5cGUsXG4gIEh0dHBNZXRob2QsXG4gIEZ1bmN0aW9uVXJsQ29yc09wdGlvbnNcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGFcIjtcbmltcG9ydCB7IER1cmF0aW9uIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBQb2xpY3lEb2N1bWVudCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtaWFtXCI7XG5cbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5cbmltcG9ydCBBcHAgZnJvbSBcIi4uLy4uL2FwcFwiO1xuXG5pbXBvcnQgRmFyZ2F0ZUNsdXN0ZXIsIHtcbiAgQ29udGFpbmVyU2VjcmV0LFxuICBGYXJnYXRlQ2x1c3RlclByb3BzLFxuICBQcm90b2NvbCxcbiAgU2NhbGluZ1R5cGUsXG4gIERvbWFpbkNvbmZpZ1xufSBmcm9tIFwiLi4vLi4vcmVzb3VyY2VzL2F3cy9jb21wdXRlL2Vjc1wiO1xuaW1wb3J0IEVjc0ZyZWVUaWVyIGZyb20gXCIuLi8uLi9yZXNvdXJjZXMvYXdzL2NvbXB1dGUvZWNzRnJlZVRpZXJcIjtcbmltcG9ydCBFY3NTcG90IGZyb20gXCIuLi8uLi9yZXNvdXJjZXMvYXdzL2NvbXB1dGUvZWNzU3BvdFwiO1xuaW1wb3J0IHsgRWMySW5zdGFuY2UgfSBmcm9tIFwiLi4vLi4vcmVzb3VyY2VzL2F3cy9jb21wdXRlL2VjMlwiO1xuaW1wb3J0IHsgTGFtYmRhRnVuY3Rpb24gfSBmcm9tIFwiLi4vLi4vcmVzb3VyY2VzL2F3cy9jb21wdXRlL2xhbWJkYVwiO1xuaW1wb3J0IHsgS2V5VmFsdWUgfSBmcm9tIFwiLi4vLi4vdHlwZXNcIjtcbmltcG9ydCB7IFNlY3JldEltcG9ydCB9IGZyb20gXCIuLi8uLi9yZXNvdXJjZXMvYXdzL3NlY3JldHNcIjtcblxuaW50ZXJmYWNlIElDb21wdXRlUHJvcHMge1xuICB2cGM/OiBJVnBjO1xuICBlY3JSZXBvc2l0b3J5PzogUmVwb3NpdG9yeSB8IFJlcG9zaXRvcnlJbWFnZTtcblxuICAvLyBDb21wdXRlIHR5cGUgc2VsZWN0aW9uXG4gIHR5cGU/OiBcImVjc1wiIHwgXCJlYzJcIiB8IFwibGFtYmRhXCI7XG5cbiAgLy8gRUNTIHN1YnR5cGUgc2VsZWN0aW9uIChvbmx5IGFwcGxpY2FibGUgd2hlbiB0eXBlIGlzIFwiZWNzXCIpXG4gIGVjc1R5cGU/OiBcImZhcmdhdGVcIiB8IFwiZnJlZXRpZXJcIiB8IFwic3BvdFwiO1xuXG4gIC8vIEVDUy1zcGVjaWZpYyBwcm9wZXJ0aWVzXG4gIHBhcmVudERvbWFpbj86IHN0cmluZztcbiAgZG9tYWluQ29uZmlnPzogRG9tYWluQ29uZmlnO1xuXG4gIC8qKlxuICAgKiBQb3J0IHRoZSBjb250YWluZXIgbGlzdGVucyBvbiAoZGVmYXVsdDogODApXG4gICAqL1xuICBjb250YWluZXJQb3J0PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBFbnZpcm9ubW5ldCB2YXJpYWJsZXMgdG8gcGFzcyB0byB0aGUgY29udGFpbmVyXG4gICAqL1xuICBjb250YWluZXJFbnZpcm9ubWVudD86IHtcbiAgICBba2V5OiBzdHJpbmddOiBzdHJpbmc7XG4gIH07XG5cbiAgLyoqXG4gICAqIFNhZmVseSBpbXBvcnQgc2VjcmV0cyBmcm9tIGFub3RoZXIgcmVzb3VyY2UsXG4gICAqICBvYmplY3Qga2V5IGlzIHVzZWQgYXMgbmFtZSB3aGVuIHBhc3NpbmcgdG8gY29udGFpbmVyXG4gICAqL1xuICBjb250YWluZXJTZWNyZXRzSW1wb3J0Pzoge1xuICAgIFtrZXk6IHN0cmluZ106IFNlY3JldEltcG9ydDtcbiAgfTtcblxuICAvLyBFQzItc3BlY2lmaWMgcHJvcGVydGllc1xuICBpbnN0YW5jZVR5cGU/OiBzdHJpbmc7XG4gIGVuYWJsZVNTSD86IGJvb2xlYW47XG4gIHVzZXJEYXRhPzogVXNlckRhdGE7XG4gIG1hY2hpbmVJbWFnZT86IElNYWNoaW5lSW1hZ2U7XG4gIG1pbkNhcGFjaXR5PzogbnVtYmVyO1xuICBtYXhDYXBhY2l0eT86IG51bWJlcjtcblxuICAvLyBMYW1iZGEtc3BlY2lmaWMgcHJvcGVydGllc1xuICBydW50aW1lPzogUnVudGltZTtcbiAgaGFuZGxlcj86IHN0cmluZztcbiAgY29kZT86IENvZGU7XG4gIHRpbWVvdXQ/OiBudW1iZXI7XG4gIG1lbW9yeVNpemU/OiBudW1iZXI7XG4gIGxhbWJkYURlc2NyaXB0aW9uPzogc3RyaW5nO1xuICByb2xlRGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIGlubGluZVBvbGljeT86IHtcbiAgICBbbmFtZTogc3RyaW5nXTogUG9saWN5RG9jdW1lbnQ7XG4gIH07XG5cbiAgLy8gTGFtYmRhIFVSTCBwcm9wZXJ0aWVzXG4gIGVuYWJsZUZ1bmN0aW9uVXJsPzogYm9vbGVhbjtcbiAgZnVuY3Rpb25VcmxBdXRoVHlwZT86IEZ1bmN0aW9uVXJsQXV0aFR5cGU7XG4gIGZ1bmN0aW9uVXJsQ29ycz86IEZ1bmN0aW9uVXJsQ29yc09wdGlvbnM7XG5cbiAgY29ubmVjdGlvbnM/OiBJQ29ubmVjdGFibGVbXTtcbn1cblxuZXhwb3J0IGNsYXNzIENvbXB1dGVGYWN0b3J5IHtcbiAgc3RhdGljIGJ1aWxkKGlkOiBzdHJpbmcsIHByb3BzOiBJQ29tcHV0ZVByb3BzKSB7XG4gICAgcmV0dXJuIChhcHA6IEFwcCwgc2NvcGU6IENvbnN0cnVjdCkgPT4ge1xuICAgICAgY29uc3QgY29tcHV0ZVByb3BzID0ge1xuICAgICAgICAuLi57XG4gICAgICAgICAgdnBjOiBhcHAuZ2V0RGVmYXVsdFZwYygpLFxuICAgICAgICAgIGVjclJlcG9zaXRvcnk6IGFwcC5nZXREZWZhdWx0Q29udGFpbmVyUmVnaXN0cnkoKVxuICAgICAgICB9LFxuICAgICAgICAuLi5wcm9wc1xuICAgICAgfTtcblxuICAgICAgcmV0dXJuIG5ldyBDb21wdXRlKHNjb3BlLCBpZCwgY29tcHV0ZVByb3BzKTtcbiAgICB9O1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDb21wdXRlIGV4dGVuZHMgQ29uc3RydWN0IGltcGxlbWVudHMgSUNvbm5lY3RhYmxlIHtcbiAgcHVibGljIGlkOiBzdHJpbmc7XG4gIHB1YmxpYyBzY29wZTogQ29uc3RydWN0O1xuICBwdWJsaWMgdnBjOiBJVnBjO1xuXG4gIHB1YmxpYyBjb25uZWN0aW9uczogQ29ubmVjdGlvbnM7XG5cbiAgcHJpdmF0ZSBjb21wdXRlOlxuICAgIHwgRmFyZ2F0ZUNsdXN0ZXJcbiAgICB8IEVjc0ZyZWVUaWVyXG4gICAgfCBFY3NTcG90XG4gICAgfCBFYzJJbnN0YW5jZVxuICAgIHwgTGFtYmRhRnVuY3Rpb247XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IElDb21wdXRlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIHRoaXMuaWQgPSBpZDtcbiAgICB0aGlzLnNjb3BlID0gc2NvcGU7XG5cbiAgICB0aGlzLmFkZENvbXB1dGUocHJvcHMpO1xuICB9XG5cbiAgYWRkQ29tcHV0ZShwcm9wczogSUNvbXB1dGVQcm9wcykge1xuICAgIGNvbnN0IGNvbXB1dGVUeXBlID0gcHJvcHMudHlwZSB8fCBcImVjc1wiO1xuXG4gICAgaWYgKGNvbXB1dGVUeXBlID09PSBcImVjMlwiKSB7XG4gICAgICB0aGlzLmFkZEVjMkNvbXB1dGUocHJvcHMpO1xuICAgIH0gZWxzZSBpZiAoY29tcHV0ZVR5cGUgPT09IFwibGFtYmRhXCIpIHtcbiAgICAgIHRoaXMuYWRkTGFtYmRhQ29tcHV0ZShwcm9wcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYWRkRWNzQ29tcHV0ZShwcm9wcyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhZGRFYzJDb21wdXRlKHByb3BzOiBJQ29tcHV0ZVByb3BzKSB7XG4gICAgY29uc3QgZWMyUHJvcHMgPSB7XG4gICAgICBzZXJ2aWNlTmFtZTogYCR7dGhpcy5pZH1TZXJ2aWNlYCxcbiAgICAgIGluc3RhbmNlVHlwZTogcHJvcHMuaW5zdGFuY2VUeXBlIHx8IFwidDMubWljcm9cIixcbiAgICAgIGVuYWJsZVNTSDogcHJvcHMuZW5hYmxlU1NIIHx8IGZhbHNlLFxuICAgICAgdXNlckRhdGE6IHByb3BzLnVzZXJEYXRhLFxuICAgICAgbWFjaGluZUltYWdlOiBwcm9wcy5tYWNoaW5lSW1hZ2UsXG4gICAgICBtaW5DYXBjaXR5OiBwcm9wcy5taW5DYXBhY2l0eSB8fCAxLFxuICAgICAgbWF4Q2FwYWNpdHk6IHByb3BzLm1heENhcGFjaXR5IHx8IDEsXG4gICAgICB2cGM6IHByb3BzLnZwY1xuICAgIH07XG5cbiAgICB0aGlzLmNvbXB1dGUgPSBuZXcgRWMySW5zdGFuY2UodGhpcy5zY29wZSwgYCR7dGhpcy5pZH1FYzJgLCBlYzJQcm9wcyk7XG4gICAgdGhpcy5jb25uZWN0aW9ucyA9IHRoaXMuY29tcHV0ZS5jb25uZWN0aW9ucztcblxuICAgIGlmIChwcm9wcy5jb25uZWN0aW9ucykge1xuICAgICAgZm9yICh2YXIgY29ubiBvZiBwcm9wcy5jb25uZWN0aW9ucykge1xuICAgICAgICB0aGlzLmNvbXB1dGUuY29ubmVjdGlvbnMuYWxsb3dUbyhjb25uLCBQb3J0LmFsbFRjcCgpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFkZEVjc0NvbXB1dGUocHJvcHM6IElDb21wdXRlUHJvcHMpIHtcbiAgICBjb25zdCBlY3NUeXBlID0gcHJvcHMuZWNzVHlwZSB8fCBcImZhcmdhdGVcIjtcblxuICAgIC8vIENvbW1vbiBFQ1MgcHJvcHNcbiAgICBjb25zdCBiYXNlRWNzUHJvcHMgPSB7XG4gICAgICAuLi5wcm9wcyxcbiAgICAgIGNvbnRhaW5lclBvcnQ6IHByb3BzLmNvbnRhaW5lclBvcnQgfHwgODAsXG4gICAgICBzZXJ2aWNlTmFtZTogYCR7dGhpcy5pZH1TZXJ2aWNlYCxcbiAgICAgIGNsdXN0ZXJOYW1lOiBgJHt0aGlzLmlkfUNsdXN0ZXJgLFxuICAgICAgZWNyUmVwb3NpdG9yeTogcHJvcHMuZWNyUmVwb3NpdG9yeSB8fCBcImFtYXpvbi9hbWF6b24tZWNzLXNhbXBsZVwiLFxuICAgICAgY29udGFpbmVyRW52aXJvbm1lbnQ6IHByb3BzLmNvbnRhaW5lckVudmlyb25tZW50IHx8IHt9LFxuICAgICAgY29udGFpbmVyU2VjcmV0c0ltcG9ydDogcHJvcHMuY29udGFpbmVyU2VjcmV0c0ltcG9ydCB8fCB7fSxcbiAgICAgIHZwYzogcHJvcHMudnBjXG4gICAgfTtcblxuICAgIGlmIChlY3NUeXBlID09PSBcImZyZWV0aWVyXCIpIHtcbiAgICAgIC8vIFVzZSBFQzItYmFzZWQgRUNTIGZvciBmcmVlIHRpZXJcbiAgICAgIHRoaXMuY29tcHV0ZSA9IG5ldyBFY3NGcmVlVGllcihcbiAgICAgICAgdGhpcy5zY29wZSxcbiAgICAgICAgYCR7dGhpcy5pZH1FY3NGcmVlVGllcmAsXG4gICAgICAgIGJhc2VFY3NQcm9wc1xuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKGVjc1R5cGUgPT09IFwic3BvdFwiKSB7XG4gICAgICAvLyBVc2UgRUMyIFNwb3QgaW5zdGFuY2VzIGZvciBjb3N0IG9wdGltaXphdGlvblxuICAgICAgdGhpcy5jb21wdXRlID0gbmV3IEVjc1Nwb3QodGhpcy5zY29wZSwgYCR7dGhpcy5pZH1FY3NTcG90YCwgYmFzZUVjc1Byb3BzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gRGVmYXVsdCB0byBGYXJnYXRlXG4gICAgICBjb25zdCBmYXJnYXRlUHJvcHMgPSB7XG4gICAgICAgIC4uLmJhc2VFY3NQcm9wcyxcbiAgICAgICAgc2NhbGluZ1R5cGU6IFNjYWxpbmdUeXBlLkNQVSxcbiAgICAgICAgcHJvdG9jb2w6IHByb3BzLmRvbWFpbkNvbmZpZyA/IFByb3RvY29sLkhUVFBTIDogUHJvdG9jb2wuSFRUUCxcbiAgICAgICAgZG9tYWluQ29uZmlnOiBwcm9wcy5kb21haW5Db25maWdcbiAgICAgIH0gYXMgRmFyZ2F0ZUNsdXN0ZXJQcm9wcztcblxuICAgICAgdGhpcy5jb21wdXRlID0gbmV3IEZhcmdhdGVDbHVzdGVyKFxuICAgICAgICB0aGlzLnNjb3BlLFxuICAgICAgICBgJHt0aGlzLmlkfUZhcmdhdGVgLFxuICAgICAgICBmYXJnYXRlUHJvcHNcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLmNvbm5lY3Rpb25zKSB7XG4gICAgICBmb3IgKHZhciBjb25uIG9mIHByb3BzLmNvbm5lY3Rpb25zKSB7XG4gICAgICAgIHRoaXMuY29tcHV0ZS5jb25uZWN0aW9ucy5hbGxvd1RvKGNvbm4sIFBvcnQuYWxsVGNwKCkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuY29ubmVjdGlvbnMgPSB0aGlzLmNvbXB1dGUuY29ubmVjdGlvbnM7XG4gIH1cblxuICBwcml2YXRlIGFkZExhbWJkYUNvbXB1dGUocHJvcHM6IElDb21wdXRlUHJvcHMpIHtcbiAgICBsZXQgY29kZSA9IHByb3BzLmNvZGU7XG5cbiAgICBpZiAoIWNvZGUpIHtcbiAgICAgIGlmICghcHJvcHMuZWNyUmVwb3NpdG9yeSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgXCJFaXRoZXIgY29kZSBvciBlY3JSZXBvc2l0b3J5IG11c3QgYmUgcHJvdmlkZWQgZm9yIExhbWJkYSBjb21wdXRlIHR5cGVcIlxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBpZiAocHJvcHMuZWNyUmVwb3NpdG9yeSBpbnN0YW5jZW9mIFJlcG9zaXRvcnkpIHtcbiAgICAgICAgY29kZSA9IENvZGUuZnJvbUVjckltYWdlKHByb3BzLmVjclJlcG9zaXRvcnksIHtcbiAgICAgICAgICB0YWdPckRpZ2VzdDogXCJsYXRlc3RcIlxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBcImVjclJlcG9zaXRvcnkgbXVzdCBiZSBhIFJlcG9zaXRvcnkgaW5zdGFuY2UgZm9yIExhbWJkYSBjb21wdXRlIHR5cGVcIlxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGxhbWJkYVByb3BzID0ge1xuICAgICAgY29kZTogY29kZSxcbiAgICAgIGhhbmRsZXI6IHByb3BzLmhhbmRsZXIgfHwgXCJpbmRleC5oYW5kbGVyXCIsXG4gICAgICBydW50aW1lOiBwcm9wcy5ydW50aW1lIHx8IFJ1bnRpbWUuTk9ERUpTXzE4X1gsXG4gICAgICB0aW1lb3V0OiBwcm9wcy50aW1lb3V0LFxuICAgICAgbWVtb3J5U2l6ZTogcHJvcHMubWVtb3J5U2l6ZSxcbiAgICAgIGxhbWJkYURlc2NyaXB0aW9uOiBwcm9wcy5sYW1iZGFEZXNjcmlwdGlvbixcbiAgICAgIHJvbGVEZXNjcmlwdGlvbjogcHJvcHMucm9sZURlc2NyaXB0aW9uLFxuICAgICAgaW5saW5lUG9saWN5OiBwcm9wcy5pbmxpbmVQb2xpY3kgfHwge30sXG4gICAgICBlbmFibGVGdW5jdGlvblVybDogcHJvcHMuZW5hYmxlRnVuY3Rpb25VcmwsXG4gICAgICBmdW5jdGlvblVybEF1dGhUeXBlOiBwcm9wcy5mdW5jdGlvblVybEF1dGhUeXBlLFxuICAgICAgZnVuY3Rpb25VcmxDb3JzOiBwcm9wcy5mdW5jdGlvblVybENvcnMsXG4gICAgICBlbnZpcm9ubWVudDogcHJvcHMuY29udGFpbmVyRW52aXJvbm1lbnRcbiAgICB9O1xuXG4gICAgdGhpcy5jb21wdXRlID0gbmV3IExhbWJkYUZ1bmN0aW9uKFxuICAgICAgdGhpcy5zY29wZSxcbiAgICAgIGAke3RoaXMuaWR9TGFtYmRhYCxcbiAgICAgIGxhbWJkYVByb3BzXG4gICAgKTtcblxuICAgIC8vIExhbWJkYSBmdW5jdGlvbnMgZG9uJ3QgdXNlIHNlY3VyaXR5IGdyb3VwcyB1bmxlc3MgVlBDLWVuYWJsZWRcbiAgICAvLyBDcmVhdGUgZW1wdHkgY29ubmVjdGlvbnMgb2JqZWN0IGZvciBpbnRlcmZhY2UgY29tcGF0aWJpbGl0eVxuICAgIHRoaXMuY29ubmVjdGlvbnMgPSBuZXcgQ29ubmVjdGlvbnMoKTtcbiAgfVxufVxuIl19
172
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9wYXR0ZXJucy9hd3MvY29tcHV0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxpREFBaUQ7QUFDakQsaURBUTZCO0FBQzdCLHVEQU1nQztBQUloQywyQ0FBdUM7QUFJdkMseURBTXlDO0FBQ3pDLHlFQUFrRTtBQUNsRSxpRUFBMEQ7QUFDMUQseURBQThEO0FBQzlELCtEQUFvRTtBQStFcEUsb0VBQW9FO0FBQ3BFLFNBQVMsa0JBQWtCLENBQUMsT0FBMkI7SUFDckQsTUFBTSxTQUFTLEdBQXlDO1FBQ3RELEtBQUssRUFBRSx1QkFBVSxDQUFDLEdBQUc7UUFDckIsTUFBTSxFQUFFLHVCQUFVLENBQUMsSUFBSTtRQUN2QixLQUFLLEVBQUUsdUJBQVUsQ0FBQyxHQUFHO1FBQ3JCLFFBQVEsRUFBRSx1QkFBVSxDQUFDLE1BQU07UUFDM0IsTUFBTSxFQUFFLHVCQUFVLENBQUMsSUFBSTtRQUN2QixTQUFTLEVBQUUsdUJBQVUsQ0FBQyxPQUFPO1FBQzdCLE9BQU8sRUFBRSx1QkFBVSxDQUFDLEtBQUs7S0FDMUIsQ0FBQztJQUVGLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUMxQixNQUFNLFVBQVUsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLE1BQU0sd0JBQXdCLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM3RyxDQUFDO1FBQ0QsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsc0RBQXNEO0FBQ3RELFNBQVMsa0JBQWtCLENBQUMsY0FBc0M7SUFDaEUsSUFBSSxDQUFD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QUMsQ0FBQztZQUNMLENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLElBQUksS0FBSyxDQUNiLHFFQUFxRSxDQUN0RSxDQUFDO1lBQ0osQ0FBQztRQUNILENBQUM7UUFFRCxNQUFNLFdBQVcsR0FBRztZQUNsQixJQUFJLEVBQUUsSUFBSTtZQUNWLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxJQUFJLGVBQWU7WUFDekMsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLElBQUksb0JBQU8sQ0FBQyxXQUFXO1lBQzdDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztZQUN0QixVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVU7WUFDNUIsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLGlCQUFpQjtZQUMxQyxlQUFlLEVBQUUsS0FBSyxDQUFDLGVBQWU7WUFDdEMsWUFBWSxFQUFFLEtBQUssQ0FBQyxZQUFZLElBQUksRUFBRTtZQUN0QyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCO1lBQzFDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxtQkFBbUI7WUFDOUMsZUFBZSxFQUFFLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUM7WUFDMUQsV0FBVyxFQUFFLEtBQUssQ0FBQyxvQkFBb0I7U0FDeEMsQ0FBQztRQUVGLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSx1QkFBYyxDQUMvQixJQUFJLENBQUMsS0FBSyxFQUNWLEdBQUcsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUNsQixXQUFXLENBQ1osQ0FBQztRQUVGLGdFQUFnRTtRQUNoRSw4REFBOEQ7UUFDOUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLHFCQUFXLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0NBQ0Y7QUF4SkQsMEJBd0pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVwb3NpdG9yeUltYWdlIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lY3NcIjtcbmltcG9ydCB7IFJlcG9zaXRvcnkgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjclwiO1xuaW1wb3J0IHtcbiAgQ29ubmVjdGlvbnMsXG4gIElDb25uZWN0YWJsZSxcbiAgSVZwYyxcbiAgUG9ydCxcbiAgU3VibmV0VHlwZSxcbiAgVXNlckRhdGEsXG4gIElNYWNoaW5lSW1hZ2Vcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcbmltcG9ydCB7XG4gIENvZGUsXG4gIFJ1bnRpbWUsXG4gIEZ1bmN0aW9uVXJsQXV0aFR5cGUsXG4gIEh0dHBNZXRob2QsXG4gIEZ1bmN0aW9uVXJsQ29yc09wdGlvbnNcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGFcIjtcbmltcG9ydCB7IER1cmF0aW9uIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBQb2xpY3lEb2N1bWVudCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtaWFtXCI7XG5cbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5cbmltcG9ydCBBcHAgZnJvbSBcIi4uLy4uL2FwcFwiO1xuXG5pbXBvcnQgRmFyZ2F0ZUNsdXN0ZXIsIHtcbiAgQ29udGFpbmVyU2VjcmV0LFxuICBGYXJnYXRlQ2x1c3RlclByb3BzLFxuICBQcm90b2NvbCxcbiAgU2NhbGluZ1R5cGUsXG4gIERvbWFpbkNvbmZpZ1xufSBmcm9tIFwiLi4vLi4vcmVzb3VyY2VzL2F3cy9jb21wdXRlL2Vjc1wiO1xuaW1wb3J0IEVjc0ZyZWVUaWVyIGZyb20gXCIuLi8uLi9yZXNvdXJjZXMvYXdzL2NvbXB1dGUvZWNzRnJlZVRpZXJcIjtcbmltcG9ydCBFY3NTcG90IGZyb20gXCIuLi8uLi9yZXNvdXJjZXMvYXdzL2NvbXB1dGUvZWNzU3BvdFwiO1xuaW1wb3J0IHsgRWMySW5zdGFuY2UgfSBmcm9tIFwiLi4vLi4vcmVzb3VyY2VzL2F3cy9jb21wdXRlL2VjMlwiO1xuaW1wb3J0IHsgTGFtYmRhRnVuY3Rpb24gfSBmcm9tIFwiLi4vLi4vcmVzb3VyY2VzL2F3cy9jb21wdXRlL2xhbWJkYVwiO1xuaW1wb3J0IHsgS2V5VmFsdWUgfSBmcm9tIFwiLi4vLi4vdHlwZXNcIjtcbmltcG9ydCB7IFNlY3JldEltcG9ydCB9IGZyb20gXCIuLi8uLi9yZXNvdXJjZXMvYXdzL3NlY3JldHNcIjtcblxuLy8gVXNlci1mcmllbmRseSBIVFRQIG1ldGhvZCB0eXBlXG5leHBvcnQgdHlwZSBIdHRwTWV0aG9kU3RyaW5nID0gXCJHRVRcIiB8IFwiUE9TVFwiIHwgXCJQVVRcIiB8IFwiREVMRVRFXCIgfCBcIkhFQURcIiB8IFwiT1BUSU9OU1wiIHwgXCJQQVRDSFwiO1xuXG4vLyBVc2VyLWZyaWVuZGx5IENPUlMgb3B0aW9ucyB0aGF0IGFjY2VwdCBzdHJpbmcgbWV0aG9kc1xuZXhwb3J0IGludGVyZmFjZSBTaW1wbGlmaWVkQ29yc09wdGlvbnMge1xuICBhbGxvd2VkT3JpZ2lucz86IHN0cmluZ1tdO1xuICBhbGxvd2VkTWV0aG9kcz86IEh0dHBNZXRob2RTdHJpbmdbXTtcbiAgYWxsb3dlZEhlYWRlcnM/OiBzdHJpbmdbXTtcbiAgbWF4QWdlPzogRHVyYXRpb247XG4gIGFsbG93Q3JlZGVudGlhbHM/OiBib29sZWFuO1xuICBleHBvc2VIZWFkZXJzPzogc3RyaW5nW107XG59XG5cbmludGVyZmFjZSBJQ29tcHV0ZVByb3BzIHtcbiAgdnBjPzogSVZwYztcbiAgZWNyUmVwb3NpdG9yeT86IFJlcG9zaXRvcnkgfCBSZXBvc2l0b3J5SW1hZ2U7XG5cbiAgLy8gQ29tcHV0ZSB0eXBlIHNlbGVjdGlvblxuICB0eXBlPzogXCJlY3NcIiB8IFwiZWMyXCIgfCBcImxhbWJkYVwiO1xuXG4gIC8vIEVDUyBzdWJ0eXBlIHNlbGVjdGlvbiAob25seSBhcHBsaWNhYmxlIHdoZW4gdHlwZSBpcyBcImVjc1wiKVxuICBlY3NUeXBlPzogXCJmYXJnYXRlXCIgfCBcImZyZWV0aWVyXCIgfCBcInNwb3RcIjtcblxuICAvLyBFQ1Mtc3BlY2lmaWMgcHJvcGVydGllc1xuICBwYXJlbnREb21haW4/OiBzdHJpbmc7XG4gIGRvbWFpbkNvbmZpZz86IERvbWFpbkNvbmZpZztcblxuICAvKipcbiAgICogUG9ydCB0aGUgY29udGFpbmVyIGxpc3RlbnMgb24gKGRlZmF1bHQ6IDgwKVxuICAgKi9cbiAgY29udGFpbmVyUG9ydD86IG51bWJlcjtcblxuICAvKipcbiAgICogRW52aXJvbm1uZXQgdmFyaWFibGVzIHRvIHBhc3MgdG8gdGhlIGNvbnRhaW5lclxuICAgKi9cbiAgY29udGFpbmVyRW52aXJvbm1lbnQ/OiB7XG4gICAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xuICB9O1xuXG4gIC8qKlxuICAgKiBTYWZlbHkgaW1wb3J0IHNlY3JldHMgZnJvbSBhbm90aGVyIHJlc291cmNlLFxuICAgKiAgb2JqZWN0IGtleSBpcyB1c2VkIGFzIG5hbWUgd2hlbiBwYXNzaW5nIHRvIGNvbnRhaW5lclxuICAgKi9cbiAgY29udGFpbmVyU2VjcmV0c0ltcG9ydD86IHtcbiAgICBba2V5OiBzdHJpbmddOiBTZWNyZXRJbXBvcnQ7XG4gIH07XG5cbiAgLy8gRUMyLXNwZWNpZmljIHByb3BlcnRpZXNcbiAgaW5zdGFuY2VUeXBlPzogc3RyaW5nO1xuICBlbmFibGVTU0g/OiBib29sZWFuO1xuICB1c2VyRGF0YT86IFVzZXJEYXRhO1xuICBtYWNoaW5lSW1hZ2U/OiBJTWFjaGluZUltYWdlO1xuICBtaW5DYXBhY2l0eT86IG51bWJlcjtcbiAgbWF4Q2FwYWNpdHk/OiBudW1iZXI7XG5cbiAgLy8gTGFtYmRhLXNwZWNpZmljIHByb3BlcnRpZXNcbiAgcnVudGltZT86IFJ1bnRpbWU7XG4gIGhhbmRsZXI/OiBzdHJpbmc7XG4gIGNvZGU/OiBDb2RlO1xuICB0aW1lb3V0PzogbnVtYmVyO1xuICBtZW1vcnlTaXplPzogbnVtYmVyO1xuICBsYW1iZGFEZXNjcmlwdGlvbj86IHN0cmluZztcbiAgcm9sZURlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBpbmxpbmVQb2xpY3k/OiB7XG4gICAgW25hbWU6IHN0cmluZ106IFBvbGljeURvY3VtZW50O1xuICB9O1xuXG4gIC8vIExhbWJkYSBVUkwgcHJvcGVydGllc1xuICBlbmFibGVGdW5jdGlvblVybD86IGJvb2xlYW47XG4gIGZ1bmN0aW9uVXJsQXV0aFR5cGU/OiBGdW5jdGlvblVybEF1dGhUeXBlO1xuICBmdW5jdGlvblVybENvcnM/OiBTaW1wbGlmaWVkQ29yc09wdGlvbnM7XG5cbiAgY29ubmVjdGlvbnM/OiBJQ29ubmVjdGFibGVbXTtcbn1cblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIGNvbnZlcnQgc3RyaW5nIEhUVFAgbWV0aG9kcyB0byBIdHRwTWV0aG9kIGVudW1cbmZ1bmN0aW9uIGNvbnZlcnRIdHRwTWV0aG9kcyhtZXRob2RzOiBIdHRwTWV0aG9kU3RyaW5nW10pOiBIdHRwTWV0aG9kW10ge1xuICBjb25zdCBtZXRob2RNYXA6IFJlY29yZDxIdHRwTWV0aG9kU3RyaW5nLCBIdHRwTWV0aG9kPiA9IHtcbiAgICBcIkdFVFwiOiBIdHRwTWV0aG9kLkdFVCxcbiAgICBcIlBPU1RcIjogSHR0cE1ldGhvZC5QT1NULFxuICAgIFwiUFVUXCI6IEh0dHBNZXRob2QuUFVULFxuICAgIFwiREVMRVRFXCI6IEh0dHBNZXRob2QuREVMRVRFLFxuICAgIFwiSEVBRFwiOiBIdHRwTWV0aG9kLkhFQUQsXG4gICAgXCJPUFRJT05TXCI6IEh0dHBNZXRob2QuT1BUSU9OUyxcbiAgICBcIlBBVENIXCI6IEh0dHBNZXRob2QuUEFUQ0gsXG4gIH07XG5cbiAgcmV0dXJuIG1ldGhvZHMubWFwKG1ldGhvZCA9PiB7XG4gICAgY29uc3QgaHR0cE1ldGhvZCA9IG1ldGhvZE1hcFttZXRob2RdO1xuICAgIGlmICghaHR0cE1ldGhvZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIEhUVFAgbWV0aG9kOiAke21ldGhvZH0uIFZhbGlkIG1ldGhvZHMgYXJlOiAke09iamVjdC5rZXlzKG1ldGhvZE1hcCkuam9pbihcIiwgXCIpfWApO1xuICAgIH1cbiAgICByZXR1cm4gaHR0cE1ldGhvZDtcbiAgfSk7XG59XG5cbi8vIENvbnZlcnQgc2ltcGxpZmllZCBDT1JTIG9wdGlvbnMgdG8gQ0RLIENPUlMgb3B0aW9uc1xuZnVuY3Rpb24gY29udmVydENvcnNPcHRpb25zKHNpbXBsaWZpZWRDb3JzPzogU2ltcGxpZmllZENvcnNPcHRpb25zKTogRnVuY3Rpb25VcmxDb3JzT3B0aW9ucyB8IHVuZGVmaW5lZCB7XG4gIGlmICghc2ltcGxpZmllZENvcnMpIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgcmV0dXJuIHtcbiAgICBhbGxvd2VkT3JpZ2luczogc2ltcGxpZmllZENvcnMuYWxsb3dlZE9yaWdpbnMsXG4gICAgYWxsb3dlZE1ldGhvZHM6IHNpbXBsaWZpZWRDb3JzLmFsbG93ZWRNZXRob2RzID8gY29udmVydEh0dHBNZXRob2RzKHNpbXBsaWZpZWRDb3JzLmFsbG93ZWRNZXRob2RzKSA6IHVuZGVmaW5lZCxcbiAgICBhbGxvd2VkSGVhZGVyczogc2ltcGxpZmllZENvcnMuYWxsb3dlZEhlYWRlcnMsXG4gICAgbWF4QWdlOiBzaW1wbGlmaWVkQ29ycy5tYXhBZ2UsXG4gICAgYWxsb3dDcmVkZW50aWFsczogc2ltcGxpZmllZENvcnMuYWxsb3dDcmVkZW50aWFscyxcbiAgICBleHBvc2VkSGVhZGVyczogc2ltcGxpZmllZENvcnMuZXhwb3NlSGVhZGVycyxcbiAgfTtcbn1cblxuZXhwb3J0IGNsYXNzIENvbXB1dGVGYWN0b3J5IHtcbiAgc3RhdGljIGJ1aWxkKGlkOiBzdHJpbmcsIHByb3BzOiBJQ29tcHV0ZVByb3BzKSB7XG4gICAgcmV0dXJuIChhcHA6IEFwcCwgc2NvcGU6IENvbnN0cnVjdCkgPT4ge1xuICAgICAgY29uc3QgY29tcHV0ZVByb3BzID0ge1xuICAgICAgICAuLi57XG4gICAgICAgICAgdnBjOiBhcHAuZ2V0RGVmYXVsdFZwYygpLFxuICAgICAgICAgIGVjclJlcG9zaXRvcnk6IGFwcC5nZXREZWZhdWx0Q29udGFpbmVyUmVnaXN0cnkoKVxuICAgICAgICB9LFxuICAgICAgICAuLi5wcm9wc1xuICAgICAgfTtcblxuICAgICAgcmV0dXJuIG5ldyBDb21wdXRlKHNjb3BlLCBpZCwgY29tcHV0ZVByb3BzKTtcbiAgICB9O1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDb21wdXRlIGV4dGVuZHMgQ29uc3RydWN0IGltcGxlbWVudHMgSUNvbm5lY3RhYmxlIHtcbiAgcHVibGljIGlkOiBzdHJpbmc7XG4gIHB1YmxpYyBzY29wZTogQ29uc3RydWN0O1xuICBwdWJsaWMgdnBjOiBJVnBjO1xuXG4gIHB1YmxpYyBjb25uZWN0aW9uczogQ29ubmVjdGlvbnM7XG5cbiAgcHJpdmF0ZSBjb21wdXRlOlxuICAgIHwgRmFyZ2F0ZUNsdXN0ZXJcbiAgICB8IEVjc0ZyZWVUaWVyXG4gICAgfCBFY3NTcG90XG4gICAgfCBFYzJJbnN0YW5jZVxuICAgIHwgTGFtYmRhRnVuY3Rpb247XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IElDb21wdXRlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIHRoaXMuaWQgPSBpZDtcbiAgICB0aGlzLnNjb3BlID0gc2NvcGU7XG5cbiAgICB0aGlzLmFkZENvbXB1dGUocHJvcHMpO1xuICB9XG5cbiAgYWRkQ29tcHV0ZShwcm9wczogSUNvbXB1dGVQcm9wcykge1xuICAgIGNvbnN0IGNvbXB1dGVUeXBlID0gcHJvcHMudHlwZSB8fCBcImVjc1wiO1xuXG4gICAgaWYgKGNvbXB1dGVUeXBlID09PSBcImVjMlwiKSB7XG4gICAgICB0aGlzLmFkZEVjMkNvbXB1dGUocHJvcHMpO1xuICAgIH0gZWxzZSBpZiAoY29tcHV0ZVR5cGUgPT09IFwibGFtYmRhXCIpIHtcbiAgICAgIHRoaXMuYWRkTGFtYmRhQ29tcHV0ZShwcm9wcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYWRkRWNzQ29tcHV0ZShwcm9wcyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhZGRFYzJDb21wdXRlKHByb3BzOiBJQ29tcHV0ZVByb3BzKSB7XG4gICAgY29uc3QgZWMyUHJvcHMgPSB7XG4gICAgICBzZXJ2aWNlTmFtZTogYCR7dGhpcy5pZH1TZXJ2aWNlYCxcbiAgICAgIGluc3RhbmNlVHlwZTogcHJvcHMuaW5zdGFuY2VUeXBlIHx8IFwidDMubWljcm9cIixcbiAgICAgIGVuYWJsZVNTSDogcHJvcHMuZW5hYmxlU1NIIHx8IGZhbHNlLFxuICAgICAgdXNlckRhdGE6IHByb3BzLnVzZXJEYXRhLFxuICAgICAgbWFjaGluZUltYWdlOiBwcm9wcy5tYWNoaW5lSW1hZ2UsXG4gICAgICBtaW5DYXBjaXR5OiBwcm9wcy5taW5DYXBhY2l0eSB8fCAxLFxuICAgICAgbWF4Q2FwYWNpdHk6IHByb3BzLm1heENhcGFjaXR5IHx8IDEsXG4gICAgICB2cGM6IHByb3BzLnZwY1xuICAgIH07XG5cbiAgICB0aGlzLmNvbXB1dGUgPSBuZXcgRWMySW5zdGFuY2UodGhpcy5zY29wZSwgYCR7dGhpcy5pZH1FYzJgLCBlYzJQcm9wcyk7XG4gICAgdGhpcy5jb25uZWN0aW9ucyA9IHRoaXMuY29tcHV0ZS5jb25uZWN0aW9ucztcblxuICAgIGlmIChwcm9wcy5jb25uZWN0aW9ucykge1xuICAgICAgZm9yICh2YXIgY29ubiBvZiBwcm9wcy5jb25uZWN0aW9ucykge1xuICAgICAgICB0aGlzLmNvbXB1dGUuY29ubmVjdGlvbnMuYWxsb3dUbyhjb25uLCBQb3J0LmFsbFRjcCgpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFkZEVjc0NvbXB1dGUocHJvcHM6IElDb21wdXRlUHJvcHMpIHtcbiAgICBjb25zdCBlY3NUeXBlID0gcHJvcHMuZWNzVHlwZSB8fCBcImZhcmdhdGVcIjtcblxuICAgIC8vIENvbW1vbiBFQ1MgcHJvcHNcbiAgICBjb25zdCBiYXNlRWNzUHJvcHMgPSB7XG4gICAgICAuLi5wcm9wcyxcbiAgICAgIGNvbnRhaW5lclBvcnQ6IHByb3BzLmNvbnRhaW5lclBvcnQgfHwgODAsXG4gICAgICBzZXJ2aWNlTmFtZTogYCR7dGhpcy5pZH1TZXJ2aWNlYCxcbiAgICAgIGNsdXN0ZXJOYW1lOiBgJHt0aGlzLmlkfUNsdXN0ZXJgLFxuICAgICAgZWNyUmVwb3NpdG9yeTogcHJvcHMuZWNyUmVwb3NpdG9yeSB8fCBcImFtYXpvbi9hbWF6b24tZWNzLXNhbXBsZVwiLFxuICAgICAgY29udGFpbmVyRW52aXJvbm1lbnQ6IHByb3BzLmNvbnRhaW5lckVudmlyb25tZW50IHx8IHt9LFxuICAgICAgY29udGFpbmVyU2VjcmV0c0ltcG9ydDogcHJvcHMuY29udGFpbmVyU2VjcmV0c0ltcG9ydCB8fCB7fSxcbiAgICAgIHZwYzogcHJvcHMudnBjXG4gICAgfTtcblxuICAgIGlmIChlY3NUeXBlID09PSBcImZyZWV0aWVyXCIpIHtcbiAgICAgIC8vIFVzZSBFQzItYmFzZWQgRUNTIGZvciBmcmVlIHRpZXJcbiAgICAgIHRoaXMuY29tcHV0ZSA9IG5ldyBFY3NGcmVlVGllcihcbiAgICAgICAgdGhpcy5zY29wZSxcbiAgICAgICAgYCR7dGhpcy5pZH1FY3NGcmVlVGllcmAsXG4gICAgICAgIGJhc2VFY3NQcm9wc1xuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKGVjc1R5cGUgPT09IFwic3BvdFwiKSB7XG4gICAgICAvLyBVc2UgRUMyIFNwb3QgaW5zdGFuY2VzIGZvciBjb3N0IG9wdGltaXphdGlvblxuICAgICAgdGhpcy5jb21wdXRlID0gbmV3IEVjc1Nwb3QodGhpcy5zY29wZSwgYCR7dGhpcy5pZH1FY3NTcG90YCwgYmFzZUVjc1Byb3BzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gRGVmYXVsdCB0byBGYXJnYXRlXG4gICAgICBjb25zdCBmYXJnYXRlUHJvcHMgPSB7XG4gICAgICAgIC4uLmJhc2VFY3NQcm9wcyxcbiAgICAgICAgc2NhbGluZ1R5cGU6IFNjYWxpbmdUeXBlLkNQVSxcbiAgICAgICAgcHJvdG9jb2w6IHByb3BzLmRvbWFpbkNvbmZpZyA/IFByb3RvY29sLkhUVFBTIDogUHJvdG9jb2wuSFRUUCxcbiAgICAgICAgZG9tYWluQ29uZmlnOiBwcm9wcy5kb21haW5Db25maWdcbiAgICAgIH0gYXMgRmFyZ2F0ZUNsdXN0ZXJQcm9wcztcblxuICAgICAgdGhpcy5jb21wdXRlID0gbmV3IEZhcmdhdGVDbHVzdGVyKFxuICAgICAgICB0aGlzLnNjb3BlLFxuICAgICAgICBgJHt0aGlzLmlkfUZhcmdhdGVgLFxuICAgICAgICBmYXJnYXRlUHJvcHNcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLmNvbm5lY3Rpb25zKSB7XG4gICAgICBmb3IgKHZhciBjb25uIG9mIHByb3BzLmNvbm5lY3Rpb25zKSB7XG4gICAgICAgIHRoaXMuY29tcHV0ZS5jb25uZWN0aW9ucy5hbGxvd1RvKGNvbm4sIFBvcnQuYWxsVGNwKCkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuY29ubmVjdGlvbnMgPSB0aGlzLmNvbXB1dGUuY29ubmVjdGlvbnM7XG4gIH1cblxuICBwcml2YXRlIGFkZExhbWJkYUNvbXB1dGUocHJvcHM6IElDb21wdXRlUHJvcHMpIHtcbiAgICBsZXQgY29kZSA9IHByb3BzLmNvZGU7XG5cbiAgICBpZiAoIWNvZGUpIHtcbiAgICAgIGlmICghcHJvcHMuZWNyUmVwb3NpdG9yeSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgXCJFaXRoZXIgY29kZSBvciBlY3JSZXBvc2l0b3J5IG11c3QgYmUgcHJvdmlkZWQgZm9yIExhbWJkYSBjb21wdXRlIHR5cGVcIlxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBpZiAocHJvcHMuZWNyUmVwb3NpdG9yeSBpbnN0YW5jZW9mIFJlcG9zaXRvcnkpIHtcbiAgICAgICAgY29kZSA9IENvZGUuZnJvbUVjckltYWdlKHByb3BzLmVjclJlcG9zaXRvcnksIHtcbiAgICAgICAgICB0YWdPckRpZ2VzdDogXCJsYXRlc3RcIlxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBcImVjclJlcG9zaXRvcnkgbXVzdCBiZSBhIFJlcG9zaXRvcnkgaW5zdGFuY2UgZm9yIExhbWJkYSBjb21wdXRlIHR5cGVcIlxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGxhbWJkYVByb3BzID0ge1xuICAgICAgY29kZTogY29kZSxcbiAgICAgIGhhbmRsZXI6IHByb3BzLmhhbmRsZXIgfHwgXCJpbmRleC5oYW5kbGVyXCIsXG4gICAgICBydW50aW1lOiBwcm9wcy5ydW50aW1lIHx8IFJ1bnRpbWUuTk9ERUpTXzE4X1gsXG4gICAgICB0aW1lb3V0OiBwcm9wcy50aW1lb3V0LFxuICAgICAgbWVtb3J5U2l6ZTogcHJvcHMubWVtb3J5U2l6ZSxcbiAgICAgIGxhbWJkYURlc2NyaXB0aW9uOiBwcm9wcy5sYW1iZGFEZXNjcmlwdGlvbixcbiAgICAgIHJvbGVEZXNjcmlwdGlvbjogcHJvcHMucm9sZURlc2NyaXB0aW9uLFxuICAgICAgaW5saW5lUG9saWN5OiBwcm9wcy5pbmxpbmVQb2xpY3kgfHwge30sXG4gICAgICBlbmFibGVGdW5jdGlvblVybDogcHJvcHMuZW5hYmxlRnVuY3Rpb25VcmwsXG4gICAgICBmdW5jdGlvblVybEF1dGhUeXBlOiBwcm9wcy5mdW5jdGlvblVybEF1dGhUeXBlLFxuICAgICAgZnVuY3Rpb25VcmxDb3JzOiBjb252ZXJ0Q29yc09wdGlvbnMocHJvcHMuZnVuY3Rpb25VcmxDb3JzKSxcbiAgICAgIGVudmlyb25tZW50OiBwcm9wcy5jb250YWluZXJFbnZpcm9ubWVudFxuICAgIH07XG5cbiAgICB0aGlzLmNvbXB1dGUgPSBuZXcgTGFtYmRhRnVuY3Rpb24oXG4gICAgICB0aGlzLnNjb3BlLFxuICAgICAgYCR7dGhpcy5pZH1MYW1iZGFgLFxuICAgICAgbGFtYmRhUHJvcHNcbiAgICApO1xuXG4gICAgLy8gTGFtYmRhIGZ1bmN0aW9ucyBkb24ndCB1c2Ugc2VjdXJpdHkgZ3JvdXBzIHVubGVzcyBWUEMtZW5hYmxlZFxuICAgIC8vIENyZWF0ZSBlbXB0eSBjb25uZWN0aW9ucyBvYmplY3QgZm9yIGludGVyZmFjZSBjb21wYXRpYmlsaXR5XG4gICAgdGhpcy5jb25uZWN0aW9ucyA9IG5ldyBDb25uZWN0aW9ucygpO1xuICB9XG59XG4iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fjall/components-infrastructure",
3
- "version": "0.46.0",
3
+ "version": "0.46.3",
4
4
  "bin": {
5
5
  "infrastructure": "bin/infrastructure.js"
6
6
  },
@@ -35,7 +35,7 @@
35
35
  "dependencies": {
36
36
  "@aws-sdk/client-cost-explorer": "^3.717.0",
37
37
  "@aws-sdk/client-organizations": "^3.716.0",
38
- "@fjall/util": "^0.46.0",
38
+ "@fjall/util": "^0.46.3",
39
39
  "@pepperize/cdk-organizations": "^0.7.135",
40
40
  "aws-lambda": "^1.0.7",
41
41
  "cdk-time-sleep": "^1.0.0",
@@ -46,7 +46,7 @@
46
46
  "overrides": {
47
47
  "@smithy/core": "2.5.5"
48
48
  },
49
- "gitHead": "3fb4255a1971d4c92a38bcb6c12483cf7d39932b",
49
+ "gitHead": "5302a5d67ba20130a234466577ff9bfb2e699b21",
50
50
  "peerDependencies": {
51
51
  "aws-cdk": "^2.206.0",
52
52
  "aws-cdk-lib": "^2.206.0",