@aws-solutions-constructs/aws-alb-lambda 2.0.0-rc.2 → 2.0.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/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 constructs_1 = require("constructs");
7
7
  const defaults = require("@aws-solutions-constructs/core");
8
+ const core_1 = require("@aws-solutions-constructs/core");
8
9
  class AlbToLambda extends constructs_1.Construct {
9
10
  constructor(scope, id, props) {
10
11
  var _b;
@@ -54,43 +55,33 @@ class AlbToLambda extends constructs_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: "2.0.0-rc.2" };
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_1.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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQWtCQSwyQ0FBdUM7QUFDdkMsMkRBQTJEO0FBOEIzRCxNQUFhLFdBQVksU0FBUSxzQkFBUztJQU14QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXVCOztRQUMvRCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFM0IsVUFBSSxLQUFLLENBQUMsYUFBYSwwQ0FBRSxlQUFlLEVBQUU7WUFDeEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxrR0FBa0csQ0FBQyxDQUFDO1NBQ3JIO1FBRUQsSUFDRSxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsSUFBSSxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLHVCQUF1QixDQUFDO2VBQ3hILENBQUMsS0FBSyxDQUFDLGFBQWEsRUFDdkI7WUFDQSxNQUFNLElBQUksS0FBSyxDQUNiLG9KQUFvSixDQUNySixDQUFDO1NBQ0g7UUFFRCxJQUNFLENBQUMsQ0FBQyxLQUFLLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3pGLEtBQUssQ0FBQyxhQUFhLEVBQ25CO1lBQ0EsTUFBTSxJQUFJLEtBQUssQ0FDYiwrRUFBK0UsQ0FDaEYsQ0FBQztTQUNIO1FBRUQsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRTtZQUNqSCxNQUFNLElBQUksS0FBSyxDQUNiLG1GQUFtRixDQUNwRixDQUFDO1NBQ0g7UUFFRCwwQ0FBMEM7UUFDMUMsSUFBSSxLQUFLLENBQUMsdUJBQXVCLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFO1lBQ3ZELE1BQU0sSUFBSSxLQUFLLENBQ2IsK0hBQStILENBQ2hJLENBQUM7U0FDSDtRQUVELElBQUssS0FBSyxDQUFDLHVCQUF1QixFQUFHO1lBQ25DLFFBQVEsQ0FBQyxZQUFZLENBQ25CLCtGQUErRixDQUNoRyxDQUFDO1NBQ0g7UUFFRCxpREFBaUQ7UUFDakQsOERBQThEO1FBQzlELElBQUksS0FBSyxDQUFDLFdBQVcsRUFBRTtZQUNyQixJQUFJLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUM7U0FDOUI7YUFBTTtZQUNMLElBQUksQ0FBQyxHQUFHLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUU7Z0JBQ2xDLGVBQWUsRUFBRSxLQUFLLENBQUMsU0FBUztvQkFDOUIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyw0QkFBNEIsRUFBRTtvQkFDekMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsRUFBRTtnQkFDdEMsWUFBWSxFQUFFLEtBQUssQ0FBQyxRQUFRO2dCQUM1QixpQkFBaUIsRUFBRSxLQUFLLENBQUMsU0FBUztvQkFDaEMsQ0FBQyxDQUFDLFNBQVM7b0JBQ1gsQ0FBQyxDQUFDLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLElBQUksR0FBRzthQUMxRCxDQUFDLENBQUM7U0FDSjtRQUVELElBQUksQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FDcEMsSUFBSSxFQUNKLEVBQUUsRUFDRixJQUFJLENBQUMsR0FBRyxFQUNSLEtBQUssQ0FBQyxTQUFTLEVBQ2YsS0FBSyxDQUFDLHVCQUF1QixFQUM3QixLQUFLLENBQUMsaUJBQWlCLEVBQ3ZCLEtBQUssQ0FBQyxnQkFBZ0IsRUFDdEIsS0FBSyxDQUFDLHFCQUFxQixDQUM1QixDQUFDO1FBRUYsNkRBQTZEO1FBQzdELElBQUksQ0FBQyxjQUFjLEdBQUcsUUFBUSxDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRTtZQUN2RCxpQkFBaUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCO1lBQzFDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxtQkFBbUI7WUFDOUMsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO1NBQ2QsQ0FBQyxDQUFDO1FBRUgsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQzVDLDZFQUE2RTtZQUM3RSxNQUFNLGNBQWMsR0FBRyxRQUFRLENBQUMsdUJBQXVCLENBQUMsSUFBSSxFQUMxRCxLQUFLLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsRUFDN0MsSUFBSSxDQUFDLGNBQWMsRUFDbkIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLFdBQVcsQ0FDbEMsSUFBSSxFQUNKLElBQUksQ0FBQyxZQUFZLEVBQ2pCLGNBQWMsRUFDZCxLQUFLLENBQUMsYUFBYSxDQUNwQixDQUFDO1lBQ0Ysa0VBQWtFO1lBQ2xFLG9FQUFvRTtZQUNwRSxnQkFBZ0I7WUFDaEIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBMkIsQ0FBQztZQUNuRSxNQUFNLGNBQWMsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLFlBQThCLENBQUM7WUFDMUUsV0FBVyxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUMxQzthQUFNO1lBQ0wsdUZBQXVGO1lBQ3ZGLGtFQUFrRTtZQUNsRSxJQUFJLENBQUMsUUFBUSxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDL0QsUUFBUSxDQUFDLFNBQVMsQ0FDaEIsSUFBSSxFQUNKLFFBQVEsQ0FBQyx1QkFBdUIsQ0FDOUIsSUFBSSxFQUNKLEtBQUssSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxFQUM3QyxJQUFJLENBQUMsY0FBYyxFQUNuQixLQUFLLENBQUMsV0FBVyxDQUNsQixFQUNELElBQUksQ0FBQyxRQUFRLEVBQ2IsS0FBSyxDQUFDLFNBQVMsQ0FDaEIsQ0FBQztTQUNIO0lBQ0gsQ0FBQzs7QUF2SEgsa0NBd0hDOzs7QUFFRCxTQUFTLGlCQUFpQixDQUFDLFNBQW9DO0lBQzdELElBQUksUUFBaUMsQ0FBQztJQUV0QyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFHO1FBQzNCLFFBQVEsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDekI7U0FBTTtRQUNMLE1BQU0sZUFBZSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQXFCLENBQUMsUUFBUSxLQUFLLE9BQU8sQ0FBQyxDQUFDO1FBQzFHLElBQUksZUFBZSxFQUFFO1lBQ25CLFFBQVEsR0FBRyxlQUFlLENBQUM7U0FDNUI7YUFBTTtZQUNMLGtDQUFrQztZQUNsQyxNQUFNLElBQUksS0FBSyxDQUFDLGlEQUFpRCxDQUFDLENBQUM7U0FDcEU7S0FDRjtJQUNELE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgMjAyMSBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCAqIGFzIGVsYiBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVsYXN0aWNsb2FkYmFsYW5jaW5ndjJcIjtcbmltcG9ydCAqIGFzIGVjMiBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjMlwiO1xuaW1wb3J0ICogYXMgczMgZnJvbSBcImF3cy1jZGstbGliL2F3cy1zM1wiO1xuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCI7XG5pbXBvcnQgeyAgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0ICogYXMgZGVmYXVsdHMgZnJvbSBcIkBhd3Mtc29sdXRpb25zLWNvbnN0cnVjdHMvY29yZVwiO1xuaW1wb3J0IHsgQ2ZuTGlzdGVuZXIsIENmblRhcmdldEdyb3VwIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lbGFzdGljbG9hZGJhbGFuY2luZ3YyXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWxiVG9MYW1iZGFQcm9wcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBsb2FkQmFsYW5jZXJQcm9wcz86IGVsYi5BcHBsaWNhdGlvbkxvYWRCYWxhbmNlclByb3BzIHwgYW55O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBleGlzdGluZ0xvYWRCYWxhbmNlck9iaj86IGVsYi5BcHBsaWNhdGlvbkxvYWRCYWxhbmNlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBleGlzdGluZ0xhbWJkYU9iaj86IGxhbWJkYS5GdW5jdGlvbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBsYW1iZGFGdW5jdGlvblByb3BzPzogbGFtYmRhLkZ1bmN0aW9uUHJvcHM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBsaXN0ZW5lclByb3BzPzogZWxiLkFwcGxpY2F0aW9uTGlzdGVuZXJQcm9wcyB8IGFueTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgdGFyZ2V0UHJvcHM/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: "2.0.0" };
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQWtCQSwyQ0FBdUM7QUFDdkMsMkRBQTJEO0FBRTNELHlEQUFtRTtBQTZCbkUsTUFBYSxXQUFZLFNBQVEsc0JBQVM7SUFNeEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF1Qjs7UUFDL0QsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQixRQUFRLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTNCLFVBQUksS0FBSyxDQUFDLGFBQWEsMENBQUUsZUFBZSxFQUFFO1lBQ3hDLE1BQU0sSUFBSSxLQUFLLENBQUMsa0dBQWtHLENBQUMsQ0FBQztTQUNySDtRQUVELElBQ0UsQ0FBQyxLQUFLLENBQUMsdUJBQXVCLElBQUksQ0FBQyxLQUFLLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQztlQUN4SCxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQ3ZCO1lBQ0EsTUFBTSxJQUFJLEtBQUssQ0FDYixvSkFBb0osQ0FDckosQ0FBQztTQUNIO1FBRUQsSUFDRSxDQUFDLENBQUMsS0FBSyxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztZQUN6RixLQUFLLENBQUMsYUFBYSxFQUNuQjtZQUNBLE1BQU0sSUFBSSxLQUFLLENBQ2IsK0VBQStFLENBQ2hGLENBQUM7U0FDSDtRQUVELElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLHVCQUF1QixDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFT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Q0FBQyxJQUFJLENBQUMsWUFBMkIsQ0FBQztZQUN4RSxNQUFNLGNBQWMsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLFlBQThCLENBQUM7WUFDMUUsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQy9DO0lBRUgsQ0FBQzs7QUF6SEgsa0NBMEhDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgQ29weXJpZ2h0IDIwMjEgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgKiBhcyBlbGIgZnJvbSBcImF3cy1jZGstbGliL2F3cy1lbGFzdGljbG9hZGJhbGFuY2luZ3YyXCI7XG5pbXBvcnQgKiBhcyBlYzIgZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcbmltcG9ydCAqIGFzIHMzIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtczNcIjtcbmltcG9ydCAqIGFzIGxhbWJkYSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxhbWJkYVwiO1xuaW1wb3J0IHsgIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCAqIGFzIGRlZmF1bHRzIGZyb20gXCJAYXdzLXNvbHV0aW9ucy1jb25zdHJ1Y3RzL2NvcmVcIjtcbmltcG9ydCB7IENmbkxpc3RlbmVyLCBDZm5UYXJnZXRHcm91cCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWxhc3RpY2xvYWRiYWxhbmNpbmd2MlwiO1xuaW1wb3J0IHsgR2V0QWN0aXZlTGlzdGVuZXIgfSBmcm9tIFwiQGF3cy1zb2x1dGlvbnMtY29uc3RydWN0cy9jb3JlXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWxiVG9MYW1iZGFQcm9wcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBsb2FkQmFsYW5jZXJQcm9wcz86IGVsYi5BcHBsaWNhdGlvbkxvYWRCYWxhbmNlclByb3BzIHwgYW55O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBleGlzdGluZ0xvYWRCYWxhbmNlck9iaj86IGVsYi5BcHBsaWNhdGlvbkxvYWRCYWxhbmNlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBleGlzdGluZ0xhbWJkYU9iaj86IGxhbWJkYS5GdW5jdGlvbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBsYW1iZGFGdW5jdGlvblByb3BzPzogbGFtYmRhLkZ1bmN0aW9uUHJvcHM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBsaXN0ZW5lclByb3BzPzogZWxiLkFwcGxpY2F0aW9uTGlzdGVuZXJQcm9wcyB8IGFueTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgdGFyZ2V0UHJvcHM/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": "2.0.0-rc.2",
3
+ "version": "2.0.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",
@@ -41,8 +41,8 @@
41
41
  }
42
42
  },
43
43
  "dotnet": {
44
- "namespace": "Amazon.Constructs.AWS.AlbLambda",
45
- "packageId": "Amazon.Constructs.AWS.AlbLambda",
44
+ "namespace": "Amazon.SolutionsConstructs.AWS.AlbLambda",
45
+ "packageId": "Amazon.SolutionsConstructs.AWS.AlbLambda",
46
46
  "signAssembly": true,
47
47
  "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png"
48
48
  },
@@ -53,12 +53,12 @@
53
53
  }
54
54
  },
55
55
  "dependencies": {
56
- "@aws-solutions-constructs/core": "2.0.0-rc.2"
56
+ "@aws-solutions-constructs/core": "2.0.0"
57
57
  },
58
58
  "devDependencies": {
59
59
  "@aws-cdk/assert": "2.0.0-rc.23",
60
60
  "@types/jest": "^26.0.22",
61
- "@aws-solutions-constructs/core": "2.0.0-rc.2",
61
+ "@aws-solutions-constructs/core": "2.0.0",
62
62
  "@types/node": "^10.3.0",
63
63
  "aws-cdk-lib": "2.0.0-rc.23",
64
64
  "constructs": "^10.0.0"
@@ -78,7 +78,7 @@
78
78
  ]
79
79
  },
80
80
  "peerDependencies": {
81
- "@aws-solutions-constructs/core": "2.0.0-rc.2",
81
+ "@aws-solutions-constructs/core": "2.0.0",
82
82
  "aws-cdk-lib": "^2.0.0-rc.23",
83
83
  "constructs": "^10.0.0"
84
84
  },
@@ -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,6 +1114,25 @@
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": {
@@ -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": {
@@ -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,6 +1114,25 @@
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": {
@@ -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": {
@@ -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": {