@aws-solutions-constructs/core 1.128.0 → 1.132.0

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.
package/.jsii CHANGED
@@ -8,47 +8,45 @@
8
8
  "url": "https://aws.amazon.com"
9
9
  },
10
10
  "bundled": {
11
- "@types/deep-diff": "^1.0.0",
12
- "@types/npmlog": "^4.1.2",
13
11
  "deep-diff": "^1.0.2",
14
12
  "deepmerge": "^4.0.0",
15
13
  "npmlog": "^4.1.2"
16
14
  },
17
15
  "dependencies": {
18
- "@aws-cdk/aws-apigateway": "1.128.0",
19
- "@aws-cdk/aws-certificatemanager": "1.128.0",
20
- "@aws-cdk/aws-cloudfront": "1.128.0",
21
- "@aws-cdk/aws-cloudfront-origins": "1.128.0",
22
- "@aws-cdk/aws-cloudwatch": "1.128.0",
23
- "@aws-cdk/aws-cognito": "1.128.0",
24
- "@aws-cdk/aws-dynamodb": "1.128.0",
25
- "@aws-cdk/aws-ec2": "1.128.0",
26
- "@aws-cdk/aws-elasticloadbalancingv2": "1.128.0",
27
- "@aws-cdk/aws-elasticloadbalancingv2-targets": "1.128.0",
28
- "@aws-cdk/aws-elasticsearch": "1.128.0",
29
- "@aws-cdk/aws-events": "1.128.0",
30
- "@aws-cdk/aws-glue": "1.128.0",
31
- "@aws-cdk/aws-iam": "1.128.0",
32
- "@aws-cdk/aws-iot": "1.128.0",
33
- "@aws-cdk/aws-kinesis": "1.128.0",
34
- "@aws-cdk/aws-kinesisanalytics": "1.128.0",
35
- "@aws-cdk/aws-kinesisfirehose": "1.128.0",
36
- "@aws-cdk/aws-kms": "1.128.0",
37
- "@aws-cdk/aws-lambda": "1.128.0",
38
- "@aws-cdk/aws-lambda-event-sources": "1.128.0",
39
- "@aws-cdk/aws-logs": "1.128.0",
40
- "@aws-cdk/aws-mediastore": "1.128.0",
41
- "@aws-cdk/aws-s3": "1.128.0",
42
- "@aws-cdk/aws-s3-assets": "1.128.0",
43
- "@aws-cdk/aws-s3-notifications": "1.128.0",
44
- "@aws-cdk/aws-sagemaker": "1.128.0",
45
- "@aws-cdk/aws-secretsmanager": "1.128.0",
46
- "@aws-cdk/aws-sns": "1.128.0",
47
- "@aws-cdk/aws-sqs": "1.128.0",
48
- "@aws-cdk/aws-ssm": "1.128.0",
49
- "@aws-cdk/aws-stepfunctions": "1.128.0",
50
- "@aws-cdk/aws-wafv2": "1.128.0",
51
- "@aws-cdk/core": "1.128.0"
16
+ "@aws-cdk/aws-apigateway": "1.132.0",
17
+ "@aws-cdk/aws-certificatemanager": "1.132.0",
18
+ "@aws-cdk/aws-cloudfront": "1.132.0",
19
+ "@aws-cdk/aws-cloudfront-origins": "1.132.0",
20
+ "@aws-cdk/aws-cloudwatch": "1.132.0",
21
+ "@aws-cdk/aws-cognito": "1.132.0",
22
+ "@aws-cdk/aws-dynamodb": "1.132.0",
23
+ "@aws-cdk/aws-ec2": "1.132.0",
24
+ "@aws-cdk/aws-elasticloadbalancingv2": "1.132.0",
25
+ "@aws-cdk/aws-elasticloadbalancingv2-targets": "1.132.0",
26
+ "@aws-cdk/aws-elasticsearch": "1.132.0",
27
+ "@aws-cdk/aws-events": "1.132.0",
28
+ "@aws-cdk/aws-glue": "1.132.0",
29
+ "@aws-cdk/aws-iam": "1.132.0",
30
+ "@aws-cdk/aws-iot": "1.132.0",
31
+ "@aws-cdk/aws-kinesis": "1.132.0",
32
+ "@aws-cdk/aws-kinesisanalytics": "1.132.0",
33
+ "@aws-cdk/aws-kinesisfirehose": "1.132.0",
34
+ "@aws-cdk/aws-kms": "1.132.0",
35
+ "@aws-cdk/aws-lambda": "1.132.0",
36
+ "@aws-cdk/aws-lambda-event-sources": "1.132.0",
37
+ "@aws-cdk/aws-logs": "1.132.0",
38
+ "@aws-cdk/aws-mediastore": "1.132.0",
39
+ "@aws-cdk/aws-s3": "1.132.0",
40
+ "@aws-cdk/aws-s3-assets": "1.132.0",
41
+ "@aws-cdk/aws-s3-notifications": "1.132.0",
42
+ "@aws-cdk/aws-sagemaker": "1.132.0",
43
+ "@aws-cdk/aws-secretsmanager": "1.132.0",
44
+ "@aws-cdk/aws-sns": "1.132.0",
45
+ "@aws-cdk/aws-sqs": "1.132.0",
46
+ "@aws-cdk/aws-ssm": "1.132.0",
47
+ "@aws-cdk/aws-stepfunctions": "1.132.0",
48
+ "@aws-cdk/aws-wafv2": "1.132.0",
49
+ "@aws-cdk/core": "1.132.0"
52
50
  },
53
51
  "dependencyClosure": {
54
52
  "@aws-cdk/assets": {
@@ -78,6 +76,33 @@
78
76
  }
79
77
  }
80
78
  },
79
+ "@aws-cdk/aws-acmpca": {
80
+ "targets": {
81
+ "dotnet": {
82
+ "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
83
+ "namespace": "Amazon.CDK.AWS.ACMPCA",
84
+ "packageId": "Amazon.CDK.AWS.ACMPCA"
85
+ },
86
+ "java": {
87
+ "maven": {
88
+ "artifactId": "acmpca",
89
+ "groupId": "software.amazon.awscdk"
90
+ },
91
+ "package": "software.amazon.awscdk.services.acmpca"
92
+ },
93
+ "js": {
94
+ "npm": "@aws-cdk/aws-acmpca"
95
+ },
96
+ "python": {
97
+ "classifiers": [
98
+ "Framework :: AWS CDK",
99
+ "Framework :: AWS CDK :: 1"
100
+ ],
101
+ "distName": "aws-cdk.aws-acmpca",
102
+ "module": "aws_cdk.aws_acmpca"
103
+ }
104
+ }
105
+ },
81
106
  "@aws-cdk/aws-apigateway": {
82
107
  "targets": {
83
108
  "dotnet": {
@@ -1459,7 +1484,7 @@
1459
1484
  },
1460
1485
  "description": "Core CDK Construct for patterns library",
1461
1486
  "homepage": "https://github.com/awslabs/aws-solutions-constructs.git",
1462
- "jsiiVersion": "1.46.0 (build cd08c55)",
1487
+ "jsiiVersion": "1.47.0 (build 86d2c33)",
1463
1488
  "license": "Apache-2.0",
1464
1489
  "metadata": {
1465
1490
  "jsii": {
@@ -3621,6 +3646,6 @@
3621
3646
  "symbolId": "lib/input-validation:VerifiedProps"
3622
3647
  }
3623
3648
  },
3624
- "version": "1.128.0",
3625
- "fingerprint": "WwX7oxySy7R0SjAn4XGTRgpwKpqxGbShNUfl0ty5KTM="
3649
+ "version": "1.132.0",
3650
+ "fingerprint": "t2r9AAdE1fvKQMb6rXaqFYdrPRt0JA7AhO0zhcjIh8I="
3626
3651
  }
@@ -15,7 +15,7 @@ import { Construct } from "@aws-cdk/core";
15
15
  import * as ec2 from "@aws-cdk/aws-ec2";
16
16
  import * as s3 from "@aws-cdk/aws-s3";
17
17
  import * as lambda from "@aws-cdk/aws-lambda";
18
- export declare function ObtainAlb(scope: Construct, id: string, vpc: ec2.IVpc, publicApi: boolean, existingLoadBalancerInterface?: elb.ApplicationLoadBalancer, loadBalancerProps?: elb.ApplicationLoadBalancerProps | any, logAccessLogs?: boolean, loggingBucketProps?: s3.BucketProps): elb.ApplicationLoadBalancer;
19
- export declare function AddListener(scope: Construct, loadBalancer: elb.ApplicationLoadBalancer, targetGroup: elb.ApplicationTargetGroup, listenerProps: elb.ApplicationListenerProps | any): elb.ApplicationListener;
20
- export declare function CreateLambdaTargetGroup(scope: Construct, id: string, lambdaFunction: lambda.IFunction, targetProps?: elb.ApplicationTargetGroupProps): elb.ApplicationTargetGroup;
21
- export declare function AddTarget(scope: Construct, targetGroup: elb.ApplicationTargetGroup, listener: elb.ApplicationListener, ruleProps?: elb.AddRuleProps): void;
18
+ export declare function ObtainAlb(scope: Construct, id: string, vpc: ec2.IVpc, publicApi: boolean, existingLoadBalancerObj?: elb.ApplicationLoadBalancer, loadBalancerProps?: elb.ApplicationLoadBalancerProps | any, logAccessLogs?: boolean, loggingBucketProps?: s3.BucketProps): elb.ApplicationLoadBalancer;
19
+ export declare function AddListener(scope: Construct, loadBalancer: elb.ApplicationLoadBalancer, listenerProps: elb.ApplicationListenerProps | any): elb.ApplicationListener;
20
+ export declare function AddLambdaTarget(scope: Construct, id: string, currentListener: elb.ApplicationListener, lambdaFunction: lambda.IFunction, ruleProps?: elb.AddRuleProps, targetProps?: elb.ApplicationTargetGroupProps): elb.ApplicationTargetGroup;
21
+ export declare function GetActiveListener(listeners: elb.ApplicationListener[]): elb.ApplicationListener;
package/lib/alb-helper.js CHANGED
@@ -12,7 +12,7 @@
12
12
  * and limitations under the License.
13
13
  */
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.AddTarget = exports.CreateLambdaTargetGroup = exports.AddListener = exports.ObtainAlb = void 0;
15
+ exports.GetActiveListener = exports.AddLambdaTarget = exports.AddListener = exports.ObtainAlb = void 0;
16
16
  const elb = require("@aws-cdk/aws-elasticloadbalancingv2");
17
17
  const aws_elasticloadbalancingv2_1 = require("@aws-cdk/aws-elasticloadbalancingv2");
18
18
  const elbt = require("@aws-cdk/aws-elasticloadbalancingv2-targets");
@@ -22,10 +22,10 @@ const s3_bucket_helper_1 = require("./s3-bucket-helper");
22
22
  const s3_bucket_defaults_1 = require("./s3-bucket-defaults");
23
23
  // Returns the correct ALB Load Balancer to use in this construct, either an existing
24
24
  // one provided as an argument or create new one otherwise.
25
- function ObtainAlb(scope, id, vpc, publicApi, existingLoadBalancerInterface, loadBalancerProps, logAccessLogs, loggingBucketProps) {
25
+ function ObtainAlb(scope, id, vpc, publicApi, existingLoadBalancerObj, loadBalancerProps, logAccessLogs, loggingBucketProps) {
26
26
  let loadBalancer;
27
- if (existingLoadBalancerInterface) {
28
- loadBalancer = existingLoadBalancerInterface;
27
+ if (existingLoadBalancerObj) {
28
+ loadBalancer = existingLoadBalancerObj;
29
29
  }
30
30
  else {
31
31
  const consolidatedProps = loadBalancerProps
@@ -43,7 +43,7 @@ function ObtainAlb(scope, id, vpc, publicApi, existingLoadBalancerInterface, loa
43
43
  return loadBalancer;
44
44
  }
45
45
  exports.ObtainAlb = ObtainAlb;
46
- function AddListener(scope, loadBalancer, targetGroup, listenerProps) {
46
+ function AddListener(scope, loadBalancer, listenerProps) {
47
47
  var _a;
48
48
  let consolidatedListenerProps;
49
49
  consolidatedListenerProps = utils_1.overrideProps(alb_defaults_1.DefaultListenerProps(loadBalancer), listenerProps);
@@ -75,32 +75,53 @@ function AddListener(scope, loadBalancer, targetGroup, listenerProps) {
75
75
  });
76
76
  loadBalancer.listeners.push(httpListener);
77
77
  }
78
- AddTarget(scope, targetGroup, listener);
79
78
  return listener;
80
79
  }
81
80
  exports.AddListener = AddListener;
82
- function CreateLambdaTargetGroup(scope, id, lambdaFunction, targetProps) {
81
+ // Creates a Target Group for Lambda functions and adds the
82
+ // provided functions as a target to that group. Then adds
83
+ // the new Target Group to the provided Listener. The expectaion
84
+ // is that Lambda specific code is included here, and next we will
85
+ // add AddFargateTarget(), with Fargate specific code isolated in that
86
+ // function.
87
+ function AddLambdaTarget(scope, id, currentListener, lambdaFunction, ruleProps, targetProps) {
88
+ // Create the target and assign it to a new target group
83
89
  const lambdaTarget = new elbt.LambdaTarget(lambdaFunction);
84
- return new elb.ApplicationTargetGroup(scope, `${id}-tg`, {
90
+ const newTargetGroup = new elb.ApplicationTargetGroup(scope, `${id}-tg`, {
85
91
  targets: [lambdaTarget],
86
92
  targetGroupName: targetProps ? targetProps.targetGroupName : undefined,
87
93
  healthCheck: targetProps ? targetProps.healthCheck : undefined
88
94
  });
89
- }
90
- exports.CreateLambdaTargetGroup = CreateLambdaTargetGroup;
91
- function AddTarget(scope, targetGroup, listener, ruleProps) {
92
95
  // AddRuleProps includes conditions and priority, combine that with targetGroups and
93
96
  // we can assemble AddApplicationTargetGroupProps
94
97
  if (ruleProps) {
95
- const consolidatedTargetProps = utils_1.overrideProps(ruleProps, { targetGroups: [targetGroup] });
96
- listener.addTargetGroups(`${scope.node.id}-targets`, consolidatedTargetProps);
98
+ const consolidatedTargetProps = utils_1.overrideProps(ruleProps, { targetGroups: [newTargetGroup] });
99
+ currentListener.addTargetGroups(`${scope.node.id}-targets`, consolidatedTargetProps);
97
100
  }
98
101
  else {
99
- listener.addTargetGroups("targets", {
100
- targetGroups: [targetGroup],
102
+ currentListener.addTargetGroups("targets", {
103
+ targetGroups: [newTargetGroup],
101
104
  });
102
105
  }
103
- return;
106
+ newTargetGroup.setAttribute('stickiness.enabled', undefined);
107
+ return newTargetGroup;
108
+ }
109
+ exports.AddLambdaTarget = AddLambdaTarget;
110
+ // Looks for the listener associated with Target Groups
111
+ // If there is a single listener, this returns it whether it is HTTP or HTTPS
112
+ // If there are 2 listeners, it finds the HTTPS listener (we assume the HTTP listener redirects to HTTPS)
113
+ function GetActiveListener(listeners) {
114
+ let listener;
115
+ if (listeners.length === 0) {
116
+ throw new Error(`There are no listeners in the ALB`);
117
+ }
118
+ if (listeners.length === 1) {
119
+ listener = listeners[0];
120
+ }
121
+ else {
122
+ listener = listeners.find(i => i.node.children[0].protocol === "HTTPS");
123
+ }
124
+ return listener;
104
125
  }
105
- exports.AddTarget = AddTarget;
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxiLWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImFsYi1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7OztHQVdHOzs7QUFFSCwyREFBMkQ7QUFLM0Qsb0ZBQTJGO0FBQzNGLG9FQUFvRTtBQUNwRSxtQ0FBc0Q7QUFDdEQsaURBQXNEO0FBQ3RELHlEQUE0RDtBQUM1RCw2REFBaUU7QUFFakUsc0ZBQXNGO0FBQ3RGLDZEQUE2RDtBQUM3RCxTQUFnQixTQUFTLENBQ3ZCLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixHQUFhLEVBQ2IsU0FBa0IsRUFDbEIsNkJBQTJELEVBQzNELGlCQUEwRCxFQUMxRCxhQUF1QixFQUN2QixrQkFBbUM7SUFFbkMsSUFBSSxZQUF5QyxDQUFDO0lBRTlDLElBQUksNkJBQTZCLEVBQUU7UUFDakMsWUFBWSxHQUFHLDZCQUE2QixDQUFDO0tBQzlDO1NBQU07UUFDTCxNQUFNLGlCQUFpQixHQUFHLGlCQUFpQjtZQUN6QyxDQUFDLENBQUMscUJBQWEsQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLEdBQUcsRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLENBQUM7WUFDdEUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsQ0FBQztRQUN2QyxZQUFZLEdBQUcsSUFBSSxHQUFHLENBQUMsdUJBQXVCLENBQzVDLEtBQUssRUFDTCxHQUFHLEVBQUUsTUFBTSxFQUNYLGlCQUFpQixDQUNsQixDQUFDO1FBQ0YsSUFBSSxhQUFhLEtBQUssU0FBUyxJQUFJLGFBQWEsS0FBSyxJQUFJLEVBQUU7WUFDekQsTUFBTSw4QkFBOEIsR0FBRyxrQkFBa0I7Z0JBQ3ZELENBQUMsQ0FBQyxxQkFBYSxDQUFDLDhDQUF5QixFQUFFLEVBQUUsa0JBQWtCLENBQUM7Z0JBQ2hFLENBQUMsQ0FBQyw4Q0FBeUIsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sYUFBYSxHQUFHLHlDQUFzQixDQUFDLEtB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RkFBb0Y7SUFDcEYsaURBQWlEO0lBQ2pELElBQUksU0FBUyxFQUFFO1FBQ2IsTUFBTSx1QkFBdUIsR0FBRyxxQkFBYSxDQUFDLFNBQVMsRUFBRSxFQUFFLFlBQVksRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMxRixRQUFRLENBQUMsZUFBZSxDQUFDLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLFVBQVUsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO0tBQy9FO1NBQU07UUFDTCxRQUFRLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRTtZQUNsQyxZQUFZLEVBQUUsQ0FBQyxXQUFXLENBQUM7U0FDNUIsQ0FBQyxDQUFDO0tBQ0o7SUFDRCxPQUFPO0FBQ1QsQ0FBQztBQWpCRCw4QkFpQkMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgMjAyMSBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCAqIGFzIGVsYiBmcm9tIFwiQGF3cy1jZGsvYXdzLWVsYXN0aWNsb2FkYmFsYW5jaW5ndjJcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJAYXdzLWNkay9jb3JlXCI7XG5pbXBvcnQgKiBhcyBlYzIgZnJvbSBcIkBhd3MtY2RrL2F3cy1lYzJcIjtcbmltcG9ydCAqIGFzIHMzIGZyb20gXCJAYXdzLWNkay9hd3MtczNcIjtcbmltcG9ydCAqIGFzIGxhbWJkYSBmcm9tIFwiQGF3cy1jZGsvYXdzLWxhbWJkYVwiO1xuaW1wb3J0IHsgQXBwbGljYXRpb25Qcm90b2NvbCwgTGlzdGVuZXJBY3Rpb24sIH0gZnJvbSBcIkBhd3MtY2RrL2F3cy1lbGFzdGljbG9hZGJhbGFuY2luZ3YyXCI7XG5pbXBvcnQgKiBhcyBlbGJ0IGZyb20gXCJAYXdzLWNkay9hd3MtZWxhc3RpY2xvYWRiYWxhbmNpbmd2Mi10YXJnZXRzXCI7XG5pbXBvcnQgeyBvdmVycmlkZVByb3BzLCBwcmludFdhcm5pbmcgfSBmcm9tIFwiLi91dGlsc1wiO1xuaW1wb3J0IHsgRGVmYXVsdExpc3RlbmVyUHJvcHMgfSBmcm9tIFwiLi9hbGItZGVmYXVsdHNcIjtcbmltcG9ydCB7IGNyZWF0ZUFsYkxvZ2dpbmdCdWNrZXQgfSBmcm9tIFwiLi9zMy1idWNrZXQtaGVscGVyXCI7XG5pbXBvcnQgeyBEZWZhdWx0TG9nZ2luZ0J1Y2tldFByb3BzIH0gZnJvbSBcIi4vczMtYnVja2V0LWRlZmF1bHRzXCI7XG5cbi8vICBSZXR1cm5zIHRoZSBjb3JyZWN0IEFMQiBMb2FkIEJhbGFuY2VyIHRvIHVzZSBpbiB0aGlzIGNvbnN0cnVjdCwgZWl0aGVyIGFuIGV4aXN0aW5nXG4vLyAgb25lIHByb3ZpZGVkIGFzIGFuIGFyZ3VtZW50IG9yIGNyZWF0ZSAgbmV3IG9uZSBvdGhlcndpc2UuXG5leHBvcnQgZnVuY3Rpb24gT2J0YWluQWxiKFxuICBzY29wZTogQ29uc3RydWN0LFxuICBpZDogc3RyaW5nLFxuICB2cGM6IGVjMi5JVnBjLFxuICBwdWJsaWNBcGk6IGJvb2xlYW4sXG4gIGV4aXN0aW5nTG9hZEJhbGFuY2VySW50ZXJmYWNlPzogZWxiLkFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyLFxuICBsb2FkQmFsYW5jZXJQcm9wcz86IGVsYi5BcHBsaWNhdGlvbkxvYWRCYWxhbmNlclByb3BzIHwgYW55LFxuICBsb2dBY2Nlc3NMb2dzPzogYm9vbGVhbixcbiAgbG9nZ2luZ0J1Y2tldFByb3BzPzogczMuQnVja2V0UHJvcHNcbik6IGVsYi5BcHBsaWNhdGlvbkxvYWRCYWxhbmNlciB7XG4gIGxldCBsb2FkQmFsYW5jZXI6IGVsYi5BcHBsaWNhdGlvbkxvYWRCYWxhbmNlcjtcblxuICBpZiAoZXhpc3RpbmdMb2FkQmFsYW5jZXJJbnRlcmZhY2UpIHtcbiAgICBsb2FkQmFsYW5jZXIgPSBleGlzdGluZ0xvYWRCYWxhbmNlckludGVyZmFjZTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBjb25zb2xpZGF0ZWRQcm9wcyA9IGxvYWRCYWxhbmNlclByb3BzXG4gICAgICA/IG92ZXJyaWRlUHJvcHMobG9hZEJhbGFuY2VyUHJvcHMsIHsgdnBjLCBpbnRlcm5ldEZhY2luZzogcHVibGljQXBpIH0pXG4gICAgICA6IHsgdnBjLCBpbnRlcm5ldEZhY2luZzogcHVibGljQXBpIH07XG4gICAgbG9hZEJhbGFuY2VyID0gbmV3IGVsYi5BcHBsaWNhdGlvbkxvYWRCYWxhbmNlcihcbiAgICAgIHNjb3BlLFxuICAgICAgYCR7aWR9LWFsYmAsXG4gICAgICBjb25zb2xpZGF0ZWRQcm9wc1xuICAgICk7XG4gICAgaWYgKGxvZ0FjY2Vzc0xvZ3MgPT09IHVuZGVmaW5lZCB8fCBsb2dBY2Nlc3NMb2dzID09PSB0cnVlKSB7XG4gICAgICBjb25zdCBjb25zb2xpZGF0ZWRMb2dnaW5nQnVja2V0UHJvcHMgPSBsb2dnaW5nQnVja2V0UHJvcHNcbiAgICAgICAgPyBvdmVycmlkZVByb3BzKERlZmF1bHRMb2dnaW5nQnVja2V0UHJvcHMoKSwgbG9nZ2luZ0J1Y2tldFByb3BzKVxuICAgICAgICA6IERlZmF1bHRMb2dnaW5nQnVja2V0UHJvcHMoKTtcbiAgICAgIGNvbnN0IGxvZ2dpbmdCdWNrZXQgPSBjcmVhdGVBbGJMb2dnaW5nQnVja2V0KHNjb3BlLCBpZCwgY29uc29saWRhdGVkTG9nZ2luZ0J1Y2tldFByb3BzKTtcbiAgICAgIGxvYWRCYWxhbmNlci5sb2dBY2Nlc3NMb2dzKGxvZ2dpbmdCdWNrZXQpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gbG9hZEJhbGFuY2VyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gQWRkTGlzdGVuZXIoXG4gIHNjb3BlOiBDb25zdHJ1Y3QsXG4gIGxvYWRCYWxhbmNlcjogZWxiLkFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyLFxuICB0YXJnZXRHcm91cDogZWxiLkFwcGxpY2F0aW9uVGFyZ2V0R3JvdXAsXG4gIGxpc3RlbmVyUHJvcHM6IGVsYi5BcHBsaWNhdGlvbkxpc3RlbmVyUHJvcHMgfCBhbnlcbik6IGVsYi5BcHBsaWNhdGlvbkxpc3RlbmVyIHtcbiAgbGV0IGNvbnNvbGlkYXRlZExpc3RlbmVyUHJvcHM6IGVsYi5BcHBsaWNhdGlvbkxpc3RlbmVyUHJvcHM7XG5cbiAgY29uc29saWRhdGVkTGlzdGVuZXJQcm9wcyA9IG92ZXJyaWRlUHJvcHMoXG4gICAgRGVmYXVsdExpc3RlbmVyUHJvcHMobG9hZEJhbGFuY2VyKSxcbiAgICBsaXN0ZW5lclByb3BzXG4gICk7XG5cbiAgLy8gICBjcmVhdGUgdGhlIGxpc3RlbmVyXG4gIGNvbnN0IGxpc3RlbmVyID0gbmV3IGVsYi5BcHBsaWNhdGlvbkxpc3RlbmVyKFxuICAgIHNjb3BlLFxuICAgIFwibGlzdGVuZXJcIixcbiAgICBjb25zb2xpZGF0ZWRMaXN0ZW5lclByb3BzXG4gICk7XG4gIGxvYWRCYWxhbmNlci5saXN0ZW5lcnMucHVzaChsaXN0ZW5lcik7XG5cbiAgaWYgKGNvbnNvbGlkYXRlZExpc3RlbmVyUHJvcHMucHJvdG9jb2wgPT09IGVsYi5BcHBsaWNhdGlvblByb3RvY29sLkhUVFApIHtcbiAgICAvLyBUaGlzIHdpbGwgdXNlIGNvcmUucHJpbnRXYXJuaW5nIGluIHRoZSBhY3R1YWwgY29uc3RydWN0XG4gICAgcHJpbnRXYXJuaW5nKFxuICAgICAgXCJBV1MgcmVjb21tZW5kcyBlbmNyeXB0aW5nIHRyYWZmaWMgdG8gYW4gQXBwbGljYXRpb24gTG9hZCBCYWxhbmNlciB1c2luZyBIVFRQUy5cIlxuICAgICk7XG4gICAgaWYgKGxpc3RlbmVyUHJvcHMuY2VydGlmaWNhdGVzPy5sZW5ndGggPiAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJIVFRQIGxpc3RlbmVycyBjYW5ub3QgdXNlIGEgY2VydGlmaWNhdGVcIik7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGlmICghbGlzdGVuZXJQcm9wcy5jZXJ0aWZpY2F0ZXMgfHwgbGlzdGVuZXJQcm9wcy5jZXJ0aWZpY2F0ZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJBIGxpc3RlbmVyIHVzaW5nIEhUVFBTIHByb3RvY29sIHJlcXVpcmVzIGEgY2VydGlmaWNhdGVcIik7XG4gICAgfVxuXG4gICAgbGlzdGVuZXIuYWRkQ2VydGlmaWNhdGVzKFwibGlzdGVuZXItY2VydC1hZGRcIiwgbGlzdGVuZXJQcm9wcy5jZXJ0aWZpY2F0ZXMpO1xuICB9XG5cbiAgaWYgKGNvbnNvbGlkYXRlZExpc3RlbmVyUHJvcHMucHJvdG9jb2wgPT09IGVsYi5BcHBsaWNhdGlvblByb3RvY29sLkhUVFBTKSB7XG4gICAgY29uc3Qgb3B0OiBlbGIuUmVkaXJlY3RPcHRpb25zID0ge1xuICAgICAgcG9ydDogXCI0NDNcIixcbiAgICAgIHByb3RvY29sOiBcIkhUVFBTXCIsXG4gICAgfTtcblxuICAgIGNvbnN0IGh0dHBMaXN0ZW5lciA9IG5ldyBlbGIuQXBwbGljYXRpb25MaXN0ZW5lcihcbiAgICAgIHNjb3BlLFxuICAgICAgXCJyZWRpcmVjdC1saXN0ZW5lclwiLFxuICAgICAge1xuICAgICAgICBsb2FkQmFsYW5jZXIsXG4gICAgICAgIHByb3RvY29sOiBBcHBsaWNhdGlvblByb3RvY29sLkhUVFAsXG4gICAgICAgIGRlZmF1bHRBY3Rpb246IExpc3RlbmVyQWN0aW9uLnJlZGlyZWN0KG9wdCksXG4gICAgICB9XG4gICAgKTtcbiAgICBsb2FkQmFsYW5jZXIubGlzdGVuZXJzLnB1c2goaHR0cExpc3RlbmVyKTtcbiAgfVxuXG4gIEFkZFRhcmdldChzY29wZSwgdGFyZ2V0R3JvdXAsIGxpc3RlbmVyKTtcbiAgcmV0dXJuIGxpc3RlbmVyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gQ3JlYXRlTGFtYmRhVGFyZ2V0R3JvdXAoXG4gIHNjb3BlOiBDb25zdHJ1Y3QsXG4gIGlkOiBzdHJpbmcsXG4gIGxhbWJkYUZ1bmN0aW9uOiBsYW1iZGEuSUZ1bmN0aW9uLFxuICB0YXJnZXRQcm9wcz86IGVsYi5BcHBsaWNhdGlvblRhcmdldEdyb3VwUHJvcHNcbik6IGVsYi5BcHBsaWNhdGlvblRhcmdldEdyb3VwIHtcbiAgY29uc3QgbGFtYmRhVGFyZ2V0ID0gbmV3IGVsYnQuTGFtYmRhVGFyZ2V0KGxhbWJkYUZ1bmN0aW9uKTtcbiAgcmV0dXJuIG5ldyBlbGIuQXBwbGljYXRpb25UYXJnZXRHcm91cChzY29wZSwgYCR7aWR9LXRnYCwge1xuICAgIHRhcmdldHM6IFtsYW1iZGFUYXJnZXRdLFxuICAgIHRhcmdldEdyb3VwTmFtZTogdGFyZ2V0UHJvcHMgPyB0YXJnZXRQcm9wcy50YXJnZXRHcm91cE5hbWUgOiB1bmRlZmluZWQsXG4gICAgaGVhbHRoQ2hlY2s6IHRhcmdldFByb3BzID8gdGFyZ2V0UHJvcHMuaGVhbHRoQ2hlY2sgOiB1bmRlZmluZWRcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBBZGRUYXJnZXQoXG4gIHNjb3BlOiBDb25zdHJ1Y3QsXG4gIHRhcmdldEdyb3VwOiBlbGIuQXBwbGljYXRpb25UYXJnZXRHcm91cCxcbiAgbGlzdGVuZXI6IGVsYi5BcHBsaWNhdGlvbkxpc3RlbmVyLFxuICBydWxlUHJvcHM/OiBlbGIuQWRkUnVsZVByb3BzXG4pIHtcbiAgLy8gQWRkUnVsZVByb3BzIGluY2x1ZGVzIGNvbmRpdGlvbnMgYW5kIHByaW9yaXR5LCBjb21iaW5lIHRoYXQgd2l0aCB0YXJnZXRHcm91cHMgYW5kXG4gIC8vIHdlIGNhbiBhc3NlbWJsZSBBZGRBcHBsaWNhdGlvblRhcmdldEdyb3VwUHJvcHNcbiAgaWYgKHJ1bGVQcm9wcykge1xuICAgIGNvbnN0IGNvbnNvbGlkYXRlZFRhcmdldFByb3BzID0gb3ZlcnJpZGVQcm9wcyhydWxlUHJvcHMsIHsgdGFyZ2V0R3JvdXBzOiBbdGFyZ2V0R3JvdXBdIH0pO1xuICAgIGxpc3RlbmVyLmFkZFRhcmdldEdyb3VwcyhgJHtzY29wZS5ub2RlLmlkfS10YXJnZXRzYCwgY29uc29saWRhdGVkVGFyZ2V0UHJvcHMpO1xuICB9IGVsc2Uge1xuICAgIGxpc3RlbmVyLmFkZFRhcmdldEdyb3VwcyhcInRhcmdldHNcIiwge1xuICAgICAgdGFyZ2V0R3JvdXBzOiBbdGFyZ2V0R3JvdXBdLFxuICAgIH0pO1xuICB9XG4gIHJldHVybjtcbn1cbiJdfQ==
126
+ exports.GetActiveListener = GetActiveListener;
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxiLWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImFsYi1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7OztHQVdHOzs7QUFFSCwyREFBMkQ7QUFLM0Qsb0ZBQTJGO0FBQzNGLG9FQUFvRTtBQUNwRSxtQ0FBc0Q7QUFDdEQsaURBQXNEO0FBQ3RELHlEQUE0RDtBQUM1RCw2REFBaUU7QUFFakUsc0ZBQXNGO0FBQ3RGLDZEQUE2RDtBQUM3RCxTQUFnQixTQUFTLENBQ3ZCLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixHQUFhLEVBQ2IsU0FBa0IsRUFDbEIsdUJBQXFELEVBQ3JELGlCQUEwRCxFQUMxRCxhQUF1QixFQUN2QixrQkFBbUM7SUFFbkMsSUFBSSxZQUF5QyxDQUFDO0lBRTlDLElBQUksdUJBQXVCLEVBQUU7UUFDM0IsWUFBWSxHQUFHLHVCQUF1QixDQUFDO0tBQ3hDO1NBQU07UUFDTCxNQUFNLGlCQUFpQixHQUFHLGlCQUFpQjtZQUN6QyxDQUFDLENBQUMscUJBQWEsQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLEdBQUcsRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLENBQUM7WUFDdEUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsQ0FBQztRQUN2QyxZQUFZLEdBQUcsSUFBSSxHQUFHLENBQUMsdUJBQXVCLENBQzVDLEtBQUssRUFDTCxHQUFHLEVBQUUsTUFBTSxFQUNYLGlCQUFpQixDQUNsQixDQUFDO1FBQ0YsSUFBSSxhQUFhLEtBQUssU0FBUyxJQUFJLGFBQWEsS0FBSyxJQUFJLEVBQUU7WUFDekQsTUFBTSw4QkFBOEIsR0FBRyxrQkFBa0I7Z0JBQ3ZELENBQUMsQ0FBQyxxQkFBYSxDQUFDLDhDQUF5QixFQUFFLEVBQUUsa0JBQWtCLENBQUM7Z0JBQ2hFLENBQUMsQ0FBQyw4Q0FBeUIsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sYUFBYSxHQUFHLHlDQUFzQixDQUFDLEtB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LFNBQVMsRUFBRTtRQUNiLE1BQU0sdUJBQXVCLEdBQUcscUJBQWEsQ0FBQyxTQUFTLEVBQUUsRUFBRSxZQUFZLEVBQUUsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDN0YsZUFBZSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxVQUFVLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztLQUN0RjtTQUFNO1FBQ0wsZUFBZSxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUU7WUFDekMsWUFBWSxFQUFFLENBQUMsY0FBYyxDQUFDO1NBQy9CLENBQUMsQ0FBQztLQUNKO0lBQ0QsY0FBYyxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUM3RCxPQUFPLGNBQWMsQ0FBQztBQUN4QixDQUFDO0FBN0JELDBDQTZCQztBQUVELHVEQUF1RDtBQUN2RCw2RUFBNkU7QUFDN0UseUdBQXlHO0FBQ3pHLFNBQWdCLGlCQUFpQixDQUFDLFNBQW9DO0lBQ3BFLElBQUksUUFBaUMsQ0FBQztJQUV0QyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFHO1FBQzNCLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLENBQUMsQ0FBQztLQUN0RDtJQUNELElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUc7UUFDM0IsUUFBUSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUN6QjtTQUFNO1FBQ0wsUUFBUSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQXFCLENBQUMsUUFBUSxLQUFLLE9BQU8sQ0FBNEIsQ0FBQztLQUN6SDtJQUNELE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUM7QUFaRCw4Q0FZQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCAyMDIxIEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2VcbiAqICB3aXRoIHRoZSBMaWNlbnNlLiBBIGNvcHkgb2YgdGhlIExpY2Vuc2UgaXMgbG9jYXRlZCBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIG9yIGluIHRoZSAnbGljZW5zZScgZmlsZSBhY2NvbXBhbnlpbmcgdGhpcyBmaWxlLiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTXG4gKiAgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcbiAqICBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0ICogYXMgZWxiIGZyb20gXCJAYXdzLWNkay9hd3MtZWxhc3RpY2xvYWRiYWxhbmNpbmd2MlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcIkBhd3MtY2RrL2NvcmVcIjtcbmltcG9ydCAqIGFzIGVjMiBmcm9tIFwiQGF3cy1jZGsvYXdzLWVjMlwiO1xuaW1wb3J0ICogYXMgczMgZnJvbSBcIkBhd3MtY2RrL2F3cy1zM1wiO1xuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gXCJAYXdzLWNkay9hd3MtbGFtYmRhXCI7XG5pbXBvcnQgeyBBcHBsaWNhdGlvblByb3RvY29sLCBMaXN0ZW5lckFjdGlvbiwgfSBmcm9tIFwiQGF3cy1jZGsvYXdzLWVsYXN0aWNsb2FkYmFsYW5jaW5ndjJcIjtcbmltcG9ydCAqIGFzIGVsYnQgZnJvbSBcIkBhd3MtY2RrL2F3cy1lbGFzdGljbG9hZGJhbGFuY2luZ3YyLXRhcmdldHNcIjtcbmltcG9ydCB7IG92ZXJyaWRlUHJvcHMsIHByaW50V2FybmluZyB9IGZyb20gXCIuL3V0aWxzXCI7XG5pbXBvcnQgeyBEZWZhdWx0TGlzdGVuZXJQcm9wcyB9IGZyb20gXCIuL2FsYi1kZWZhdWx0c1wiO1xuaW1wb3J0IHsgY3JlYXRlQWxiTG9nZ2luZ0J1Y2tldCB9IGZyb20gXCIuL3MzLWJ1Y2tldC1oZWxwZXJcIjtcbmltcG9ydCB7IERlZmF1bHRMb2dnaW5nQnVja2V0UHJvcHMgfSBmcm9tIFwiLi9zMy1idWNrZXQtZGVmYXVsdHNcIjtcblxuLy8gIFJldHVybnMgdGhlIGNvcnJlY3QgQUxCIExvYWQgQmFsYW5jZXIgdG8gdXNlIGluIHRoaXMgY29uc3RydWN0LCBlaXRoZXIgYW4gZXhpc3Rpbmdcbi8vICBvbmUgcHJvdmlkZWQgYXMgYW4gYXJndW1lbnQgb3IgY3JlYXRlICBuZXcgb25lIG90aGVyd2lzZS5cbmV4cG9ydCBmdW5jdGlvbiBPYnRhaW5BbGIoXG4gIHNjb3BlOiBDb25zdHJ1Y3QsXG4gIGlkOiBzdHJpbmcsXG4gIHZwYzogZWMyLklWcGMsXG4gIHB1YmxpY0FwaTogYm9vbGVhbixcbiAgZXhpc3RpbmdMb2FkQmFsYW5jZXJPYmo/OiBlbGIuQXBwbGljYXRpb25Mb2FkQmFsYW5jZXIsXG4gIGxvYWRCYWxhbmNlclByb3BzPzogZWxiLkFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyUHJvcHMgfCBhbnksXG4gIGxvZ0FjY2Vzc0xvZ3M/OiBib29sZWFuLFxuICBsb2dnaW5nQnVja2V0UHJvcHM/OiBzMy5CdWNrZXRQcm9wc1xuKTogZWxiLkFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyIHtcbiAgbGV0IGxvYWRCYWxhbmNlcjogZWxiLkFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyO1xuXG4gIGlmIChleGlzdGluZ0xvYWRCYWxhbmNlck9iaikge1xuICAgIGxvYWRCYWxhbmNlciA9IGV4aXN0aW5nTG9hZEJhbGFuY2VyT2JqO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGNvbnNvbGlkYXRlZFByb3BzID0gbG9hZEJhbGFuY2VyUHJvcHNcbiAgICAgID8gb3ZlcnJpZGVQcm9wcyhsb2FkQmFsYW5jZXJQcm9wcywgeyB2cGMsIGludGVybmV0RmFjaW5nOiBwdWJsaWNBcGkgfSlcbiAgICAgIDogeyB2cGMsIGludGVybmV0RmFjaW5nOiBwdWJsaWNBcGkgfTtcbiAgICBsb2FkQmFsYW5jZXIgPSBuZXcgZWxiLkFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyKFxuICAgICAgc2NvcGUsXG4gICAgICBgJHtpZH0tYWxiYCxcbiAgICAgIGNvbnNvbGlkYXRlZFByb3BzXG4gICAgKTtcbiAgICBpZiAobG9nQWNjZXNzTG9ncyA9PT0gdW5kZWZpbmVkIHx8IGxvZ0FjY2Vzc0xvZ3MgPT09IHRydWUpIHtcbiAgICAgIGNvbnN0IGNvbnNvbGlkYXRlZExvZ2dpbmdCdWNrZXRQcm9wcyA9IGxvZ2dpbmdCdWNrZXRQcm9wc1xuICAgICAgICA/IG92ZXJyaWRlUHJvcHMoRGVmYXVsdExvZ2dpbmdCdWNrZXRQcm9wcygpLCBsb2dnaW5nQnVja2V0UHJvcHMpXG4gICAgICAgIDogRGVmYXVsdExvZ2dpbmdCdWNrZXRQcm9wcygpO1xuICAgICAgY29uc3QgbG9nZ2luZ0J1Y2tldCA9IGNyZWF0ZUFsYkxvZ2dpbmdCdWNrZXQoc2NvcGUsIGlkLCBjb25zb2xpZGF0ZWRMb2dnaW5nQnVja2V0UHJvcHMpO1xuICAgICAgbG9hZEJhbGFuY2VyLmxvZ0FjY2Vzc0xvZ3MobG9nZ2luZ0J1Y2tldCk7XG4gICAgfVxuICB9XG4gIHJldHVybiBsb2FkQmFsYW5jZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBBZGRMaXN0ZW5lcihcbiAgc2NvcGU6IENvbnN0cnVjdCxcbiAgbG9hZEJhbGFuY2VyOiBlbGIuQXBwbGljYXRpb25Mb2FkQmFsYW5jZXIsXG4gIGxpc3RlbmVyUHJvcHM6IGVsYi5BcHBsaWNhdGlvbkxpc3RlbmVyUHJvcHMgfCBhbnlcbik6IGVsYi5BcHBsaWNhdGlvbkxpc3RlbmVyIHtcbiAgbGV0IGNvbnNvbGlkYXRlZExpc3RlbmVyUHJvcHM6IGVsYi5BcHBsaWNhdGlvbkxpc3RlbmVyUHJvcHM7XG5cbiAgY29uc29saWRhdGVkTGlzdGVuZXJQcm9wcyA9IG92ZXJyaWRlUHJvcHMoXG4gICAgRGVmYXVsdExpc3RlbmVyUHJvcHMobG9hZEJhbGFuY2VyKSxcbiAgICBsaXN0ZW5lclByb3BzXG4gICk7XG5cbiAgLy8gICBjcmVhdGUgdGhlIGxpc3RlbmVyXG4gIGNvbnN0IGxpc3RlbmVyID0gbmV3IGVsYi5BcHBsaWNhdGlvbkxpc3RlbmVyKFxuICAgIHNjb3BlLFxuICAgIFwibGlzdGVuZXJcIixcbiAgICBjb25zb2xpZGF0ZWRMaXN0ZW5lclByb3BzXG4gICk7XG4gIGxvYWRCYWxhbmNlci5saXN0ZW5lcnMucHVzaChsaXN0ZW5lcik7XG5cbiAgaWYgKGNvbnNvbGlkYXRlZExpc3RlbmVyUHJvcHMucHJvdG9jb2wgPT09IGVsYi5BcHBsaWNhdGlvblByb3RvY29sLkhUVFApIHtcbiAgICAvLyBUaGlzIHdpbGwgdXNlIGNvcmUucHJpbnRXYXJuaW5nIGluIHRoZSBhY3R1YWwgY29uc3RydWN0XG4gICAgcHJpbnRXYXJuaW5nKFxuICAgICAgXCJBV1MgcmVjb21tZW5kcyBlbmNyeXB0aW5nIHRyYWZmaWMgdG8gYW4gQXBwbGljYXRpb24gTG9hZCBCYWxhbmNlciB1c2luZyBIVFRQUy5cIlxuICAgICk7XG4gICAgaWYgKGxpc3RlbmVyUHJvcHMuY2VydGlmaWNhdGVzPy5sZW5ndGggPiAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJIVFRQIGxpc3RlbmVycyBjYW5ub3QgdXNlIGEgY2VydGlmaWNhdGVcIik7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGlmICghbGlzdGVuZXJQcm9wcy5jZXJ0aWZpY2F0ZXMgfHwgbGlzdGVuZXJQcm9wcy5jZXJ0aWZpY2F0ZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJBIGxpc3RlbmVyIHVzaW5nIEhUVFBTIHByb3RvY29sIHJlcXVpcmVzIGEgY2VydGlmaWNhdGVcIik7XG4gICAgfVxuXG4gICAgbGlzdGVuZXIuYWRkQ2VydGlmaWNhdGVzKFwibGlzdGVuZXItY2VydC1hZGRcIiwgbGlzdGVuZXJQcm9wcy5jZXJ0aWZpY2F0ZXMpO1xuICB9XG5cbiAgaWYgKGNvbnNvbGlkYXRlZExpc3RlbmVyUHJvcHMucHJvdG9jb2wgPT09IGVsYi5BcHBsaWNhdGlvblByb3RvY29sLkhUVFBTKSB7XG4gICAgY29uc3Qgb3B0OiBlbGIuUmVkaXJlY3RPcHRpb25zID0ge1xuICAgICAgcG9ydDogXCI0NDNcIixcbiAgICAgIHByb3RvY29sOiBcIkhUVFBTXCIsXG4gICAgfTtcblxuICAgIGNvbnN0IGh0dHBMaXN0ZW5lciA9IG5ldyBlbGIuQXBwbGljYXRpb25MaXN0ZW5lcihcbiAgICAgIHNjb3BlLFxuICAgICAgXCJyZWRpcmVjdC1saXN0ZW5lclwiLFxuICAgICAge1xuICAgICAgICBsb2FkQmFsYW5jZXIsXG4gICAgICAgIHByb3RvY29sOiBBcHBsaWNhdGlvblByb3RvY29sLkhUVFAsXG4gICAgICAgIGRlZmF1bHRBY3Rpb246IExpc3RlbmVyQWN0aW9uLnJlZGlyZWN0KG9wdCksXG4gICAgICB9XG4gICAgKTtcbiAgICBsb2FkQmFsYW5jZXIubGlzdGVuZXJzLnB1c2goaHR0cExpc3RlbmVyKTtcbiAgfVxuXG4gIHJldHVybiBsaXN0ZW5lcjtcbn1cblxuLy8gQ3JlYXRlcyBhIFRhcmdldCBHcm91cCBmb3IgTGFtYmRhIGZ1bmN0aW9ucyBhbmQgYWRkcyB0aGVcbi8vIHByb3ZpZGVkIGZ1bmN0aW9ucyBhcyBhIHRhcmdldCB0byB0aGF0IGdyb3VwLiBUaGVuIGFkZHNcbi8vIHRoZSBuZXcgVGFyZ2V0IEdyb3VwIHRvIHRoZSBwcm92aWRlZCBMaXN0ZW5lci4gVGhlIGV4cGVjdGFpb25cbi8vIGlzIHRoYXQgTGFtYmRhIHNwZWNpZmljIGNvZGUgaXMgaW5jbHVkZWQgaGVyZSwgYW5kIG5leHQgd2Ugd2lsbFxuLy8gYWRkIEFkZEZhcmdhdGVUYXJnZXQoKSwgd2l0aCBGYXJnYXRlIHNwZWNpZmljIGNvZGUgaXNvbGF0ZWQgaW4gdGhhdFxuLy8gZnVuY3Rpb24uXG5leHBvcnQgZnVuY3Rpb24gQWRkTGFtYmRhVGFyZ2V0KFxuICBzY29wZTogQ29uc3RydWN0LFxuICBpZDogc3RyaW5nLFxuICBjdXJyZW50TGlzdGVuZXI6IGVsYi5BcHBsaWNhdGlvbkxpc3RlbmVyLFxuICBsYW1iZGFGdW5jdGlvbjogbGFtYmRhLklGdW5jdGlvbixcbiAgcnVsZVByb3BzPzogZWxiLkFkZFJ1bGVQcm9wcyxcbiAgdGFyZ2V0UHJvcHM/OiBlbGIuQXBwbGljYXRpb25UYXJnZXRHcm91cFByb3BzLFxuKTogZWxiLkFwcGxpY2F0aW9uVGFyZ2V0R3JvdXAgIHtcblxuICAvLyAgQ3JlYXRlIHRoZSB0YXJnZXQgYW5kIGFzc2lnbiBpdCB0byBhIG5ldyB0YXJnZXQgZ3JvdXBcbiAgY29uc3QgbGFtYmRhVGFyZ2V0ID0gbmV3IGVsYnQuTGFtYmRhVGFyZ2V0KGxhbWJkYUZ1bmN0aW9uKTtcbiAgY29uc3QgbmV3VGFyZ2V0R3JvdXAgPSBuZXcgZWxiLkFwcGxpY2F0aW9uVGFyZ2V0R3JvdXAoc2NvcGUsIGAke2lkfS10Z2AsIHtcbiAgICB0YXJnZXRzOiBbbGFtYmRhVGFyZ2V0XSxcbiAgICB0YXJnZXRHcm91cE5hbWU6IHRhcmdldFByb3BzID8gdGFyZ2V0UHJvcHMudGFyZ2V0R3JvdXBOYW1lIDogdW5kZWZpbmVkLFxuICAgIGhlYWx0aENoZWNrOiB0YXJnZXRQcm9wcyA/IHRhcmdldFByb3BzLmhlYWx0aENoZWNrIDogdW5kZWZpbmVkXG4gIH0pO1xuXG4gIC8vIEFkZFJ1bGVQcm9wcyBpbmNsdWRlcyBjb25kaXRpb25zIGFuZCBwcmlvcml0eSwgY29tYmluZSB0aGF0IHdpdGggdGFyZ2V0R3JvdXBzIGFuZFxuICAvLyB3ZSBjYW4gYXNzZW1ibGUgQWRkQXBwbGljYXRpb25UYXJnZXRHcm91cFByb3BzXG4gIGlmIChydWxlUHJvcHMpIHtcbiAgICBjb25zdCBjb25zb2xpZGF0ZWRUYXJnZXRQcm9wcyA9IG92ZXJyaWRlUHJvcHMocnVsZVByb3BzLCB7IHRhcmdldEdyb3VwczogW25ld1RhcmdldEdyb3VwXSB9KTtcbiAgICBjdXJyZW50TGlzdGVuZXIuYWRkVGFyZ2V0R3JvdXBzKGAke3Njb3BlLm5vZGUuaWR9LXRhcmdldHNgLCBjb25zb2xpZGF0ZWRUYXJnZXRQcm9wcyk7XG4gIH0gZWxzZSB7XG4gICAgY3VycmVudExpc3RlbmVyLmFkZFRhcmdldEdyb3VwcyhcInRhcmdldHNcIiwge1xuICAgICAgdGFyZ2V0R3JvdXBzOiBbbmV3VGFyZ2V0R3JvdXBdLFxuICAgIH0pO1xuICB9XG4gIG5ld1RhcmdldEdyb3VwLnNldEF0dHJpYnV0ZSgnc3RpY2tpbmVzcy5lbmFibGVkJywgdW5kZWZpbmVkKTtcbiAgcmV0dXJuIG5ld1RhcmdldEdyb3VwO1xufVxuXG4vLyBMb29rcyBmb3IgdGhlIGxpc3RlbmVyIGFzc29jaWF0ZWQgd2l0aCBUYXJnZXQgR3JvdXBzXG4vLyBJZiB0aGVyZSBpcyBhIHNpbmdsZSBsaXN0ZW5lciwgdGhpcyByZXR1cm5zIGl0IHdoZXRoZXIgaXQgaXMgSFRUUCBvciBIVFRQU1xuLy8gSWYgdGhlcmUgYXJlIDIgbGlzdGVuZXJzLCBpdCBmaW5kcyB0aGUgSFRUUFMgbGlzdGVuZXIgKHdlIGFzc3VtZSB0aGUgSFRUUCBsaXN0ZW5lciByZWRpcmVjdHMgdG8gSFRUUFMpXG5leHBvcnQgZnVuY3Rpb24gR2V0QWN0aXZlTGlzdGVuZXIobGlzdGVuZXJzOiBlbGIuQXBwbGljYXRpb25MaXN0ZW5lcltdKTogZWxiLkFwcGxpY2F0aW9uTGlzdGVuZXIge1xuICBsZXQgbGlzdGVuZXI6IGVsYi5BcHBsaWNhdGlvbkxpc3RlbmVyO1xuXG4gIGlmIChsaXN0ZW5lcnMubGVuZ3RoID09PSAwICkge1xuICAgIHRocm93IG5ldyBFcnJvcihgVGhlcmUgYXJlIG5vIGxpc3RlbmVycyBpbiB0aGUgQUxCYCk7XG4gIH1cbiAgaWYgKGxpc3RlbmVycy5sZW5ndGggPT09IDEgKSB7XG4gICAgbGlzdGVuZXIgPSBsaXN0ZW5lcnNbMF07XG4gIH0gZWxzZSB7XG4gICAgbGlzdGVuZXIgPSBsaXN0ZW5lcnMuZmluZChpID0+IChpLm5vZGUuY2hpbGRyZW5bMF0gYXMgZWxiLkNmbkxpc3RlbmVyKS5wcm90b2NvbCA9PT0gXCJIVFRQU1wiKSBhcyBlbGIuQXBwbGljYXRpb25MaXN0ZW5lcjtcbiAgfVxuICByZXR1cm4gbGlzdGVuZXI7XG59XG4iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-solutions-constructs/core",
3
- "version": "1.128.0",
3
+ "version": "1.132.0",
4
4
  "description": "Core CDK Construct for patterns library",
5
5
  "main": "index.js",
6
6
  "types": "index.ts",
@@ -52,48 +52,48 @@
52
52
  }
53
53
  },
54
54
  "dependencies": {
55
- "@aws-cdk/aws-cloudfront": "1.128.0",
56
- "@aws-cdk/aws-cloudfront-origins": "1.128.0",
57
- "@aws-cdk/aws-dynamodb": "1.128.0",
58
- "@aws-cdk/aws-elasticloadbalancingv2": "1.128.0",
59
- "@aws-cdk/aws-elasticloadbalancingv2-targets": "1.128.0",
60
- "@aws-cdk/aws-glue": "1.128.0",
61
- "@aws-cdk/aws-iot": "1.128.0",
62
- "@aws-cdk/aws-kinesis": "1.128.0",
63
- "@aws-cdk/aws-kinesisanalytics": "1.128.0",
64
- "@aws-cdk/aws-kinesisfirehose": "1.128.0",
65
- "@aws-cdk/aws-lambda": "1.128.0",
66
- "@aws-cdk/aws-lambda-event-sources": "1.128.0",
67
- "@aws-cdk/aws-logs": "1.128.0",
68
- "@aws-cdk/aws-s3": "1.128.0",
69
- "@aws-cdk/aws-s3-notifications": "1.128.0",
70
- "@aws-cdk/aws-sns": "1.128.0",
71
- "@aws-cdk/aws-sqs": "1.128.0",
72
- "@aws-cdk/core": "1.128.0",
73
- "@aws-cdk/aws-iam": "1.128.0",
74
- "@aws-cdk/aws-apigateway": "1.128.0",
75
- "@aws-cdk/aws-kms": "1.128.0",
76
- "@aws-cdk/aws-events": "1.128.0",
77
- "@aws-cdk/aws-cognito": "1.128.0",
78
- "@aws-cdk/aws-elasticsearch": "1.128.0",
79
- "@aws-cdk/aws-cloudwatch": "1.128.0",
80
- "@aws-cdk/aws-stepfunctions": "1.128.0",
81
- "@aws-cdk/aws-certificatemanager": "1.128.0",
82
- "@aws-cdk/aws-sagemaker": "1.128.0",
83
- "@aws-cdk/aws-ec2": "1.128.0",
84
- "@aws-cdk/aws-mediastore": "1.128.0",
85
- "@aws-cdk/aws-s3-assets": "1.128.0",
86
- "@aws-cdk/aws-secretsmanager": "1.128.0",
87
- "@aws-cdk/aws-ssm": "1.128.0",
88
- "@aws-cdk/aws-wafv2": "1.128.0",
89
- "@types/deep-diff": "^1.0.0",
90
- "@types/npmlog": "^4.1.2",
55
+ "@aws-cdk/aws-cloudfront": "1.132.0",
56
+ "@aws-cdk/aws-cloudfront-origins": "1.132.0",
57
+ "@aws-cdk/aws-dynamodb": "1.132.0",
58
+ "@aws-cdk/aws-elasticloadbalancingv2": "1.132.0",
59
+ "@aws-cdk/aws-elasticloadbalancingv2-targets": "1.132.0",
60
+ "@aws-cdk/aws-glue": "1.132.0",
61
+ "@aws-cdk/aws-iot": "1.132.0",
62
+ "@aws-cdk/aws-kinesis": "1.132.0",
63
+ "@aws-cdk/aws-kinesisanalytics": "1.132.0",
64
+ "@aws-cdk/aws-kinesisfirehose": "1.132.0",
65
+ "@aws-cdk/aws-lambda": "1.132.0",
66
+ "@aws-cdk/aws-lambda-event-sources": "1.132.0",
67
+ "@aws-cdk/aws-logs": "1.132.0",
68
+ "@aws-cdk/aws-s3": "1.132.0",
69
+ "@aws-cdk/aws-s3-notifications": "1.132.0",
70
+ "@aws-cdk/aws-sns": "1.132.0",
71
+ "@aws-cdk/aws-sqs": "1.132.0",
72
+ "@aws-cdk/core": "1.132.0",
73
+ "@aws-cdk/aws-iam": "1.132.0",
74
+ "@aws-cdk/aws-apigateway": "1.132.0",
75
+ "@aws-cdk/aws-kms": "1.132.0",
76
+ "@aws-cdk/aws-events": "1.132.0",
77
+ "@aws-cdk/aws-cognito": "1.132.0",
78
+ "@aws-cdk/aws-elasticsearch": "1.132.0",
79
+ "@aws-cdk/aws-cloudwatch": "1.132.0",
80
+ "@aws-cdk/aws-stepfunctions": "1.132.0",
81
+ "@aws-cdk/aws-certificatemanager": "1.132.0",
82
+ "@aws-cdk/aws-sagemaker": "1.132.0",
83
+ "@aws-cdk/aws-ec2": "1.132.0",
84
+ "@aws-cdk/aws-mediastore": "1.132.0",
85
+ "@aws-cdk/aws-s3-assets": "1.132.0",
86
+ "@aws-cdk/aws-secretsmanager": "1.132.0",
87
+ "@aws-cdk/aws-ssm": "1.132.0",
88
+ "@aws-cdk/aws-wafv2": "1.132.0",
91
89
  "deep-diff": "^1.0.2",
92
90
  "deepmerge": "^4.0.0",
93
91
  "npmlog": "^4.1.2"
94
92
  },
95
93
  "devDependencies": {
96
- "@aws-cdk/assert": "1.128.0",
94
+ "@types/deep-diff": "^1.0.0",
95
+ "@types/npmlog": "^4.1.2",
96
+ "@aws-cdk/assert": "1.132.0",
97
97
  "@types/jest": "^26.0.22",
98
98
  "@types/node": "^10.3.0"
99
99
  },
@@ -114,42 +114,40 @@
114
114
  "bundledDependencies": [
115
115
  "deepmerge",
116
116
  "npmlog",
117
- "@types/npmlog",
118
- "deep-diff",
119
- "@types/deep-diff"
117
+ "deep-diff"
120
118
  ],
121
119
  "peerDependencies": {
122
- "@aws-cdk/aws-cloudfront": "1.128.0",
123
- "@aws-cdk/aws-dynamodb": "1.128.0",
124
- "@aws-cdk/aws-iot": "1.128.0",
125
- "@aws-cdk/aws-kinesis": "1.128.0",
126
- "@aws-cdk/aws-kinesisanalytics": "1.128.0",
127
- "@aws-cdk/aws-kinesisfirehose": "1.128.0",
128
- "@aws-cdk/aws-lambda": "1.128.0",
129
- "@aws-cdk/aws-lambda-event-sources": "1.128.0",
130
- "@aws-cdk/aws-logs": "1.128.0",
131
- "@aws-cdk/aws-s3": "1.128.0",
132
- "@aws-cdk/aws-s3-notifications": "1.128.0",
133
- "@aws-cdk/aws-sns": "1.128.0",
134
- "@aws-cdk/aws-sqs": "1.128.0",
135
- "@aws-cdk/core": "1.128.0",
136
- "@aws-cdk/aws-iam": "1.128.0",
137
- "@aws-cdk/aws-apigateway": "1.128.0",
138
- "@aws-cdk/aws-kms": "1.128.0",
139
- "@aws-cdk/aws-events": "1.128.0",
140
- "@aws-cdk/aws-cognito": "1.128.0",
141
- "@aws-cdk/aws-elasticsearch": "1.128.0",
142
- "@aws-cdk/aws-cloudwatch": "1.128.0",
143
- "@aws-cdk/aws-stepfunctions": "1.128.0",
144
- "@aws-cdk/aws-cloudfront-origins": "1.128.0",
145
- "@aws-cdk/aws-certificatemanager": "1.128.0",
146
- "@aws-cdk/aws-sagemaker": "1.128.0",
147
- "@aws-cdk/aws-ec2": "1.128.0",
148
- "@aws-cdk/aws-mediastore": "1.128.0",
149
- "@aws-cdk/aws-glue": "1.128.0",
150
- "@aws-cdk/aws-s3-assets": "1.128.0",
151
- "@aws-cdk/aws-secretsmanager": "1.128.0",
152
- "@aws-cdk/aws-ssm": "1.128.0",
153
- "@aws-cdk/aws-wafv2": "1.128.0"
120
+ "@aws-cdk/aws-cloudfront": "1.132.0",
121
+ "@aws-cdk/aws-dynamodb": "1.132.0",
122
+ "@aws-cdk/aws-iot": "1.132.0",
123
+ "@aws-cdk/aws-kinesis": "1.132.0",
124
+ "@aws-cdk/aws-kinesisanalytics": "1.132.0",
125
+ "@aws-cdk/aws-kinesisfirehose": "1.132.0",
126
+ "@aws-cdk/aws-lambda": "1.132.0",
127
+ "@aws-cdk/aws-lambda-event-sources": "1.132.0",
128
+ "@aws-cdk/aws-logs": "1.132.0",
129
+ "@aws-cdk/aws-s3": "1.132.0",
130
+ "@aws-cdk/aws-s3-notifications": "1.132.0",
131
+ "@aws-cdk/aws-sns": "1.132.0",
132
+ "@aws-cdk/aws-sqs": "1.132.0",
133
+ "@aws-cdk/core": "1.132.0",
134
+ "@aws-cdk/aws-iam": "1.132.0",
135
+ "@aws-cdk/aws-apigateway": "1.132.0",
136
+ "@aws-cdk/aws-kms": "1.132.0",
137
+ "@aws-cdk/aws-events": "1.132.0",
138
+ "@aws-cdk/aws-cognito": "1.132.0",
139
+ "@aws-cdk/aws-elasticsearch": "1.132.0",
140
+ "@aws-cdk/aws-cloudwatch": "1.132.0",
141
+ "@aws-cdk/aws-stepfunctions": "1.132.0",
142
+ "@aws-cdk/aws-cloudfront-origins": "1.132.0",
143
+ "@aws-cdk/aws-certificatemanager": "1.132.0",
144
+ "@aws-cdk/aws-sagemaker": "1.132.0",
145
+ "@aws-cdk/aws-ec2": "1.132.0",
146
+ "@aws-cdk/aws-mediastore": "1.132.0",
147
+ "@aws-cdk/aws-glue": "1.132.0",
148
+ "@aws-cdk/aws-s3-assets": "1.132.0",
149
+ "@aws-cdk/aws-secretsmanager": "1.132.0",
150
+ "@aws-cdk/aws-ssm": "1.132.0",
151
+ "@aws-cdk/aws-wafv2": "1.132.0"
154
152
  }
155
153
  }