@aws-solutions-constructs/aws-cloudfront-s3 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.
- package/.jsii +106 -17
- package/lib/index.d.ts +1 -1
- package/lib/index.js +4 -3
- package/package.json +5 -5
- package/test/{integ.custom-security-headers.expected.json → integ.cfts3-custom-headers.expected.json} +15 -116
- package/test/integ.cfts3-custom-headers.js +60 -0
- package/test/{integ.custom-originPath.expected.json → integ.cfts3-custom-originPath.expected.json} +11 -112
- package/test/integ.cfts3-custom-originPath.js +37 -0
- package/test/{integ.customCloudFrontLoggingBucket.expected.json → integ.cfts3-customCloudFrontLoggingBucket.expected.json} +11 -112
- package/test/integ.cfts3-customCloudFrontLoggingBucket.js +39 -0
- package/test/{integ.customLoggingBucket.expected.json → integ.cfts3-customLoggingBucket.expected.json} +12 -112
- package/test/integ.cfts3-customLoggingBucket.js +42 -0
- package/test/{integ.existing-bucket.expected.json → integ.cfts3-existing-bucket.expected.json} +14 -115
- package/test/integ.cfts3-existing-bucket.js +53 -0
- package/test/{integ.no-arguments.expected.json → integ.cfts3-no-arguments.expected.json} +11 -112
- package/test/integ.cfts3-no-arguments.js +43 -0
- package/test/{integ.no-security-headers.expected.json → integ.cfts3-no-security-headers.expected.json} +8 -109
- package/test/integ.cfts3-no-security-headers.js +39 -0
- package/test/test.cloudfront-s3.test.js +24 -24
- package/test/integ.custom-originPath.js +0 -37
- package/test/integ.custom-security-headers.js +0 -60
- package/test/integ.customCloudFrontLoggingBucket.js +0 -39
- package/test/integ.customLoggingBucket.js +0 -42
- package/test/integ.existing-bucket.js +0 -53
- package/test/integ.no-arguments.js +0 -43
- package/test/integ.no-security-headers.js +0 -39
- /package/test/{integ.custom-originPath.d.ts → integ.cfts3-custom-headers.d.ts} +0 -0
- /package/test/{integ.custom-security-headers.d.ts → integ.cfts3-custom-originPath.d.ts} +0 -0
- /package/test/{integ.customCloudFrontLoggingBucket.d.ts → integ.cfts3-customCloudFrontLoggingBucket.d.ts} +0 -0
- /package/test/{integ.customLoggingBucket.d.ts → integ.cfts3-customLoggingBucket.d.ts} +0 -0
- /package/test/{integ.existing-bucket.d.ts → integ.cfts3-existing-bucket.d.ts} +0 -0
- /package/test/{integ.no-arguments.d.ts → integ.cfts3-no-arguments.d.ts} +0 -0
- /package/test/{integ.no-security-headers.d.ts → integ.cfts3-no-security-headers.d.ts} +0 -0
|
@@ -0,0 +1,42 @@
|
|
|
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 aws_s3_1 = require("aws-cdk-lib/aws-s3");
|
|
18
|
+
const lib_1 = require("../lib");
|
|
19
|
+
const core_1 = require("@aws-solutions-constructs/core");
|
|
20
|
+
const app = new aws_cdk_lib_1.App();
|
|
21
|
+
// Empty arguments
|
|
22
|
+
const stack = new aws_cdk_lib_1.Stack(app, core_1.generateIntegStackName(__filename));
|
|
23
|
+
new lib_1.CloudFrontToS3(stack, 'test-cloudfront-s3', {
|
|
24
|
+
bucketProps: {
|
|
25
|
+
removalPolicy: aws_cdk_lib_1.RemovalPolicy.DESTROY,
|
|
26
|
+
autoDeleteObjects: true
|
|
27
|
+
},
|
|
28
|
+
loggingBucketProps: {
|
|
29
|
+
removalPolicy: aws_cdk_lib_1.RemovalPolicy.DESTROY,
|
|
30
|
+
autoDeleteObjects: true,
|
|
31
|
+
bucketName: 'custom-logging-bucket',
|
|
32
|
+
encryption: aws_s3_1.BucketEncryption.S3_MANAGED,
|
|
33
|
+
versioned: true
|
|
34
|
+
},
|
|
35
|
+
cloudFrontLoggingBucketProps: {
|
|
36
|
+
removalPolicy: aws_cdk_lib_1.RemovalPolicy.DESTROY,
|
|
37
|
+
autoDeleteObjects: true,
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
core_1.suppressAutoDeleteHandlerWarnings(stack);
|
|
41
|
+
app.synth();
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWcuY2Z0czMtY3VzdG9tTG9nZ2luZ0J1Y2tldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImludGVnLmNmdHMzLWN1c3RvbUxvZ2dpbmdCdWNrZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7OztHQVdHOztBQUVILGdCQUFnQjtBQUNoQiw2Q0FBd0Q7QUFDeEQsK0NBQXNEO0FBQ3RELGdDQUF3QztBQUN4Qyx5REFBMkc7QUFFM0csTUFBTSxHQUFHLEdBQUcsSUFBSSxpQkFBRyxFQUFFLENBQUM7QUFFdEIsa0JBQWtCO0FBQ2xCLE1BQU0sS0FBSyxHQUFHLElBQUksbUJBQUssQ0FBQyxHQUFHLEVBQUUsNkJBQXNCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztBQUVqRSxJQUFJLG9CQUFjLENBQUMsS0FBSyxFQUFFLG9CQUFvQixFQUFFO0lBQzlDLFdBQVcsRUFBRTtRQUNYLGFBQWEsRUFBRSwyQkFBYSxDQUFDLE9BQU87UUFDcEMsaUJBQWlCLEVBQUUsSUFBSTtLQUN4QjtJQUNELGtCQUFrQixFQUFFO1FBQ2xCLGFBQWEsRUFBRSwyQkFBYSxDQUFDLE9BQU87UUFDcEMsaUJBQWlCLEVBQUUsSUFBSTtRQUN2QixVQUFVLEVBQUUsdUJBQXVCO1FBQ25DLFVBQVUsRUFBRSx5QkFBZ0IsQ0FBQyxVQUFVO1FBQ3ZDLFNBQVMsRUFBRSxJQUFJO0tBQ2hCO0lBQ0QsNEJBQTRCLEVBQUU7UUFDNUIsYUFBYSxFQUFFLDJCQUFhLENBQUMsT0FBTztRQUNwQyxpQkFBaUIsRUFBRSxJQUFJO0tBQ3hCO0NBQ0YsQ0FBQyxDQUFDO0FBQ0gsd0NBQWlDLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDekMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2VcbiAqICB3aXRoIHRoZSBMaWNlbnNlLiBBIGNvcHkgb2YgdGhlIExpY2Vuc2UgaXMgbG9jYXRlZCBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIG9yIGluIHRoZSAnbGljZW5zZScgZmlsZSBhY2NvbXBhbnlpbmcgdGhpcyBmaWxlLiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTXG4gKiAgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcbiAqICBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLy8vICFjZGstaW50ZWcgKlxuaW1wb3J0IHsgQXBwLCBTdGFjaywgUmVtb3ZhbFBvbGljeSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgQnVja2V0RW5jcnlwdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtczNcIjtcbmltcG9ydCB7IENsb3VkRnJvbnRUb1MzIH0gZnJvbSBcIi4uL2xpYlwiO1xuaW1wb3J0IHsgZ2VuZXJhdGVJbnRlZ1N0YWNrTmFtZSwgc3VwcHJlc3NBdXRvRGVsZXRlSGFuZGxlcldhcm5pbmdzIH0gZnJvbSAnQGF3cy1zb2x1dGlvbnMtY29uc3RydWN0cy9jb3JlJztcblxuY29uc3QgYXBwID0gbmV3IEFwcCgpO1xuXG4vLyBFbXB0eSBhcmd1bWVudHNcbmNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKGFwcCwgZ2VuZXJhdGVJbnRlZ1N0YWNrTmFtZShfX2ZpbGVuYW1lKSk7XG5cbm5ldyBDbG91ZEZyb250VG9TMyhzdGFjaywgJ3Rlc3QtY2xvdWRmcm9udC1zMycsIHtcbiAgYnVja2V0UHJvcHM6IHtcbiAgICByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5LkRFU1RST1ksXG4gICAgYXV0b0RlbGV0ZU9iamVjdHM6IHRydWVcbiAgfSxcbiAgbG9nZ2luZ0J1Y2tldFByb3BzOiB7XG4gICAgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLFxuICAgIGF1dG9EZWxldGVPYmplY3RzOiB0cnVlLFxuICAgIGJ1Y2tldE5hbWU6ICdjdXN0b20tbG9nZ2luZy1idWNrZXQnLFxuICAgIGVuY3J5cHRpb246IEJ1Y2tldEVuY3J5cHRpb24uUzNfTUFOQUdFRCxcbiAgICB2ZXJzaW9uZWQ6IHRydWVcbiAgfSxcbiAgY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRQcm9wczoge1xuICAgIHJlbW92YWxQb2xpY3k6IFJlbW92YWxQb2xpY3kuREVTVFJPWSxcbiAgICBhdXRvRGVsZXRlT2JqZWN0czogdHJ1ZSxcbiAgfVxufSk7XG5zdXBwcmVzc0F1dG9EZWxldGVIYW5kbGVyV2FybmluZ3Moc3RhY2spO1xuYXBwLnN5bnRoKCk7Il19
|
package/test/{integ.existing-bucket.expected.json → integ.cfts3-existing-bucket.expected.json}
RENAMED
|
@@ -53,6 +53,7 @@
|
|
|
53
53
|
"Statement": [
|
|
54
54
|
{
|
|
55
55
|
"Action": [
|
|
56
|
+
"s3:PutBucketPolicy",
|
|
56
57
|
"s3:GetBucket*",
|
|
57
58
|
"s3:List*",
|
|
58
59
|
"s3:DeleteObject*"
|
|
@@ -204,18 +205,18 @@
|
|
|
204
205
|
"S3Bucket": {
|
|
205
206
|
"Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
|
|
206
207
|
},
|
|
207
|
-
"S3Key": "
|
|
208
|
+
"S3Key": "b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6.zip"
|
|
208
209
|
},
|
|
209
210
|
"Timeout": 900,
|
|
210
211
|
"MemorySize": 128,
|
|
211
|
-
"Handler": "
|
|
212
|
+
"Handler": "index.handler",
|
|
212
213
|
"Role": {
|
|
213
214
|
"Fn::GetAtt": [
|
|
214
215
|
"CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
|
|
215
216
|
"Arn"
|
|
216
217
|
]
|
|
217
218
|
},
|
|
218
|
-
"Runtime": "
|
|
219
|
+
"Runtime": "nodejs18.x",
|
|
219
220
|
"Description": {
|
|
220
221
|
"Fn::Join": [
|
|
221
222
|
"",
|
|
@@ -254,13 +255,13 @@
|
|
|
254
255
|
"testcloudfronts3SetHttpSecurityHeaders6C5A1E69": {
|
|
255
256
|
"Type": "AWS::CloudFront::Function",
|
|
256
257
|
"Properties": {
|
|
258
|
+
"AutoPublish": true,
|
|
257
259
|
"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; }",
|
|
258
260
|
"FunctionConfig": {
|
|
259
|
-
"Comment": "
|
|
261
|
+
"Comment": "SetHttpSecurityHeadersc8321a2c9fa54d380831d390bfbd7aff27f99fd427",
|
|
260
262
|
"Runtime": "cloudfront-js-1.0"
|
|
261
263
|
},
|
|
262
|
-
"Name": "
|
|
263
|
-
"AutoPublish": true
|
|
264
|
+
"Name": "SetHttpSecurityHeadersc8321a2c9fa54d380831d390bfbd7aff27f99fd427"
|
|
264
265
|
}
|
|
265
266
|
},
|
|
266
267
|
"testcloudfronts3CloudfrontLoggingBucket985C0FE8": {
|
|
@@ -356,6 +357,7 @@
|
|
|
356
357
|
},
|
|
357
358
|
{
|
|
358
359
|
"Action": [
|
|
360
|
+
"s3:PutBucketPolicy",
|
|
359
361
|
"s3:GetBucket*",
|
|
360
362
|
"s3:List*",
|
|
361
363
|
"s3:DeleteObject*"
|
|
@@ -420,7 +422,7 @@
|
|
|
420
422
|
"Type": "AWS::CloudFront::CloudFrontOriginAccessIdentity",
|
|
421
423
|
"Properties": {
|
|
422
424
|
"CloudFrontOriginAccessIdentityConfig": {
|
|
423
|
-
"Comment": "Identity for
|
|
425
|
+
"Comment": "Identity for cfts3existingbuckettestcloudfronts3CloudFrontDistributionOrigin10617473F"
|
|
424
426
|
}
|
|
425
427
|
}
|
|
426
428
|
},
|
|
@@ -435,7 +437,7 @@
|
|
|
435
437
|
},
|
|
436
438
|
"Compress": true,
|
|
437
439
|
"PathPattern": "/images/*.jpg",
|
|
438
|
-
"TargetOriginId": "
|
|
440
|
+
"TargetOriginId": "cfts3existingbuckettestcloudfronts3CloudFrontDistributionOrigin28690577F",
|
|
439
441
|
"ViewerProtocolPolicy": "allow-all"
|
|
440
442
|
}
|
|
441
443
|
],
|
|
@@ -453,7 +455,7 @@
|
|
|
453
455
|
}
|
|
454
456
|
}
|
|
455
457
|
],
|
|
456
|
-
"TargetOriginId": "
|
|
458
|
+
"TargetOriginId": "cfts3existingbuckettestcloudfronts3CloudFrontDistributionOrigin10617473F",
|
|
457
459
|
"ViewerProtocolPolicy": "redirect-to-https"
|
|
458
460
|
},
|
|
459
461
|
"DefaultRootObject": "index.html",
|
|
@@ -476,7 +478,7 @@
|
|
|
476
478
|
"RegionalDomainName"
|
|
477
479
|
]
|
|
478
480
|
},
|
|
479
|
-
"Id": "
|
|
481
|
+
"Id": "cfts3existingbuckettestcloudfronts3CloudFrontDistributionOrigin10617473F",
|
|
480
482
|
"S3OriginConfig": {
|
|
481
483
|
"OriginAccessIdentity": {
|
|
482
484
|
"Fn::Join": [
|
|
@@ -498,7 +500,7 @@
|
|
|
498
500
|
"RegionalDomainName"
|
|
499
501
|
]
|
|
500
502
|
},
|
|
501
|
-
"Id": "
|
|
503
|
+
"Id": "cfts3existingbuckettestcloudfronts3CloudFrontDistributionOrigin28690577F",
|
|
502
504
|
"S3OriginConfig": {
|
|
503
505
|
"OriginAccessIdentity": {
|
|
504
506
|
"Fn::Join": [
|
|
@@ -531,7 +533,7 @@
|
|
|
531
533
|
"Type": "AWS::CloudFront::CloudFrontOriginAccessIdentity",
|
|
532
534
|
"Properties": {
|
|
533
535
|
"CloudFrontOriginAccessIdentityConfig": {
|
|
534
|
-
"Comment": "Identity for
|
|
536
|
+
"Comment": "Identity for cfts3existingbuckettestcloudfronts3CloudFrontDistributionOrigin28690577F"
|
|
535
537
|
}
|
|
536
538
|
}
|
|
537
539
|
},
|
|
@@ -560,109 +562,6 @@
|
|
|
560
562
|
}
|
|
561
563
|
}
|
|
562
564
|
},
|
|
563
|
-
"Mappings": {
|
|
564
|
-
"DefaultCrNodeVersionMap": {
|
|
565
|
-
"af-south-1": {
|
|
566
|
-
"value": "nodejs16.x"
|
|
567
|
-
},
|
|
568
|
-
"ap-east-1": {
|
|
569
|
-
"value": "nodejs16.x"
|
|
570
|
-
},
|
|
571
|
-
"ap-northeast-1": {
|
|
572
|
-
"value": "nodejs16.x"
|
|
573
|
-
},
|
|
574
|
-
"ap-northeast-2": {
|
|
575
|
-
"value": "nodejs16.x"
|
|
576
|
-
},
|
|
577
|
-
"ap-northeast-3": {
|
|
578
|
-
"value": "nodejs16.x"
|
|
579
|
-
},
|
|
580
|
-
"ap-south-1": {
|
|
581
|
-
"value": "nodejs16.x"
|
|
582
|
-
},
|
|
583
|
-
"ap-south-2": {
|
|
584
|
-
"value": "nodejs16.x"
|
|
585
|
-
},
|
|
586
|
-
"ap-southeast-1": {
|
|
587
|
-
"value": "nodejs16.x"
|
|
588
|
-
},
|
|
589
|
-
"ap-southeast-2": {
|
|
590
|
-
"value": "nodejs16.x"
|
|
591
|
-
},
|
|
592
|
-
"ap-southeast-3": {
|
|
593
|
-
"value": "nodejs16.x"
|
|
594
|
-
},
|
|
595
|
-
"ca-central-1": {
|
|
596
|
-
"value": "nodejs16.x"
|
|
597
|
-
},
|
|
598
|
-
"cn-north-1": {
|
|
599
|
-
"value": "nodejs16.x"
|
|
600
|
-
},
|
|
601
|
-
"cn-northwest-1": {
|
|
602
|
-
"value": "nodejs16.x"
|
|
603
|
-
},
|
|
604
|
-
"eu-central-1": {
|
|
605
|
-
"value": "nodejs16.x"
|
|
606
|
-
},
|
|
607
|
-
"eu-central-2": {
|
|
608
|
-
"value": "nodejs16.x"
|
|
609
|
-
},
|
|
610
|
-
"eu-north-1": {
|
|
611
|
-
"value": "nodejs16.x"
|
|
612
|
-
},
|
|
613
|
-
"eu-south-1": {
|
|
614
|
-
"value": "nodejs16.x"
|
|
615
|
-
},
|
|
616
|
-
"eu-south-2": {
|
|
617
|
-
"value": "nodejs16.x"
|
|
618
|
-
},
|
|
619
|
-
"eu-west-1": {
|
|
620
|
-
"value": "nodejs16.x"
|
|
621
|
-
},
|
|
622
|
-
"eu-west-2": {
|
|
623
|
-
"value": "nodejs16.x"
|
|
624
|
-
},
|
|
625
|
-
"eu-west-3": {
|
|
626
|
-
"value": "nodejs16.x"
|
|
627
|
-
},
|
|
628
|
-
"me-central-1": {
|
|
629
|
-
"value": "nodejs16.x"
|
|
630
|
-
},
|
|
631
|
-
"me-south-1": {
|
|
632
|
-
"value": "nodejs16.x"
|
|
633
|
-
},
|
|
634
|
-
"sa-east-1": {
|
|
635
|
-
"value": "nodejs16.x"
|
|
636
|
-
},
|
|
637
|
-
"us-east-1": {
|
|
638
|
-
"value": "nodejs16.x"
|
|
639
|
-
},
|
|
640
|
-
"us-east-2": {
|
|
641
|
-
"value": "nodejs16.x"
|
|
642
|
-
},
|
|
643
|
-
"us-gov-east-1": {
|
|
644
|
-
"value": "nodejs16.x"
|
|
645
|
-
},
|
|
646
|
-
"us-gov-west-1": {
|
|
647
|
-
"value": "nodejs16.x"
|
|
648
|
-
},
|
|
649
|
-
"us-iso-east-1": {
|
|
650
|
-
"value": "nodejs14.x"
|
|
651
|
-
},
|
|
652
|
-
"us-iso-west-1": {
|
|
653
|
-
"value": "nodejs14.x"
|
|
654
|
-
},
|
|
655
|
-
"us-isob-east-1": {
|
|
656
|
-
"value": "nodejs14.x"
|
|
657
|
-
},
|
|
658
|
-
"us-west-1": {
|
|
659
|
-
"value": "nodejs16.x"
|
|
660
|
-
},
|
|
661
|
-
"us-west-2": {
|
|
662
|
-
"value": "nodejs16.x"
|
|
663
|
-
}
|
|
664
|
-
}
|
|
665
|
-
},
|
|
666
565
|
"Parameters": {
|
|
667
566
|
"BootstrapVersion": {
|
|
668
567
|
"Type": "AWS::SSM::Parameter::Value<String>",
|
|
@@ -0,0 +1,53 @@
|
|
|
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
|
+
// Imports
|
|
16
|
+
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
17
|
+
const defaults = require("@aws-solutions-constructs/core");
|
|
18
|
+
const lib_1 = require("../lib");
|
|
19
|
+
const origins = require("aws-cdk-lib/aws-cloudfront-origins");
|
|
20
|
+
const cloudfront = require("aws-cdk-lib/aws-cloudfront");
|
|
21
|
+
const aws_cdk_lib_2 = require("aws-cdk-lib");
|
|
22
|
+
const core_1 = require("@aws-solutions-constructs/core");
|
|
23
|
+
// Setup
|
|
24
|
+
const app = new aws_cdk_lib_1.App();
|
|
25
|
+
const stack = new aws_cdk_lib_1.Stack(app, core_1.generateIntegStackName(__filename));
|
|
26
|
+
stack.node.setContext("@aws-cdk/aws-s3:serverAccessLogsUseBucketPolicy", true);
|
|
27
|
+
let mybucket;
|
|
28
|
+
mybucket = defaults.CreateScrapBucket(stack, {
|
|
29
|
+
removalPolicy: aws_cdk_lib_1.RemovalPolicy.DESTROY,
|
|
30
|
+
autoDeleteObjects: true
|
|
31
|
+
});
|
|
32
|
+
const _construct = new lib_1.CloudFrontToS3(stack, 'test-cloudfront-s3', {
|
|
33
|
+
existingBucketObj: mybucket,
|
|
34
|
+
cloudFrontLoggingBucketProps: {
|
|
35
|
+
removalPolicy: aws_cdk_lib_1.RemovalPolicy.DESTROY,
|
|
36
|
+
autoDeleteObjects: true
|
|
37
|
+
},
|
|
38
|
+
});
|
|
39
|
+
// Add Cache Policy
|
|
40
|
+
const myCachePolicy = new cloudfront.CachePolicy(stack, 'myCachePolicy', {
|
|
41
|
+
cachePolicyName: 'MyPolicy',
|
|
42
|
+
defaultTtl: aws_cdk_lib_2.Duration.minutes(0),
|
|
43
|
+
minTtl: aws_cdk_lib_2.Duration.minutes(0),
|
|
44
|
+
maxTtl: aws_cdk_lib_2.Duration.minutes(0),
|
|
45
|
+
});
|
|
46
|
+
// Add behavior
|
|
47
|
+
_construct.cloudFrontWebDistribution.addBehavior('/images/*.jpg', new origins.S3Origin(mybucket), {
|
|
48
|
+
cachePolicy: myCachePolicy
|
|
49
|
+
});
|
|
50
|
+
defaults.suppressAutoDeleteHandlerWarnings(stack);
|
|
51
|
+
// Synth
|
|
52
|
+
app.synth();
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWcuY2Z0czMtZXhpc3RpbmctYnVja2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiaW50ZWcuY2Z0czMtZXhpc3RpbmctYnVja2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7R0FXRzs7QUFFSCxVQUFVO0FBQ1YsNkNBQXdEO0FBRXhELDJEQUEyRDtBQUMzRCxnQ0FBd0M7QUFDeEMsOERBQThEO0FBQzlELHlEQUF5RDtBQUN6RCw2Q0FBdUM7QUFDdkMseURBQXdFO0FBRXhFLFFBQVE7QUFDUixNQUFNLEdBQUcsR0FBRyxJQUFJLGlCQUFHLEVBQUUsQ0FBQztBQUN0QixNQUFNLEtBQUssR0FBRyxJQUFJLG1CQUFLLENBQUMsR0FBRyxFQUFFLDZCQUFzQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFDakUsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsaURBQWlELEVBQUUsSUFBSSxDQUFDLENBQUM7QUFFL0UsSUFBSSxRQUFtQixDQUFDO0FBQ3hCLFFBQVEsR0FBRyxRQUFRLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFJO0lBQzdDLGFBQWEsRUFBRSwyQkFBYSxDQUFDLE9BQU87SUFDcEMsaUJBQWlCLEVBQUUsSUFBSTtDQUN4QixDQUFDLENBQUM7QUFFSCxNQUFNLFVBQVUsR0FBRyxJQUFJLG9CQUFjLENBQUMsS0FBSyxFQUFFLG9CQUFvQixFQUFFO0lBQ2pFLGlCQUFpQixFQUFFLFFBQVE7SUFDM0IsNEJBQTRCLEVBQUU7UUFDNUIsYUFBYSxFQUFFLDJCQUFhLENBQUMsT0FBTztRQUNwQyxpQkFBaUIsRUFBRSxJQUFJO0tBQ3hCO0NBQ0YsQ0FBQyxDQUFDO0FBRUgsbUJBQW1CO0FBQ25CLE1BQU0sYUFBYSxHQUFHLElBQUksVUFBVSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsZUFBZSxFQUFFO0lBQ3ZFLGVBQWUsRUFBRSxVQUFVO0lBQzNCLFVBQVUsRUFBRSxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDL0IsTUFBTSxFQUFFLHNCQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMzQixNQUFNLEVBQUUsc0JBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0NBQzVCLENBQUMsQ0FBQztBQUVILGVBQWU7QUFDZixVQUFVLENBQUMseUJBQXlCLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUU7SUFDaEcsV0FBVyxFQUFFLGFBQWE7Q0FDM0IsQ0FBQyxDQUFDO0FBRUgsUUFBUSxDQUFDLGlDQUFpQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2xELFFBQVE7QUFDUixHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vLyBJbXBvcnRzXG5pbXBvcnQgeyBBcHAsIFN0YWNrLCBSZW1vdmFsUG9saWN5IH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgKiBhcyBzMyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXMzXCI7XG5pbXBvcnQgKiBhcyBkZWZhdWx0cyBmcm9tIFwiQGF3cy1zb2x1dGlvbnMtY29uc3RydWN0cy9jb3JlXCI7XG5pbXBvcnQgeyBDbG91ZEZyb250VG9TMyB9IGZyb20gXCIuLi9saWJcIjtcbmltcG9ydCAqIGFzIG9yaWdpbnMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3VkZnJvbnQtb3JpZ2lucyc7XG5pbXBvcnQgKiBhcyBjbG91ZGZyb250IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jbG91ZGZyb250JztcbmltcG9ydCB7IER1cmF0aW9uIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBnZW5lcmF0ZUludGVnU3RhY2tOYW1lIH0gZnJvbSAnQGF3cy1zb2x1dGlvbnMtY29uc3RydWN0cy9jb3JlJztcblxuLy8gU2V0dXBcbmNvbnN0IGFwcCA9IG5ldyBBcHAoKTtcbmNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKGFwcCwgZ2VuZXJhdGVJbnRlZ1N0YWNrTmFtZShfX2ZpbGVuYW1lKSk7XG5zdGFjay5ub2RlLnNldENvbnRleHQoXCJAYXdzLWNkay9hd3MtczM6c2VydmVyQWNjZXNzTG9nc1VzZUJ1Y2tldFBvbGljeVwiLCB0cnVlKTtcblxubGV0IG15YnVja2V0OiBzMy5CdWNrZXQ7XG5teWJ1Y2tldCA9IGRlZmF1bHRzLkNyZWF0ZVNjcmFwQnVja2V0KHN0YWNrLCAgIHtcbiAgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLFxuICBhdXRvRGVsZXRlT2JqZWN0czogdHJ1ZVxufSk7XG5cbmNvbnN0IF9jb25zdHJ1Y3QgPSBuZXcgQ2xvdWRGcm9udFRvUzMoc3RhY2ssICd0ZXN0LWNsb3VkZnJvbnQtczMnLCB7XG4gIGV4aXN0aW5nQnVja2V0T2JqOiBteWJ1Y2tldCxcbiAgY2xvdWRGcm9udExvZ2dpbmdCdWNrZXRQcm9wczoge1xuICAgIHJlbW92YWxQb2xpY3k6IFJlbW92YWxQb2xpY3kuREVTVFJPWSxcbiAgICBhdXRvRGVsZXRlT2JqZWN0czogdHJ1ZVxuICB9LFxufSk7XG5cbi8vIEFkZCBDYWNoZSBQb2xpY3lcbmNvbnN0IG15Q2FjaGVQb2xpY3kgPSBuZXcgY2xvdWRmcm9udC5DYWNoZVBvbGljeShzdGFjaywgJ215Q2FjaGVQb2xpY3knLCB7XG4gIGNhY2hlUG9saWN5TmFtZTogJ015UG9saWN5JyxcbiAgZGVmYXVsdFR0bDogRHVyYXRpb24ubWludXRlcygwKSxcbiAgbWluVHRsOiBEdXJhdGlvbi5taW51dGVzKDApLFxuICBtYXhUdGw6IER1cmF0aW9uLm1pbnV0ZXMoMCksXG59KTtcblxuLy8gQWRkIGJlaGF2aW9yXG5fY29uc3RydWN0LmNsb3VkRnJvbnRXZWJEaXN0cmlidXRpb24uYWRkQmVoYXZpb3IoJy9pbWFnZXMvKi5qcGcnLCBuZXcgb3JpZ2lucy5TM09yaWdpbihteWJ1Y2tldCksIHtcbiAgY2FjaGVQb2xpY3k6IG15Q2FjaGVQb2xpY3lcbn0pO1xuXG5kZWZhdWx0cy5zdXBwcmVzc0F1dG9EZWxldGVIYW5kbGVyV2FybmluZ3Moc3RhY2spO1xuLy8gU3ludGhcbmFwcC5zeW50aCgpO1xuIl19
|
|
@@ -99,6 +99,7 @@
|
|
|
99
99
|
},
|
|
100
100
|
{
|
|
101
101
|
"Action": [
|
|
102
|
+
"s3:PutBucketPolicy",
|
|
102
103
|
"s3:GetBucket*",
|
|
103
104
|
"s3:List*",
|
|
104
105
|
"s3:DeleteObject*"
|
|
@@ -198,13 +199,13 @@
|
|
|
198
199
|
"testcloudfronts3SetHttpSecurityHeaders6C5A1E69": {
|
|
199
200
|
"Type": "AWS::CloudFront::Function",
|
|
200
201
|
"Properties": {
|
|
202
|
+
"AutoPublish": true,
|
|
201
203
|
"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; }",
|
|
202
204
|
"FunctionConfig": {
|
|
203
|
-
"Comment": "
|
|
205
|
+
"Comment": "SetHttpSecurityHeadersc88b3e0fe5ebfb7f401b410752c35f74a3678d5cb1",
|
|
204
206
|
"Runtime": "cloudfront-js-1.0"
|
|
205
207
|
},
|
|
206
|
-
"Name": "
|
|
207
|
-
"AutoPublish": true
|
|
208
|
+
"Name": "SetHttpSecurityHeadersc88b3e0fe5ebfb7f401b410752c35f74a3678d5cb1"
|
|
208
209
|
}
|
|
209
210
|
},
|
|
210
211
|
"testcloudfronts3CloudfrontLoggingBucket985C0FE8": {
|
|
@@ -300,6 +301,7 @@
|
|
|
300
301
|
},
|
|
301
302
|
{
|
|
302
303
|
"Action": [
|
|
304
|
+
"s3:PutBucketPolicy",
|
|
303
305
|
"s3:GetBucket*",
|
|
304
306
|
"s3:List*",
|
|
305
307
|
"s3:DeleteObject*"
|
|
@@ -364,7 +366,7 @@
|
|
|
364
366
|
"Type": "AWS::CloudFront::CloudFrontOriginAccessIdentity",
|
|
365
367
|
"Properties": {
|
|
366
368
|
"CloudFrontOriginAccessIdentityConfig": {
|
|
367
|
-
"Comment": "Identity for
|
|
369
|
+
"Comment": "Identity for cfts3noargumentstestcloudfronts3CloudFrontDistributionOrigin1203032D1"
|
|
368
370
|
}
|
|
369
371
|
}
|
|
370
372
|
},
|
|
@@ -386,7 +388,7 @@
|
|
|
386
388
|
}
|
|
387
389
|
}
|
|
388
390
|
],
|
|
389
|
-
"TargetOriginId": "
|
|
391
|
+
"TargetOriginId": "cfts3noargumentstestcloudfronts3CloudFrontDistributionOrigin1203032D1",
|
|
390
392
|
"ViewerProtocolPolicy": "redirect-to-https"
|
|
391
393
|
},
|
|
392
394
|
"DefaultRootObject": "index.html",
|
|
@@ -409,7 +411,7 @@
|
|
|
409
411
|
"RegionalDomainName"
|
|
410
412
|
]
|
|
411
413
|
},
|
|
412
|
-
"Id": "
|
|
414
|
+
"Id": "cfts3noargumentstestcloudfronts3CloudFrontDistributionOrigin1203032D1",
|
|
413
415
|
"S3OriginConfig": {
|
|
414
416
|
"OriginAccessIdentity": {
|
|
415
417
|
"Fn::Join": [
|
|
@@ -467,18 +469,18 @@
|
|
|
467
469
|
"S3Bucket": {
|
|
468
470
|
"Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
|
|
469
471
|
},
|
|
470
|
-
"S3Key": "
|
|
472
|
+
"S3Key": "b7f33614a69548d6bafe224d751a7ef238cde19097415e553fe8b63a4c8fd8a6.zip"
|
|
471
473
|
},
|
|
472
474
|
"Timeout": 900,
|
|
473
475
|
"MemorySize": 128,
|
|
474
|
-
"Handler": "
|
|
476
|
+
"Handler": "index.handler",
|
|
475
477
|
"Role": {
|
|
476
478
|
"Fn::GetAtt": [
|
|
477
479
|
"CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
|
|
478
480
|
"Arn"
|
|
479
481
|
]
|
|
480
482
|
},
|
|
481
|
-
"Runtime": "
|
|
483
|
+
"Runtime": "nodejs18.x",
|
|
482
484
|
"Description": {
|
|
483
485
|
"Fn::Join": [
|
|
484
486
|
"",
|
|
@@ -515,109 +517,6 @@
|
|
|
515
517
|
}
|
|
516
518
|
}
|
|
517
519
|
},
|
|
518
|
-
"Mappings": {
|
|
519
|
-
"DefaultCrNodeVersionMap": {
|
|
520
|
-
"af-south-1": {
|
|
521
|
-
"value": "nodejs16.x"
|
|
522
|
-
},
|
|
523
|
-
"ap-east-1": {
|
|
524
|
-
"value": "nodejs16.x"
|
|
525
|
-
},
|
|
526
|
-
"ap-northeast-1": {
|
|
527
|
-
"value": "nodejs16.x"
|
|
528
|
-
},
|
|
529
|
-
"ap-northeast-2": {
|
|
530
|
-
"value": "nodejs16.x"
|
|
531
|
-
},
|
|
532
|
-
"ap-northeast-3": {
|
|
533
|
-
"value": "nodejs16.x"
|
|
534
|
-
},
|
|
535
|
-
"ap-south-1": {
|
|
536
|
-
"value": "nodejs16.x"
|
|
537
|
-
},
|
|
538
|
-
"ap-south-2": {
|
|
539
|
-
"value": "nodejs16.x"
|
|
540
|
-
},
|
|
541
|
-
"ap-southeast-1": {
|
|
542
|
-
"value": "nodejs16.x"
|
|
543
|
-
},
|
|
544
|
-
"ap-southeast-2": {
|
|
545
|
-
"value": "nodejs16.x"
|
|
546
|
-
},
|
|
547
|
-
"ap-southeast-3": {
|
|
548
|
-
"value": "nodejs16.x"
|
|
549
|
-
},
|
|
550
|
-
"ca-central-1": {
|
|
551
|
-
"value": "nodejs16.x"
|
|
552
|
-
},
|
|
553
|
-
"cn-north-1": {
|
|
554
|
-
"value": "nodejs16.x"
|
|
555
|
-
},
|
|
556
|
-
"cn-northwest-1": {
|
|
557
|
-
"value": "nodejs16.x"
|
|
558
|
-
},
|
|
559
|
-
"eu-central-1": {
|
|
560
|
-
"value": "nodejs16.x"
|
|
561
|
-
},
|
|
562
|
-
"eu-central-2": {
|
|
563
|
-
"value": "nodejs16.x"
|
|
564
|
-
},
|
|
565
|
-
"eu-north-1": {
|
|
566
|
-
"value": "nodejs16.x"
|
|
567
|
-
},
|
|
568
|
-
"eu-south-1": {
|
|
569
|
-
"value": "nodejs16.x"
|
|
570
|
-
},
|
|
571
|
-
"eu-south-2": {
|
|
572
|
-
"value": "nodejs16.x"
|
|
573
|
-
},
|
|
574
|
-
"eu-west-1": {
|
|
575
|
-
"value": "nodejs16.x"
|
|
576
|
-
},
|
|
577
|
-
"eu-west-2": {
|
|
578
|
-
"value": "nodejs16.x"
|
|
579
|
-
},
|
|
580
|
-
"eu-west-3": {
|
|
581
|
-
"value": "nodejs16.x"
|
|
582
|
-
},
|
|
583
|
-
"me-central-1": {
|
|
584
|
-
"value": "nodejs16.x"
|
|
585
|
-
},
|
|
586
|
-
"me-south-1": {
|
|
587
|
-
"value": "nodejs16.x"
|
|
588
|
-
},
|
|
589
|
-
"sa-east-1": {
|
|
590
|
-
"value": "nodejs16.x"
|
|
591
|
-
},
|
|
592
|
-
"us-east-1": {
|
|
593
|
-
"value": "nodejs16.x"
|
|
594
|
-
},
|
|
595
|
-
"us-east-2": {
|
|
596
|
-
"value": "nodejs16.x"
|
|
597
|
-
},
|
|
598
|
-
"us-gov-east-1": {
|
|
599
|
-
"value": "nodejs16.x"
|
|
600
|
-
},
|
|
601
|
-
"us-gov-west-1": {
|
|
602
|
-
"value": "nodejs16.x"
|
|
603
|
-
},
|
|
604
|
-
"us-iso-east-1": {
|
|
605
|
-
"value": "nodejs14.x"
|
|
606
|
-
},
|
|
607
|
-
"us-iso-west-1": {
|
|
608
|
-
"value": "nodejs14.x"
|
|
609
|
-
},
|
|
610
|
-
"us-isob-east-1": {
|
|
611
|
-
"value": "nodejs14.x"
|
|
612
|
-
},
|
|
613
|
-
"us-west-1": {
|
|
614
|
-
"value": "nodejs16.x"
|
|
615
|
-
},
|
|
616
|
-
"us-west-2": {
|
|
617
|
-
"value": "nodejs16.x"
|
|
618
|
-
}
|
|
619
|
-
}
|
|
620
|
-
},
|
|
621
520
|
"Parameters": {
|
|
622
521
|
"BootstrapVersion": {
|
|
623
522
|
"Type": "AWS::SSM::Parameter::Value<String>",
|
|
@@ -0,0 +1,43 @@
|
|
|
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
|
+
// Imports
|
|
16
|
+
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
17
|
+
const lib_1 = require("../lib");
|
|
18
|
+
const core_1 = require("@aws-solutions-constructs/core");
|
|
19
|
+
const defaults = 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-s3';
|
|
24
|
+
const construct = new lib_1.CloudFrontToS3(stack, 'test-cloudfront-s3', {
|
|
25
|
+
cloudFrontLoggingBucketProps: {
|
|
26
|
+
removalPolicy: aws_cdk_lib_1.RemovalPolicy.DESTROY,
|
|
27
|
+
autoDeleteObjects: true
|
|
28
|
+
},
|
|
29
|
+
bucketProps: {
|
|
30
|
+
removalPolicy: aws_cdk_lib_1.RemovalPolicy.DESTROY,
|
|
31
|
+
autoDeleteObjects: true
|
|
32
|
+
},
|
|
33
|
+
logS3AccessLogs: false
|
|
34
|
+
});
|
|
35
|
+
const s3Bucket = construct.s3Bucket;
|
|
36
|
+
defaults.addCfnSuppressRules(s3Bucket, [
|
|
37
|
+
{ id: 'W35',
|
|
38
|
+
reason: 'This S3 bucket is created for unit/ integration testing purposes only.' },
|
|
39
|
+
]);
|
|
40
|
+
defaults.suppressAutoDeleteHandlerWarnings(stack);
|
|
41
|
+
// Synth
|
|
42
|
+
app.synth();
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWcuY2Z0czMtbm8tYXJndW1lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiaW50ZWcuY2Z0czMtbm8tYXJndW1lbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7R0FXRzs7QUFFSCxVQUFVO0FBQ1YsNkNBQXdEO0FBQ3hELGdDQUF3QztBQUN4Qyx5REFBd0U7QUFFeEUsMkRBQTJEO0FBRTNELFFBQVE7QUFDUixNQUFNLEdBQUcsR0FBRyxJQUFJLGlCQUFHLEVBQUUsQ0FBQztBQUN0QixNQUFNLEtBQUssR0FBRyxJQUFJLG1CQUFLLENBQUMsR0FBRyxFQUFFLDZCQUFzQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFDakUsS0FBSyxDQUFDLGVBQWUsQ0FBQyxXQUFXLEdBQUcsd0NBQXdDLENBQUM7QUFFN0UsTUFBTSxTQUFTLEdBQUcsSUFBSSxvQkFBYyxDQUFDLEtBQUssRUFBRSxvQkFBb0IsRUFBRTtJQUNoRSw0QkFBNEIsRUFBRTtRQUM1QixhQUFhLEVBQUUsMkJBQWEsQ0FBQyxPQUFPO1FBQ3BDLGlCQUFpQixFQUFFLElBQUk7S0FDeEI7SUFDRCxXQUFXLEVBQUU7UUFDWCxhQUFhLEVBQUUsMkJBQWEsQ0FBQyxPQUFPO1FBQ3BDLGlCQUFpQixFQUFFLElBQUk7S0FDeEI7SUFDRCxlQUFlLEVBQUUsS0FBSztDQUN2QixDQUFDLENBQUM7QUFFSCxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsUUFBcUIsQ0FBQztBQUVqRCxRQUFRLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFO0lBQ3JDLEVBQUUsRUFBRSxFQUFFLEtBQUs7UUFDVCxNQUFNLEVBQUUsd0VBQXdFLEVBQUU7Q0FDckYsQ0FBQyxDQUFDO0FBRUgsUUFBUSxDQUFDLGlDQUFpQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2xELFFBQVE7QUFDUixHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vLyBJbXBvcnRzXG5pbXBvcnQgeyBBcHAsIFN0YWNrLCBSZW1vdmFsUG9saWN5IH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBDbG91ZEZyb250VG9TMyB9IGZyb20gXCIuLi9saWJcIjtcbmltcG9ydCB7IGdlbmVyYXRlSW50ZWdTdGFja05hbWUgfSBmcm9tICdAYXdzLXNvbHV0aW9ucy1jb25zdHJ1Y3RzL2NvcmUnO1xuaW1wb3J0ICogYXMgczMgZnJvbSBcImF3cy1jZGstbGliL2F3cy1zM1wiO1xuaW1wb3J0ICogYXMgZGVmYXVsdHMgZnJvbSAnQGF3cy1zb2x1dGlvbnMtY29uc3RydWN0cy9jb3JlJztcblxuLy8gU2V0dXBcbmNvbnN0IGFwcCA9IG5ldyBBcHAoKTtcbmNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKGFwcCwgZ2VuZXJhdGVJbnRlZ1N0YWNrTmFtZShfX2ZpbGVuYW1lKSk7XG5zdGFjay50ZW1wbGF0ZU9wdGlvbnMuZGVzY3JpcHRpb24gPSAnSW50ZWdyYXRpb24gVGVzdCBmb3IgYXdzLWNsb3VkZnJvbnQtczMnO1xuXG5jb25zdCBjb25zdHJ1Y3QgPSBuZXcgQ2xvdWRGcm9udFRvUzMoc3RhY2ssICd0ZXN0LWNsb3VkZnJvbnQtczMnLCB7XG4gIGNsb3VkRnJvbnRMb2dnaW5nQnVja2V0UHJvcHM6IHtcbiAgICByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5LkRFU1RST1ksXG4gICAgYXV0b0RlbGV0ZU9iamVjdHM6IHRydWVcbiAgfSxcbiAgYnVja2V0UHJvcHM6IHtcbiAgICByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5LkRFU1RST1ksXG4gICAgYXV0b0RlbGV0ZU9iamVjdHM6IHRydWVcbiAgfSxcbiAgbG9nUzNBY2Nlc3NMb2dzOiBmYWxzZVxufSk7XG5cbmNvbnN0IHMzQnVja2V0ID0gY29uc3RydWN0LnMzQnVja2V0IGFzIHMzLkJ1Y2tldDtcblxuZGVmYXVsdHMuYWRkQ2ZuU3VwcHJlc3NSdWxlcyhzM0J1Y2tldCwgW1xuICB7IGlkOiAnVzM1JyxcbiAgICByZWFzb246ICdUaGlzIFMzIGJ1Y2tldCBpcyBjcmVhdGVkIGZvciB1bml0LyBpbnRlZ3JhdGlvbiB0ZXN0aW5nIHB1cnBvc2VzIG9ubHkuJyB9LFxuXSk7XG5cbmRlZmF1bHRzLnN1cHByZXNzQXV0b0RlbGV0ZUhhbmRsZXJXYXJuaW5ncyhzdGFjayk7XG4vLyBTeW50aFxuYXBwLnN5bnRoKCk7XG4iXX0=
|