@aws-solutions-constructs/aws-cloudfront-apigateway-lambda 2.79.1 → 2.80.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.
Files changed (44) hide show
  1. package/.jsii +37 -58
  2. package/lib/index.d.ts +7 -0
  3. package/lib/index.js +4 -3
  4. package/package.json +8 -8
  5. package/test/integ.cftaplam-customCloudfrontLoggingBucket.js.snapshot/asset.3a18fd3de4803f72260a058823accffd4f8d69986c6862a23cd86265f6cafa0f/index.js +23 -0
  6. package/test/integ.cftaplam-customCloudfrontLoggingBucket.js.snapshot/cdk.out +1 -1
  7. package/test/integ.cftaplam-customCloudfrontLoggingBucket.js.snapshot/cftaplam-customCloudfrontLoggingBucket.assets.json +6 -6
  8. package/test/integ.cftaplam-customCloudfrontLoggingBucket.js.snapshot/cftaplam-customCloudfrontLoggingBucket.template.json +6 -6
  9. package/test/integ.cftaplam-customCloudfrontLoggingBucket.js.snapshot/cftaplamcustomCloudfrontLoggingBucketIntegDefaultTestDeployAssert35A683E0.assets.json +1 -1
  10. package/test/integ.cftaplam-customCloudfrontLoggingBucket.js.snapshot/integ.json +1 -1
  11. package/test/integ.cftaplam-customCloudfrontLoggingBucket.js.snapshot/manifest.json +421 -2
  12. package/test/integ.cftaplam-customCloudfrontLoggingBucket.js.snapshot/tree.json +371 -82
  13. package/test/integ.cftaplam-no-arguments.js.snapshot/asset.3a18fd3de4803f72260a058823accffd4f8d69986c6862a23cd86265f6cafa0f/index.js +23 -0
  14. package/test/integ.cftaplam-no-arguments.js.snapshot/cdk.out +1 -1
  15. package/test/integ.cftaplam-no-arguments.js.snapshot/cftaplam-no-arguments.assets.json +6 -6
  16. package/test/integ.cftaplam-no-arguments.js.snapshot/cftaplam-no-arguments.template.json +6 -6
  17. package/test/integ.cftaplam-no-arguments.js.snapshot/cftaplamnoargumentsIntegDefaultTestDeployAssertACC32F59.assets.json +1 -1
  18. package/test/integ.cftaplam-no-arguments.js.snapshot/integ.json +1 -1
  19. package/test/integ.cftaplam-no-arguments.js.snapshot/manifest.json +421 -2
  20. package/test/integ.cftaplam-no-arguments.js.snapshot/tree.json +371 -82
  21. package/test/integ.cftaplam-no-usage-plan.d.ts +13 -0
  22. package/test/integ.cftaplam-no-usage-plan.js +50 -0
  23. package/test/integ.cftaplam-no-usage-plan.js.snapshot/asset.3a18fd3de4803f72260a058823accffd4f8d69986c6862a23cd86265f6cafa0f/index.js +23 -0
  24. package/test/integ.cftaplam-no-usage-plan.js.snapshot/asset.faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6/index.js +1 -0
  25. package/test/integ.cftaplam-no-usage-plan.js.snapshot/cdk.out +1 -0
  26. package/test/integ.cftaplam-no-usage-plan.js.snapshot/cftaplam-no-usage-plan.assets.json +45 -0
  27. package/test/integ.cftaplam-no-usage-plan.js.snapshot/cftaplam-no-usage-plan.template.json +1414 -0
  28. package/test/integ.cftaplam-no-usage-plan.js.snapshot/cftaplamnousageplanIntegDefaultTestDeployAssertABA4F4C5.assets.json +19 -0
  29. package/test/integ.cftaplam-no-usage-plan.js.snapshot/cftaplamnousageplanIntegDefaultTestDeployAssertABA4F4C5.template.json +36 -0
  30. package/test/integ.cftaplam-no-usage-plan.js.snapshot/integ.json +12 -0
  31. package/test/integ.cftaplam-no-usage-plan.js.snapshot/manifest.json +701 -0
  32. package/test/integ.cftaplam-no-usage-plan.js.snapshot/tree.json +1959 -0
  33. package/test/integ.cftaplam-override-behavior.js.snapshot/asset.3a18fd3de4803f72260a058823accffd4f8d69986c6862a23cd86265f6cafa0f/index.js +23 -0
  34. package/test/integ.cftaplam-override-behavior.js.snapshot/cdk.out +1 -1
  35. package/test/integ.cftaplam-override-behavior.js.snapshot/cftaplam-override-behavior.assets.json +6 -6
  36. package/test/integ.cftaplam-override-behavior.js.snapshot/cftaplam-override-behavior.template.json +6 -6
  37. package/test/integ.cftaplam-override-behavior.js.snapshot/cftaplamoverridebehaviorIntegDefaultTestDeployAssert3DC30427.assets.json +1 -1
  38. package/test/integ.cftaplam-override-behavior.js.snapshot/integ.json +1 -1
  39. package/test/integ.cftaplam-override-behavior.js.snapshot/manifest.json +460 -2
  40. package/test/integ.cftaplam-override-behavior.js.snapshot/tree.json +407 -87
  41. package/test/test.cloudfront-apigateway-lambda.test.js +42 -1
  42. package/test/integ.cftaplam-customCloudfrontLoggingBucket.js.snapshot/asset.42a35bbf0dec9ef0ac5b0dde87e71a1b8929e8d2d178dd09ccfb2c928ec0198c/index.js +0 -10
  43. package/test/integ.cftaplam-no-arguments.js.snapshot/asset.42a35bbf0dec9ef0ac5b0dde87e71a1b8929e8d2d178dd09ccfb2c928ec0198c/index.js +0 -10
  44. package/test/integ.cftaplam-override-behavior.js.snapshot/asset.42a35bbf0dec9ef0ac5b0dde87e71a1b8929e8d2d178dd09ccfb2c928ec0198c/index.js +0 -10
package/.jsii CHANGED
@@ -8,9 +8,9 @@
8
8
  "url": "https://aws.amazon.com"
9
9
  },
10
10
  "dependencies": {
11
- "@aws-solutions-constructs/aws-cloudfront-apigateway": "2.79.1",
12
- "@aws-solutions-constructs/core": "2.79.1",
13
- "aws-cdk-lib": "^2.177.0",
11
+ "@aws-solutions-constructs/aws-cloudfront-apigateway": "2.80.0",
12
+ "@aws-solutions-constructs/core": "2.80.0",
13
+ "aws-cdk-lib": "^2.179.0",
14
14
  "constructs": "^10.0.0"
15
15
  },
16
16
  "dependencyClosure": {
@@ -40,32 +40,6 @@
40
40
  }
41
41
  }
42
42
  },
43
- "@aws-cdk/asset-kubectl-v20": {
44
- "targets": {
45
- "dotnet": {
46
- "namespace": "Amazon.CDK.Asset.KubectlV20",
47
- "packageId": "Amazon.CDK.Asset.KubectlV20"
48
- },
49
- "go": {
50
- "moduleName": "github.com/cdklabs/awscdk-asset-kubectl-go",
51
- "packageName": "kubectlv20"
52
- },
53
- "java": {
54
- "maven": {
55
- "artifactId": "cdk-asset-kubectl-v20",
56
- "groupId": "software.amazon.awscdk"
57
- },
58
- "package": "software.amazon.awscdk.cdk.asset.kubectl.v20"
59
- },
60
- "js": {
61
- "npm": "@aws-cdk/asset-kubectl-v20"
62
- },
63
- "python": {
64
- "distName": "aws-cdk.asset-kubectl-v20",
65
- "module": "aws_cdk.asset_kubectl_v20"
66
- }
67
- }
68
- },
69
43
  "@aws-cdk/asset-node-proxy-agent-v6": {
70
44
  "targets": {
71
45
  "dotnet": {
@@ -3866,19 +3840,6 @@
3866
3840
  }
3867
3841
  }
3868
3842
  },
3869
- "aws-cdk-lib.lambda_layer_kubectl": {
3870
- "targets": {
3871
- "dotnet": {
3872
- "namespace": "Amazon.CDK.LambdaLayer.Kubectl"
3873
- },
3874
- "java": {
3875
- "package": "software.amazon.awscdk.lambdalayer.kubectl"
3876
- },
3877
- "python": {
3878
- "module": "aws_cdk.lambda_layer_kubectl"
3879
- }
3880
- }
3881
- },
3882
3843
  "aws-cdk-lib.lambda_layer_node_proxy_agent": {
3883
3844
  "targets": {
3884
3845
  "dotnet": {
@@ -4051,7 +4012,7 @@
4051
4012
  },
4052
4013
  "locationInModule": {
4053
4014
  "filename": "lib/index.ts",
4054
- "line": 108
4015
+ "line": 115
4055
4016
  },
4056
4017
  "parameters": [
4057
4018
  {
@@ -4086,7 +4047,7 @@
4086
4047
  "kind": "class",
4087
4048
  "locationInModule": {
4088
4049
  "filename": "lib/index.ts",
4089
- "line": 91
4050
+ "line": 98
4090
4051
  },
4091
4052
  "name": "CloudFrontToApiGatewayToLambda",
4092
4053
  "properties": [
@@ -4094,7 +4055,7 @@
4094
4055
  "immutable": true,
4095
4056
  "locationInModule": {
4096
4057
  "filename": "lib/index.ts",
4097
- "line": 95
4058
+ "line": 102
4098
4059
  },
4099
4060
  "name": "apiGateway",
4100
4061
  "type": {
@@ -4105,7 +4066,7 @@
4105
4066
  "immutable": true,
4106
4067
  "locationInModule": {
4107
4068
  "filename": "lib/index.ts",
4108
- "line": 97
4069
+ "line": 104
4109
4070
  },
4110
4071
  "name": "apiGatewayLogGroup",
4111
4072
  "type": {
@@ -4116,7 +4077,7 @@
4116
4077
  "immutable": true,
4117
4078
  "locationInModule": {
4118
4079
  "filename": "lib/index.ts",
4119
- "line": 92
4080
+ "line": 99
4120
4081
  },
4121
4082
  "name": "cloudFrontWebDistribution",
4122
4083
  "type": {
@@ -4127,7 +4088,7 @@
4127
4088
  "immutable": true,
4128
4089
  "locationInModule": {
4129
4090
  "filename": "lib/index.ts",
4130
- "line": 98
4091
+ "line": 105
4131
4092
  },
4132
4093
  "name": "lambdaFunction",
4133
4094
  "type": {
@@ -4138,7 +4099,7 @@
4138
4099
  "immutable": true,
4139
4100
  "locationInModule": {
4140
4101
  "filename": "lib/index.ts",
4141
- "line": 96
4102
+ "line": 103
4142
4103
  },
4143
4104
  "name": "apiGatewayCloudWatchRole",
4144
4105
  "optional": true,
@@ -4150,7 +4111,7 @@
4150
4111
  "immutable": true,
4151
4112
  "locationInModule": {
4152
4113
  "filename": "lib/index.ts",
4153
- "line": 93
4114
+ "line": 100
4154
4115
  },
4155
4116
  "name": "cloudFrontFunction",
4156
4117
  "optional": true,
@@ -4162,7 +4123,7 @@
4162
4123
  "immutable": true,
4163
4124
  "locationInModule": {
4164
4125
  "filename": "lib/index.ts",
4165
- "line": 94
4126
+ "line": 101
4166
4127
  },
4167
4128
  "name": "cloudFrontLoggingBucket",
4168
4129
  "optional": true,
@@ -4215,7 +4176,7 @@
4215
4176
  "immutable": true,
4216
4177
  "locationInModule": {
4217
4178
  "filename": "lib/index.ts",
4218
- "line": 55
4179
+ "line": 62
4219
4180
  },
4220
4181
  "name": "cloudFrontDistributionProps",
4221
4182
  "optional": true,
@@ -4232,7 +4193,7 @@
4232
4193
  "immutable": true,
4233
4194
  "locationInModule": {
4234
4195
  "filename": "lib/index.ts",
4235
- "line": 88
4196
+ "line": 95
4236
4197
  },
4237
4198
  "name": "cloudFrontLoggingBucketProps",
4238
4199
  "optional": true,
@@ -4240,6 +4201,24 @@
4240
4201
  "fqn": "aws-cdk-lib.aws_s3.BucketProps"
4241
4202
  }
4242
4203
  },
4204
+ {
4205
+ "abstract": true,
4206
+ "docs": {
4207
+ "default": "- true (to match legacy behavior)",
4208
+ "remarks": "Must be true if\napiGatewayProps.defaultMethodOptions.apiKeyRequired is true",
4209
+ "summary": "Whether to create a Usage Plan attached to the API."
4210
+ },
4211
+ "immutable": true,
4212
+ "locationInModule": {
4213
+ "filename": "lib/index.ts",
4214
+ "line": 56
4215
+ },
4216
+ "name": "createUsagePlan",
4217
+ "optional": true,
4218
+ "type": {
4219
+ "primitive": "boolean"
4220
+ }
4221
+ },
4243
4222
  {
4244
4223
  "abstract": true,
4245
4224
  "docs": {
@@ -4267,7 +4246,7 @@
4267
4246
  "immutable": true,
4268
4247
  "locationInModule": {
4269
4248
  "filename": "lib/index.ts",
4270
- "line": 64
4249
+ "line": 71
4271
4250
  },
4272
4251
  "name": "insertHttpSecurityHeaders",
4273
4252
  "optional": true,
@@ -4301,7 +4280,7 @@
4301
4280
  "immutable": true,
4302
4281
  "locationInModule": {
4303
4282
  "filename": "lib/index.ts",
4304
- "line": 82
4283
+ "line": 89
4305
4284
  },
4306
4285
  "name": "logGroupProps",
4307
4286
  "optional": true,
@@ -4319,7 +4298,7 @@
4319
4298
  "immutable": true,
4320
4299
  "locationInModule": {
4321
4300
  "filename": "lib/index.ts",
4322
- "line": 76
4301
+ "line": 83
4323
4302
  },
4324
4303
  "name": "responseHeadersPolicyProps",
4325
4304
  "optional": true,
@@ -4331,6 +4310,6 @@
4331
4310
  "symbolId": "lib/index:CloudFrontToApiGatewayToLambdaProps"
4332
4311
  }
4333
4312
  },
4334
- "version": "2.79.1",
4335
- "fingerprint": "1WHAyHuPj2xUfyQ9kbNYC3+S0OiesmNHqx04X9boKn4="
4313
+ "version": "2.80.0",
4314
+ "fingerprint": "fu4OoFy4xQdTO4T1eQiGlH7rOGSSScJH3wuGpFwHwE0="
4336
4315
  }
package/lib/index.d.ts CHANGED
@@ -42,6 +42,13 @@ export interface CloudFrontToApiGatewayToLambdaProps {
42
42
  * default props are used
43
43
  */
44
44
  readonly apiGatewayProps: api.LambdaRestApiProps | any;
45
+ /**
46
+ * Whether to create a Usage Plan attached to the API. Must be true if
47
+ * apiGatewayProps.defaultMethodOptions.apiKeyRequired is true
48
+ *
49
+ * @default - true (to match legacy behavior)
50
+ */
51
+ readonly createUsagePlan?: boolean;
45
52
  /**
46
53
  * Optional user provided props to override the default props
47
54
  *
package/lib/index.js CHANGED
@@ -19,6 +19,7 @@ class CloudFrontToApiGatewayToLambda extends constructs_1.Construct {
19
19
  constructor(scope, id, props) {
20
20
  super(scope, id);
21
21
  defaults.CheckLambdaProps(props);
22
+ defaults.CheckApiProps(props);
22
23
  // CheckCloudFrontProps() is called by internal aws-cloudfront-apigateway construct
23
24
  if (!props.apiGatewayProps?.defaultMethodOptions?.authorizationType) {
24
25
  defaults.printWarning('As of v2.48.0, apiGatewayProps.defaultMethodOptions.authorizationType is\
@@ -38,7 +39,7 @@ class CloudFrontToApiGatewayToLambda extends constructs_1.Construct {
38
39
  });
39
40
  // We can't default to IAM authentication with a CloudFront distribution, so
40
41
  // we'll instruct core to not use any default auth to avoid override warnings
41
- const regionalLambdaRestApiResponse = defaults.RegionalLambdaRestApi(this, this.lambdaFunction, props.apiGatewayProps, props.logGroupProps, false);
42
+ const regionalLambdaRestApiResponse = defaults.RegionalLambdaRestApi(this, this.lambdaFunction, props.apiGatewayProps, props.logGroupProps, props.createUsagePlan, false);
42
43
  this.apiGateway = regionalLambdaRestApiResponse.api;
43
44
  this.apiGatewayCloudWatchRole = regionalLambdaRestApiResponse.role;
44
45
  this.apiGatewayLogGroup = regionalLambdaRestApiResponse.group;
@@ -56,5 +57,5 @@ class CloudFrontToApiGatewayToLambda extends constructs_1.Construct {
56
57
  }
57
58
  exports.CloudFrontToApiGatewayToLambda = CloudFrontToApiGatewayToLambda;
58
59
  _a = JSII_RTTI_SYMBOL_1;
59
- CloudFrontToApiGatewayToLambda[_a] = { fqn: "@aws-solutions-constructs/aws-cloudfront-apigateway-lambda.CloudFrontToApiGatewayToLambda", version: "2.79.1" };
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQW1CQSwyREFBMkQ7QUFDM0Qsd0ZBQXdGO0FBQ3hGLDJDQUF1QztBQUN2QyxtR0FBNkY7QUFvRTdGLE1BQWEsOEJBQStCLFNBQVEsc0JBQVM7SUFTM0Q7Ozs7Ozs7T0FPRztJQUNILFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBMEM7UUFDbEYsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQixRQUFRLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsbUZBQW1GO1FBQ25GLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFLG9CQUFvQixFQUFFLGlCQUFpQixFQUFFLENBQUM7WUFDcEUsUUFBUSxDQUFDLFlBQVksQ0FBQzs7NElBRWdILENBQUMsQ0FBQztZQUN4SSxNQUFNLElBQUksS0FBSyxDQUFDLCtGQUErRixDQUFDLENBQUM7UUFDbkgsQ0FBQzthQUFNLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQyxpQkFBaUIsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN0RixNQUFNLElBQUksS0FBSyxDQUFDLHFHQUFxRyxDQUFDLENBQUM7UUFDekgsQ0FBQztRQUVELHdFQUF3RTtRQUN4RSwyREFBMkQ7UUFDM0QsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsaURBQWlELEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFOUUsSUFBSSxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFO1lBQ3ZELGlCQUFpQixFQUFFLEtBQUssQ0FBQyxpQkFBaUI7WUFDMUMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLG1CQUFtQjtTQUMvQyxDQUFDLENBQUM7UUFFSCw0RUFBNEU7UUFDNUUsNkVBQTZFO1FBQzdFLE1BQU0sNkJBQTZCLEdBQUcsUUFBUSxDQUFDLHFCQUFxQixDQUFDLElBQUksRUFDdkUsSUFBSSxDQUFDLGNBQWMsRUFDbkIsS0FBSyxDQUFDLGVBQWUsRUFDckIsS0FBSyxDQUFDLGFBQWEsRUFDbkIsS0FBSyxDQUFDLENBQUM7UUFDVCxJQUFJLENBQUMsVUFBVSxHQUFHLDZCQUE2QixDQUFDLEdBQUcsQ0FBQztRQUNwRCxJQUFJLENBQUMsd0JBQXdCLEdBQUcsNkJBQTZCLENBQUMsSUFBSSxDQUFDO1FBQ25FLElBQUksQ0FBQyxrQkFBa0IsR0FBRyw2QkFBNkIsQ0FBQyxLQUFLLENBQUM7UUFFOUQsTUFBTSxhQUFhLEdBQTJCLElBQUksa0RBQXNCLENBQUMsSUFBSSxFQUFFLHdCQUF3QixFQUFFO1lBQ3ZHLHFCQUFxQixFQUFFLElBQUksQ0FBQyxVQUFVO1lBQ3RDLDJCQUEyQixFQUFFLEtBQUssQ0FBQywyQkFBMkI7WUFDOUQseUJBQXlCLEVBQUUsS0FBSyxDQUFDLHlCQUF5QjtZQUMxRCw0QkFBNEIsRUFBRSxLQUFLLENBQUMsNEJBQTRCO1lBQ2hFLDBCQUEwQixFQUFFLEtBQUssQ0FBQywwQkFBMEI7U0FDN0QsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLHlCQUF5QixHQUFHLGFBQWEsQ0FBQyx5QkFBeUIsQ0FBQztRQUN6RSxJQUFJLENBQUMsa0JBQWtCLEdBQUcsYUFBYSxDQUFDLGtCQUFrQixDQUFDO1FBQzNELElBQUksQ0FBQyx1QkFBdUIsR0FBRyxhQUFhLENBQUMsdUJBQXVCLENBQUM7SUFDdkUsQ0FBQzs7QUE3REgsd0VBOERDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2VcbiAqICB3aXRoIHRoZSBMaWNlbnNlLiBBIGNvcHkgb2YgdGhlIExpY2Vuc2UgaXMgbG9jYXRlZCBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIG9yIGluIHRoZSAnbGljZW5zZScgZmlsZSBhY2NvbXBhbnlpbmcgdGhpcyBmaWxlLiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTXG4gKiAgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcbiAqICBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0ICogYXMgYXBpIGZyb20gJ2F3cy1jZGstbGliL2F3cy1hcGlnYXRld2F5JztcbmltcG9ydCAqIGFzIGxhbWJkYSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCAqIGFzIGNsb3VkZnJvbnQgZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3VkZnJvbnQnO1xuaW1wb3J0ICogYXMgbG9ncyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbG9ncyc7XG5pbXBvcnQgKiBhcyBzMyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0ICogYXMgZGVmYXVsdHMgZnJvbSAnQGF3cy1zb2x1dGlvbnMtY29uc3RydWN0cy9jb3JlJztcbi8vIE5vdGU6IFRvIGVuc3VyZSBDREt2MiBjb21wYXRpYmlsaXR5LCBrZWVwIHRoZSBpbXBvcnQgc3RhdGVtZW50IGZvciBDb25zdHJ1Y3Qgc2VwYXJhdGVcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgQ2xvdWRGcm9udFRvQXBpR2F0ZXdheSB9IGZyb20gJ0Bhd3Mtc29sdXRpb25zLWNvbnN0cnVjdHMvYXdzLWNsb3VkZnJvbnQtYXBpZ2F0ZXdheSc7XG5cbi8qKlxuICogQHN1bW1hcnkgVGhlIHByb3BlcnRpZXMgZm9yIHRoZSBDbG91ZEZyb250VG9BcGlHYXRld2F5VG9MYW1iZGEgQ29uc3RydWN0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2xvdWRGcm9udFRvQXBpR2F0ZXdheVRvTGFtYmRhUHJvcHMge1xuICAvKipcbiAgICogRXhpc3RpbmcgaW5zdGFuY2Ugb2YgTGFtYmRhIEZ1bmN0aW9uIG9iamVjdCwgcHJvdmlkaW5nIGJvdGggdGhpcyBhbmQgYGxhbWJkYUZ1bmN0aW9uUHJvcHNgIHdpbGwgY2F1c2UgYW4gZXJyb3IuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgZXhpc3RpbmdMYW1iZGFPYmo/OiBsYW1iZGEuRnVuY3Rpb24sXG4gIC8qKlxuICAgKiBPcHRpb25hbCB1c2VyIHByb3ZpZGVkIHByb3BzIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHByb3BzIGZvciB0aGUgTGFtYmRhIGZ1bmN0aW9uLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIERlZmF1bHQgcHJvcHMgYXJlIHVzZWRcbiAgICovXG4gIHJlYWRvbmx5IGxhbWJkYUZ1bmN0aW9uUHJvcHM/OiBsYW1iZGEuRnVuY3Rpb25Qcm9wc1xuICAvKipcbiAgICogVXNlciBwcm92aWRlZCBwcm9wcyB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBwcm9wcyBmb3IgdGhlIEFQSSBHYXRld2F5LiBBcyBvZiByZWxlYXNlXG4gICAqIDIuNDguMCwgY2xpZW50cyBtdXN0IGluY2x1ZGUgdGhpcyBwcm9wZXJ0eSB3aXRoIGRlZmF1bHRNZXRob2RPcHRpb25zOiB7IGF1dGhvcml6YXRpb25UeXBlOiBzdHJpbmcgfSBzcGVjaWZpZWQuXG4gICAqIFNlZSBJc3N1ZTEwNDMgaW4gdGhlIGdpdGh1YiByZXBvIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3NsYWJzL2F3cy1zb2x1dGlvbnMtY29uc3RydWN0cy9pc3N1ZXMvMTA0M1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHRNZXRob2RPcHRpb25zL2F1dGhvcml6YXRpb25UeXBlIGlzIHJlcXVpcmVkLCBmb3Igb3RoZXIsIHVuc3BlY2lmaWVkIHZhbHVlcyB0aGVcbiAgICogZGVmYXVsdCBwcm9wcyBhcmUgdXNlZFxuICAgKi9cbiAgcmVhZG9ubHkgYXBpR2F0ZXdheVByb3BzOiBhcGkuTGFtYmRhUmVzdEFwaVByb3BzIHwgYW55XG4gIC8qKlxuICAgKiBPcHRpb25hbCB1c2VyIHByb3ZpZGVkIHByb3BzIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHByb3BzXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRGVmYXVsdCBwcm9wcyBhcmUgdXNlZFxuICAgKi9cbiAgcmVhZG9ubHkgY2xvdWRGcm9udERpc3RyaWJ1dGlvblByb3BzPzogY2xvdWRmcm9udC5EaXN0cmlidXRpb25Qcm9wcyB8IGFueSxcbiAgLyoqXG4gICAqIE9wdGlvbmFsIHVzZXIgcHJvdmlkZWQgcHJvcHMgdG8gdHVybiBvbi9vZmYgdGhlIGF1dG9tYXRpYyBpbmplY3Rpb24gb2YgYmVzdCBwcmFjdGljZSBIVFRQXG4gICAqIHNlY3VyaXR5IGhlYWRlcnMgaW4gYWxsIHJlc3BvbnNlcyBmcm9tIGNsb3VkZnJvbnQuXG4gICAqIFR1cm5pbmcgdGhpcyBvbiB3aWxsIGluamVjdCBkZWZhdWx0IGhlYWRlcnMgYW5kIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIHBhc3NpbmcgY3VzdG9tIHNlY3VyaXR5IGhlYWRlcnNcbiAgICogdmlhIHRoZSByZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wcyBwYXJhbWV0ZXIuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgaW5zZXJ0SHR0cFNlY3VyaXR5SGVhZGVycz86IGJvb2xlYW4sXG4gIC8qKlxuICAgKiBPcHRpb25hbCB1c2VyIHByb3ZpZGVkIGNvbmZpZ3VyYXRpb24gdGhhdCBjbG91ZGZyb250IGFwcGxpZXMgdG8gYWxsIGh0dHAgcmVzcG9uc2VzLlxuICAgKiBDYW4gYmUgdXNlZCB0byBwYXNzIGEgY3VzdG9tIFJlc3BvbnNlU2VjdXJpdHlIZWFkZXJzQmVoYXZpb3IsIFJlc3BvbnNlQ3VzdG9tSGVhZGVyc0JlaGF2aW9yIG9yXG4gICAqIFJlc3BvbnNlSGVhZGVyc0NvcnNCZWhhdmlvciB0byB0aGUgY2xvdWRmcm9udCBkaXN0cmlidXRpb24uXG4gICAqXG4gICAqIFBhc3NpbmcgYSBjdXN0b20gUmVzcG9uc2VTZWN1cml0eUhlYWRlcnNCZWhhdmlvciBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCB0dXJuaW5nIG9uIHRoZSBkZWZhdWx0IHNlY3VyaXR5IGhlYWRlcnNcbiAgICogdmlhIGBpbnNlcnRIdHRwU2VjdXJpdHlIZWFkZXJzYCBwcm9wLiBXaWxsIHRocm93IGFuIGVycm9yIGlmIGJvdGggYGluc2VydEh0dHBTZWN1cml0eUhlYWRlcnNgIGlzIHNldCB0byBgdHJ1ZWBcbiAgICogYW5kIFJlc3BvbnNlU2VjdXJpdHlIZWFkZXJzQmVoYXZpb3IgaXMgcGFzc2VkLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgcmVzcG9uc2VIZWFkZXJzUG9saWN5UHJvcHM/OiBjbG91ZGZyb250LlJlc3BvbnNlSGVhZGVyc1BvbGljeVByb3BzXG4gIC8qKlxuICAgKiBPcHRpb25hbCB1c2VyIHByb3ZpZGVkIHByb3BzIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHByb3BzIGZvciB0aGUgQ2xvdWRXYXRjaExvZ3MgTG9nR3JvdXAuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRGVmYXVsdCBwcm9wcyBhcmUgdXNlZFxuICAgKi9cbiAgcmVhZG9ubHkgbG9nR3JvdXBQcm9wcz86IGxvZ3MuTG9nR3JvdXBQcm9wc1xuICAvKipcbiAgICogT3B0aW9uYWwgdXNlciBwcm92aWRlZCBwcm9wcyB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBwcm9wcyBmb3IgdGhlIENsb3VkRnJvbnQgTG9nZ2luZyBCdWNrZXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRGVmYXVsdCBwcm9wcyBhcmUgdXNlZFxuICAgKi9cbiAgIHJlYWRvbmx5IGNsb3VkRnJvbnRMb2dnaW5nQnVja2V0UHJvcHM/OiBzMy5CdWNrZXRQcm9wc1xufVxuXG5leHBvcnQgY2xhc3MgQ2xvdWRGcm9udFRvQXBpR2F0ZXdheVRvTGFtYmRhIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcHVibGljIHJlYWRvbmx5IGNsb3VkRnJvbnRXZWJEaXN0cmlidXRpb246IGNsb3VkZnJvbnQuRGlzdHJpYnV0aW9uO1xuICBwdWJsaWMgcmVhZG9ubHkgY2xvdWRGcm9udEZ1bmN0aW9uPzogY2xvdWRmcm9udC5GdW5jdGlvbjtcbiAgcHVibGljIHJlYWRvbmx5IGNsb3VkRnJvbnRMb2dnaW5nQnVja2V0PzogczMuQnVja2V0O1xuICBwdWJsaWMgcmVhZG9ubHkgYXBpR2F0ZXdheTogYXBpLlJlc3RBcGk7XG4gIHB1YmxpYyByZWFkb25seSBhcGlHYXRld2F5Q2xvdWRXYXRjaFJvbGU/OiBpYW0uUm9sZTtcbiAgcHVibGljIHJlYWRvbmx5IGFwaUdhdGV3YXlMb2dHcm91cDogbG9ncy5Mb2dHcm91cDtcbiAgcHVibGljIHJlYWRvbmx5IGxhbWJkYUZ1bmN0aW9uOiBsYW1iZGEuRnVuY3Rpb247XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IENvbnN0cnVjdHMgYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIENsb3VkRnJvbnRUb0FwaUdhdGV3YXlUb0xhbWJkYSBjbGFzcy5cbiAgICogQHBhcmFtIHtDb25zdHJ1Y3R9IHNjb3BlIC0gcmVwcmVzZW50cyB0aGUgc2NvcGUgZm9yIGFsbCB0aGUgcmVzb3VyY2VzLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gaWQgLSB0aGlzIGlzIGEgYSBzY29wZS11bmlxdWUgaWQuXG4gICAqIEBwYXJhbSB7Q2xvdWRGcm9udFRvQXBpR2F0ZXdheVRvTGFtYmRhUHJvcHN9IHByb3BzIC0gdXNlciBwcm92aWRlZCBwcm9wcyBmb3IgdGhlIGNvbnN0cnVjdFxuICAgKiBAc2luY2UgMC44LjBcbiAgICogQGFjY2VzcyBwdWJsaWNcbiAgICovXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBDbG91ZEZyb250VG9BcGlHYXRld2F5VG9MYW1iZGFQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgZGVmYXVsdHMuQ2hlY2tMYW1iZGFQcm9wcyhwcm9wcyk7XG4gICAgLy8gQ2hlY2tDbG91ZEZyb250UHJvcHMoKSBpcyBjYWxsZWQgYnkgaW50ZXJuYWwgYXdzLWNsb3VkZnJvbnQtYXBpZ2F0ZXdheSBjb25zdHJ1Y3RcbiAgICBpZiAoIXByb3BzLmFwaUdhdGV3YXlQcm9wcz8uZGVmYXVsdE1ldGhvZE9wdGlvbnM/LmF1dGhvcml6YXRpb25UeXBlKSB7XG4gICAgICBkZWZhdWx0cy5wcmludFdhcm5pbmcoJ0FzIG9mIHYyLjQ4LjAsIGFwaUdhdGV3YXlQcm9wcy5kZWZhdWx0TWV0aG9kT3B0aW9ucy5hdXRob3JpemF0aW9uVHlwZSBpc1xcXG4gICAgICByZXF1aXJlZC4gVG8gdXBkYXRlIHlvdXIgaW5zdGFudGlhdGlvbiBjYWxsLCBhZGQgdGhlIGZvbGxvd2luZyB0byB5b3VyIENsb3VkRnJvbnRUb0FwaUdhdGV3YXlUb0xhbWJkYVByb3BzIGFyZ3VtZW50XFxcbiAgICAgIFxcblxcbmFwaUdhdGV3YXlQcm9wczogeyBkZWZhdWx0TWV0aG9kT3B0aW9uczogeyBhdXRob3JpemF0aW9uVHlwZTogYXBpLkF1dGhvcml6YXRpb25UeXBlLk5PTkUgfX0sXFxuXFxuU2VlIElzc3VlMTA0MyBmb3IgYW4gZXhwbGFuYXRpb24uJyk7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0FzIG9mIHYyLjQ4LjAsIGFuIGV4cGxpY2l0IGF1dGhvcml6YXRpb24gdHlwZSBpcyByZXF1aXJlZCBmb3IgQ2xvdWRGcm9udC9BUEkgR2F0ZXdheSBwYXR0ZXJucycpO1xuICAgIH0gZWxzZSBpZiAocHJvcHMuYXBpR2F0ZXdheVByb3BzLmRlZmF1bHRNZXRob2RPcHRpb25zLmF1dGhvcml6YXRpb25UeXBlID09PSBcIkFXU19JQU1cIikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdBbWF6b24gQVBJIEdhdGV3YXkgUmVzdCBBUElzIGludGVncmF0ZWQgd2l0aCBBbWF6b24gQ2xvdWRGcm9udCBkbyBub3Qgc3VwcG9ydCBBV1NfSUFNIGF1dGhvcml6YXRpb24nKTtcbiAgICB9XG5cbiAgICAvLyBBbGwgb3VyIHRlc3RzIGFyZSBiYXNlZCB1cG9uIHRoaXMgYmVoYXZpb3IgYmVpbmcgb24sIHNvIHdlJ3JlIHNldHRpbmdcbiAgICAvLyBjb250ZXh0IGhlcmUgcmF0aGVyIHRoYW4gYXNzdW1pbmcgdGhlIGNsaWVudCB3aWxsIHNldCBpdFxuICAgIHRoaXMubm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvYXdzLXMzOnNlcnZlckFjY2Vzc0xvZ3NVc2VCdWNrZXRQb2xpY3lcIiwgdHJ1ZSk7XG5cbiAgICB0aGlzLmxhbWJkYUZ1bmN0aW9uID0gZGVmYXVsdHMuYnVpbGRMYW1iZGFGdW5jdGlvbih0aGlzLCB7XG4gICAgICBleGlzdGluZ0xhbWJkYU9iajogcHJvcHMuZXhpc3RpbmdMYW1iZGFPYmosXG4gICAgICBsYW1iZGFGdW5jdGlvblByb3BzOiBwcm9wcy5sYW1iZGFGdW5jdGlvblByb3BzXG4gICAgfSk7XG5cbiAgICAvLyBXZSBjYW4ndCBkZWZhdWx0IHRvIElBTSBhdXRoZW50aWNhdGlvbiB3aXRoIGEgQ2xvdWRGcm9udCBkaXN0cmlidXRpb24sIHNvXG4gICAgLy8gd2UnbGwgaW5zdHJ1Y3QgY29yZSB0byBub3QgdXNlIGFueSBkZWZhdWx0IGF1dGggdG8gYXZvaWQgb3ZlcnJpZGUgd2FybmluZ3NcbiAgICBjb25zdCByZWdpb25hbExhbWJkYVJlc3RBcGlSZXNwb25zZSA9IGRlZmF1bHRzLlJlZ2lvbmFsTGFtYmRhUmVzdEFwaSh0aGlzLFxuICAgICAgdGhpcy5sYW1iZGFGdW5jdGlvbixcbiAgICAgIHByb3BzLmFwaUdhdGV3YXlQcm9wcyxcbiAgICAgIHByb3BzLmxvZ0dyb3VwUHJvcHMsXG4gICAgICBmYWxzZSk7XG4gICAgdGhpcy5hcGlHYXRld2F5ID0gcmVnaW9uYWxMYW1iZGFSZXN0QXBpUmVzcG9uc2UuYXBpO1xuICAgIHRoaXMuYXBpR2F0ZXdheUNsb3VkV2F0Y2hSb2xlID0gcmVnaW9uYWxMYW1iZGFSZXN0QXBpUmVzcG9uc2Uucm9sZTtcbiAgICB0aGlzLmFwaUdhdGV3YXlMb2dHcm91cCA9IHJlZ2lvbmFsTGFtYmRhUmVzdEFwaVJlc3BvbnNlLmdyb3VwO1xuXG4gICAgY29uc3QgYXBpQ2xvdWRmcm9udDogQ2xvdWRGcm9udFRvQXBpR2F0ZXdheSA9IG5ldyBDbG91ZEZyb250VG9BcGlHYXRld2F5KHRoaXMsICdDbG91ZEZyb250VG9BcGlHYXRld2F5Jywge1xuICAgICAgZXhpc3RpbmdBcGlHYXRld2F5T2JqOiB0aGlzLmFwaUdhdGV3YXksXG4gICAgICBjbG91ZEZyb250RGlzdHJpYnV0aW9uUHJvcHM6IHByb3BzLmNsb3VkRnJvbnREaXN0cmlidXRpb25Qcm9wcyxcbiAgICAgIGluc2VydEh0dHBTZWN1cml0eUhlYWRlcnM6IHByb3BzLmluc2VydEh0dHBTZWN1cml0eUhlYWRlcnMsXG4gICAgICBjbG91ZEZyb250TG9nZ2luZ0J1Y2tldFByb3BzOiBwcm9wcy5jbG91ZEZyb250TG9nZ2luZ0J1Y2tldFByb3BzLFxuICAgICAgcmVzcG9uc2VIZWFkZXJzUG9saWN5UHJvcHM6IHByb3BzLnJlc3BvbnNlSGVhZGVyc1BvbGljeVByb3BzXG4gICAgfSk7XG5cbiAgICB0aGlzLmNsb3VkRnJvbnRXZWJEaXN0cmlidXRpb24gPSBhcGlDbG91ZGZyb250LmNsb3VkRnJvbnRXZWJEaXN0cmlidXRpb247XG4gICAgdGhpcy5jbG91ZEZyb250RnVuY3Rpb24gPSBhcGlDbG91ZGZyb250LmNsb3VkRnJvbnRGdW5jdGlvbjtcbiAgICB0aGlzLmNsb3VkRnJvbnRMb2dnaW5nQnVja2V0ID0gYXBpQ2xvdWRmcm9udC5jbG91ZEZyb250TG9nZ2luZ0J1Y2tldDtcbiAgfVxufVxuIl19
60
+ CloudFrontToApiGatewayToLambda[_a] = { fqn: "@aws-solutions-constructs/aws-cloudfront-apigateway-lambda.CloudFrontToApiGatewayToLambda", version: "2.80.0" };
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQW1CQSwyREFBMkQ7QUFDM0Qsd0ZBQXdGO0FBQ3hGLDJDQUF1QztBQUN2QyxtR0FBNkY7QUEyRTdGLE1BQWEsOEJBQStCLFNBQVEsc0JBQVM7SUFTM0Q7Ozs7Ozs7T0FPRztJQUNILFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBMEM7UUFDbEYsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQixRQUFRLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU5QixtRkFBbUY7UUFDbkYsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsb0JBQW9CLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQztZQUNwRSxRQUFRLENBQUMsWUFBWSxDQUFDOzs0SUFFZ0gsQ0FBQyxDQUFDO1lBQ3hJLE1BQU0sSUFBSSxLQUFLLENBQUMsK0ZBQStGLENBQUMsQ0FBQztRQUNuSCxDQUFDO2FBQU0sSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLG9CQUFvQixDQUFDLGlCQUFpQixLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3RGLE1BQU0sSUFBSSxLQUFLLENBQUMscUdBQXFHLENBQUMsQ0FBQztRQUN6SCxDQUFDO1FBRUQsd0VBQXdFO1FBQ3hFLDJEQUEyRDtRQUMzRCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxpREFBaUQsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUU5RSxJQUFJLENBQUMsY0FBYyxHQUFHLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUU7WUFDdkQsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLGlCQUFpQjtZQUMxQyxtQkFBbUIsRUFBRSxLQUFLLENBQUMsbUJBQW1CO1NBQy9DLENBQUMsQ0FBQztRQUVILDRFQUE0RTtRQUM1RSw2RUFBNkU7UUFDN0UsTUFBTSw2QkFBNkIsR0FBRyxRQUFRLENBQUMscUJBQXFCLENBQUMsSUFBSSxFQUN2RSxJQUFJLENBQUMsY0FBYyxFQUNuQixLQUFLLENBQUMsZUFBZSxFQUNyQixLQUFLLENBQUMsYUFBYSxFQUNuQixLQUFLLENBQUMsZUFBZSxFQUNyQixLQUFLLENBQUMsQ0FBQztRQUNULElBQUksQ0FBQyxVQUFVLEdBQUcsNkJBQTZCLENBQUMsR0FBRyxDQUFDO1FBQ3BELElBQUksQ0FBQyx3QkFBd0IsR0FBRyw2QkFBNkIsQ0FBQyxJQUFJLENBQUM7UUFDbkUsSUFBSSxDQUFDLGtCQUFrQixHQUFHLDZCQUE2QixDQUFDLEtBQUssQ0FBQztRQUU5RCxNQUFNLGFBQWEsR0FBMkIsSUFBSSxrREFBc0IsQ0FBQyxJQUFJLEVBQUUsd0JBQXdCLEVBQUU7WUFDdkcscUJBQXFCLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDdEMsMkJBQTJCLEVBQUUsS0FBSyxDQUFDLDJCQUEyQjtZQUM5RCx5QkFBeUIsRUFBRSxLQUFLLENBQUMseUJBQXlCO1lBQzFELDRCQUE0QixFQUFFLEtBQUssQ0FBQyw0QkFBNEI7WUFDaEUsMEJBQTBCLEVBQUUsS0FBSyxDQUFDLDBCQUEwQjtTQUM3RCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMseUJBQXlCLEdBQUcsYUFBYSxDQUFDLHlCQUF5QixDQUFDO1FBQ3pFLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxhQUFhLENBQUMsa0JBQWtCLENBQUM7UUFDM0QsSUFBSSxDQUFDLHVCQUF1QixHQUFHLGFBQWEsQ0FBQyx1QkFBdUIsQ0FBQztJQUN2RSxDQUFDOztBQWhFSCx3RUFpRUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgKiBhcyBhcGkgZnJvbSAnYXdzLWNkay1saWIvYXdzLWFwaWdhdGV3YXknO1xuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0ICogYXMgY2xvdWRmcm9udCBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWRmcm9udCc7XG5pbXBvcnQgKiBhcyBsb2dzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sb2dzJztcbmltcG9ydCAqIGFzIHMzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMyc7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyBkZWZhdWx0cyBmcm9tICdAYXdzLXNvbHV0aW9ucy1jb25zdHJ1Y3RzL2NvcmUnO1xuLy8gTm90ZTogVG8gZW5zdXJlIENES3YyIGNvbXBhdGliaWxpdHksIGtlZXAgdGhlIGltcG9ydCBzdGF0ZW1lbnQgZm9yIENvbnN0cnVjdCBzZXBhcmF0ZVxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBDbG91ZEZyb250VG9BcGlHYXRld2F5IH0gZnJvbSAnQGF3cy1zb2x1dGlvbnMtY29uc3RydWN0cy9hd3MtY2xvdWRmcm9udC1hcGlnYXRld2F5JztcblxuLyoqXG4gKiBAc3VtbWFyeSBUaGUgcHJvcGVydGllcyBmb3IgdGhlIENsb3VkRnJvbnRUb0FwaUdhdGV3YXlUb0xhbWJkYSBDb25zdHJ1Y3RcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDbG91ZEZyb250VG9BcGlHYXRld2F5VG9MYW1iZGFQcm9wcyB7XG4gIC8qKlxuICAgKiBFeGlzdGluZyBpbnN0YW5jZSBvZiBMYW1iZGEgRnVuY3Rpb24gb2JqZWN0LCBwcm92aWRpbmcgYm90aCB0aGlzIGFuZCBgbGFtYmRhRnVuY3Rpb25Qcm9wc2Agd2lsbCBjYXVzZSBhbiBlcnJvci5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBOb25lXG4gICAqL1xuICByZWFkb25seSBleGlzdGluZ0xhbWJkYU9iaj86IGxhbWJkYS5GdW5jdGlvbixcbiAgLyoqXG4gICAqIE9wdGlvbmFsIHVzZXIgcHJvdmlkZWQgcHJvcHMgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgcHJvcHMgZm9yIHRoZSBMYW1iZGEgZnVuY3Rpb24uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRGVmYXVsdCBwcm9wcyBhcmUgdXNlZFxuICAgKi9cbiAgcmVhZG9ubHkgbGFtYmRhRnVuY3Rpb25Qcm9wcz86IGxhbWJkYS5GdW5jdGlvblByb3BzXG4gIC8qKlxuICAgKiBVc2VyIHByb3ZpZGVkIHByb3BzIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHByb3BzIGZvciB0aGUgQVBJIEdhdGV3YXkuIEFzIG9mIHJlbGVhc2VcbiAgICogMi40OC4wLCBjbGllbnRzIG11c3QgaW5jbHVkZSB0aGlzIHByb3BlcnR5IHdpdGggZGVmYXVsdE1ldGhvZE9wdGlvbnM6IHsgYXV0aG9yaXphdGlvblR5cGU6IHN0cmluZyB9IHNwZWNpZmllZC5cbiAgICogU2VlIElzc3VlMTA0MyBpbiB0aGUgZ2l0aHViIHJlcG8gaHR0cHM6Ly9naXRodWIuY29tL2F3c2xhYnMvYXdzLXNvbHV0aW9ucy1jb25zdHJ1Y3RzL2lzc3Vlcy8xMDQzXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdE1ldGhvZE9wdGlvbnMvYXV0aG9yaXphdGlvblR5cGUgaXMgcmVxdWlyZWQsIGZvciBvdGhlciwgdW5zcGVjaWZpZWQgdmFsdWVzIHRoZVxuICAgKiBkZWZhdWx0IHByb3BzIGFyZSB1c2VkXG4gICAqL1xuICByZWFkb25seSBhcGlHYXRld2F5UHJvcHM6IGFwaS5MYW1iZGFSZXN0QXBpUHJvcHMgfCBhbnlcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gY3JlYXRlIGEgVXNhZ2UgUGxhbiBhdHRhY2hlZCB0byB0aGUgQVBJLiBNdXN0IGJlIHRydWUgaWZcbiAgICogYXBpR2F0ZXdheVByb3BzLmRlZmF1bHRNZXRob2RPcHRpb25zLmFwaUtleVJlcXVpcmVkIGlzIHRydWVcbiAgICpcbiAgICogQGRlZmF1bHQgLSB0cnVlICh0byBtYXRjaCBsZWdhY3kgYmVoYXZpb3IpXG4gICAqL1xuICByZWFkb25seSBjcmVhdGVVc2FnZVBsYW4/OiBib29sZWFuXG4gIC8qKlxuICAgKiBPcHRpb25hbCB1c2VyIHByb3ZpZGVkIHByb3BzIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHByb3BzXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRGVmYXVsdCBwcm9wcyBhcmUgdXNlZFxuICAgKi9cbiAgcmVhZG9ubHkgY2xvdWRGcm9udERpc3RyaWJ1dGlvblByb3BzPzogY2xvdWRmcm9udC5EaXN0cmlidXRpb25Qcm9wcyB8IGFueSxcbiAgLyoqXG4gICAqIE9wdGlvbmFsIHVzZXIgcHJvdmlkZWQgcHJvcHMgdG8gdHVybiBvbi9vZmYgdGhlIGF1dG9tYXRpYyBpbmplY3Rpb24gb2YgYmVzdCBwcmFjdGljZSBIVFRQXG4gICAqIHNlY3VyaXR5IGhlYWRlcnMgaW4gYWxsIHJlc3BvbnNlcyBmcm9tIGNsb3VkZnJvbnQuXG4gICAqIFR1cm5pbmcgdGhpcyBvbiB3aWxsIGluamVjdCBkZWZhdWx0IGhlYWRlcnMgYW5kIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIHBhc3NpbmcgY3VzdG9tIHNlY3VyaXR5IGhlYWRlcnNcbiAgICogdmlhIHRoZSByZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wcyBwYXJhbWV0ZXIuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgaW5zZXJ0SHR0cFNlY3VyaXR5SGVhZGVycz86IGJvb2xlYW4sXG4gIC8qKlxuICAgKiBPcHRpb25hbCB1c2VyIHByb3ZpZGVkIGNvbmZpZ3VyYXRpb24gdGhhdCBjbG91ZGZyb250IGFwcGxpZXMgdG8gYWxsIGh0dHAgcmVzcG9uc2VzLlxuICAgKiBDYW4gYmUgdXNlZCB0byBwYXNzIGEgY3VzdG9tIFJlc3BvbnNlU2VjdXJpdHlIZWFkZXJzQmVoYXZpb3IsIFJlc3BvbnNlQ3VzdG9tSGVhZGVyc0JlaGF2aW9yIG9yXG4gICAqIFJlc3BvbnNlSGVhZGVyc0NvcnNCZWhhdmlvciB0byB0aGUgY2xvdWRmcm9udCBkaXN0cmlidXRpb24uXG4gICAqXG4gICAqIFBhc3NpbmcgYSBjdXN0b20gUmVzcG9uc2VTZWN1cml0eUhlYWRlcnNCZWhhdmlvciBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCB0dXJuaW5nIG9uIHRoZSBkZWZhdWx0IHNlY3VyaXR5IGhlYWRlcnNcbiAgICogdmlhIGBpbnNlcnRIdHRwU2VjdXJpdHlIZWFkZXJzYCBwcm9wLiBXaWxsIHRocm93IGFuIGVycm9yIGlmIGJvdGggYGluc2VydEh0dHBTZWN1cml0eUhlYWRlcnNgIGlzIHNldCB0byBgdHJ1ZWBcbiAgICogYW5kIFJlc3BvbnNlU2VjdXJpdHlIZWFkZXJzQmVoYXZpb3IgaXMgcGFzc2VkLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgcmVzcG9uc2VIZWFkZXJzUG9saWN5UHJvcHM/OiBjbG91ZGZyb250LlJlc3BvbnNlSGVhZGVyc1BvbGljeVByb3BzXG4gIC8qKlxuICAgKiBPcHRpb25hbCB1c2VyIHByb3ZpZGVkIHByb3BzIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHByb3BzIGZvciB0aGUgQ2xvdWRXYXRjaExvZ3MgTG9nR3JvdXAuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRGVmYXVsdCBwcm9wcyBhcmUgdXNlZFxuICAgKi9cbiAgcmVhZG9ubHkgbG9nR3JvdXBQcm9wcz86IGxvZ3MuTG9nR3JvdXBQcm9wc1xuICAvKipcbiAgICogT3B0aW9uYWwgdXNlciBwcm92aWRlZCBwcm9wcyB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBwcm9wcyBmb3IgdGhlIENsb3VkRnJvbnQgTG9nZ2luZyBCdWNrZXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRGVmYXVsdCBwcm9wcyBhcmUgdXNlZFxuICAgKi9cbiAgIHJlYWRvbmx5IGNsb3VkRnJvbnRMb2dnaW5nQnVja2V0UHJvcHM/OiBzMy5CdWNrZXRQcm9wc1xufVxuXG5leHBvcnQgY2xhc3MgQ2xvdWRGcm9udFRvQXBpR2F0ZXdheVRvTGFtYmRhIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcHVibGljIHJlYWRvbmx5IGNsb3VkRnJvbnRXZWJEaXN0cmlidXRpb246IGNsb3VkZnJvbnQuRGlzdHJpYnV0aW9uO1xuICBwdWJsaWMgcmVhZG9ubHkgY2xvdWRGcm9udEZ1bmN0aW9uPzogY2xvdWRmcm9udC5GdW5jdGlvbjtcbiAgcHVibGljIHJlYWRvbmx5IGNsb3VkRnJvbnRMb2dnaW5nQnVja2V0PzogczMuQnVja2V0O1xuICBwdWJsaWMgcmVhZG9ubHkgYXBpR2F0ZXdheTogYXBpLlJlc3RBcGk7XG4gIHB1YmxpYyByZWFkb25seSBhcGlHYXRld2F5Q2xvdWRXYXRjaFJvbGU/OiBpYW0uUm9sZTtcbiAgcHVibGljIHJlYWRvbmx5IGFwaUdhdGV3YXlMb2dHcm91cDogbG9ncy5Mb2dHcm91cDtcbiAgcHVibGljIHJlYWRvbmx5IGxhbWJkYUZ1bmN0aW9uOiBsYW1iZGEuRnVuY3Rpb247XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IENvbnN0cnVjdHMgYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIENsb3VkRnJvbnRUb0FwaUdhdGV3YXlUb0xhbWJkYSBjbGFzcy5cbiAgICogQHBhcmFtIHtDb25zdHJ1Y3R9IHNjb3BlIC0gcmVwcmVzZW50cyB0aGUgc2NvcGUgZm9yIGFsbCB0aGUgcmVzb3VyY2VzLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gaWQgLSB0aGlzIGlzIGEgYSBzY29wZS11bmlxdWUgaWQuXG4gICAqIEBwYXJhbSB7Q2xvdWRGcm9udFRvQXBpR2F0ZXdheVRvTGFtYmRhUHJvcHN9IHByb3BzIC0gdXNlciBwcm92aWRlZCBwcm9wcyBmb3IgdGhlIGNvbnN0cnVjdFxuICAgKiBAc2luY2UgMC44LjBcbiAgICogQGFjY2VzcyBwdWJsaWNcbiAgICovXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBDbG91ZEZyb250VG9BcGlHYXRld2F5VG9MYW1iZGFQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgZGVmYXVsdHMuQ2hlY2tMYW1iZGFQcm9wcyhwcm9wcyk7XG4gICAgZGVmYXVsdHMuQ2hlY2tBcGlQcm9wcyhwcm9wcyk7XG5cbiAgICAvLyBDaGVja0Nsb3VkRnJvbnRQcm9wcygpIGlzIGNhbGxlZCBieSBpbnRlcm5hbCBhd3MtY2xvdWRmcm9udC1hcGlnYXRld2F5IGNvbnN0cnVjdFxuICAgIGlmICghcHJvcHMuYXBpR2F0ZXdheVByb3BzPy5kZWZhdWx0TWV0aG9kT3B0aW9ucz8uYXV0aG9yaXphdGlvblR5cGUpIHtcbiAgICAgIGRlZmF1bHRzLnByaW50V2FybmluZygnQXMgb2YgdjIuNDguMCwgYXBpR2F0ZXdheVByb3BzLmRlZmF1bHRNZXRob2RPcHRpb25zLmF1dGhvcml6YXRpb25UeXBlIGlzXFxcbiAgICAgIHJlcXVpcmVkLiBUbyB1cGRhdGUgeW91ciBpbnN0YW50aWF0aW9uIGNhbGwsIGFkZCB0aGUgZm9sbG93aW5nIHRvIHlvdXIgQ2xvdWRGcm9udFRvQXBpR2F0ZXdheVRvTGFtYmRhUHJvcHMgYXJndW1lbnRcXFxuICAgICAgXFxuXFxuYXBpR2F0ZXdheVByb3BzOiB7IGRlZmF1bHRNZXRob2RPcHRpb25zOiB7IGF1dGhvcml6YXRpb25UeXBlOiBhcGkuQXV0aG9yaXphdGlvblR5cGUuTk9ORSB9fSxcXG5cXG5TZWUgSXNzdWUxMDQzIGZvciBhbiBleHBsYW5hdGlvbi4nKTtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQXMgb2YgdjIuNDguMCwgYW4gZXhwbGljaXQgYXV0aG9yaXphdGlvbiB0eXBlIGlzIHJlcXVpcmVkIGZvciBDbG91ZEZyb250L0FQSSBHYXRld2F5IHBhdHRlcm5zJyk7XG4gICAgfSBlbHNlIGlmIChwcm9wcy5hcGlHYXRld2F5UHJvcHMuZGVmYXVsdE1ldGhvZE9wdGlvbnMuYXV0aG9yaXphdGlvblR5cGUgPT09IFwiQVdTX0lBTVwiKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0FtYXpvbiBBUEkgR2F0ZXdheSBSZXN0IEFQSXMgaW50ZWdyYXRlZCB3aXRoIEFtYXpvbiBDbG91ZEZyb250IGRvIG5vdCBzdXBwb3J0IEFXU19JQU0gYXV0aG9yaXphdGlvbicpO1xuICAgIH1cblxuICAgIC8vIEFsbCBvdXIgdGVzdHMgYXJlIGJhc2VkIHVwb24gdGhpcyBiZWhhdmlvciBiZWluZyBvbiwgc28gd2UncmUgc2V0dGluZ1xuICAgIC8vIGNvbnRleHQgaGVyZSByYXRoZXIgdGhhbiBhc3N1bWluZyB0aGUgY2xpZW50IHdpbGwgc2V0IGl0XG4gICAgdGhpcy5ub2RlLnNldENvbnRleHQoXCJAYXdzLWNkay9hd3MtczM6c2VydmVyQWNjZXNzTG9nc1VzZUJ1Y2tldFBvbGljeVwiLCB0cnVlKTtcblxuICAgIHRoaXMubGFtYmRhRnVuY3Rpb24gPSBkZWZhdWx0cy5idWlsZExhbWJkYUZ1bmN0aW9uKHRoaXMsIHtcbiAgICAgIGV4aXN0aW5nTGFtYmRhT2JqOiBwcm9wcy5leGlzdGluZ0xhbWJkYU9iaixcbiAgICAgIGxhbWJkYUZ1bmN0aW9uUHJvcHM6IHByb3BzLmxhbWJkYUZ1bmN0aW9uUHJvcHNcbiAgICB9KTtcblxuICAgIC8vIFdlIGNhbid0IGRlZmF1bHQgdG8gSUFNIGF1dGhlbnRpY2F0aW9uIHdpdGggYSBDbG91ZEZyb250IGRpc3RyaWJ1dGlvbiwgc29cbiAgICAvLyB3ZSdsbCBpbnN0cnVjdCBjb3JlIHRvIG5vdCB1c2UgYW55IGRlZmF1bHQgYXV0aCB0byBhdm9pZCBvdmVycmlkZSB3YXJuaW5nc1xuICAgIGNvbnN0IHJlZ2lvbmFsTGFtYmRhUmVzdEFwaVJlc3BvbnNlID0gZGVmYXVsdHMuUmVnaW9uYWxMYW1iZGFSZXN0QXBpKHRoaXMsXG4gICAgICB0aGlzLmxhbWJkYUZ1bmN0aW9uLFxuICAgICAgcHJvcHMuYXBpR2F0ZXdheVByb3BzLFxuICAgICAgcHJvcHMubG9nR3JvdXBQcm9wcyxcbiAgICAgIHByb3BzLmNyZWF0ZVVzYWdlUGxhbixcbiAgICAgIGZhbHNlKTtcbiAgICB0aGlzLmFwaUdhdGV3YXkgPSByZWdpb25hbExhbWJkYVJlc3RBcGlSZXNwb25zZS5hcGk7XG4gICAgdGhpcy5hcGlHYXRld2F5Q2xvdWRXYXRjaFJvbGUgPSByZWdpb25hbExhbWJkYVJlc3RBcGlSZXNwb25zZS5yb2xlO1xuICAgIHRoaXMuYXBpR2F0ZXdheUxvZ0dyb3VwID0gcmVnaW9uYWxMYW1iZGFSZXN0QXBpUmVzcG9uc2UuZ3JvdXA7XG5cbiAgICBjb25zdCBhcGlDbG91ZGZyb250OiBDbG91ZEZyb250VG9BcGlHYXRld2F5ID0gbmV3IENsb3VkRnJvbnRUb0FwaUdhdGV3YXkodGhpcywgJ0Nsb3VkRnJvbnRUb0FwaUdhdGV3YXknLCB7XG4gICAgICBleGlzdGluZ0FwaUdhdGV3YXlPYmo6IHRoaXMuYXBpR2F0ZXdheSxcbiAgICAgIGNsb3VkRnJvbnREaXN0cmlidXRpb25Qcm9wczogcHJvcHMuY2xvdWRGcm9udERpc3RyaWJ1dGlvblByb3BzLFxuICAgICAgaW5zZXJ0SHR0cFNlY3VyaXR5SGVhZGVyczogcHJvcHMuaW5zZXJ0SHR0cFNlY3VyaXR5SGVhZGVycyxcbiAgICAgIGNsb3VkRnJvbnRMb2dnaW5nQnVja2V0UHJvcHM6IHByb3BzLmNsb3VkRnJvbnRMb2dnaW5nQnVja2V0UHJvcHMsXG4gICAgICByZXNwb25zZUhlYWRlcnNQb2xpY3lQcm9wczogcHJvcHMucmVzcG9uc2VIZWFkZXJzUG9saWN5UHJvcHNcbiAgICB9KTtcblxuICAgIHRoaXMuY2xvdWRGcm9udFdlYkRpc3RyaWJ1dGlvbiA9IGFwaUNsb3VkZnJvbnQuY2xvdWRGcm9udFdlYkRpc3RyaWJ1dGlvbjtcbiAgICB0aGlzLmNsb3VkRnJvbnRGdW5jdGlvbiA9IGFwaUNsb3VkZnJvbnQuY2xvdWRGcm9udEZ1bmN0aW9uO1xuICAgIHRoaXMuY2xvdWRGcm9udExvZ2dpbmdCdWNrZXQgPSBhcGlDbG91ZGZyb250LmNsb3VkRnJvbnRMb2dnaW5nQnVja2V0O1xuICB9XG59XG4iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-solutions-constructs/aws-cloudfront-apigateway-lambda",
3
- "version": "2.79.1",
3
+ "version": "2.80.0",
4
4
  "description": "CDK Constructs for AWS Cloudfront to AWS API Gateway to AWS Lambda integration.",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -54,16 +54,16 @@
54
54
  }
55
55
  },
56
56
  "dependencies": {
57
- "@aws-solutions-constructs/aws-cloudfront-apigateway": "2.79.1",
58
- "@aws-solutions-constructs/core": "2.79.1",
57
+ "@aws-solutions-constructs/aws-cloudfront-apigateway": "2.80.0",
58
+ "@aws-solutions-constructs/core": "2.80.0",
59
59
  "constructs": "^10.0.0"
60
60
  },
61
61
  "devDependencies": {
62
- "@aws-cdk/integ-tests-alpha": "2.177.0-alpha.0",
62
+ "@aws-cdk/integ-tests-alpha": "2.179.0-alpha.0",
63
63
  "@types/jest": "^27.4.0",
64
64
  "@types/node": "^10.3.0",
65
65
  "constructs": "^10.0.0",
66
- "aws-cdk-lib": "2.177.0"
66
+ "aws-cdk-lib": "2.179.0"
67
67
  },
68
68
  "jest": {
69
69
  "moduleFileExtensions": [
@@ -80,10 +80,10 @@
80
80
  ]
81
81
  },
82
82
  "peerDependencies": {
83
- "@aws-solutions-constructs/core": "2.79.1",
84
- "@aws-solutions-constructs/aws-cloudfront-apigateway": "2.79.1",
83
+ "@aws-solutions-constructs/core": "2.80.0",
84
+ "@aws-solutions-constructs/aws-cloudfront-apigateway": "2.80.0",
85
85
  "constructs": "^10.0.0",
86
- "aws-cdk-lib": "^2.177.0"
86
+ "aws-cdk-lib": "^2.179.0"
87
87
  },
88
88
  "keywords": [
89
89
  "aws",
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
5
+ * with the License. A copy of the License is located at
6
+ *
7
+ * http://www.apache.org/licenses/LICENSE-2.0
8
+ *
9
+ * or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
10
+ * OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
11
+ * and limitations under the License.
12
+ */
13
+
14
+ console.log('Loading function');
15
+
16
+ exports.handler = async (event, context) => {
17
+ console.log('Received event:', JSON.stringify(event, null, 2));
18
+     return {
19
+       statusCode: 200,
20
+       headers: { 'Content-Type': 'text/plain' },
21
+       body: `Hello from Project Vesper! You've hit ${event.path}\n`
22
+     };
23
+ };
@@ -1 +1 @@
1
- {"version":"36.0.0"}
1
+ {"version":"39.0.0"}
@@ -1,15 +1,15 @@
1
1
  {
2
- "version": "36.0.0",
2
+ "version": "39.0.0",
3
3
  "files": {
4
- "42a35bbf0dec9ef0ac5b0dde87e71a1b8929e8d2d178dd09ccfb2c928ec0198c": {
4
+ "3a18fd3de4803f72260a058823accffd4f8d69986c6862a23cd86265f6cafa0f": {
5
5
  "source": {
6
- "path": "asset.42a35bbf0dec9ef0ac5b0dde87e71a1b8929e8d2d178dd09ccfb2c928ec0198c",
6
+ "path": "asset.3a18fd3de4803f72260a058823accffd4f8d69986c6862a23cd86265f6cafa0f",
7
7
  "packaging": "zip"
8
8
  },
9
9
  "destinations": {
10
10
  "current_account-current_region": {
11
11
  "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
12
- "objectKey": "42a35bbf0dec9ef0ac5b0dde87e71a1b8929e8d2d178dd09ccfb2c928ec0198c.zip",
12
+ "objectKey": "3a18fd3de4803f72260a058823accffd4f8d69986c6862a23cd86265f6cafa0f.zip",
13
13
  "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
14
14
  }
15
15
  }
@@ -27,7 +27,7 @@
27
27
  }
28
28
  }
29
29
  },
30
- "c4e4d280534d4394e3632ca62dacd67ea0c8aefb1615e7a4d75c15bf744550da": {
30
+ "65a57df9513697c55c3fe661e072b6dafe4b1a97fa0cbd155957cfdd4d7e1747": {
31
31
  "source": {
32
32
  "path": "cftaplam-customCloudfrontLoggingBucket.template.json",
33
33
  "packaging": "file"
@@ -35,7 +35,7 @@
35
35
  "destinations": {
36
36
  "current_account-current_region": {
37
37
  "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
38
- "objectKey": "c4e4d280534d4394e3632ca62dacd67ea0c8aefb1615e7a4d75c15bf744550da.json",
38
+ "objectKey": "65a57df9513697c55c3fe661e072b6dafe4b1a97fa0cbd155957cfdd4d7e1747.json",
39
39
  "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
40
40
  }
41
41
  }
@@ -39,7 +39,7 @@
39
39
  "S3Bucket": {
40
40
  "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
41
41
  },
42
- "S3Key": "42a35bbf0dec9ef0ac5b0dde87e71a1b8929e8d2d178dd09ccfb2c928ec0198c.zip"
42
+ "S3Key": "3a18fd3de4803f72260a058823accffd4f8d69986c6862a23cd86265f6cafa0f.zip"
43
43
  },
44
44
  "Handler": ".handler",
45
45
  "Role": {
@@ -276,7 +276,7 @@
276
276
  "S3Bucket": {
277
277
  "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
278
278
  },
279
- "S3Key": "42a35bbf0dec9ef0ac5b0dde87e71a1b8929e8d2d178dd09ccfb2c928ec0198c.zip"
279
+ "S3Key": "3a18fd3de4803f72260a058823accffd4f8d69986c6862a23cd86265f6cafa0f.zip"
280
280
  },
281
281
  "Environment": {
282
282
  "Variables": {
@@ -1317,10 +1317,10 @@
1317
1317
  "value": "nodejs20.x"
1318
1318
  },
1319
1319
  "cn-north-1": {
1320
- "value": "nodejs18.x"
1320
+ "value": "nodejs20.x"
1321
1321
  },
1322
1322
  "cn-northwest-1": {
1323
- "value": "nodejs18.x"
1323
+ "value": "nodejs20.x"
1324
1324
  },
1325
1325
  "eu-central-1": {
1326
1326
  "value": "nodejs20.x"
@@ -1371,10 +1371,10 @@
1371
1371
  "value": "nodejs20.x"
1372
1372
  },
1373
1373
  "us-gov-east-1": {
1374
- "value": "nodejs18.x"
1374
+ "value": "nodejs20.x"
1375
1375
  },
1376
1376
  "us-gov-west-1": {
1377
- "value": "nodejs18.x"
1377
+ "value": "nodejs20.x"
1378
1378
  },
1379
1379
  "us-iso-east-1": {
1380
1380
  "value": "nodejs18.x"
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "36.0.0",
2
+ "version": "39.0.0",
3
3
  "files": {
4
4
  "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": {
5
5
  "source": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "36.0.0",
2
+ "version": "39.0.0",
3
3
  "testCases": {
4
4
  "cftaplam-customCloudfrontLoggingBucket/Integ/DefaultTest": {
5
5
  "stacks": [