@aws-solutions-constructs/aws-alb-lambda 1.127.0 → 1.131.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,15 +8,15 @@
8
8
  "url": "https://aws.amazon.com"
9
9
  },
10
10
  "dependencies": {
11
- "@aws-cdk/aws-certificatemanager": "1.127.0",
12
- "@aws-cdk/aws-ec2": "1.127.0",
13
- "@aws-cdk/aws-elasticloadbalancingv2": "1.127.0",
14
- "@aws-cdk/aws-iam": "1.127.0",
15
- "@aws-cdk/aws-lambda": "1.127.0",
16
- "@aws-cdk/aws-lambda-event-sources": "1.127.0",
17
- "@aws-cdk/aws-s3": "1.127.0",
18
- "@aws-cdk/core": "1.127.0",
19
- "@aws-solutions-constructs/core": "1.127.0",
11
+ "@aws-cdk/aws-certificatemanager": "1.131.0",
12
+ "@aws-cdk/aws-ec2": "1.131.0",
13
+ "@aws-cdk/aws-elasticloadbalancingv2": "1.131.0",
14
+ "@aws-cdk/aws-iam": "1.131.0",
15
+ "@aws-cdk/aws-lambda": "1.131.0",
16
+ "@aws-cdk/aws-lambda-event-sources": "1.131.0",
17
+ "@aws-cdk/aws-s3": "1.131.0",
18
+ "@aws-cdk/core": "1.131.0",
19
+ "@aws-solutions-constructs/core": "1.131.0",
20
20
  "constructs": "^3.2.0"
21
21
  },
22
22
  "dependencyClosure": {
@@ -47,6 +47,33 @@
47
47
  }
48
48
  }
49
49
  },
50
+ "@aws-cdk/aws-acmpca": {
51
+ "targets": {
52
+ "dotnet": {
53
+ "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png",
54
+ "namespace": "Amazon.CDK.AWS.ACMPCA",
55
+ "packageId": "Amazon.CDK.AWS.ACMPCA"
56
+ },
57
+ "java": {
58
+ "maven": {
59
+ "artifactId": "acmpca",
60
+ "groupId": "software.amazon.awscdk"
61
+ },
62
+ "package": "software.amazon.awscdk.services.acmpca"
63
+ },
64
+ "js": {
65
+ "npm": "@aws-cdk/aws-acmpca"
66
+ },
67
+ "python": {
68
+ "classifiers": [
69
+ "Framework :: AWS CDK",
70
+ "Framework :: AWS CDK :: 1"
71
+ ],
72
+ "distName": "aws-cdk.aws-acmpca",
73
+ "module": "aws_cdk.aws_acmpca"
74
+ }
75
+ }
76
+ },
50
77
  "@aws-cdk/aws-apigateway": {
51
78
  "targets": {
52
79
  "dotnet": {
@@ -1452,7 +1479,7 @@
1452
1479
  },
1453
1480
  "description": "CDK Constructs for Application Load Balancer to AWS Lambda integration",
1454
1481
  "homepage": "https://github.com/awslabs/aws-solutions-constructs.git",
1455
- "jsiiVersion": "1.46.0 (build cd08c55)",
1482
+ "jsiiVersion": "1.47.0 (build 86d2c33)",
1456
1483
  "keywords": [
1457
1484
  "aws",
1458
1485
  "cdk",
@@ -1509,7 +1536,7 @@
1509
1536
  "initializer": {
1510
1537
  "locationInModule": {
1511
1538
  "filename": "lib/index.ts",
1512
- "line": 123
1539
+ "line": 124
1513
1540
  },
1514
1541
  "parameters": [
1515
1542
  {
@@ -1535,7 +1562,7 @@
1535
1562
  "kind": "class",
1536
1563
  "locationInModule": {
1537
1564
  "filename": "lib/index.ts",
1538
- "line": 117
1565
+ "line": 118
1539
1566
  },
1540
1567
  "name": "AlbToLambda",
1541
1568
  "properties": [
@@ -1543,7 +1570,7 @@
1543
1570
  "immutable": true,
1544
1571
  "locationInModule": {
1545
1572
  "filename": "lib/index.ts",
1546
- "line": 120
1573
+ "line": 121
1547
1574
  },
1548
1575
  "name": "lambdaFunction",
1549
1576
  "type": {
@@ -1554,7 +1581,7 @@
1554
1581
  "immutable": true,
1555
1582
  "locationInModule": {
1556
1583
  "filename": "lib/index.ts",
1557
- "line": 121
1584
+ "line": 122
1558
1585
  },
1559
1586
  "name": "listener",
1560
1587
  "type": {
@@ -1565,7 +1592,7 @@
1565
1592
  "immutable": true,
1566
1593
  "locationInModule": {
1567
1594
  "filename": "lib/index.ts",
1568
- "line": 118
1595
+ "line": 119
1569
1596
  },
1570
1597
  "name": "loadBalancer",
1571
1598
  "type": {
@@ -1576,7 +1603,7 @@
1576
1603
  "immutable": true,
1577
1604
  "locationInModule": {
1578
1605
  "filename": "lib/index.ts",
1579
- "line": 119
1606
+ "line": 120
1580
1607
  },
1581
1608
  "name": "vpc",
1582
1609
  "type": {
@@ -1593,7 +1620,7 @@
1593
1620
  "kind": "interface",
1594
1621
  "locationInModule": {
1595
1622
  "filename": "lib/index.ts",
1596
- "line": 22
1623
+ "line": 23
1597
1624
  },
1598
1625
  "name": "AlbToLambdaProps",
1599
1626
  "properties": [
@@ -1607,7 +1634,7 @@
1607
1634
  "immutable": true,
1608
1635
  "locationInModule": {
1609
1636
  "filename": "lib/index.ts",
1610
- "line": 114
1637
+ "line": 115
1611
1638
  },
1612
1639
  "name": "publicApi",
1613
1640
  "type": {
@@ -1624,7 +1651,7 @@
1624
1651
  "immutable": true,
1625
1652
  "locationInModule": {
1626
1653
  "filename": "lib/index.ts",
1627
- "line": 108
1654
+ "line": 109
1628
1655
  },
1629
1656
  "name": "albLoggingBucketProps",
1630
1657
  "optional": true,
@@ -1641,7 +1668,7 @@
1641
1668
  "immutable": true,
1642
1669
  "locationInModule": {
1643
1670
  "filename": "lib/index.ts",
1644
- "line": 45
1671
+ "line": 46
1645
1672
  },
1646
1673
  "name": "existingLambdaObj",
1647
1674
  "optional": true,
@@ -1659,7 +1686,7 @@
1659
1686
  "immutable": true,
1660
1687
  "locationInModule": {
1661
1688
  "filename": "lib/index.ts",
1662
- "line": 38
1689
+ "line": 39
1663
1690
  },
1664
1691
  "name": "existingLoadBalancerObj",
1665
1692
  "optional": true,
@@ -1677,7 +1704,7 @@
1677
1704
  "immutable": true,
1678
1705
  "locationInModule": {
1679
1706
  "filename": "lib/index.ts",
1680
- "line": 94
1707
+ "line": 95
1681
1708
  },
1682
1709
  "name": "existingVpc",
1683
1710
  "optional": true,
@@ -1694,7 +1721,7 @@
1694
1721
  "immutable": true,
1695
1722
  "locationInModule": {
1696
1723
  "filename": "lib/index.ts",
1697
- "line": 51
1724
+ "line": 52
1698
1725
  },
1699
1726
  "name": "lambdaFunctionProps",
1700
1727
  "optional": true,
@@ -1712,7 +1739,7 @@
1712
1739
  "immutable": true,
1713
1740
  "locationInModule": {
1714
1741
  "filename": "lib/index.ts",
1715
- "line": 60
1742
+ "line": 61
1716
1743
  },
1717
1744
  "name": "listenerProps",
1718
1745
  "optional": true,
@@ -1730,7 +1757,7 @@
1730
1757
  "immutable": true,
1731
1758
  "locationInModule": {
1732
1759
  "filename": "lib/index.ts",
1733
- "line": 30
1760
+ "line": 31
1734
1761
  },
1735
1762
  "name": "loadBalancerProps",
1736
1763
  "optional": true,
@@ -1748,7 +1775,7 @@
1748
1775
  "immutable": true,
1749
1776
  "locationInModule": {
1750
1777
  "filename": "lib/index.ts",
1751
- "line": 101
1778
+ "line": 102
1752
1779
  },
1753
1780
  "name": "logAlbAccessLogs",
1754
1781
  "optional": true,
@@ -1766,7 +1793,7 @@
1766
1793
  "immutable": true,
1767
1794
  "locationInModule": {
1768
1795
  "filename": "lib/index.ts",
1769
- "line": 77
1796
+ "line": 78
1770
1797
  },
1771
1798
  "name": "ruleProps",
1772
1799
  "optional": true,
@@ -1784,7 +1811,7 @@
1784
1811
  "immutable": true,
1785
1812
  "locationInModule": {
1786
1813
  "filename": "lib/index.ts",
1787
- "line": 68
1814
+ "line": 69
1788
1815
  },
1789
1816
  "name": "targetProps",
1790
1817
  "optional": true,
@@ -1802,7 +1829,7 @@
1802
1829
  "immutable": true,
1803
1830
  "locationInModule": {
1804
1831
  "filename": "lib/index.ts",
1805
- "line": 86
1832
+ "line": 87
1806
1833
  },
1807
1834
  "name": "vpcProps",
1808
1835
  "optional": true,
@@ -1814,6 +1841,6 @@
1814
1841
  "symbolId": "lib/index:AlbToLambdaProps"
1815
1842
  }
1816
1843
  },
1817
- "version": "1.127.0",
1818
- "fingerprint": "PH/4jc6JEnXDNOlhF5Lh+6Ma5jTm5XVT7ZLMmXJMlH4="
1844
+ "version": "1.131.0",
1845
+ "fingerprint": "TpKSiV0s6Vg57qe7H9MAM4+F2aCJ1bj1WVadJ+B4Svw="
1819
1846
  }
package/lib/index.js CHANGED
@@ -5,6 +5,7 @@ exports.AlbToLambda = void 0;
5
5
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
6
  const core_1 = require("@aws-cdk/core");
7
7
  const defaults = require("@aws-solutions-constructs/core");
8
+ const core_2 = require("@aws-solutions-constructs/core");
8
9
  class AlbToLambda extends core_1.Construct {
9
10
  constructor(scope, id, props) {
10
11
  var _b;
@@ -54,43 +55,33 @@ class AlbToLambda extends core_1.Construct {
54
55
  lambdaFunctionProps: props.lambdaFunctionProps,
55
56
  vpc: this.vpc,
56
57
  });
58
+ let newListener;
57
59
  if (this.loadBalancer.listeners.length === 0) {
58
- // This is a new listener, we need to create it along with the default target
59
- const newTargetGroup = defaults.CreateLambdaTargetGroup(this, `tg${this.loadBalancer.listeners.length + 1}`, this.lambdaFunction, props.targetProps);
60
- this.listener = defaults.AddListener(this, this.loadBalancer, newTargetGroup, props.listenerProps);
61
- // Testing occasionally caused a TargetGroup not found error, this
62
- // code ensures the Group will be complete before the Listener tries
63
- // to access it.
64
- const newListener = this.listener.node.defaultChild;
65
- const cfnTargetGroup = newTargetGroup.node.defaultChild;
66
- newListener.addDependsOn(cfnTargetGroup);
60
+ newListener = true;
67
61
  }
68
62
  else {
69
- // We're adding a target to an existing listener. If this.loadBalancer.listeners.length
70
- // is >0, then this.loadBalancer was set from existingLoadBalancer
71
- this.listener = GetActiveListener(this.loadBalancer.listeners);
72
- defaults.AddTarget(this, defaults.CreateLambdaTargetGroup(this, `tg${this.loadBalancer.listeners.length + 1}`, this.lambdaFunction, props.targetProps), this.listener, props.ruleProps);
63
+ newListener = false;
73
64
  }
74
- }
75
- }
76
- exports.AlbToLambda = AlbToLambda;
77
- _a = JSII_RTTI_SYMBOL_1;
78
- AlbToLambda[_a] = { fqn: "@aws-solutions-constructs/aws-alb-lambda.AlbToLambda", version: "1.127.0" };
79
- function GetActiveListener(listeners) {
80
- let listener;
81
- if (listeners.length === 1) {
82
- listener = listeners[0];
83
- }
84
- else {
85
- const correctListener = listeners.find(i => i.node.children[0].protocol === "HTTPS");
86
- if (correctListener) {
87
- listener = correctListener;
65
+ // If there's no listener, then we add one here
66
+ if (newListener) {
67
+ this.listener = defaults.AddListener(this, this.loadBalancer, props.listenerProps);
88
68
  }
89
69
  else {
90
- // This line should be unreachable
91
- throw new Error(`Two listeners in the ALB, but neither are HTTPS`);
70
+ this.listener = core_2.GetActiveListener(this.loadBalancer.listeners);
71
+ }
72
+ const newTargetGroup = defaults.AddLambdaTarget(this, `tg${this.loadBalancer.listeners.length + 1}`, this.listener, this.lambdaFunction, props.ruleProps, props.targetProps);
73
+ // this.listener needs to be set on the construct.
74
+ // could be above: else { defaults.GetActiveListener }
75
+ // do we then move that funcionality back into the construct (not the function). If so do
76
+ // we leave it in AddNewTarget or just do it here and pass the listener?
77
+ if (newListener && this.listener) {
78
+ const levelOneListener = this.listener.node.defaultChild;
79
+ const cfnTargetGroup = newTargetGroup.node.defaultChild;
80
+ levelOneListener.addDependsOn(cfnTargetGroup);
92
81
  }
93
82
  }
94
- return listener;
95
83
  }
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQWlCQSx3Q0FBMEM7QUFDMUMsMkRBQTJEO0FBOEIzRCxNQUFhLFdBQVksU0FBUSxnQkFBUztJQU14QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXVCOztRQUMvRCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFM0IsVUFBSSxLQUFLLENBQUMsYUFBYSwwQ0FBRSxlQUFlLEVBQUU7WUFDeEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxrR0FBa0csQ0FBQyxDQUFDO1NBQ3JIO1FBRUQsSUFDRSxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsSUFBSSxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLHVCQUF1QixDQUFDO2VBQ3hILENBQUMsS0FBSyxDQUFDLGFBQWEsRUFDdkI7WUFDQSxNQUFNLElBQUksS0FBSyxDQUNiLG9KQUFvSixDQUNySixDQUFDO1NBQ0g7UUFFRCxJQUNFLENBQUMsQ0FBQyxLQUFLLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3pGLEtBQUssQ0FBQyxhQUFhLEVBQ25CO1lBQ0EsTUFBTSxJQUFJLEtBQUssQ0FDYiwrRUFBK0UsQ0FDaEYsQ0FBQztTQUNIO1FBRUQsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRTtZQUNqSCxN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QUNKLEtBQUssSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxFQUM3QyxJQUFJLENBQUMsY0FBYyxFQUNuQixLQUFLLENBQUMsV0FBVyxDQUNsQixFQUNELElBQUksQ0FBQyxRQUFRLEVBQ2IsS0FBSyxDQUFDLFNBQVMsQ0FDaEIsQ0FBQztTQUNIO0lBQ0gsQ0FBQzs7QUF2SEgsa0NBd0hDOzs7QUFFRCxTQUFTLGlCQUFpQixDQUFDLFNBQW9DO0lBQzdELElBQUksUUFBaUMsQ0FBQztJQUV0QyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFHO1FBQzNCLFFBQVEsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDekI7U0FBTTtRQUNMLE1BQU0sZUFBZSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQXFCLENBQUMsUUFBUSxLQUFLLE9BQU8sQ0FBQyxDQUFDO1FBQzFHLElBQUksZUFBZSxFQUFFO1lBQ25CLFFBQVEsR0FBRyxlQUFlLENBQUM7U0FDNUI7YUFBTTtZQUNMLGtDQUFrQztZQUNsQyxNQUFNLElBQUksS0FBSyxDQUFDLGlEQUFpRCxDQUFDLENBQUM7U0FDcEU7S0FDRjtJQUNELE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgMjAyMSBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCAqIGFzIGVsYiBmcm9tIFwiQGF3cy1jZGsvYXdzLWVsYXN0aWNsb2FkYmFsYW5jaW5ndjJcIjtcbmltcG9ydCAqIGFzIGVjMiBmcm9tIFwiQGF3cy1jZGsvYXdzLWVjMlwiO1xuaW1wb3J0ICogYXMgczMgZnJvbSBcIkBhd3MtY2RrL2F3cy1zM1wiO1xuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gXCJAYXdzLWNkay9hd3MtbGFtYmRhXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiQGF3cy1jZGsvY29yZVwiO1xuaW1wb3J0ICogYXMgZGVmYXVsdHMgZnJvbSBcIkBhd3Mtc29sdXRpb25zLWNvbnN0cnVjdHMvY29yZVwiO1xuaW1wb3J0IHsgQ2ZuTGlzdGVuZXIsIENmblRhcmdldEdyb3VwIH0gZnJvbSBcIkBhd3MtY2RrL2F3cy1lbGFzdGljbG9hZGJhbGFuY2luZ3YyXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWxiVG9MYW1iZGFQcm9wcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBsb2FkQmFsYW5jZXJQcm9wcz86IGVsYi5BcHBsaWNhdGlvbkxvYWRCYWxhbmNlclByb3BzIHwgYW55O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBleGlzdGluZ0xvYWRCYWxhbmNlck9iaj86IGVsYi5BcHBsaWNhdGlvbkxvYWRCYWxhbmNlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBleGlzdGluZ0xhbWJkYU9iaj86IGxhbWJkYS5GdW5jdGlvbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBsYW1iZGFGdW5jdGlvblByb3BzPzogbGFtYmRhLkZ1bmN0aW9uUHJvcHM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBsaXN0ZW5lclByb3BzPzogZWxiLkFwcGxpY2F0aW9uTGlzdGVuZXJQcm9wcyB8IGFueTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgdGFyZ2V0UHJvcHM/OiBlbGIuQXBwbGljYXRpb25UYXJnZXRHcm91cFByb3BzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHJ1bGVQcm9wcz86IGVsYi5BZGRSdWxlUHJvcHM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgdnBjUHJvcHM/OiBlYzIuVnBjUHJvcHM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBleGlzdGluZ1ZwYz86IGVjMi5JVnBjO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgbG9nQWxiQWNjZXNzTG9ncz86IGJvb2xlYW4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgYWxiTG9nZ2luZ0J1Y2tldFByb3BzPzogczMuQnVja2V0UHJvcHMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHB1YmxpY0FwaTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIEFsYlRvTGFtYmRhIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcHVibGljIHJlYWRvbmx5IGxvYWRCYWxhbmNlcjogZWxiLkFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyO1xuICBwdWJsaWMgcmVhZG9ubHkgdnBjOiBlYzIuSVZwYztcbiAgcHVibGljIHJlYWRvbmx5IGxhbWJkYUZ1bmN0aW9uOiBsYW1iZGEuRnVuY3Rpb247XG4gIHB1YmxpYyByZWFkb25seSBsaXN0ZW5lcjogZWxiLkFwcGxpY2F0aW9uTGlzdGVuZXI7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEFsYlRvTGFtYmRhUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIGRlZmF1bHRzLkNoZWNrUHJvcHMocHJvcHMpO1xuXG4gICAgaWYgKHByb3BzLmxpc3RlbmVyUHJvcHM/LmNlcnRpZmljYXRlQXJucykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdjZXJ0aWZpY2F0ZUFybnMgaXMgZGVwcmVjYXRlZC4gUGxlYXNlIHN1cHBseSBjZXJ0aWZpY2F0ZXMgdXNpbmcgcHJvcHMubGlzdGVuZXJQcm9wcy5jZXJ0aWZpY2F0ZXMnKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICAocHJvcHMuZXhpc3RpbmdMb2FkQmFsYW5jZXJPYmogJiYgKHByb3BzLmV4aXN0aW5nTG9hZEJhbGFuY2VyT2JqLmxpc3RlbmVycy5sZW5ndGggPT09IDApIHx8ICFwcm9wcy5leGlzdGluZ0xvYWRCYWxhbmNlck9iailcbiAgICAgICYmICFwcm9wcy5saXN0ZW5lclByb3BzXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiV2hlbiBhZGRpbmcgdGhlIGZpcnN0IGxpc3RlbmVyIGFuZCB0YXJnZXQgdG8gYSBsb2FkIGJhbGFuY2VyLCBsaXN0ZW5lclByb3BzIG11c3QgYmUgc3BlY2lmaWVkIGFuZCBpbmNsdWRlIGF0IGxlYXN0IGEgY2VydGlmaWNhdGUgb3IgcHJvdG9jb2w6IEhUVFBcIlxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICAoKHByb3BzLmV4aXN0aW5nTG9hZEJhbGFuY2VyT2JqKSAmJiAocHJvcHMuZXhpc3RpbmdMb2FkQmFsYW5jZXJPYmoubGlzdGVuZXJzLmxlbmd0aCA+IDApKSAmJlxuICAgICAgcHJvcHMubGlzdGVuZXJQcm9wc1xuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIlRoaXMgbG9hZCBiYWxhbmNlciBhbHJlYWR5IGhhcyBhIGxpc3RlbmVyLCBsaXN0ZW5lclByb3BzIG1heSBub3QgYmUgc3BlY2lmaWVkXCJcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKCgocHJvcHMuZXhpc3RpbmdMb2FkQmFsYW5jZXJPYmopICYmIChwcm9wcy5leGlzdGluZ0xvYWRCYWxhbmNlck9iai5saXN0ZW5lcnMubGVuZ3RoID4gMCkpICYmICFwcm9wcy5ydWxlUHJvcHMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJXaGVuIGFkZGluZyBhIHNlY29uZCB0YXJnZXQgdG8gYW4gZXhpc3RpbmcgbGlzdGVuZXIsIHRoZXJlIG11c3QgYmUgcnVsZXMgcHJvdmlkZWRcIlxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBjb25zdHJ1Y3Qgc3BlY2lmaWMgaW52YWxpZCBpbnB1dHNcbiAgICBpZiAocHJvcHMuZXhpc3RpbmdMb2FkQmFsYW5jZXJPYmogJiYgIXByb3BzLmV4aXN0aW5nVnBjKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiQW4gZXhpc3RpbmcgQUxCIGFscmVhZHkgZXhpc3RzIGluIGEgVlBDLCB0aGF0IFZQQyBtdXN0IGJlIHByb3ZpZGVkIGluIHByb3BzLmV4aXN0aW5nVnBjIGZvciB0aGUgcmVzdCBvZiB0aGUgY29uc3RydWN0IHRvIHVzZS5cIlxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoIHByb3BzLmV4aXN0aW5nTG9hZEJhbGFuY2VyT2JqICkge1xuICAgICAgZGVmYXVsdHMucHJpbnRXYXJuaW5nKFxuICAgICAgICBcIlRoZSBwdWJsaWMvcHJpdmF0ZSBwcm9wZXJ0eSBvZiBhbiBleGlzbmcgQUxCIG11c3QgbWF0Y2ggdGhlIHByb3BzLnB1YmxpY0FwaSBzZXR0aW5nIHByb3ZpZGVkLlwiXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIE9idGFpbiBWUEMgZm9yIGNvbnN0cnVjdCAoZXhpc3Rpbmcgb3IgY3JlYXRlZClcbiAgICAvLyBEZXRlcm1pbmUgYWxsIHRoZSByZXNvdXJjZXMgdG8gdXNlIChleGlzdGluZyBvciBsYXVuY2ggbmV3KVxuICAgIGlmIChwcm9wcy5leGlzdGluZ1ZwYykge1xuICAgICAgdGhpcy52cGMgPSBwcm9wcy5leGlzdGluZ1ZwYztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52cGMgPSBkZWZhdWx0cy5idWlsZFZwYyhzY29wZSwge1xuICAgICAgICBkZWZhdWx0VnBjUHJvcHM6IHByb3BzLnB1YmxpY0FwaVxuICAgICAgICAgID8gZGVmYXVsdHMuRGVmYXVsdFB1YmxpY1ByaXZhdGVWcGNQcm9wcygpXG4gICAgICAgICAgOiBkZWZhdWx0cy5EZWZhdWx0SXNvbGF0ZWRWcGNQcm9wcygpLFxuICAgICAgICB1c2VyVnBjUHJvcHM6IHByb3BzLnZwY1Byb3BzLFxuICAgICAgICBjb25zdHJ1Y3RWcGNQcm9wczogcHJvcHMucHVibGljQXBpXG4gICAgICAgICAgPyB1bmRlZmluZWRcbiAgICAgICAgICA6IHsgZW5hYmxlRG5zSG9zdG5hbWVzOiB0cnVlLCBlbmFibGVEbnNTdXBwb3J0OiB0cnVlLCB9LFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5sb2FkQmFsYW5jZXIgPSBkZWZhdWx0cy5PYnRhaW5BbGIoXG4gICAgICB0aGlzLFxuICAgICAgaWQsXG4gICAgICB0aGlzLnZwYyxcbiAgICAgIHByb3BzLnB1YmxpY0FwaSxcbiAgICAgIHByb3BzLmV4aXN0aW5nTG9hZEJhbGFuY2VyT2JqLFxuICAgICAgcHJvcHMubG9hZEJhbGFuY2VyUHJvcHMsXG4gICAgICBwcm9wcy5sb2dBbGJBY2Nlc3NMb2dzLFxuICAgICAgcHJvcHMuYWxiTG9nZ2luZ0J1Y2tldFByb3BzXG4gICAgKTtcblxuICAgIC8vIE9idGFpbiBMYW1iZGEgZnVuY3Rpb24gZm9yIGNvbnN0cnVjdCAoZXhpc3Rpbmcgb3IgY3JlYXRlZClcbiAgICB0aGlzLmxhbWJkYUZ1bmN0aW9uID0gZGVmYXVsdHMuYnVpbGRMYW1iZGFGdW5jdGlvbih0aGlzLCB7XG4gICAgICBleGlzdGluZ0xhbWJkYU9iajogcHJvcHMuZXhpc3RpbmdMYW1iZGFPYmosXG4gICAgICBsYW1iZGFGdW5jdGlvblByb3BzOiBwcm9wcy5sYW1iZGFGdW5jdGlvblByb3BzLFxuICAgICAgdnBjOiB0aGlzLnZwYyxcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLmxvYWRCYWxhbmNlci5saXN0ZW5lcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAvLyBUaGlzIGlzIGEgbmV3IGxpc3RlbmVyLCB3ZSBuZWVkIHRvIGNyZWF0ZSBpdCBhbG9uZyB3aXRoIHRoZSBkZWZhdWx0IHRhcmdldFxuICAgICAgY29uc3QgbmV3VGFyZ2V0R3JvdXAgPSBkZWZhdWx0cy5DcmVhdGVMYW1iZGFUYXJnZXRHcm91cCh0aGlzLFxuICAgICAgICBgdGcke3RoaXMubG9hZEJhbGFuY2VyLmxpc3RlbmVycy5sZW5ndGggKyAxfWAsXG4gICAgICAgIHRoaXMubGFtYmRhRnVuY3Rpb24sXG4gICAgICAgIHByb3BzLnRhcmdldFByb3BzKTtcbiAgICAgIHRoaXMubGlzdGVuZXIgPSBkZWZhdWx0cy5BZGRMaXN0ZW5lcihcbiAgICAgICAgdGhpcyxcbiAgICAgICAgdGhpcy5sb2FkQmFsYW5jZXIsXG4gICAgICAgIG5ld1RhcmdldEdyb3VwLFxuICAgICAgICBwcm9wcy5saXN0ZW5lclByb3BzXG4gICAgICApO1xuICAgICAgLy8gVGVzdGluZyBvY2Nhc2lvbmFsbHkgY2F1c2VkIGEgVGFyZ2V0R3JvdXAgbm90IGZvdW5kIGVycm9yLCB0aGlzXG4gICAgICAvLyBjb2RlIGVuc3VyZXMgdGhlIEdyb3VwIHdpbGwgYmUgY29tcGxldGUgYmVmb3JlIHRoZSBMaXN0ZW5lciB0cmllc1xuICAgICAgLy8gdG8gYWNjZXNzIGl0LlxuICAgICAgY29uc3QgbmV3TGlzdGVuZXIgPSB0aGlzLmxpc3RlbmVyLm5vZGUuZGVmYXVsdENoaWxkIGFzIENmbkxpc3RlbmVyO1xuICAgICAgY29uc3QgY2ZuVGFyZ2V0R3JvdXAgPSBuZXdUYXJnZXRHcm91cC5ub2RlLmRlZmF1bHRDaGlsZCBhcyBDZm5UYXJnZXRHcm91cDtcbiAgICAgIG5ld0xpc3RlbmVyLmFkZERlcGVuZHNPbihjZm5UYXJnZXRHcm91cCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFdlJ3JlIGFkZGluZyBhIHRhcmdldCB0byBhbiBleGlzdGluZyBsaXN0ZW5lci4gSWYgdGhpcy5sb2FkQmFsYW5jZXIubGlzdGVuZXJzLmxlbmd0aFxuICAgICAgLy8gaXMgPjAsIHRoZW4gdGhpcy5sb2FkQmFsYW5jZXIgd2FzIHNldCBmcm9tIGV4aXN0aW5nTG9hZEJhbGFuY2VyXG4gICAgICB0aGlzLmxpc3RlbmVyID0gR2V0QWN0aXZlTGlzdGVuZXIodGhpcy5sb2FkQmFsYW5jZXIubGlzdGVuZXJzKTtcbiAgICAgIGRlZmF1bHRzLkFkZFRhcmdldChcbiAgICAgICAgdGhpcyxcbiAgICAgICAgZGVmYXVsdHMuQ3JlYXRlTGFtYmRhVGFyZ2V0R3JvdXAoXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICBgdGcke3RoaXMubG9hZEJhbGFuY2VyLmxpc3RlbmVycy5sZW5ndGggKyAxfWAsXG4gICAgICAgICAgdGhpcy5sYW1iZGFGdW5jdGlvbixcbiAgICAgICAgICBwcm9wcy50YXJnZXRQcm9wc1xuICAgICAgICApLFxuICAgICAgICB0aGlzLmxpc3RlbmVyLFxuICAgICAgICBwcm9wcy5ydWxlUHJvcHNcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIEdldEFjdGl2ZUxpc3RlbmVyKGxpc3RlbmVyczogZWxiLkFwcGxpY2F0aW9uTGlzdGVuZXJbXSk6IGVsYi5BcHBsaWNhdGlvbkxpc3RlbmVyIHtcbiAgbGV0IGxpc3RlbmVyOiBlbGIuQXBwbGljYXRpb25MaXN0ZW5lcjtcblxuICBpZiAobGlzdGVuZXJzLmxlbmd0aCA9PT0gMSApIHtcbiAgICBsaXN0ZW5lciA9IGxpc3RlbmVyc1swXTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBjb3JyZWN0TGlzdGVuZXIgPSBsaXN0ZW5lcnMuZmluZChpID0+IChpLm5vZGUuY2hpbGRyZW5bMF0gYXMgZWxiLkNmbkxpc3RlbmVyKS5wcm90b2NvbCA9PT0gXCJIVFRQU1wiKTtcbiAgICBpZiAoY29ycmVjdExpc3RlbmVyKSB7XG4gICAgICBsaXN0ZW5lciA9IGNvcnJlY3RMaXN0ZW5lcjtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGhpcyBsaW5lIHNob3VsZCBiZSB1bnJlYWNoYWJsZVxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBUd28gbGlzdGVuZXJzIGluIHRoZSBBTEIsIGJ1dCBuZWl0aGVyIGFyZSBIVFRQU2ApO1xuICAgIH1cbiAgfVxuICByZXR1cm4gbGlzdGVuZXI7XG59XG4iXX0=
84
+ exports.AlbToLambda = AlbToLambda;
85
+ _a = JSII_RTTI_SYMBOL_1;
86
+ AlbToLambda[_a] = { fqn: "@aws-solutions-constructs/aws-alb-lambda.AlbToLambda", version: "1.131.0" };
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQWlCQSx3Q0FBMEM7QUFDMUMsMkRBQTJEO0FBRTNELHlEQUFtRTtBQTZCbkUsTUFBYSxXQUFZLFNBQVEsZ0JBQVM7SUFNeEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF1Qjs7UUFDL0QsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQixRQUFRLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTNCLFVBQUksS0FBSyxDQUFDLGFBQWEsMENBQUUsZUFBZSxFQUFFO1lBQ3hDLE1BQU0sSUFBSSxLQUFLLENBQUMsa0dBQWtHLENBQUMsQ0FBQztTQUNySDtRQUVELElBQ0UsQ0FBQyxLQUFLLENBQUMsdUJBQXVCLElBQUksQ0FBQyxLQUFLLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQztlQUN4SCxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQ3ZCO1lBQ0EsTUFBTSxJQUFJLEtBQUssQ0FDYixvSkFBb0osQ0FDckosQ0FBQztTQUNIO1FBRUQsSUFDRSxDQUFDLENBQUMsS0FBSyxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztZQUN6RixLQUFLLENBQUMsYUFBYSxFQUNuQjtZQUNBLE1BQU0sSUFBSSxLQUFLLENBQ2IsK0VBQStFLENBQ2hGLENBQUM7U0FDSDtRQUVELElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLHVCQUF1QixDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFT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Q0FBQyxJQUFJLENBQUMsWUFBMkIsQ0FBQztZQUN4RSxNQUFNLGNBQWMsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLFlBQThCLENBQUM7WUFDMUUsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQy9DO0lBRUgsQ0FBQzs7QUF6SEgsa0NBMEhDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgQ29weXJpZ2h0IDIwMjEgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgKiBhcyBlbGIgZnJvbSBcIkBhd3MtY2RrL2F3cy1lbGFzdGljbG9hZGJhbGFuY2luZ3YyXCI7XG5pbXBvcnQgKiBhcyBlYzIgZnJvbSBcIkBhd3MtY2RrL2F3cy1lYzJcIjtcbmltcG9ydCAqIGFzIHMzIGZyb20gXCJAYXdzLWNkay9hd3MtczNcIjtcbmltcG9ydCAqIGFzIGxhbWJkYSBmcm9tIFwiQGF3cy1jZGsvYXdzLWxhbWJkYVwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcIkBhd3MtY2RrL2NvcmVcIjtcbmltcG9ydCAqIGFzIGRlZmF1bHRzIGZyb20gXCJAYXdzLXNvbHV0aW9ucy1jb25zdHJ1Y3RzL2NvcmVcIjtcbmltcG9ydCB7IENmbkxpc3RlbmVyLCBDZm5UYXJnZXRHcm91cCB9IGZyb20gXCJAYXdzLWNkay9hd3MtZWxhc3RpY2xvYWRiYWxhbmNpbmd2MlwiO1xuaW1wb3J0IHsgR2V0QWN0aXZlTGlzdGVuZXIgfSBmcm9tIFwiQGF3cy1zb2x1dGlvbnMtY29uc3RydWN0cy9jb3JlXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWxiVG9MYW1iZGFQcm9wcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBsb2FkQmFsYW5jZXJQcm9wcz86IGVsYi5BcHBsaWNhdGlvbkxvYWRCYWxhbmNlclByb3BzIHwgYW55O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBleGlzdGluZ0xvYWRCYWxhbmNlck9iaj86IGVsYi5BcHBsaWNhdGlvbkxvYWRCYWxhbmNlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBleGlzdGluZ0xhbWJkYU9iaj86IGxhbWJkYS5GdW5jdGlvbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBsYW1iZGFGdW5jdGlvblByb3BzPzogbGFtYmRhLkZ1bmN0aW9uUHJvcHM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBsaXN0ZW5lclByb3BzPzogZWxiLkFwcGxpY2F0aW9uTGlzdGVuZXJQcm9wcyB8IGFueTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgdGFyZ2V0UHJvcHM/OiBlbGIuQXBwbGljYXRpb25UYXJnZXRHcm91cFByb3BzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHJ1bGVQcm9wcz86IGVsYi5BZGRSdWxlUHJvcHM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgdnBjUHJvcHM/OiBlYzIuVnBjUHJvcHM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBleGlzdGluZ1ZwYz86IGVjMi5JVnBjO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgbG9nQWxiQWNjZXNzTG9ncz86IGJvb2xlYW4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgYWxiTG9nZ2luZ0J1Y2tldFByb3BzPzogczMuQnVja2V0UHJvcHMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHB1YmxpY0FwaTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIEFsYlRvTGFtYmRhIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcHVibGljIHJlYWRvbmx5IGxvYWRCYWxhbmNlcjogZWxiLkFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyO1xuICBwdWJsaWMgcmVhZG9ubHkgdnBjOiBlYzIuSVZwYztcbiAgcHVibGljIHJlYWRvbmx5IGxhbWJkYUZ1bmN0aW9uOiBsYW1iZGEuRnVuY3Rpb247XG4gIHB1YmxpYyByZWFkb25seSBsaXN0ZW5lcjogZWxiLkFwcGxpY2F0aW9uTGlzdGVuZXI7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEFsYlRvTGFtYmRhUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIGRlZmF1bHRzLkNoZWNrUHJvcHMocHJvcHMpO1xuXG4gICAgaWYgKHByb3BzLmxpc3RlbmVyUHJvcHM/LmNlcnRpZmljYXRlQXJucykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdjZXJ0aWZpY2F0ZUFybnMgaXMgZGVwcmVjYXRlZC4gUGxlYXNlIHN1cHBseSBjZXJ0aWZpY2F0ZXMgdXNpbmcgcHJvcHMubGlzdGVuZXJQcm9wcy5jZXJ0aWZpY2F0ZXMnKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICAocHJvcHMuZXhpc3RpbmdMb2FkQmFsYW5jZXJPYmogJiYgKHByb3BzLmV4aXN0aW5nTG9hZEJhbGFuY2VyT2JqLmxpc3RlbmVycy5sZW5ndGggPT09IDApIHx8ICFwcm9wcy5leGlzdGluZ0xvYWRCYWxhbmNlck9iailcbiAgICAgICYmICFwcm9wcy5saXN0ZW5lclByb3BzXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiV2hlbiBhZGRpbmcgdGhlIGZpcnN0IGxpc3RlbmVyIGFuZCB0YXJnZXQgdG8gYSBsb2FkIGJhbGFuY2VyLCBsaXN0ZW5lclByb3BzIG11c3QgYmUgc3BlY2lmaWVkIGFuZCBpbmNsdWRlIGF0IGxlYXN0IGEgY2VydGlmaWNhdGUgb3IgcHJvdG9jb2w6IEhUVFBcIlxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICAoKHByb3BzLmV4aXN0aW5nTG9hZEJhbGFuY2VyT2JqKSAmJiAocHJvcHMuZXhpc3RpbmdMb2FkQmFsYW5jZXJPYmoubGlzdGVuZXJzLmxlbmd0aCA+IDApKSAmJlxuICAgICAgcHJvcHMubGlzdGVuZXJQcm9wc1xuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIlRoaXMgbG9hZCBiYWxhbmNlciBhbHJlYWR5IGhhcyBhIGxpc3RlbmVyLCBsaXN0ZW5lclByb3BzIG1heSBub3QgYmUgc3BlY2lmaWVkXCJcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKCgocHJvcHMuZXhpc3RpbmdMb2FkQmFsYW5jZXJPYmopICYmIChwcm9wcy5leGlzdGluZ0xvYWRCYWxhbmNlck9iai5saXN0ZW5lcnMubGVuZ3RoID4gMCkpICYmICFwcm9wcy5ydWxlUHJvcHMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJXaGVuIGFkZGluZyBhIHNlY29uZCB0YXJnZXQgdG8gYW4gZXhpc3RpbmcgbGlzdGVuZXIsIHRoZXJlIG11c3QgYmUgcnVsZXMgcHJvdmlkZWRcIlxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBjb25zdHJ1Y3Qgc3BlY2lmaWMgaW52YWxpZCBpbnB1dHNcbiAgICBpZiAocHJvcHMuZXhpc3RpbmdMb2FkQmFsYW5jZXJPYmogJiYgIXByb3BzLmV4aXN0aW5nVnBjKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiQW4gZXhpc3RpbmcgQUxCIGFscmVhZHkgZXhpc3RzIGluIGEgVlBDLCB0aGF0IFZQQyBtdXN0IGJlIHByb3ZpZGVkIGluIHByb3BzLmV4aXN0aW5nVnBjIGZvciB0aGUgcmVzdCBvZiB0aGUgY29uc3RydWN0IHRvIHVzZS5cIlxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoIHByb3BzLmV4aXN0aW5nTG9hZEJhbGFuY2VyT2JqICkge1xuICAgICAgZGVmYXVsdHMucHJpbnRXYXJuaW5nKFxuICAgICAgICBcIlRoZSBwdWJsaWMvcHJpdmF0ZSBwcm9wZXJ0eSBvZiBhbiBleGlzbmcgQUxCIG11c3QgbWF0Y2ggdGhlIHByb3BzLnB1YmxpY0FwaSBzZXR0aW5nIHByb3ZpZGVkLlwiXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIE9idGFpbiBWUEMgZm9yIGNvbnN0cnVjdCAoZXhpc3Rpbmcgb3IgY3JlYXRlZClcbiAgICAvLyBEZXRlcm1pbmUgYWxsIHRoZSByZXNvdXJjZXMgdG8gdXNlIChleGlzdGluZyBvciBsYXVuY2ggbmV3KVxuICAgIGlmIChwcm9wcy5leGlzdGluZ1ZwYykge1xuICAgICAgdGhpcy52cGMgPSBwcm9wcy5leGlzdGluZ1ZwYztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52cGMgPSBkZWZhdWx0cy5idWlsZFZwYyhzY29wZSwge1xuICAgICAgICBkZWZhdWx0VnBjUHJvcHM6IHByb3BzLnB1YmxpY0FwaVxuICAgICAgICAgID8gZGVmYXVsdHMuRGVmYXVsdFB1YmxpY1ByaXZhdGVWcGNQcm9wcygpXG4gICAgICAgICAgOiBkZWZhdWx0cy5EZWZhdWx0SXNvbGF0ZWRWcGNQcm9wcygpLFxuICAgICAgICB1c2VyVnBjUHJvcHM6IHByb3BzLnZwY1Byb3BzLFxuICAgICAgICBjb25zdHJ1Y3RWcGNQcm9wczogcHJvcHMucHVibGljQXBpXG4gICAgICAgICAgPyB1bmRlZmluZWRcbiAgICAgICAgICA6IHsgZW5hYmxlRG5zSG9zdG5hbWVzOiB0cnVlLCBlbmFibGVEbnNTdXBwb3J0OiB0cnVlLCB9LFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5sb2FkQmFsYW5jZXIgPSBkZWZhdWx0cy5PYnRhaW5BbGIoXG4gICAgICB0aGlzLFxuICAgICAgaWQsXG4gICAgICB0aGlzLnZwYyxcbiAgICAgIHByb3BzLnB1YmxpY0FwaSxcbiAgICAgIHByb3BzLmV4aXN0aW5nTG9hZEJhbGFuY2VyT2JqLFxuICAgICAgcHJvcHMubG9hZEJhbGFuY2VyUHJvcHMsXG4gICAgICBwcm9wcy5sb2dBbGJBY2Nlc3NMb2dzLFxuICAgICAgcHJvcHMuYWxiTG9nZ2luZ0J1Y2tldFByb3BzXG4gICAgKTtcblxuICAgIC8vIE9idGFpbiBMYW1iZGEgZnVuY3Rpb24gZm9yIGNvbnN0cnVjdCAoZXhpc3Rpbmcgb3IgY3JlYXRlZClcbiAgICB0aGlzLmxhbWJkYUZ1bmN0aW9uID0gZGVmYXVsdHMuYnVpbGRMYW1iZGFGdW5jdGlvbih0aGlzLCB7XG4gICAgICBleGlzdGluZ0xhbWJkYU9iajogcHJvcHMuZXhpc3RpbmdMYW1iZGFPYmosXG4gICAgICBsYW1iZGFGdW5jdGlvblByb3BzOiBwcm9wcy5sYW1iZGFGdW5jdGlvblByb3BzLFxuICAgICAgdnBjOiB0aGlzLnZwYyxcbiAgICB9KTtcblxuICAgIGxldCBuZXdMaXN0ZW5lcjogYm9vbGVhbjtcbiAgICBpZiAodGhpcy5sb2FkQmFsYW5jZXIubGlzdGVuZXJzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgbmV3TGlzdGVuZXIgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBuZXdMaXN0ZW5lciA9IGZhbHNlO1xuICAgIH1cblxuICAgIC8vIElmIHRoZXJlJ3Mgbm8gbGlzdGVuZXIsIHRoZW4gd2UgYWRkIG9uZSBoZXJlXG4gICAgaWYgKG5ld0xpc3RlbmVyKSB7XG4gICAgICB0aGlzLmxpc3RlbmVyID0gZGVmYXVsdHMuQWRkTGlzdGVuZXIoXG4gICAgICAgIHRoaXMsXG4gICAgICAgIHRoaXMubG9hZEJhbGFuY2VyLFxuICAgICAgICBwcm9wcy5saXN0ZW5lclByb3BzXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxpc3RlbmVyID0gR2V0QWN0aXZlTGlzdGVuZXIodGhpcy5sb2FkQmFsYW5jZXIubGlzdGVuZXJzKTtcbiAgICB9XG5cbiAgICBjb25zdCBuZXdUYXJnZXRHcm91cCA9IGRlZmF1bHRzLkFkZExhbWJkYVRhcmdldChcbiAgICAgIHRoaXMsXG4gICAgICBgdGcke3RoaXMubG9hZEJhbGFuY2VyLmxpc3RlbmVycy5sZW5ndGggKyAxfWAsXG4gICAgICB0aGlzLmxpc3RlbmVyLFxuICAgICAgdGhpcy5sYW1iZGFGdW5jdGlvbixcbiAgICAgIHByb3BzLnJ1bGVQcm9wcyxcbiAgICAgIHByb3BzLnRhcmdldFByb3BzKTtcblxuICAgIC8vIHRoaXMubGlzdGVuZXIgbmVlZHMgdG8gYmUgc2V0IG9uIHRoZSBjb25zdHJ1Y3QuXG4gICAgLy8gY291bGQgYmUgYWJvdmU6IGVsc2UgeyBkZWZhdWx0cy5HZXRBY3RpdmVMaXN0ZW5lciB9XG4gICAgLy8gZG8gd2UgdGhlbiBtb3ZlIHRoYXQgZnVuY2lvbmFsaXR5IGJhY2sgaW50byB0aGUgY29uc3RydWN0IChub3QgdGhlIGZ1bmN0aW9uKS4gSWYgc28gZG9cbiAgICAvLyB3ZSBsZWF2ZSBpdCBpbiBBZGROZXdUYXJnZXQgb3IganVzdCBkbyBpdCBoZXJlIGFuZCBwYXNzIHRoZSBsaXN0ZW5lcj9cbiAgICBpZiAobmV3TGlzdGVuZXIgJiYgdGhpcy5saXN0ZW5lcikge1xuICAgICAgY29uc3QgbGV2ZWxPbmVMaXN0ZW5lciA9IHRoaXMubGlzdGVuZXIubm9kZS5kZWZhdWx0Q2hpbGQgYXMgQ2ZuTGlzdGVuZXI7XG4gICAgICBjb25zdCBjZm5UYXJnZXRHcm91cCA9IG5ld1RhcmdldEdyb3VwLm5vZGUuZGVmYXVsdENoaWxkIGFzIENmblRhcmdldEdyb3VwO1xuICAgICAgbGV2ZWxPbmVMaXN0ZW5lci5hZGREZXBlbmRzT24oY2ZuVGFyZ2V0R3JvdXApO1xuICAgIH1cblxuICB9XG59XG4iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-solutions-constructs/aws-alb-lambda",
3
- "version": "1.127.0",
3
+ "version": "1.131.0",
4
4
  "description": "CDK Constructs for Application Load Balancer to AWS Lambda integration",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -53,25 +53,25 @@
53
53
  }
54
54
  },
55
55
  "dependencies": {
56
- "@aws-cdk/aws-lambda": "1.127.0",
57
- "@aws-cdk/aws-ec2": "1.127.0",
58
- "@aws-cdk/aws-s3": "1.127.0",
59
- "@aws-cdk/aws-certificatemanager": "1.127.0",
60
- "@aws-cdk/aws-elasticloadbalancingv2": "1.127.0",
61
- "@aws-cdk/core": "1.127.0",
62
- "@aws-solutions-constructs/core": "1.127.0",
56
+ "@aws-cdk/aws-lambda": "1.131.0",
57
+ "@aws-cdk/aws-ec2": "1.131.0",
58
+ "@aws-cdk/aws-s3": "1.131.0",
59
+ "@aws-cdk/aws-certificatemanager": "1.131.0",
60
+ "@aws-cdk/aws-elasticloadbalancingv2": "1.131.0",
61
+ "@aws-cdk/core": "1.131.0",
62
+ "@aws-solutions-constructs/core": "1.131.0",
63
63
  "constructs": "^3.2.0"
64
64
  },
65
65
  "devDependencies": {
66
- "@aws-cdk/assert": "1.127.0",
67
- "@aws-cdk/aws-ec2": "1.127.0",
68
- "@aws-cdk/aws-lambda": "1.127.0",
69
- "@aws-cdk/aws-elasticloadbalancingv2": "1.127.0",
70
- "@aws-cdk/aws-lambda-event-sources": "1.127.0",
71
- "@aws-cdk/aws-iam": "1.127.0",
72
- "@aws-cdk/core": "1.127.0",
66
+ "@aws-cdk/assert": "1.131.0",
67
+ "@aws-cdk/aws-ec2": "1.131.0",
68
+ "@aws-cdk/aws-lambda": "1.131.0",
69
+ "@aws-cdk/aws-elasticloadbalancingv2": "1.131.0",
70
+ "@aws-cdk/aws-lambda-event-sources": "1.131.0",
71
+ "@aws-cdk/aws-iam": "1.131.0",
72
+ "@aws-cdk/core": "1.131.0",
73
73
  "@types/jest": "^26.0.22",
74
- "@aws-solutions-constructs/core": "1.127.0",
74
+ "@aws-solutions-constructs/core": "1.131.0",
75
75
  "@types/node": "^10.3.0",
76
76
  "constructs": "3.2.0"
77
77
  },
@@ -90,13 +90,13 @@
90
90
  ]
91
91
  },
92
92
  "peerDependencies": {
93
- "@aws-cdk/aws-lambda": "1.127.0",
94
- "@aws-cdk/aws-elasticloadbalancingv2": "1.127.0",
95
- "@aws-cdk/aws-iam": "1.127.0",
96
- "@aws-cdk/aws-ec2": "1.127.0",
97
- "@aws-cdk/core": "1.127.0",
98
- "@aws-solutions-constructs/core": "1.127.0",
99
- "@aws-cdk/aws-lambda-event-sources": "1.127.0",
93
+ "@aws-cdk/aws-lambda": "1.131.0",
94
+ "@aws-cdk/aws-elasticloadbalancingv2": "1.131.0",
95
+ "@aws-cdk/aws-iam": "1.131.0",
96
+ "@aws-cdk/aws-ec2": "1.131.0",
97
+ "@aws-cdk/core": "1.131.0",
98
+ "@aws-solutions-constructs/core": "1.131.0",
99
+ "@aws-cdk/aws-lambda-event-sources": "1.131.0",
100
100
  "constructs": "^3.2.0"
101
101
  },
102
102
  "keywords": [
@@ -1084,32 +1084,13 @@
1084
1084
  }
1085
1085
  }
1086
1086
  },
1087
- "testonetg1tgDC5C1350": {
1088
- "Type": "AWS::ElasticLoadBalancingV2::TargetGroup",
1089
- "Properties": {
1090
- "Targets": [
1091
- {
1092
- "Id": {
1093
- "Fn::GetAtt": [
1094
- "LambdaFunctionBF21E41F",
1095
- "Arn"
1096
- ]
1097
- }
1098
- }
1099
- ],
1100
- "TargetType": "lambda"
1101
- },
1102
- "DependsOn": [
1103
- "LambdaFunctionInvokeServicePrincipalelasticloadbalancingamazonawscom842E1595"
1104
- ]
1105
- },
1106
1087
  "testonelistener5EBC4D40": {
1107
1088
  "Type": "AWS::ElasticLoadBalancingV2::Listener",
1108
1089
  "Properties": {
1109
1090
  "DefaultActions": [
1110
1091
  {
1111
1092
  "TargetGroupArn": {
1112
- "Ref": "testonetg1tgDC5C1350"
1093
+ "Ref": "testonetg2tg6459EC7C"
1113
1094
  },
1114
1095
  "Type": "forward"
1115
1096
  }
@@ -1121,7 +1102,7 @@
1121
1102
  "Protocol": "HTTP"
1122
1103
  },
1123
1104
  "DependsOn": [
1124
- "testonetg1tgDC5C1350"
1105
+ "testonetg2tg6459EC7C"
1125
1106
  ],
1126
1107
  "Metadata": {
1127
1108
  "cfn_nag": {
@@ -1133,13 +1114,32 @@
1133
1114
  ]
1134
1115
  }
1135
1116
  }
1117
+ },
1118
+ "testonetg2tg6459EC7C": {
1119
+ "Type": "AWS::ElasticLoadBalancingV2::TargetGroup",
1120
+ "Properties": {
1121
+ "Targets": [
1122
+ {
1123
+ "Id": {
1124
+ "Fn::GetAtt": [
1125
+ "LambdaFunctionBF21E41F",
1126
+ "Arn"
1127
+ ]
1128
+ }
1129
+ }
1130
+ ],
1131
+ "TargetType": "lambda"
1132
+ },
1133
+ "DependsOn": [
1134
+ "LambdaFunctionInvokeServicePrincipalelasticloadbalancingamazonawscom842E1595"
1135
+ ]
1136
1136
  }
1137
1137
  },
1138
1138
  "Parameters": {
1139
1139
  "BootstrapVersion": {
1140
1140
  "Type": "AWS::SSM::Parameter::Value<String>",
1141
1141
  "Default": "/cdk-bootstrap/hnb659fds/version",
1142
- "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store."
1142
+ "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]"
1143
1143
  }
1144
1144
  },
1145
1145
  "Rules": {
@@ -435,32 +435,13 @@
435
435
  "Principal": "elasticloadbalancing.amazonaws.com"
436
436
  }
437
437
  },
438
- "testonetg1tgDC5C1350": {
439
- "Type": "AWS::ElasticLoadBalancingV2::TargetGroup",
440
- "Properties": {
441
- "Targets": [
442
- {
443
- "Id": {
444
- "Fn::GetAtt": [
445
- "testoneLambdaFunctionCC9B03E1",
446
- "Arn"
447
- ]
448
- }
449
- }
450
- ],
451
- "TargetType": "lambda"
452
- },
453
- "DependsOn": [
454
- "testoneLambdaFunctionInvokeServicePrincipalelasticloadbalancingamazonawscom776E5E70"
455
- ]
456
- },
457
438
  "testonelistener5EBC4D40": {
458
439
  "Type": "AWS::ElasticLoadBalancingV2::Listener",
459
440
  "Properties": {
460
441
  "DefaultActions": [
461
442
  {
462
443
  "TargetGroupArn": {
463
- "Ref": "testonetg1tgDC5C1350"
444
+ "Ref": "testonetg2tg6459EC7C"
464
445
  },
465
446
  "Type": "forward"
466
447
  }
@@ -472,7 +453,7 @@
472
453
  "Protocol": "HTTP"
473
454
  },
474
455
  "DependsOn": [
475
- "testonetg1tgDC5C1350"
456
+ "testonetg2tg6459EC7C"
476
457
  ],
477
458
  "Metadata": {
478
459
  "cfn_nag": {
@@ -485,6 +466,25 @@
485
466
  }
486
467
  }
487
468
  },
469
+ "testonetg2tg6459EC7C": {
470
+ "Type": "AWS::ElasticLoadBalancingV2::TargetGroup",
471
+ "Properties": {
472
+ "Targets": [
473
+ {
474
+ "Id": {
475
+ "Fn::GetAtt": [
476
+ "testoneLambdaFunctionCC9B03E1",
477
+ "Arn"
478
+ ]
479
+ }
480
+ }
481
+ ],
482
+ "TargetType": "lambda"
483
+ },
484
+ "DependsOn": [
485
+ "testoneLambdaFunctionInvokeServicePrincipalelasticloadbalancingamazonawscom776E5E70"
486
+ ]
487
+ },
488
488
  "Vpc8378EB38": {
489
489
  "Type": "AWS::EC2::VPC",
490
490
  "Properties": {
@@ -762,7 +762,7 @@
762
762
  "BootstrapVersion": {
763
763
  "Type": "AWS::SSM::Parameter::Value<String>",
764
764
  "Default": "/cdk-bootstrap/hnb659fds/version",
765
- "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store."
765
+ "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]"
766
766
  }
767
767
  },
768
768
  "Rules": {
@@ -1084,32 +1084,13 @@
1084
1084
  }
1085
1085
  }
1086
1086
  },
1087
- "testonetg1tgDC5C1350": {
1088
- "Type": "AWS::ElasticLoadBalancingV2::TargetGroup",
1089
- "Properties": {
1090
- "Targets": [
1091
- {
1092
- "Id": {
1093
- "Fn::GetAtt": [
1094
- "LambdaFunctionBF21E41F",
1095
- "Arn"
1096
- ]
1097
- }
1098
- }
1099
- ],
1100
- "TargetType": "lambda"
1101
- },
1102
- "DependsOn": [
1103
- "LambdaFunctionInvokeServicePrincipalelasticloadbalancingamazonawscom842E1595"
1104
- ]
1105
- },
1106
1087
  "testonelistener5EBC4D40": {
1107
1088
  "Type": "AWS::ElasticLoadBalancingV2::Listener",
1108
1089
  "Properties": {
1109
1090
  "DefaultActions": [
1110
1091
  {
1111
1092
  "TargetGroupArn": {
1112
- "Ref": "testonetg1tgDC5C1350"
1093
+ "Ref": "testonetg2tg6459EC7C"
1113
1094
  },
1114
1095
  "Type": "forward"
1115
1096
  }
@@ -1121,7 +1102,7 @@
1121
1102
  "Protocol": "HTTP"
1122
1103
  },
1123
1104
  "DependsOn": [
1124
- "testonetg1tgDC5C1350"
1105
+ "testonetg2tg6459EC7C"
1125
1106
  ],
1126
1107
  "Metadata": {
1127
1108
  "cfn_nag": {
@@ -1133,13 +1114,32 @@
1133
1114
  ]
1134
1115
  }
1135
1116
  }
1117
+ },
1118
+ "testonetg2tg6459EC7C": {
1119
+ "Type": "AWS::ElasticLoadBalancingV2::TargetGroup",
1120
+ "Properties": {
1121
+ "Targets": [
1122
+ {
1123
+ "Id": {
1124
+ "Fn::GetAtt": [
1125
+ "LambdaFunctionBF21E41F",
1126
+ "Arn"
1127
+ ]
1128
+ }
1129
+ }
1130
+ ],
1131
+ "TargetType": "lambda"
1132
+ },
1133
+ "DependsOn": [
1134
+ "LambdaFunctionInvokeServicePrincipalelasticloadbalancingamazonawscom842E1595"
1135
+ ]
1136
1136
  }
1137
1137
  },
1138
1138
  "Parameters": {
1139
1139
  "BootstrapVersion": {
1140
1140
  "Type": "AWS::SSM::Parameter::Value<String>",
1141
1141
  "Default": "/cdk-bootstrap/hnb659fds/version",
1142
- "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store."
1142
+ "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]"
1143
1143
  }
1144
1144
  },
1145
1145
  "Rules": {
@@ -438,32 +438,13 @@
438
438
  "Principal": "elasticloadbalancing.amazonaws.com"
439
439
  }
440
440
  },
441
- "testonetg1tgDC5C1350": {
442
- "Type": "AWS::ElasticLoadBalancingV2::TargetGroup",
443
- "Properties": {
444
- "Targets": [
445
- {
446
- "Id": {
447
- "Fn::GetAtt": [
448
- "testoneLambdaFunctionCC9B03E1",
449
- "Arn"
450
- ]
451
- }
452
- }
453
- ],
454
- "TargetType": "lambda"
455
- },
456
- "DependsOn": [
457
- "testoneLambdaFunctionInvokeServicePrincipalelasticloadbalancingamazonawscom776E5E70"
458
- ]
459
- },
460
441
  "testonelistener5EBC4D40": {
461
442
  "Type": "AWS::ElasticLoadBalancingV2::Listener",
462
443
  "Properties": {
463
444
  "DefaultActions": [
464
445
  {
465
446
  "TargetGroupArn": {
466
- "Ref": "testonetg1tgDC5C1350"
447
+ "Ref": "testonetg2tg6459EC7C"
467
448
  },
468
449
  "Type": "forward"
469
450
  }
@@ -475,7 +456,7 @@
475
456
  "Protocol": "HTTP"
476
457
  },
477
458
  "DependsOn": [
478
- "testonetg1tgDC5C1350"
459
+ "testonetg2tg6459EC7C"
479
460
  ],
480
461
  "Metadata": {
481
462
  "cfn_nag": {
@@ -488,6 +469,25 @@
488
469
  }
489
470
  }
490
471
  },
472
+ "testonetg2tg6459EC7C": {
473
+ "Type": "AWS::ElasticLoadBalancingV2::TargetGroup",
474
+ "Properties": {
475
+ "Targets": [
476
+ {
477
+ "Id": {
478
+ "Fn::GetAtt": [
479
+ "testoneLambdaFunctionCC9B03E1",
480
+ "Arn"
481
+ ]
482
+ }
483
+ }
484
+ ],
485
+ "TargetType": "lambda"
486
+ },
487
+ "DependsOn": [
488
+ "testoneLambdaFunctionInvokeServicePrincipalelasticloadbalancingamazonawscom776E5E70"
489
+ ]
490
+ },
491
491
  "Vpc8378EB38": {
492
492
  "Type": "AWS::EC2::VPC",
493
493
  "Properties": {
@@ -1144,7 +1144,7 @@
1144
1144
  "BootstrapVersion": {
1145
1145
  "Type": "AWS::SSM::Parameter::Value<String>",
1146
1146
  "Default": "/cdk-bootstrap/hnb659fds/version",
1147
- "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store."
1147
+ "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]"
1148
1148
  }
1149
1149
  },
1150
1150
  "Rules": {
@@ -438,32 +438,13 @@
438
438
  "Principal": "elasticloadbalancing.amazonaws.com"
439
439
  }
440
440
  },
441
- "testonetg1tgDC5C1350": {
442
- "Type": "AWS::ElasticLoadBalancingV2::TargetGroup",
443
- "Properties": {
444
- "Targets": [
445
- {
446
- "Id": {
447
- "Fn::GetAtt": [
448
- "testoneLambdaFunctionCC9B03E1",
449
- "Arn"
450
- ]
451
- }
452
- }
453
- ],
454
- "TargetType": "lambda"
455
- },
456
- "DependsOn": [
457
- "testoneLambdaFunctionInvokeServicePrincipalelasticloadbalancingamazonawscom776E5E70"
458
- ]
459
- },
460
441
  "testonelistener5EBC4D40": {
461
442
  "Type": "AWS::ElasticLoadBalancingV2::Listener",
462
443
  "Properties": {
463
444
  "DefaultActions": [
464
445
  {
465
446
  "TargetGroupArn": {
466
- "Ref": "testonetg1tgDC5C1350"
447
+ "Ref": "testonetg2tg6459EC7C"
467
448
  },
468
449
  "Type": "forward"
469
450
  }
@@ -475,7 +456,7 @@
475
456
  "Protocol": "HTTP"
476
457
  },
477
458
  "DependsOn": [
478
- "testonetg1tgDC5C1350"
459
+ "testonetg2tg6459EC7C"
479
460
  ],
480
461
  "Metadata": {
481
462
  "cfn_nag": {
@@ -515,6 +496,25 @@
515
496
  "Priority": 10
516
497
  }
517
498
  },
499
+ "testonetg2tg6459EC7C": {
500
+ "Type": "AWS::ElasticLoadBalancingV2::TargetGroup",
501
+ "Properties": {
502
+ "Targets": [
503
+ {
504
+ "Id": {
505
+ "Fn::GetAtt": [
506
+ "testoneLambdaFunctionCC9B03E1",
507
+ "Arn"
508
+ ]
509
+ }
510
+ }
511
+ ],
512
+ "TargetType": "lambda"
513
+ },
514
+ "DependsOn": [
515
+ "testoneLambdaFunctionInvokeServicePrincipalelasticloadbalancingamazonawscom776E5E70"
516
+ ]
517
+ },
518
518
  "Vpc8378EB38": {
519
519
  "Type": "AWS::EC2::VPC",
520
520
  "Properties": {
@@ -1403,7 +1403,7 @@
1403
1403
  "BootstrapVersion": {
1404
1404
  "Type": "AWS::SSM::Parameter::Value<String>",
1405
1405
  "Default": "/cdk-bootstrap/hnb659fds/version",
1406
- "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store."
1406
+ "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]"
1407
1407
  }
1408
1408
  },
1409
1409
  "Rules": {