@aws-solutions-constructs/aws-cloudfront-apigateway-lambda 2.44.0 → 2.46.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.
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
6
+ * with the License. A copy of the License is located at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
11
+ * OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
12
+ * and limitations under the License.
13
+ */
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ /// !cdk-integ *
16
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
17
+ const lib_1 = require("../lib");
18
+ const lambda = require("aws-cdk-lib/aws-lambda");
19
+ const aws_s3_1 = require("aws-cdk-lib/aws-s3");
20
+ const core_1 = require("@aws-solutions-constructs/core");
21
+ // Setup
22
+ const app = new aws_cdk_lib_1.App();
23
+ const stack = new aws_cdk_lib_1.Stack(app, core_1.generateIntegStackName(__filename));
24
+ stack.templateOptions.description = 'Integration Test for aws-cloudfront-apigateway-lambda custom Cloudfront Logging Bucket';
25
+ new lib_1.CloudFrontToApiGatewayToLambda(stack, 'cf-apigw-lambda', {
26
+ lambdaFunctionProps: {
27
+ code: lambda.Code.fromAsset(`${__dirname}/lambda`),
28
+ runtime: lambda.Runtime.NODEJS_16_X,
29
+ handler: 'index.handler'
30
+ },
31
+ cloudFrontLoggingBucketProps: {
32
+ removalPolicy: aws_cdk_lib_1.RemovalPolicy.DESTROY,
33
+ autoDeleteObjects: true,
34
+ encryption: aws_s3_1.BucketEncryption.S3_MANAGED,
35
+ versioned: true
36
+ }
37
+ });
38
+ core_1.suppressAutoDeleteHandlerWarnings(stack);
39
+ // Synth
40
+ app.synth();
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWcuY2Z0YXBsYW0tY3VzdG9tQ2xvdWRmcm9udExvZ2dpbmdCdWNrZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbnRlZy5jZnRhcGxhbS1jdXN0b21DbG91ZGZyb250TG9nZ2luZ0J1Y2tldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7O0FBRUgsZ0JBQWdCO0FBQ2hCLDZDQUF3RDtBQUN4RCxnQ0FBd0Q7QUFDeEQsaURBQWlEO0FBQ2pELCtDQUFzRDtBQUN0RCx5REFBMkc7QUFFM0csUUFBUTtBQUNSLE1BQU0sR0FBRyxHQUFHLElBQUksaUJBQUcsRUFBRSxDQUFDO0FBQ3RCLE1BQU0sS0FBSyxHQUFHLElBQUksbUJBQUssQ0FBQyxHQUFHLEVBQUUsNkJBQXNCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztBQUNqRSxLQUFLLENBQUMsZUFBZSxDQUFDLFdBQVcsR0FBRyx3RkFBd0YsQ0FBQztBQUU3SCxJQUFJLG9DQUE4QixDQUFDLEtBQUssRUFBRSxpQkFBaUIsRUFBRTtJQUMzRCxtQkFBbUIsRUFBRTtRQUNuQixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxTQUFTLFNBQVMsQ0FBQztRQUNsRCxPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXO1FBQ25DLE9BQU8sRUFBRSxlQUFlO0tBQ3pCO0lBQ0QsNEJBQTRCLEVBQUU7UUFDNUIsYUFBYSxFQUFFLDJCQUFhLENBQUMsT0FBTztRQUNwQyxpQkFBaUIsRUFBRSxJQUFJO1FBQ3ZCLFVBQVUsRUFBRSx5QkFBZ0IsQ0FBQyxVQUFVO1FBQ3ZDLFNBQVMsRUFBRSxJQUFJO0tBQ2hCO0NBQ0YsQ0FBQyxDQUFDO0FBQ0gsd0NBQWlDLENBQUMsS0FBSyxDQUFDLENBQUM7QUFFekMsUUFBUTtBQUNSLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8vLyAhY2RrLWludGVnICpcbmltcG9ydCB7IEFwcCwgU3RhY2ssIFJlbW92YWxQb2xpY3kgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IENsb3VkRnJvbnRUb0FwaUdhdGV3YXlUb0xhbWJkYSB9IGZyb20gXCIuLi9saWJcIjtcbmltcG9ydCAqIGFzIGxhbWJkYSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCB7IEJ1Y2tldEVuY3J5cHRpb24gfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXMzXCI7XG5pbXBvcnQgeyBnZW5lcmF0ZUludGVnU3RhY2tOYW1lLCBzdXBwcmVzc0F1dG9EZWxldGVIYW5kbGVyV2FybmluZ3MgfSBmcm9tICdAYXdzLXNvbHV0aW9ucy1jb25zdHJ1Y3RzL2NvcmUnO1xuXG4vLyBTZXR1cFxuY29uc3QgYXBwID0gbmV3IEFwcCgpO1xuY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soYXBwLCBnZW5lcmF0ZUludGVnU3RhY2tOYW1lKF9fZmlsZW5hbWUpKTtcbnN0YWNrLnRlbXBsYXRlT3B0aW9ucy5kZXNjcmlwdGlvbiA9ICdJbnRlZ3JhdGlvbiBUZXN0IGZvciBhd3MtY2xvdWRmcm9udC1hcGlnYXRld2F5LWxhbWJkYSBjdXN0b20gQ2xvdWRmcm9udCBMb2dnaW5nIEJ1Y2tldCc7XG5cbm5ldyBDbG91ZEZyb250VG9BcGlHYXRld2F5VG9MYW1iZGEoc3RhY2ssICdjZi1hcGlndy1sYW1iZGEnLCB7XG4gIGxhbWJkYUZ1bmN0aW9uUHJvcHM6IHtcbiAgICBjb2RlOiBsYW1iZGEuQ29kZS5mcm9tQXNzZXQoYCR7X19kaXJuYW1lfS9sYW1iZGFgKSxcbiAgICBydW50aW1lOiBsYW1iZGEuUnVudGltZS5OT0RFSlNfMTZfWCxcbiAgICBoYW5kbGVyOiAnaW5kZXguaGFuZGxlcidcbiAgfSxcbiAgY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRQcm9wczoge1xuICAgIHJlbW92YWxQb2xpY3k6IFJlbW92YWxQb2xpY3kuREVTVFJPWSxcbiAgICBhdXRvRGVsZXRlT2JqZWN0czogdHJ1ZSxcbiAgICBlbmNyeXB0aW9uOiBCdWNrZXRFbmNyeXB0aW9uLlMzX01BTkFHRUQsXG4gICAgdmVyc2lvbmVkOiB0cnVlXG4gIH1cbn0pO1xuc3VwcHJlc3NBdXRvRGVsZXRlSGFuZGxlcldhcm5pbmdzKHN0YWNrKTtcblxuLy8gU3ludGhcbmFwcC5zeW50aCgpO1xuIl19
@@ -99,18 +99,18 @@
99
99
  },
100
100
  "S3Key": "42a35bbf0dec9ef0ac5b0dde87e71a1b8929e8d2d178dd09ccfb2c928ec0198c.zip"
101
101
  },
102
- "Role": {
103
- "Fn::GetAtt": [
104
- "testcloudfrontapigatewaylambdaLambdaFunctionServiceRoleCB74590F",
105
- "Arn"
106
- ]
107
- },
108
102
  "Environment": {
109
103
  "Variables": {
110
104
  "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1"
111
105
  }
112
106
  },
113
107
  "Handler": "index.handler",
108
+ "Role": {
109
+ "Fn::GetAtt": [
110
+ "testcloudfrontapigatewaylambdaLambdaFunctionServiceRoleCB74590F",
111
+ "Arn"
112
+ ]
113
+ },
114
114
  "Runtime": "nodejs16.x",
115
115
  "TracingConfig": {
116
116
  "Mode": "Active"
@@ -172,10 +172,10 @@
172
172
  "testcloudfrontapigatewaylambdaLambdaRestApiDeployment0C4661C03abb023c303d9e3ff2b4d984cd5d60ab": {
173
173
  "Type": "AWS::ApiGateway::Deployment",
174
174
  "Properties": {
175
+ "Description": "Automatically created by the RestApi construct",
175
176
  "RestApiId": {
176
177
  "Ref": "testcloudfrontapigatewaylambdaLambdaRestApi6A4CBD44"
177
- },
178
- "Description": "Automatically created by the RestApi construct"
178
+ }
179
179
  },
180
180
  "DependsOn": [
181
181
  "testcloudfrontapigatewaylambdaLambdaRestApiproxyANYAE500A13",
@@ -187,7 +187,7 @@
187
187
  "rules_to_suppress": [
188
188
  {
189
189
  "id": "W45",
190
- "reason": "ApiGateway has AccessLogging enabled in AWS::ApiGateway::Stage resource, but cfn_nag checkes for it in AWS::ApiGateway::Deployment resource"
190
+ "reason": "ApiGateway has AccessLogging enabled in AWS::ApiGateway::Stage resource, but cfn_nag checks for it in AWS::ApiGateway::Deployment resource"
191
191
  }
192
192
  ]
193
193
  }
@@ -196,9 +196,6 @@
196
196
  "testcloudfrontapigatewaylambdaLambdaRestApiDeploymentStageprod4617A7B7": {
197
197
  "Type": "AWS::ApiGateway::Stage",
198
198
  "Properties": {
199
- "RestApiId": {
200
- "Ref": "testcloudfrontapigatewaylambdaLambdaRestApi6A4CBD44"
201
- },
202
199
  "AccessLogSetting": {
203
200
  "DestinationArn": {
204
201
  "Fn::GetAtt": [
@@ -219,6 +216,9 @@
219
216
  "ResourcePath": "/*"
220
217
  }
221
218
  ],
219
+ "RestApiId": {
220
+ "Ref": "testcloudfrontapigatewaylambdaLambdaRestApi6A4CBD44"
221
+ },
222
222
  "StageName": "prod",
223
223
  "TracingEnabled": true
224
224
  }
@@ -238,7 +238,7 @@
238
238
  }
239
239
  }
240
240
  },
241
- "testcloudfrontapigatewaylambdaLambdaRestApiproxyANYApiPermissionnoargumentstestcloudfrontapigatewaylambdaLambdaRestApi48EFA4E6ANYproxy9F8A87CE": {
241
+ "testcloudfrontapigatewaylambdaLambdaRestApiproxyANYApiPermissioncftaplamnoargumentstestcloudfrontapigatewaylambdaLambdaRestApiF14A7709ANYproxyB4BC87CC": {
242
242
  "Type": "AWS::Lambda::Permission",
243
243
  "Properties": {
244
244
  "Action": "lambda:InvokeFunction",
@@ -279,7 +279,7 @@
279
279
  }
280
280
  }
281
281
  },
282
- "testcloudfrontapigatewaylambdaLambdaRestApiproxyANYApiPermissionTestnoargumentstestcloudfrontapigatewaylambdaLambdaRestApi48EFA4E6ANYproxy9EBF2E85": {
282
+ "testcloudfrontapigatewaylambdaLambdaRestApiproxyANYApiPermissionTestcftaplamnoargumentstestcloudfrontapigatewaylambdaLambdaRestApiF14A7709ANYproxy647FCDDD": {
283
283
  "Type": "AWS::Lambda::Permission",
284
284
  "Properties": {
285
285
  "Action": "lambda:InvokeFunction",
@@ -319,14 +319,8 @@
319
319
  "testcloudfrontapigatewaylambdaLambdaRestApiproxyANYAE500A13": {
320
320
  "Type": "AWS::ApiGateway::Method",
321
321
  "Properties": {
322
- "HttpMethod": "ANY",
323
- "ResourceId": {
324
- "Ref": "testcloudfrontapigatewaylambdaLambdaRestApiproxyBC09D86F"
325
- },
326
- "RestApiId": {
327
- "Ref": "testcloudfrontapigatewaylambdaLambdaRestApi6A4CBD44"
328
- },
329
322
  "AuthorizationType": "NONE",
323
+ "HttpMethod": "ANY",
330
324
  "Integration": {
331
325
  "IntegrationHttpMethod": "POST",
332
326
  "Type": "AWS_PROXY",
@@ -353,6 +347,12 @@
353
347
  ]
354
348
  ]
355
349
  }
350
+ },
351
+ "ResourceId": {
352
+ "Ref": "testcloudfrontapigatewaylambdaLambdaRestApiproxyBC09D86F"
353
+ },
354
+ "RestApiId": {
355
+ "Ref": "testcloudfrontapigatewaylambdaLambdaRestApi6A4CBD44"
356
356
  }
357
357
  },
358
358
  "Metadata": {
@@ -366,7 +366,7 @@
366
366
  }
367
367
  }
368
368
  },
369
- "testcloudfrontapigatewaylambdaLambdaRestApiANYApiPermissionnoargumentstestcloudfrontapigatewaylambdaLambdaRestApi48EFA4E6ANYAF9AD91E": {
369
+ "testcloudfrontapigatewaylambdaLambdaRestApiANYApiPermissioncftaplamnoargumentstestcloudfrontapigatewaylambdaLambdaRestApiF14A7709ANY1BADAD44": {
370
370
  "Type": "AWS::Lambda::Permission",
371
371
  "Properties": {
372
372
  "Action": "lambda:InvokeFunction",
@@ -407,7 +407,7 @@
407
407
  }
408
408
  }
409
409
  },
410
- "testcloudfrontapigatewaylambdaLambdaRestApiANYApiPermissionTestnoargumentstestcloudfrontapigatewaylambdaLambdaRestApi48EFA4E6ANY7C6CF5D5": {
410
+ "testcloudfrontapigatewaylambdaLambdaRestApiANYApiPermissionTestcftaplamnoargumentstestcloudfrontapigatewaylambdaLambdaRestApiF14A7709ANYA87D989E": {
411
411
  "Type": "AWS::Lambda::Permission",
412
412
  "Properties": {
413
413
  "Action": "lambda:InvokeFunction",
@@ -447,17 +447,8 @@
447
447
  "testcloudfrontapigatewaylambdaLambdaRestApiANYBC435DFD": {
448
448
  "Type": "AWS::ApiGateway::Method",
449
449
  "Properties": {
450
- "HttpMethod": "ANY",
451
- "ResourceId": {
452
- "Fn::GetAtt": [
453
- "testcloudfrontapigatewaylambdaLambdaRestApi6A4CBD44",
454
- "RootResourceId"
455
- ]
456
- },
457
- "RestApiId": {
458
- "Ref": "testcloudfrontapigatewaylambdaLambdaRestApi6A4CBD44"
459
- },
460
450
  "AuthorizationType": "NONE",
451
+ "HttpMethod": "ANY",
461
452
  "Integration": {
462
453
  "IntegrationHttpMethod": "POST",
463
454
  "Type": "AWS_PROXY",
@@ -484,6 +475,15 @@
484
475
  ]
485
476
  ]
486
477
  }
478
+ },
479
+ "ResourceId": {
480
+ "Fn::GetAtt": [
481
+ "testcloudfrontapigatewaylambdaLambdaRestApi6A4CBD44",
482
+ "RootResourceId"
483
+ ]
484
+ },
485
+ "RestApiId": {
486
+ "Ref": "testcloudfrontapigatewaylambdaLambdaRestApi6A4CBD44"
487
487
  }
488
488
  },
489
489
  "Metadata": {
@@ -589,13 +589,13 @@
589
589
  "testcloudfrontapigatewaylambdaCloudFrontToApiGatewaySetHttpSecurityHeaders6945414A": {
590
590
  "Type": "AWS::CloudFront::Function",
591
591
  "Properties": {
592
+ "AutoPublish": true,
592
593
  "FunctionCode": "function handler(event) { var response = event.response; var headers = response.headers; headers['strict-transport-security'] = { value: 'max-age=63072000; includeSubdomains; preload'}; headers['content-security-policy'] = { value: \"default-src 'none'; img-src 'self'; script-src 'self'; style-src 'self'; object-src 'none'\"}; headers['x-content-type-options'] = { value: 'nosniff'}; headers['x-frame-options'] = {value: 'DENY'}; headers['x-xss-protection'] = {value: '1; mode=block'}; return response; }",
593
594
  "FunctionConfig": {
594
- "Comment": "SetHttpSecurityHeadersc8118ca6b46a588ddfb2f1826effa6addb3adda75e",
595
+ "Comment": "SetHttpSecurityHeadersc87d9e55c0a6a55f893f95e9a700c7ce19634229d0",
595
596
  "Runtime": "cloudfront-js-1.0"
596
597
  },
597
- "Name": "SetHttpSecurityHeadersc8118ca6b46a588ddfb2f1826effa6addb3adda75e",
598
- "AutoPublish": true
598
+ "Name": "SetHttpSecurityHeadersc87d9e55c0a6a55f893f95e9a700c7ce19634229d0"
599
599
  }
600
600
  },
601
601
  "testcloudfrontapigatewaylambdaCloudFrontToApiGatewayCloudfrontLoggingBucket7F467421": {
@@ -691,6 +691,7 @@
691
691
  },
692
692
  {
693
693
  "Action": [
694
+ "s3:PutBucketPolicy",
694
695
  "s3:GetBucket*",
695
696
  "s3:List*",
696
697
  "s3:DeleteObject*"
@@ -769,7 +770,7 @@
769
770
  }
770
771
  }
771
772
  ],
772
- "TargetOriginId": "noargumentstestcloudfrontapigatewaylambdaCloudFrontToApiGatewayCloudFrontDistributionOrigin1E0B3F41B",
773
+ "TargetOriginId": "cftaplamnoargumentstestcloudfrontapigatewaylambdaCloudFrontToApiGatewayCloudFrontDistributionOrigin14C55B0B8",
773
774
  "ViewerProtocolPolicy": "redirect-to-https"
774
775
  },
775
776
  "Enabled": true,
@@ -835,7 +836,7 @@
835
836
  }
836
837
  ]
837
838
  },
838
- "Id": "noargumentstestcloudfrontapigatewaylambdaCloudFrontToApiGatewayCloudFrontDistributionOrigin1E0B3F41B",
839
+ "Id": "cftaplamnoargumentstestcloudfrontapigatewaylambdaCloudFrontToApiGatewayCloudFrontDistributionOrigin14C55B0B8",
839
840
  "OriginPath": {
840
841
  "Fn::Join": [
841
842
  "",
@@ -891,18 +892,18 @@
891
892
  "S3Bucket": {
892
893
  "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
893
894
  },
894
- "S3Key": "350185a1069fa20a23a583e20c77f6844218bd73097902362dc94f1a108f5d89.zip"
895
+ "S3Key": "b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6.zip"
895
896
  },
896
897
  "Timeout": 900,
897
898
  "MemorySize": 128,
898
- "Handler": "__entrypoint__.handler",
899
+ "Handler": "index.handler",
899
900
  "Role": {
900
901
  "Fn::GetAtt": [
901
902
  "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
902
903
  "Arn"
903
904
  ]
904
905
  },
905
- "Runtime": "nodejs16.x",
906
+ "Runtime": "nodejs18.x",
906
907
  "Description": {
907
908
  "Fn::Join": [
908
909
  "",
@@ -967,109 +968,6 @@
967
968
  }
968
969
  }
969
970
  },
970
- "Mappings": {
971
- "DefaultCrNodeVersionMap": {
972
- "af-south-1": {
973
- "value": "nodejs16.x"
974
- },
975
- "ap-east-1": {
976
- "value": "nodejs16.x"
977
- },
978
- "ap-northeast-1": {
979
- "value": "nodejs16.x"
980
- },
981
- "ap-northeast-2": {
982
- "value": "nodejs16.x"
983
- },
984
- "ap-northeast-3": {
985
- "value": "nodejs16.x"
986
- },
987
- "ap-south-1": {
988
- "value": "nodejs16.x"
989
- },
990
- "ap-south-2": {
991
- "value": "nodejs16.x"
992
- },
993
- "ap-southeast-1": {
994
- "value": "nodejs16.x"
995
- },
996
- "ap-southeast-2": {
997
- "value": "nodejs16.x"
998
- },
999
- "ap-southeast-3": {
1000
- "value": "nodejs16.x"
1001
- },
1002
- "ca-central-1": {
1003
- "value": "nodejs16.x"
1004
- },
1005
- "cn-north-1": {
1006
- "value": "nodejs16.x"
1007
- },
1008
- "cn-northwest-1": {
1009
- "value": "nodejs16.x"
1010
- },
1011
- "eu-central-1": {
1012
- "value": "nodejs16.x"
1013
- },
1014
- "eu-central-2": {
1015
- "value": "nodejs16.x"
1016
- },
1017
- "eu-north-1": {
1018
- "value": "nodejs16.x"
1019
- },
1020
- "eu-south-1": {
1021
- "value": "nodejs16.x"
1022
- },
1023
- "eu-south-2": {
1024
- "value": "nodejs16.x"
1025
- },
1026
- "eu-west-1": {
1027
- "value": "nodejs16.x"
1028
- },
1029
- "eu-west-2": {
1030
- "value": "nodejs16.x"
1031
- },
1032
- "eu-west-3": {
1033
- "value": "nodejs16.x"
1034
- },
1035
- "me-central-1": {
1036
- "value": "nodejs16.x"
1037
- },
1038
- "me-south-1": {
1039
- "value": "nodejs16.x"
1040
- },
1041
- "sa-east-1": {
1042
- "value": "nodejs16.x"
1043
- },
1044
- "us-east-1": {
1045
- "value": "nodejs16.x"
1046
- },
1047
- "us-east-2": {
1048
- "value": "nodejs16.x"
1049
- },
1050
- "us-gov-east-1": {
1051
- "value": "nodejs16.x"
1052
- },
1053
- "us-gov-west-1": {
1054
- "value": "nodejs16.x"
1055
- },
1056
- "us-iso-east-1": {
1057
- "value": "nodejs14.x"
1058
- },
1059
- "us-iso-west-1": {
1060
- "value": "nodejs14.x"
1061
- },
1062
- "us-isob-east-1": {
1063
- "value": "nodejs14.x"
1064
- },
1065
- "us-west-1": {
1066
- "value": "nodejs16.x"
1067
- },
1068
- "us-west-2": {
1069
- "value": "nodejs16.x"
1070
- }
1071
- }
1072
- },
1073
971
  "Parameters": {
1074
972
  "BootstrapVersion": {
1075
973
  "Type": "AWS::SSM::Parameter::Value<String>",
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
6
+ * with the License. A copy of the License is located at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
11
+ * OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
12
+ * and limitations under the License.
13
+ */
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ /// !cdk-integ *
16
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
17
+ const lib_1 = require("../lib");
18
+ const lambda = require("aws-cdk-lib/aws-lambda");
19
+ const core_1 = require("@aws-solutions-constructs/core");
20
+ // Setup
21
+ const app = new aws_cdk_lib_1.App();
22
+ const stack = new aws_cdk_lib_1.Stack(app, core_1.generateIntegStackName(__filename));
23
+ stack.templateOptions.description = 'Integration Test for aws-cloudfront-apigateway-lambda';
24
+ const lambdaProps = {
25
+ code: lambda.Code.fromAsset(`${__dirname}/lambda`),
26
+ runtime: lambda.Runtime.NODEJS_16_X,
27
+ handler: 'index.handler'
28
+ };
29
+ new lib_1.CloudFrontToApiGatewayToLambda(stack, 'test-cloudfront-apigateway-lambda', {
30
+ lambdaFunctionProps: lambdaProps,
31
+ cloudFrontLoggingBucketProps: {
32
+ removalPolicy: aws_cdk_lib_1.RemovalPolicy.DESTROY,
33
+ autoDeleteObjects: true
34
+ },
35
+ });
36
+ core_1.suppressAutoDeleteHandlerWarnings(stack);
37
+ // Synth
38
+ app.synth();
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWcuY2Z0YXBsYW0tbm8tYXJndW1lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiaW50ZWcuY2Z0YXBsYW0tbm8tYXJndW1lbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7R0FXRzs7QUFFSCxnQkFBZ0I7QUFDaEIsNkNBQXdEO0FBQ3hELGdDQUF3RDtBQUN4RCxpREFBaUQ7QUFDakQseURBQTJHO0FBRTNHLFFBQVE7QUFDUixNQUFNLEdBQUcsR0FBRyxJQUFJLGlCQUFHLEVBQUUsQ0FBQztBQUN0QixNQUFNLEtBQUssR0FBRyxJQUFJLG1CQUFLLENBQUMsR0FBRyxFQUFFLDZCQUFzQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFDakUsS0FBSyxDQUFDLGVBQWUsQ0FBQyxXQUFXLEdBQUcsdURBQXVELENBQUM7QUFFNUYsTUFBTSxXQUFXLEdBQXlCO0lBQ3hDLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLFNBQVMsU0FBUyxDQUFDO0lBQ2xELE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVc7SUFDbkMsT0FBTyxFQUFFLGVBQWU7Q0FDekIsQ0FBQztBQUVGLElBQUksb0NBQThCLENBQUMsS0FBSyxFQUFFLG1DQUFtQyxFQUFFO0lBQzdFLG1CQUFtQixFQUFFLFdBQVc7SUFDaEMsNEJBQTRCLEVBQUU7UUFDNUIsYUFBYSxFQUFFLDJCQUFhLENBQUMsT0FBTztRQUNwQyxpQkFBaUIsRUFBRSxJQUFJO0tBQ3hCO0NBQ0YsQ0FBQyxDQUFDO0FBRUgsd0NBQWlDLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDekMsUUFBUTtBQUNSLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8vLyAhY2RrLWludGVnICpcbmltcG9ydCB7IEFwcCwgUmVtb3ZhbFBvbGljeSwgU3RhY2sgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IENsb3VkRnJvbnRUb0FwaUdhdGV3YXlUb0xhbWJkYSB9IGZyb20gXCIuLi9saWJcIjtcbmltcG9ydCAqIGFzIGxhbWJkYSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCB7IGdlbmVyYXRlSW50ZWdTdGFja05hbWUsIHN1cHByZXNzQXV0b0RlbGV0ZUhhbmRsZXJXYXJuaW5ncyB9IGZyb20gJ0Bhd3Mtc29sdXRpb25zLWNvbnN0cnVjdHMvY29yZSc7XG5cbi8vIFNldHVwXG5jb25zdCBhcHAgPSBuZXcgQXBwKCk7XG5jb25zdCBzdGFjayA9IG5ldyBTdGFjayhhcHAsIGdlbmVyYXRlSW50ZWdTdGFja05hbWUoX19maWxlbmFtZSkpO1xuc3RhY2sudGVtcGxhdGVPcHRpb25zLmRlc2NyaXB0aW9uID0gJ0ludGVncmF0aW9uIFRlc3QgZm9yIGF3cy1jbG91ZGZyb250LWFwaWdhdGV3YXktbGFtYmRhJztcblxuY29uc3QgbGFtYmRhUHJvcHM6IGxhbWJkYS5GdW5jdGlvblByb3BzID0ge1xuICBjb2RlOiBsYW1iZGEuQ29kZS5mcm9tQXNzZXQoYCR7X19kaXJuYW1lfS9sYW1iZGFgKSxcbiAgcnVudGltZTogbGFtYmRhLlJ1bnRpbWUuTk9ERUpTXzE2X1gsXG4gIGhhbmRsZXI6ICdpbmRleC5oYW5kbGVyJ1xufTtcblxubmV3IENsb3VkRnJvbnRUb0FwaUdhdGV3YXlUb0xhbWJkYShzdGFjaywgJ3Rlc3QtY2xvdWRmcm9udC1hcGlnYXRld2F5LWxhbWJkYScsIHtcbiAgbGFtYmRhRnVuY3Rpb25Qcm9wczogbGFtYmRhUHJvcHMsXG4gIGNsb3VkRnJvbnRMb2dnaW5nQnVja2V0UHJvcHM6IHtcbiAgICByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5LkRFU1RST1ksXG4gICAgYXV0b0RlbGV0ZU9iamVjdHM6IHRydWVcbiAgfSxcbn0pO1xuXG5zdXBwcmVzc0F1dG9EZWxldGVIYW5kbGVyV2FybmluZ3Moc3RhY2spO1xuLy8gU3ludGhcbmFwcC5zeW50aCgpO1xuIl19