@aws-solutions-constructs/aws-cloudfront-oai-s3 2.100.1 → 2.102.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 (73) hide show
  1. package/.jsii +443 -5
  2. package/lib/index.js +1 -1
  3. package/package.json +9 -9
  4. package/test/integ.cftoais3-custom-headers.js.snapshot/asset.faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6/index.js +1 -0
  5. package/test/integ.cftoais3-custom-headers.js.snapshot/cdk.out +1 -1
  6. package/test/integ.cftoais3-custom-headers.js.snapshot/cftoais3-custom-headers.assets.json +4 -4
  7. package/test/integ.cftoais3-custom-headers.js.snapshot/cftoais3-custom-headers.metadata.json +355 -0
  8. package/test/integ.cftoais3-custom-headers.js.snapshot/cftoais3-custom-headers.template.json +2 -2
  9. package/test/integ.cftoais3-custom-headers.js.snapshot/cftoais3customheadersIntegDefaultTestDeployAssert5AA11BA9.assets.json +1 -1
  10. package/test/integ.cftoais3-custom-headers.js.snapshot/cftoais3customheadersIntegDefaultTestDeployAssert5AA11BA9.metadata.json +14 -0
  11. package/test/integ.cftoais3-custom-headers.js.snapshot/integ.json +2 -2
  12. package/test/integ.cftoais3-custom-headers.js.snapshot/manifest.json +100 -374
  13. package/test/integ.cftoais3-custom-headers.js.snapshot/tree.json +1 -1
  14. package/test/integ.cftoais3-custom-originPath.js.snapshot/asset.faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6/index.js +1 -0
  15. package/test/integ.cftoais3-custom-originPath.js.snapshot/cdk.out +1 -1
  16. package/test/integ.cftoais3-custom-originPath.js.snapshot/cftoais3-custom-originPath.assets.json +4 -4
  17. package/test/integ.cftoais3-custom-originPath.js.snapshot/cftoais3-custom-originPath.metadata.json +341 -0
  18. package/test/integ.cftoais3-custom-originPath.js.snapshot/cftoais3-custom-originPath.template.json +1 -1
  19. package/test/integ.cftoais3-custom-originPath.js.snapshot/cftoais3customoriginPathIntegDefaultTestDeployAssert1C351914.assets.json +1 -1
  20. package/test/integ.cftoais3-custom-originPath.js.snapshot/cftoais3customoriginPathIntegDefaultTestDeployAssert1C351914.metadata.json +14 -0
  21. package/test/integ.cftoais3-custom-originPath.js.snapshot/integ.json +2 -2
  22. package/test/integ.cftoais3-custom-originPath.js.snapshot/manifest.json +100 -360
  23. package/test/integ.cftoais3-custom-originPath.js.snapshot/tree.json +1 -1
  24. package/test/integ.cftoais3-customLoggingBuckets.js.snapshot/asset.faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6/index.js +1 -0
  25. package/test/integ.cftoais3-customLoggingBuckets.js.snapshot/cdk.out +1 -1
  26. package/test/integ.cftoais3-customLoggingBuckets.js.snapshot/cftoais3-customLoggingBuckets.assets.json +4 -4
  27. package/test/integ.cftoais3-customLoggingBuckets.js.snapshot/cftoais3-customLoggingBuckets.metadata.json +379 -0
  28. package/test/integ.cftoais3-customLoggingBuckets.js.snapshot/cftoais3-customLoggingBuckets.template.json +1 -1
  29. package/test/integ.cftoais3-customLoggingBuckets.js.snapshot/cftoais3customLoggingBucketsIntegDefaultTestDeployAssert8F33EF2A.assets.json +1 -1
  30. package/test/integ.cftoais3-customLoggingBuckets.js.snapshot/cftoais3customLoggingBucketsIntegDefaultTestDeployAssert8F33EF2A.metadata.json +14 -0
  31. package/test/integ.cftoais3-customLoggingBuckets.js.snapshot/integ.json +2 -2
  32. package/test/integ.cftoais3-customLoggingBuckets.js.snapshot/manifest.json +100 -398
  33. package/test/integ.cftoais3-customLoggingBuckets.js.snapshot/tree.json +1 -1
  34. package/test/integ.cftoais3-existing-bucket.js.snapshot/asset.faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6/index.js +1 -0
  35. package/test/integ.cftoais3-existing-bucket.js.snapshot/cdk.out +1 -1
  36. package/test/integ.cftoais3-existing-bucket.js.snapshot/cftoais3-existing-bucket.assets.json +4 -4
  37. package/test/integ.cftoais3-existing-bucket.js.snapshot/cftoais3-existing-bucket.metadata.json +355 -0
  38. package/test/integ.cftoais3-existing-bucket.js.snapshot/cftoais3-existing-bucket.template.json +1 -1
  39. package/test/integ.cftoais3-existing-bucket.js.snapshot/cftoais3existingbucketIntegDefaultTestDeployAssertB7627F26.assets.json +1 -1
  40. package/test/integ.cftoais3-existing-bucket.js.snapshot/cftoais3existingbucketIntegDefaultTestDeployAssertB7627F26.metadata.json +14 -0
  41. package/test/integ.cftoais3-existing-bucket.js.snapshot/integ.json +2 -2
  42. package/test/integ.cftoais3-existing-bucket.js.snapshot/manifest.json +100 -374
  43. package/test/integ.cftoais3-existing-bucket.js.snapshot/tree.json +1 -1
  44. package/test/integ.cftoais3-no-arguments.js.snapshot/asset.faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6/index.js +1 -0
  45. package/test/integ.cftoais3-no-arguments.js.snapshot/cdk.out +1 -1
  46. package/test/integ.cftoais3-no-arguments.js.snapshot/cftoais3-no-arguments.assets.json +4 -4
  47. package/test/integ.cftoais3-no-arguments.js.snapshot/cftoais3-no-arguments.metadata.json +341 -0
  48. package/test/integ.cftoais3-no-arguments.js.snapshot/cftoais3-no-arguments.template.json +1 -1
  49. package/test/integ.cftoais3-no-arguments.js.snapshot/cftoais3noargumentsIntegDefaultTestDeployAssert5CF03E3D.assets.json +1 -1
  50. package/test/integ.cftoais3-no-arguments.js.snapshot/cftoais3noargumentsIntegDefaultTestDeployAssert5CF03E3D.metadata.json +14 -0
  51. package/test/integ.cftoais3-no-arguments.js.snapshot/integ.json +2 -2
  52. package/test/integ.cftoais3-no-arguments.js.snapshot/manifest.json +100 -360
  53. package/test/integ.cftoais3-no-arguments.js.snapshot/tree.json +1 -1
  54. package/test/integ.cftoais3-no-cloudfront-s3-access-logs.js.snapshot/asset.faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6/index.js +1 -0
  55. package/test/integ.cftoais3-no-cloudfront-s3-access-logs.js.snapshot/cdk.out +1 -1
  56. package/test/integ.cftoais3-no-cloudfront-s3-access-logs.js.snapshot/cftoais3-no-cloudfront-s3-access-logs.assets.json +4 -4
  57. package/test/integ.cftoais3-no-cloudfront-s3-access-logs.js.snapshot/cftoais3-no-cloudfront-s3-access-logs.metadata.json +225 -0
  58. package/test/integ.cftoais3-no-cloudfront-s3-access-logs.js.snapshot/cftoais3-no-cloudfront-s3-access-logs.template.json +1 -1
  59. package/test/integ.cftoais3-no-cloudfront-s3-access-logs.js.snapshot/cftoais3nocloudfronts3accesslogsIntegDefaultTestDeployAssert6D810275.assets.json +1 -1
  60. package/test/integ.cftoais3-no-cloudfront-s3-access-logs.js.snapshot/cftoais3nocloudfronts3accesslogsIntegDefaultTestDeployAssert6D810275.metadata.json +14 -0
  61. package/test/integ.cftoais3-no-cloudfront-s3-access-logs.js.snapshot/integ.json +2 -2
  62. package/test/integ.cftoais3-no-cloudfront-s3-access-logs.js.snapshot/manifest.json +100 -268
  63. package/test/integ.cftoais3-no-cloudfront-s3-access-logs.js.snapshot/tree.json +1 -1
  64. package/test/integ.cftoais3-no-logging.js.snapshot/asset.faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6/index.js +1 -0
  65. package/test/integ.cftoais3-no-logging.js.snapshot/cdk.out +1 -1
  66. package/test/integ.cftoais3-no-logging.js.snapshot/cftoais3-no-logging.assets.json +4 -4
  67. package/test/integ.cftoais3-no-logging.js.snapshot/cftoais3-no-logging.metadata.json +167 -0
  68. package/test/integ.cftoais3-no-logging.js.snapshot/cftoais3-no-logging.template.json +1 -1
  69. package/test/integ.cftoais3-no-logging.js.snapshot/cftoais3nologgingIntegDefaultTestDeployAssertCED06EE4.assets.json +1 -1
  70. package/test/integ.cftoais3-no-logging.js.snapshot/cftoais3nologgingIntegDefaultTestDeployAssertCED06EE4.metadata.json +14 -0
  71. package/test/integ.cftoais3-no-logging.js.snapshot/integ.json +2 -2
  72. package/test/integ.cftoais3-no-logging.js.snapshot/manifest.json +100 -222
  73. package/test/integ.cftoais3-no-logging.js.snapshot/tree.json +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-solutions-constructs/aws-cloudfront-oai-s3",
3
- "version": "2.100.1",
3
+ "version": "2.102.0",
4
4
  "description": "CDK Constructs for AWS Cloudfront to AWS S3 integration.",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -54,15 +54,15 @@
54
54
  }
55
55
  },
56
56
  "dependencies": {
57
- "@aws-solutions-constructs/core": "2.100.1",
58
- "@aws-solutions-constructs/resources": "2.100.1",
57
+ "@aws-solutions-constructs/core": "2.102.0",
58
+ "@aws-solutions-constructs/resources": "2.102.0",
59
59
  "constructs": "^10.0.0"
60
60
  },
61
61
  "devDependencies": {
62
- "@aws-cdk/integ-tests-alpha": "2.239.0-alpha.0",
63
- "@types/node": "^10.3.0",
62
+ "@aws-cdk/integ-tests-alpha": "2.254.0-alpha.0",
63
+ "@types/node": "^20.0.0",
64
64
  "constructs": "^10.0.0",
65
- "aws-cdk-lib": "2.239.0"
65
+ "aws-cdk-lib": "2.254.0"
66
66
  },
67
67
  "jest": {
68
68
  "moduleFileExtensions": [
@@ -79,10 +79,10 @@
79
79
  ]
80
80
  },
81
81
  "peerDependencies": {
82
- "@aws-solutions-constructs/core": "2.100.1",
83
- "@aws-solutions-constructs/resources": "2.100.1",
82
+ "@aws-solutions-constructs/core": "2.102.0",
83
+ "@aws-solutions-constructs/resources": "2.102.0",
84
84
  "constructs": "^10.0.0",
85
- "aws-cdk-lib": "^2.239.0"
85
+ "aws-cdk-lib": "^2.254.0"
86
86
  },
87
87
  "keywords": [
88
88
  "aws",
@@ -0,0 +1 @@
1
+ "use strict";var f=Object.create,i=Object.defineProperty,I=Object.getOwnPropertyDescriptor,C=Object.getOwnPropertyNames,w=Object.getPrototypeOf,P=Object.prototype.hasOwnProperty,A=(t,e)=>{for(var o in e)i(t,o,{get:e[o],enumerable:!0})},d=(t,e,o,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of C(e))!P.call(t,s)&&s!==o&&i(t,s,{get:()=>e[s],enumerable:!(r=I(e,s))||r.enumerable});return t},l=(t,e,o)=>(o=t!=null?f(w(t)):{},d(e||!t||!t.__esModule?i(o,"default",{value:t,enumerable:!0}):o,t)),B=t=>d(i({},"__esModule",{value:!0}),t),q={};A(q,{autoDeleteHandler:()=>S,handler:()=>H}),module.exports=B(q);var h=require("@aws-sdk/client-s3"),y=l(require("https")),m=l(require("url")),a={sendHttpRequest:D,log:T,includeStackTraces:!0,userHandlerIndex:"./index"},p="AWSCDK::CustomResourceProviderFramework::CREATE_FAILED",L="AWSCDK::CustomResourceProviderFramework::MISSING_PHYSICAL_ID";function R(t){return async(e,o)=>{let r={...e,ResponseURL:"..."};if(a.log(JSON.stringify(r,void 0,2)),e.RequestType==="Delete"&&e.PhysicalResourceId===p){a.log("ignoring DELETE event caused by a failed CREATE event"),await u("SUCCESS",e);return}try{let s=await t(r,o),n=k(e,s);await u("SUCCESS",n)}catch(s){let n={...e,Reason:a.includeStackTraces?s.stack:s.message};n.PhysicalResourceId||(e.RequestType==="Create"?(a.log("CREATE failed, responding with a marker physical resource id so that the subsequent DELETE will be ignored"),n.PhysicalResourceId=p):a.log(`ERROR: Malformed event. "PhysicalResourceId" is required: ${JSON.stringify(e)}`)),await u("FAILED",n)}}}function k(t,e={}){let o=e.PhysicalResourceId??t.PhysicalResourceId??t.RequestId;if(t.RequestType==="Delete"&&o!==t.PhysicalResourceId)throw new Error(`DELETE: cannot change the physical resource ID from "${t.PhysicalResourceId}" to "${e.PhysicalResourceId}" during deletion`);return{...t,...e,PhysicalResourceId:o}}async function u(t,e){let o={Status:t,Reason:e.Reason??t,StackId:e.StackId,RequestId:e.RequestId,PhysicalResourceId:e.PhysicalResourceId||L,LogicalResourceId:e.LogicalResourceId,NoEcho:e.NoEcho,Data:e.Data},r=m.parse(e.ResponseURL),s=`${r.protocol}//${r.hostname}/${r.pathname}?***`;a.log("submit response to cloudformation",s,o);let n=JSON.stringify(o),E={hostname:r.hostname,path:r.path,method:"PUT",headers:{"content-type":"","content-length":Buffer.byteLength(n,"utf8")}};await O({attempts:5,sleep:1e3},a.sendHttpRequest)(E,n)}async function D(t,e){return new Promise((o,r)=>{try{let s=y.request(t,n=>{n.resume(),!n.statusCode||n.statusCode>=400?r(new Error(`Unsuccessful HTTP response: ${n.statusCode}`)):o()});s.on("error",r),s.write(e),s.end()}catch(s){r(s)}})}function T(t,...e){console.log(t,...e)}function O(t,e){return async(...o)=>{let r=t.attempts,s=t.sleep;for(;;)try{return await e(...o)}catch(n){if(r--<=0)throw n;await b(Math.floor(Math.random()*s)),s*=2}}}async function b(t){return new Promise(e=>setTimeout(e,t))}var g="aws-cdk:auto-delete-objects",x=JSON.stringify({Version:"2012-10-17",Statement:[]}),c=new h.S3({}),H=R(S);async function S(t){switch(t.RequestType){case"Create":return;case"Update":return{PhysicalResourceId:(await F(t)).PhysicalResourceId};case"Delete":return N(t.ResourceProperties?.BucketName)}}async function F(t){let e=t,o=e.OldResourceProperties?.BucketName;return{PhysicalResourceId:e.ResourceProperties?.BucketName??o}}async function _(t){try{let e=(await c.getBucketPolicy({Bucket:t}))?.Policy??x,o=JSON.parse(e);o.Statement.push({Principal:"*",Effect:"Deny",Action:["s3:PutObject"],Resource:[`arn:aws:s3:::${t}/*`]}),await c.putBucketPolicy({Bucket:t,Policy:JSON.stringify(o)})}catch(e){if(e.name==="NoSuchBucket")throw e;console.log(`Could not set new object deny policy on bucket '${t}' prior to deletion.`)}}async function U(t){let e;do{e=await c.listObjectVersions({Bucket:t});let o=[...e.Versions??[],...e.DeleteMarkers??[]];if(o.length===0)return;let r=o.map(s=>({Key:s.Key,VersionId:s.VersionId}));await c.deleteObjects({Bucket:t,Delete:{Objects:r}})}while(e?.IsTruncated)}async function N(t){if(!t)throw new Error("No BucketName was provided.");try{if(!await W(t)){console.log(`Bucket does not have '${g}' tag, skipping cleaning.`);return}await _(t),await U(t)}catch(e){if(e.name==="NoSuchBucket"){console.log(`Bucket '${t}' does not exist.`);return}throw e}}async function W(t){return(await c.getBucketTagging({Bucket:t})).TagSet?.some(o=>o.Key===g&&o.Value==="true")}
@@ -1 +1 @@
1
- {"version":"45.0.0"}
1
+ {"version":"53.0.0"}
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "45.0.0",
2
+ "version": "53.0.0",
3
3
  "files": {
4
4
  "faa95a81ae7d7373f3e1f242268f904eb748d8d0fdd306e8a6fe515a1905a7d6": {
5
5
  "displayName": "cftoais3-custom-headers/Custom::S3AutoDeleteObjectsCustomResourceProvider Code",
@@ -15,16 +15,16 @@
15
15
  }
16
16
  }
17
17
  },
18
- "7e71844fe78a682932df4c44470790d26f91af9c393b26a17e5cef82b00192cc": {
18
+ "75e7ca399b30d9da60a0c2e82a35cb71d3d8e2790d0931a80232bb56eb8d733f": {
19
19
  "displayName": "cftoais3-custom-headers Template",
20
20
  "source": {
21
21
  "path": "cftoais3-custom-headers.template.json",
22
22
  "packaging": "file"
23
23
  },
24
24
  "destinations": {
25
- "current_account-current_region-fc9c12c0": {
25
+ "current_account-current_region-66b4f11e": {
26
26
  "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
27
- "objectKey": "7e71844fe78a682932df4c44470790d26f91af9c393b26a17e5cef82b00192cc.json",
27
+ "objectKey": "75e7ca399b30d9da60a0c2e82a35cb71d3d8e2790d0931a80232bb56eb8d733f.json",
28
28
  "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
29
29
  }
30
30
  }
@@ -0,0 +1,355 @@
1
+ {
2
+ "/cftoais3-custom-headers/MyFunction": [
3
+ {
4
+ "type": "aws:cdk:analytics:construct",
5
+ "data": {
6
+ "code": "*"
7
+ }
8
+ }
9
+ ],
10
+ "/cftoais3-custom-headers/Custom::S3AutoDeleteObjectsCustomResourceProvider": [
11
+ {
12
+ "type": "aws:cdk:is-custom-resource-handler-customResourceProvider",
13
+ "data": true
14
+ }
15
+ ],
16
+ "/cftoais3-custom-headers/BootstrapVersion": [
17
+ {
18
+ "type": "aws:cdk:logicalId",
19
+ "data": "BootstrapVersion"
20
+ }
21
+ ],
22
+ "/cftoais3-custom-headers/CheckBootstrapVersion": [
23
+ {
24
+ "type": "aws:cdk:logicalId",
25
+ "data": "CheckBootstrapVersion"
26
+ }
27
+ ],
28
+ "/cftoais3-custom-headers/MyFunction/Resource": [
29
+ {
30
+ "type": "aws:cdk:logicalId",
31
+ "data": "MyFunction3BAA72D1"
32
+ }
33
+ ],
34
+ "/cftoais3-custom-headers/test-cloudfront-oai-s3/S3LoggingBucket": [
35
+ {
36
+ "type": "aws:cdk:analytics:construct",
37
+ "data": {
38
+ "encryption": "S3_MANAGED",
39
+ "versioned": true,
40
+ "blockPublicAccess": "*",
41
+ "removalPolicy": "destroy",
42
+ "enforceSSL": true,
43
+ "autoDeleteObjects": true
44
+ }
45
+ }
46
+ ],
47
+ "/cftoais3-custom-headers/test-cloudfront-oai-s3/S3Bucket": [
48
+ {
49
+ "type": "aws:cdk:analytics:construct",
50
+ "data": {
51
+ "encryption": "S3_MANAGED",
52
+ "versioned": true,
53
+ "blockPublicAccess": "*",
54
+ "removalPolicy": "destroy",
55
+ "enforceSSL": true,
56
+ "lifecycleRules": [
57
+ {
58
+ "noncurrentVersionTransitions": [
59
+ {
60
+ "storageClass": "*"
61
+ }
62
+ ]
63
+ }
64
+ ],
65
+ "serverAccessLogsBucket": "*",
66
+ "autoDeleteObjects": true
67
+ }
68
+ },
69
+ {
70
+ "type": "aws:cdk:analytics:method",
71
+ "data": {
72
+ "addLifecycleRule": [
73
+ {
74
+ "noncurrentVersionTransitions": [
75
+ {
76
+ "storageClass": "*"
77
+ }
78
+ ]
79
+ },
80
+ "*",
81
+ "*"
82
+ ]
83
+ }
84
+ }
85
+ ],
86
+ "/cftoais3-custom-headers/test-cloudfront-oai-s3/SetHttpSecurityHeaders": [
87
+ {
88
+ "type": "aws:cdk:analytics:construct",
89
+ "data": {
90
+ "functionName": "*",
91
+ "code": "*"
92
+ }
93
+ }
94
+ ],
95
+ "/cftoais3-custom-headers/test-cloudfront-oai-s3/CloudfrontLoggingBucketAccessLog": [
96
+ {
97
+ "type": "aws:cdk:analytics:construct",
98
+ "data": {
99
+ "encryption": "S3_MANAGED",
100
+ "versioned": true,
101
+ "blockPublicAccess": "*",
102
+ "removalPolicy": "destroy",
103
+ "enforceSSL": true,
104
+ "autoDeleteObjects": true
105
+ }
106
+ }
107
+ ],
108
+ "/cftoais3-custom-headers/test-cloudfront-oai-s3/CloudfrontLoggingBucket": [
109
+ {
110
+ "type": "aws:cdk:analytics:construct",
111
+ "data": {
112
+ "encryption": "S3_MANAGED",
113
+ "versioned": true,
114
+ "blockPublicAccess": "*",
115
+ "removalPolicy": "destroy",
116
+ "enforceSSL": true,
117
+ "autoDeleteObjects": true,
118
+ "objectOwnership": "ObjectWriter",
119
+ "serverAccessLogsBucket": "*"
120
+ }
121
+ }
122
+ ],
123
+ "/cftoais3-custom-headers/test-cloudfront-oai-s3/constructsGeneratedOai": [
124
+ {
125
+ "type": "aws:cdk:analytics:construct",
126
+ "data": "*"
127
+ }
128
+ ],
129
+ "/cftoais3-custom-headers/test-cloudfront-oai-s3/CloudFrontDistribution": [
130
+ {
131
+ "type": "aws:cdk:analytics:construct",
132
+ "data": {
133
+ "defaultBehavior": {
134
+ "origin": "*",
135
+ "viewerProtocolPolicy": "redirect-to-https",
136
+ "functionAssociations": [
137
+ {
138
+ "eventType": "viewer-response",
139
+ "function": "*"
140
+ }
141
+ ]
142
+ },
143
+ "enableLogging": true,
144
+ "logBucket": "*",
145
+ "defaultRootObject": "*"
146
+ }
147
+ }
148
+ ],
149
+ "/cftoais3-custom-headers/Custom::S3AutoDeleteObjectsCustomResourceProvider/Role": [
150
+ {
151
+ "type": "aws:cdk:logicalId",
152
+ "data": "CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092"
153
+ }
154
+ ],
155
+ "/cftoais3-custom-headers/Custom::S3AutoDeleteObjectsCustomResourceProvider/Handler": [
156
+ {
157
+ "type": "aws:cdk:logicalId",
158
+ "data": "CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F"
159
+ }
160
+ ],
161
+ "/cftoais3-custom-headers/test-cloudfront-oai-s3/S3LoggingBucket/Resource": [
162
+ {
163
+ "type": "aws:cdk:logicalId",
164
+ "data": "testcloudfrontoais3S3LoggingBucketC8A21DD9"
165
+ },
166
+ {
167
+ "type": "aws:cdk:analytics:mixin",
168
+ "data": {
169
+ "mixin": "aws-cdk-lib.aws_s3.mixins.BucketAutoDeleteObjects"
170
+ }
171
+ }
172
+ ],
173
+ "/cftoais3-custom-headers/test-cloudfront-oai-s3/S3LoggingBucket/Policy": [
174
+ {
175
+ "type": "aws:cdk:analytics:construct",
176
+ "data": {
177
+ "bucket": "*"
178
+ }
179
+ }
180
+ ],
181
+ "/cftoais3-custom-headers/test-cloudfront-oai-s3/S3LoggingBucket/AutoDeleteObjectsCustomResource": [
182
+ {
183
+ "type": "aws:cdk:analytics:construct",
184
+ "data": "*"
185
+ }
186
+ ],
187
+ "/cftoais3-custom-headers/test-cloudfront-oai-s3/S3Bucket/Resource": [
188
+ {
189
+ "type": "aws:cdk:logicalId",
190
+ "data": "testcloudfrontoais3S3Bucket578AB9F3"
191
+ },
192
+ {
193
+ "type": "aws:cdk:analytics:mixin",
194
+ "data": {
195
+ "mixin": "aws-cdk-lib.aws_s3.mixins.BucketAutoDeleteObjects"
196
+ }
197
+ }
198
+ ],
199
+ "/cftoais3-custom-headers/test-cloudfront-oai-s3/S3Bucket/Policy": [
200
+ {
201
+ "type": "aws:cdk:analytics:construct",
202
+ "data": {
203
+ "bucket": "*"
204
+ }
205
+ }
206
+ ],
207
+ "/cftoais3-custom-headers/test-cloudfront-oai-s3/S3Bucket/AutoDeleteObjectsCustomResource": [
208
+ {
209
+ "type": "aws:cdk:analytics:construct",
210
+ "data": "*"
211
+ }
212
+ ],
213
+ "/cftoais3-custom-headers/test-cloudfront-oai-s3/SetHttpSecurityHeaders/Resource": [
214
+ {
215
+ "type": "aws:cdk:logicalId",
216
+ "data": "testcloudfrontoais3SetHttpSecurityHeaders4EB3C97B"
217
+ }
218
+ ],
219
+ "/cftoais3-custom-headers/test-cloudfront-oai-s3/CloudfrontLoggingBucketAccessLog/Resource": [
220
+ {
221
+ "type": "aws:cdk:logicalId",
222
+ "data": "testcloudfrontoais3CloudfrontLoggingBucketAccessLogBF5AAF80"
223
+ },
224
+ {
225
+ "type": "aws:cdk:analytics:mixin",
226
+ "data": {
227
+ "mixin": "aws-cdk-lib.aws_s3.mixins.BucketAutoDeleteObjects"
228
+ }
229
+ }
230
+ ],
231
+ "/cftoais3-custom-headers/test-cloudfront-oai-s3/CloudfrontLoggingBucketAccessLog/Policy": [
232
+ {
233
+ "type": "aws:cdk:analytics:construct",
234
+ "data": {
235
+ "bucket": "*"
236
+ }
237
+ }
238
+ ],
239
+ "/cftoais3-custom-headers/test-cloudfront-oai-s3/CloudfrontLoggingBucketAccessLog/AutoDeleteObjectsCustomResource": [
240
+ {
241
+ "type": "aws:cdk:analytics:construct",
242
+ "data": "*"
243
+ }
244
+ ],
245
+ "/cftoais3-custom-headers/test-cloudfront-oai-s3/CloudfrontLoggingBucket/Resource": [
246
+ {
247
+ "type": "aws:cdk:logicalId",
248
+ "data": "testcloudfrontoais3CloudfrontLoggingBucket55AA79FC"
249
+ },
250
+ {
251
+ "type": "aws:cdk:analytics:mixin",
252
+ "data": {
253
+ "mixin": "aws-cdk-lib.aws_s3.mixins.BucketAutoDeleteObjects"
254
+ }
255
+ }
256
+ ],
257
+ "/cftoais3-custom-headers/test-cloudfront-oai-s3/CloudfrontLoggingBucket/Policy": [
258
+ {
259
+ "type": "aws:cdk:analytics:construct",
260
+ "data": {
261
+ "bucket": "*"
262
+ }
263
+ }
264
+ ],
265
+ "/cftoais3-custom-headers/test-cloudfront-oai-s3/CloudfrontLoggingBucket/AutoDeleteObjectsCustomResource": [
266
+ {
267
+ "type": "aws:cdk:analytics:construct",
268
+ "data": "*"
269
+ }
270
+ ],
271
+ "/cftoais3-custom-headers/test-cloudfront-oai-s3/constructsGeneratedOai/Resource": [
272
+ {
273
+ "type": "aws:cdk:logicalId",
274
+ "data": "testcloudfrontoais3constructsGeneratedOaiA468F478"
275
+ }
276
+ ],
277
+ "/cftoais3-custom-headers/test-cloudfront-oai-s3/CloudFrontDistribution/Resource": [
278
+ {
279
+ "type": "aws:cdk:logicalId",
280
+ "data": "testcloudfrontoais3CloudFrontDistribution0E089CC5"
281
+ }
282
+ ],
283
+ "/cftoais3-custom-headers/test-cloudfront-oai-s3/S3LoggingBucket/Policy/Resource": [
284
+ {
285
+ "type": "aws:cdk:logicalId",
286
+ "data": "testcloudfrontoais3S3LoggingBucketPolicy792609D7"
287
+ },
288
+ {
289
+ "type": "aws:cdk:analytics:mixin",
290
+ "data": {
291
+ "mixin": "aws-cdk-lib.aws_s3.mixins.BucketPolicyStatements"
292
+ }
293
+ }
294
+ ],
295
+ "/cftoais3-custom-headers/test-cloudfront-oai-s3/S3LoggingBucket/AutoDeleteObjectsCustomResource/Default": [
296
+ {
297
+ "type": "aws:cdk:logicalId",
298
+ "data": "testcloudfrontoais3S3LoggingBucketAutoDeleteObjectsCustomResource24F8B1EE"
299
+ }
300
+ ],
301
+ "/cftoais3-custom-headers/test-cloudfront-oai-s3/S3Bucket/Policy/Resource": [
302
+ {
303
+ "type": "aws:cdk:logicalId",
304
+ "data": "testcloudfrontoais3S3BucketPolicyD2322CC3"
305
+ },
306
+ {
307
+ "type": "aws:cdk:analytics:mixin",
308
+ "data": {
309
+ "mixin": "aws-cdk-lib.aws_s3.mixins.BucketPolicyStatements"
310
+ }
311
+ }
312
+ ],
313
+ "/cftoais3-custom-headers/test-cloudfront-oai-s3/S3Bucket/AutoDeleteObjectsCustomResource/Default": [
314
+ {
315
+ "type": "aws:cdk:logicalId",
316
+ "data": "testcloudfrontoais3S3BucketAutoDeleteObjectsCustomResourceA2545EE1"
317
+ }
318
+ ],
319
+ "/cftoais3-custom-headers/test-cloudfront-oai-s3/CloudfrontLoggingBucketAccessLog/Policy/Resource": [
320
+ {
321
+ "type": "aws:cdk:logicalId",
322
+ "data": "testcloudfrontoais3CloudfrontLoggingBucketAccessLogPolicy0C078528"
323
+ },
324
+ {
325
+ "type": "aws:cdk:analytics:mixin",
326
+ "data": {
327
+ "mixin": "aws-cdk-lib.aws_s3.mixins.BucketPolicyStatements"
328
+ }
329
+ }
330
+ ],
331
+ "/cftoais3-custom-headers/test-cloudfront-oai-s3/CloudfrontLoggingBucketAccessLog/AutoDeleteObjectsCustomResource/Default": [
332
+ {
333
+ "type": "aws:cdk:logicalId",
334
+ "data": "testcloudfrontoais3CloudfrontLoggingBucketAccessLogAutoDeleteObjectsCustomResource00DB3AC8"
335
+ }
336
+ ],
337
+ "/cftoais3-custom-headers/test-cloudfront-oai-s3/CloudfrontLoggingBucket/Policy/Resource": [
338
+ {
339
+ "type": "aws:cdk:logicalId",
340
+ "data": "testcloudfrontoais3CloudfrontLoggingBucketPolicy2130EE92"
341
+ },
342
+ {
343
+ "type": "aws:cdk:analytics:mixin",
344
+ "data": {
345
+ "mixin": "aws-cdk-lib.aws_s3.mixins.BucketPolicyStatements"
346
+ }
347
+ }
348
+ ],
349
+ "/cftoais3-custom-headers/test-cloudfront-oai-s3/CloudfrontLoggingBucket/AutoDeleteObjectsCustomResource/Default": [
350
+ {
351
+ "type": "aws:cdk:logicalId",
352
+ "data": "testcloudfrontoais3CloudfrontLoggingBucketAutoDeleteObjectsCustomResourceE88BD625"
353
+ }
354
+ ]
355
+ }
@@ -18,7 +18,7 @@
18
18
  ]
19
19
  ]
20
20
  },
21
- "Runtime": "cloudfront-js-1.0"
21
+ "Runtime": "cloudfront-js-2.0"
22
22
  },
23
23
  "Name": {
24
24
  "Fn::Join": [
@@ -456,7 +456,7 @@
456
456
  "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; }",
457
457
  "FunctionConfig": {
458
458
  "Comment": "SetHttpSecurityHeadersc87f22b85fa5318062da066fa89121f6ede9f39b90",
459
- "Runtime": "cloudfront-js-1.0"
459
+ "Runtime": "cloudfront-js-2.0"
460
460
  },
461
461
  "Name": "SetHttpSecurityHeadersc87f22b85fa5318062da066fa89121f6ede9f39b90"
462
462
  }
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "45.0.0",
2
+ "version": "53.0.0",
3
3
  "files": {
4
4
  "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": {
5
5
  "displayName": "cftoais3customheadersIntegDefaultTestDeployAssert5AA11BA9 Template",
@@ -0,0 +1,14 @@
1
+ {
2
+ "/cftoais3-custom-headers/Integ/DefaultTest/DeployAssert/BootstrapVersion": [
3
+ {
4
+ "type": "aws:cdk:logicalId",
5
+ "data": "BootstrapVersion"
6
+ }
7
+ ],
8
+ "/cftoais3-custom-headers/Integ/DefaultTest/DeployAssert/CheckBootstrapVersion": [
9
+ {
10
+ "type": "aws:cdk:logicalId",
11
+ "data": "CheckBootstrapVersion"
12
+ }
13
+ ]
14
+ }
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "45.0.0",
2
+ "version": "53.0.0",
3
3
  "testCases": {
4
4
  "cftoais3-custom-headers/Integ/DefaultTest": {
5
5
  "stacks": [
@@ -9,5 +9,5 @@
9
9
  "assertionStackName": "cftoais3customheadersIntegDefaultTestDeployAssert5AA11BA9"
10
10
  }
11
11
  },
12
- "minimumCliVersion": "2.1020.2"
12
+ "minimumCliVersion": "2.1117.0"
13
13
  }