@mavogel/awscdk-rootmail 0.1.16 → 0.1.18
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 +19 -19
- package/README.md +2 -2
- package/integ-tests/integ.rootmail-custom-santa.ts +3 -2
- package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/RootmailIntegTestStack.assets.json +31 -33
- package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/RootmailIntegTestStack.metadata.json +3923 -0
- package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/RootmailIntegTestStack.template.json +432 -2072
- package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.assets.json +9 -8
- package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.metadata.json +84 -0
- package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.template.json +29 -139
- package/integ-tests/{integ.rootmail-filter-subject.ts.snapshot/asset.b01091642674a865788c271ec84db9d88a8dfbe14d4d95583aca8814cfa848b9 → integ.rootmail-custom-santa.ts.snapshot/asset.3a99c40cdc76ed5458a3eba04a84e2a224db6d82fec9c3754279f76e43c0fe86}/index.js +10270 -3218
- package/integ-tests/{integ.rootmail.ts.snapshot/asset.f692c9f68e4daba2abc99103efd3518bced1e9d7a2a89847b9b5d5473c64f1bd.bundle → integ.rootmail-custom-santa.ts.snapshot/asset.6ffc47b88143a52aa50e26c31da776854b28dff0e45b1a97d7c1e530d59590ad.bundle}/index.js +8324 -8070
- package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.e16ffb3b34af185b8b30c88fdb19faa13b6c42bb38580485c4e84b384ee48b63/cfn-response.js +1 -0
- package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.e16ffb3b34af185b8b30c88fdb19faa13b6c42bb38580485c4e84b384ee48b63/framework.js +3 -0
- package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.e16ffb3b34af185b8b30c88fdb19faa13b6c42bb38580485c4e84b384ee48b63/outbound.js +1 -0
- package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/integ.json +5 -3
- package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/manifest.json +549 -734
- package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/tree.json +1 -6407
- package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/validation-report.json +5 -0
- package/integ-tests/integ.rootmail-filter-subject.ts +3 -2
- package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/RootmailIntegTestStack.assets.json +31 -33
- package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/RootmailIntegTestStack.metadata.json +3923 -0
- package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/RootmailIntegTestStack.template.json +432 -2072
- package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.assets.json +9 -8
- package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.metadata.json +84 -0
- package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.template.json +29 -139
- package/integ-tests/{integ.rootmail-custom-santa.ts.snapshot/asset.b01091642674a865788c271ec84db9d88a8dfbe14d4d95583aca8814cfa848b9 → integ.rootmail-filter-subject.ts.snapshot/asset.3a99c40cdc76ed5458a3eba04a84e2a224db6d82fec9c3754279f76e43c0fe86}/index.js +10270 -3218
- package/integ-tests/{integ.rootmail-custom-santa.ts.snapshot/asset.f692c9f68e4daba2abc99103efd3518bced1e9d7a2a89847b9b5d5473c64f1bd.bundle → integ.rootmail-filter-subject.ts.snapshot/asset.6ffc47b88143a52aa50e26c31da776854b28dff0e45b1a97d7c1e530d59590ad.bundle}/index.js +8324 -8070
- package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/asset.e16ffb3b34af185b8b30c88fdb19faa13b6c42bb38580485c4e84b384ee48b63/cfn-response.js +1 -0
- package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/asset.e16ffb3b34af185b8b30c88fdb19faa13b6c42bb38580485c4e84b384ee48b63/framework.js +3 -0
- package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/asset.e16ffb3b34af185b8b30c88fdb19faa13b6c42bb38580485c4e84b384ee48b63/outbound.js +1 -0
- package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/integ.json +5 -3
- package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/manifest.json +549 -734
- package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/tree.json +1 -6407
- package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/validation-report.json +5 -0
- package/integ-tests/integ.rootmail.ts +3 -2
- package/integ-tests/integ.rootmail.ts.snapshot/RootmailIntegTestStack.assets.json +60 -61
- package/integ-tests/integ.rootmail.ts.snapshot/RootmailIntegTestStack.metadata.json +3936 -0
- package/integ-tests/integ.rootmail.ts.snapshot/RootmailIntegTestStack.template.json +493 -2146
- package/integ-tests/integ.rootmail.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.assets.json +9 -8
- package/integ-tests/integ.rootmail.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.metadata.json +116 -0
- package/integ-tests/integ.rootmail.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.template.json +51 -143
- package/integ-tests/integ.rootmail.ts.snapshot/{asset.409d1db869dd0ed635bff94c855031afc92e9ac918a5d09651dd0b5316db1433 → asset.157ba1713f7224463b621261792d18081588ff306a9bc3f75e6c468fabbe1a60}/index.js +1 -1
- package/integ-tests/integ.rootmail.ts.snapshot/{asset.0cc54596504938d3858f36b8eaeb554817254230dfa52e23a70aad9e657b80b8 → asset.2b86f8b255c50c6eba274c368849bab1c7a3747c30ef5df4c96f8dea8fffa21e}/index.js +1 -1
- package/integ-tests/integ.rootmail.ts.snapshot/{asset.aca912f8a6aebc5dfd423aff79785b8fd7488473a4cf93aaa7ad0e442b548787 → asset.4c079063901e6478dbb5ace19e3123641ebf0da2ab648ecf52079c5bec154196}/index.js +1 -1
- package/integ-tests/integ.rootmail.ts.snapshot/{asset.ed72e1e93cae7d32d1a99c33e6f697428dc230c3922131e7ba121cc99a732f3f → asset.6ae1d1fcc0e69b0216c406dcb73136e88857dfc9a29784c57838e1fb0f9f7496}/index.js +1 -1
- package/integ-tests/{integ.rootmail-filter-subject.ts.snapshot/asset.f692c9f68e4daba2abc99103efd3518bced1e9d7a2a89847b9b5d5473c64f1bd.bundle → integ.rootmail.ts.snapshot/asset.6ffc47b88143a52aa50e26c31da776854b28dff0e45b1a97d7c1e530d59590ad.bundle}/index.js +8324 -8070
- package/integ-tests/integ.rootmail.ts.snapshot/{asset.7144c5a47b3904b1aa4b27be73803a4b684f4ef765d9df8fa767779d37106254 → asset.78b64aaf9aebb4eacbdd42197be10e9d5894360a642f7dcf79aeb84bb3552377}/index.js +1 -1
- package/integ-tests/integ.rootmail.ts.snapshot/{asset.f61472ea141af20f69ebb7a7718158fcb95d72410c0c2a2e72cc59b1822873fc → asset.7e8a681794eff5fda1841caa360113df5488ecf944055a69b8f1e5a687e269f5}/index.js +1 -1
- package/integ-tests/integ.rootmail.ts.snapshot/{asset.11768574bbd12c5ed10f463a68797423c366b61535ebc1b14951661b92657fa5 → asset.9572b451243318765beb576ae7528096b3879783dbaab795c02c01d7f4e83438}/index.js +1 -1
- package/integ-tests/integ.rootmail.ts.snapshot/{asset.9709438d0fbb508ea9bfee8683a274b4f9492f5e527eb28e0bd9e2bc96b9a08f → asset.be7d56b509650f7f97c406a745d8335992726086995e4cb4aaf50417ab40e803}/index.js +1 -1
- package/integ-tests/integ.rootmail.ts.snapshot/asset.e16ffb3b34af185b8b30c88fdb19faa13b6c42bb38580485c4e84b384ee48b63/cfn-response.js +1 -0
- package/integ-tests/integ.rootmail.ts.snapshot/asset.e16ffb3b34af185b8b30c88fdb19faa13b6c42bb38580485c4e84b384ee48b63/framework.js +3 -0
- package/integ-tests/integ.rootmail.ts.snapshot/asset.e16ffb3b34af185b8b30c88fdb19faa13b6c42bb38580485c4e84b384ee48b63/outbound.js +1 -0
- package/integ-tests/integ.rootmail.ts.snapshot/{asset.aa3a06cb0aae2ae75b5bdf62921fd207503fd54b0e711ebb20274f3e6afd3bfa → asset.ee814b07e4253e03bace8114424b313a76d41c6312b50dc336730835e39f5fa4}/index.js +10367 -3313
- package/integ-tests/integ.rootmail.ts.snapshot/{asset.11281c9e2a2b601c3421513ba7c9be4b643b04ba6a934192e52e46def7ab0830 → asset.f75274dd7677b6ef41f29d2dfc2c885b4f4e069d3fb8e67636bd89efd3f0fcad}/index.js +3 -1
- package/integ-tests/integ.rootmail.ts.snapshot/integ.json +5 -3
- package/integ-tests/integ.rootmail.ts.snapshot/manifest.json +548 -764
- package/integ-tests/integ.rootmail.ts.snapshot/tree.json +1 -6522
- package/integ-tests/integ.rootmail.ts.snapshot/validation-report.json +5 -0
- package/lib/hosted-zone-dkim-propagation.js +4 -4
- package/lib/hosted-zone-dkim-verification-records.js +3 -3
- package/lib/hosted-zone-dkim.js +1 -6
- package/lib/rootmail-autowire-dns.js +4 -4
- package/lib/rootmail.js +1 -1
- package/lib/ses-receipt-ruleset-activation.js +4 -4
- package/lib/ses-receive.js +3 -3
- package/node_modules/@aws-sdk/checksums/package.json +2 -2
- package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-cjs/index.js +1 -1
- package/node_modules/@aws-sdk/client-cloudwatch-logs/package.json +3 -3
- package/node_modules/@aws-sdk/client-route-53/dist-cjs/index.js +1 -1
- package/node_modules/@aws-sdk/client-route-53/package.json +3 -3
- package/node_modules/@aws-sdk/client-s3/dist-cjs/index.js +1 -1
- package/node_modules/@aws-sdk/client-s3/package.json +6 -6
- package/node_modules/@aws-sdk/client-ses/dist-cjs/index.js +1 -1
- package/node_modules/@aws-sdk/client-ses/package.json +3 -3
- package/node_modules/@aws-sdk/client-ssm/dist-cjs/index.js +1 -1
- package/node_modules/@aws-sdk/client-ssm/package.json +3 -3
- package/node_modules/@aws-sdk/core/dist-cjs/submodules/httpAuthSchemes/index.js +12 -3
- package/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4Signer.js +12 -3
- package/node_modules/@aws-sdk/core/package.json +1 -1
- package/node_modules/@aws-sdk/credential-provider-env/package.json +2 -2
- package/node_modules/@aws-sdk/credential-provider-http/package.json +2 -2
- package/node_modules/@aws-sdk/credential-provider-ini/package.json +9 -9
- package/node_modules/@aws-sdk/credential-provider-login/package.json +3 -3
- package/node_modules/@aws-sdk/credential-provider-node/package.json +7 -7
- package/node_modules/@aws-sdk/credential-provider-process/package.json +2 -2
- package/node_modules/@aws-sdk/credential-provider-sso/package.json +4 -4
- package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +3 -3
- package/node_modules/@aws-sdk/middleware-sdk-s3/package.json +2 -2
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/index.js +1 -1
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/index.js +1 -1
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/index.js +1 -1
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/index.js +1 -1
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/index.js +1 -1
- package/node_modules/@aws-sdk/nested-clients/package.json +2 -2
- package/node_modules/@aws-sdk/token-providers/package.json +3 -3
- package/package.json +11 -10
- package/renovate.json5 +1 -0
- package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.2819175352ad1ce0dae768e83fc328fb70fb5f10b4a8ff0ccbcb791f02b0716d/index.js +0 -1
- package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/cfn-response.js +0 -1
- package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/framework.js +0 -3
- package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/outbound.js +0 -1
- package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/asset.2819175352ad1ce0dae768e83fc328fb70fb5f10b4a8ff0ccbcb791f02b0716d/index.js +0 -1
- package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/cfn-response.js +0 -1
- package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/framework.js +0 -3
- package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/outbound.js +0 -1
- package/integ-tests/integ.rootmail.ts.snapshot/asset.2819175352ad1ce0dae768e83fc328fb70fb5f10b4a8ff0ccbcb791f02b0716d/index.js +0 -1
- package/integ-tests/integ.rootmail.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/cfn-response.js +0 -1
- package/integ-tests/integ.rootmail.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/framework.js +0 -3
- package/integ-tests/integ.rootmail.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/outbound.js +0 -1
- /package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/{asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca → asset.e16ffb3b34af185b8b30c88fdb19faa13b6c42bb38580485c4e84b384ee48b63}/consts.js +0 -0
- /package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/{asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca → asset.e16ffb3b34af185b8b30c88fdb19faa13b6c42bb38580485c4e84b384ee48b63}/util.js +0 -0
- /package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/{asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca → asset.e16ffb3b34af185b8b30c88fdb19faa13b6c42bb38580485c4e84b384ee48b63}/consts.js +0 -0
- /package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/{asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca → asset.e16ffb3b34af185b8b30c88fdb19faa13b6c42bb38580485c4e84b384ee48b63}/util.js +0 -0
- /package/integ-tests/integ.rootmail.ts.snapshot/{asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca → asset.e16ffb3b34af185b8b30c88fdb19faa13b6c42bb38580485c4e84b384ee48b63}/consts.js +0 -0
- /package/integ-tests/integ.rootmail.ts.snapshot/{asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca → asset.e16ffb3b34af185b8b30c88fdb19faa13b6c42bb38580485c4e84b384ee48b63}/util.js +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-sdk/client-s3",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.1150.0",
|
|
4
4
|
"description": "AWS SDK for JavaScript S3 Client for Node.js, Browser and React Native",
|
|
5
5
|
"homepage": "https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -54,10 +54,10 @@
|
|
|
54
54
|
"test:index": "tsc -p tsconfig.test.json && node ./test/index-objects.spec.mjs"
|
|
55
55
|
},
|
|
56
56
|
"dependencies": {
|
|
57
|
-
"@aws-sdk/checksums": "^3.1001.
|
|
58
|
-
"@aws-sdk/core": "^3.978.
|
|
59
|
-
"@aws-sdk/credential-provider-node": "^3.972.
|
|
60
|
-
"@aws-sdk/middleware-sdk-s3": "^3.972.
|
|
57
|
+
"@aws-sdk/checksums": "^3.1001.3",
|
|
58
|
+
"@aws-sdk/core": "^3.978.3",
|
|
59
|
+
"@aws-sdk/credential-provider-node": "^3.972.86",
|
|
60
|
+
"@aws-sdk/middleware-sdk-s3": "^3.972.79",
|
|
61
61
|
"@aws-sdk/signature-v4-multi-region": "^3.996.48",
|
|
62
62
|
"@aws-sdk/types": "^3.974.6",
|
|
63
63
|
"@smithy/core": "^3.35.2",
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
"tslib": "^2.6.2"
|
|
68
68
|
},
|
|
69
69
|
"devDependencies": {
|
|
70
|
-
"@aws-sdk/signature-v4-crt": "3.
|
|
70
|
+
"@aws-sdk/signature-v4-crt": "3.1150.0",
|
|
71
71
|
"@smithy/snapshot-testing": "^2.3.2",
|
|
72
72
|
"@tsconfig/node20": "20.1.8",
|
|
73
73
|
"@types/node": "^20.14.8",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-sdk/client-ses",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.1150.0",
|
|
4
4
|
"description": "AWS SDK for JavaScript Ses Client for Node.js, Browser and React Native",
|
|
5
5
|
"homepage": "https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-ses",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -52,8 +52,8 @@
|
|
|
52
52
|
"test:index": "tsc -p tsconfig.test.json && node ./test/index-objects.spec.mjs"
|
|
53
53
|
},
|
|
54
54
|
"dependencies": {
|
|
55
|
-
"@aws-sdk/core": "^3.978.
|
|
56
|
-
"@aws-sdk/credential-provider-node": "^3.972.
|
|
55
|
+
"@aws-sdk/core": "^3.978.3",
|
|
56
|
+
"@aws-sdk/credential-provider-node": "^3.972.86",
|
|
57
57
|
"@aws-sdk/types": "^3.974.6",
|
|
58
58
|
"@smithy/core": "^3.35.2",
|
|
59
59
|
"@smithy/fetch-http-handler": "^5.8.0",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-sdk/client-ssm",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.1150.0",
|
|
4
4
|
"description": "AWS SDK for JavaScript Ssm Client for Node.js, Browser and React Native",
|
|
5
5
|
"homepage": "https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-ssm",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -48,8 +48,8 @@
|
|
|
48
48
|
"test:index": "tsc -p tsconfig.test.json && node ./test/index-objects.spec.mjs"
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"@aws-sdk/core": "^3.978.
|
|
52
|
-
"@aws-sdk/credential-provider-node": "^3.972.
|
|
51
|
+
"@aws-sdk/core": "^3.978.3",
|
|
52
|
+
"@aws-sdk/credential-provider-node": "^3.972.86",
|
|
53
53
|
"@aws-sdk/types": "^3.974.6",
|
|
54
54
|
"@smithy/core": "^3.35.2",
|
|
55
55
|
"@smithy/fetch-http-handler": "^5.8.0",
|
|
@@ -3,6 +3,7 @@ const { setCredentialFeature } = require("@aws-sdk/core/client");
|
|
|
3
3
|
const { normalizeProvider, memoizeIdentityProvider, isIdentityExpired, doesIdentityRequireRefresh } = require("@smithy/core");
|
|
4
4
|
const { SignatureV4 } = require("@smithy/signature-v4");
|
|
5
5
|
const { HttpResponse, HttpRequest } = require("@smithy/core/protocols");
|
|
6
|
+
const { SMITHY_CONTEXT_KEY } = require("@smithy/types");
|
|
6
7
|
|
|
7
8
|
const getDateHeader = (response) => HttpResponse.isInstance(response) ? (response.headers?.date ?? response.headers?.Date) : undefined;
|
|
8
9
|
const getAgeHeader = (response) => HttpResponse.isInstance(response) ? (response.headers?.age ?? response.headers?.Age) : undefined;
|
|
@@ -30,6 +31,12 @@ const throwSigningPropertyError = (name, property) => {
|
|
|
30
31
|
}
|
|
31
32
|
return property;
|
|
32
33
|
};
|
|
34
|
+
const hasEventStreamOutput = (signingProperties) => {
|
|
35
|
+
const context = signingProperties.context;
|
|
36
|
+
const eventStream = context?.[SMITHY_CONTEXT_KEY]
|
|
37
|
+
?.eventStream;
|
|
38
|
+
return eventStream?.output === true;
|
|
39
|
+
};
|
|
33
40
|
const validateSigningProperties = async (signingProperties) => {
|
|
34
41
|
const context = throwSigningPropertyError("context", signingProperties.context);
|
|
35
42
|
const config = throwSigningPropertyError("config", signingProperties.config);
|
|
@@ -65,7 +72,9 @@ class AwsSdkSigV4Signer {
|
|
|
65
72
|
}
|
|
66
73
|
const noSkewCorrection = (await config.disableClockSkewCorrection?.()) === true;
|
|
67
74
|
signingProperties._disableClockSkewCorrection = noSkewCorrection;
|
|
68
|
-
|
|
75
|
+
const skipSkewSampling = noSkewCorrection || hasEventStreamOutput(signingProperties);
|
|
76
|
+
signingProperties._skipClockSkewSampling = skipSkewSampling;
|
|
77
|
+
if (!skipSkewSampling) {
|
|
69
78
|
signingProperties._preRequestSystemClockOffset = config.systemClockOffset;
|
|
70
79
|
signingProperties._requestSentAt = Date.now();
|
|
71
80
|
}
|
|
@@ -79,7 +88,7 @@ class AwsSdkSigV4Signer {
|
|
|
79
88
|
errorHandler(signingProperties) {
|
|
80
89
|
return (error) => {
|
|
81
90
|
const errorException = error;
|
|
82
|
-
if (!signingProperties._disableClockSkewCorrection) {
|
|
91
|
+
if (!signingProperties._skipClockSkewSampling && !signingProperties._disableClockSkewCorrection) {
|
|
83
92
|
const serverTime = errorException.ServerTime ?? getDateHeader(errorException.$response);
|
|
84
93
|
if (serverTime) {
|
|
85
94
|
const config = throwSigningPropertyError("config", signingProperties.config);
|
|
@@ -100,7 +109,7 @@ class AwsSdkSigV4Signer {
|
|
|
100
109
|
};
|
|
101
110
|
}
|
|
102
111
|
successHandler(httpResponse, signingProperties) {
|
|
103
|
-
if (signingProperties._disableClockSkewCorrection) {
|
|
112
|
+
if (signingProperties._skipClockSkewSampling || signingProperties._disableClockSkewCorrection) {
|
|
104
113
|
return;
|
|
105
114
|
}
|
|
106
115
|
const dateHeader = getDateHeader(httpResponse);
|
package/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4Signer.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { HttpRequest } from "@smithy/core/protocols";
|
|
2
|
+
import { SMITHY_CONTEXT_KEY } from "@smithy/types";
|
|
2
3
|
import { getAgeHeader, getDateHeader, getSkewCorrectedDate, getUpdatedSystemClockOffset } from "../utils";
|
|
3
4
|
const throwSigningPropertyError = (name, property) => {
|
|
4
5
|
if (!property) {
|
|
@@ -6,6 +7,12 @@ const throwSigningPropertyError = (name, property) => {
|
|
|
6
7
|
}
|
|
7
8
|
return property;
|
|
8
9
|
};
|
|
10
|
+
const hasEventStreamOutput = (signingProperties) => {
|
|
11
|
+
const context = signingProperties.context;
|
|
12
|
+
const eventStream = context?.[SMITHY_CONTEXT_KEY]
|
|
13
|
+
?.eventStream;
|
|
14
|
+
return eventStream?.output === true;
|
|
15
|
+
};
|
|
9
16
|
export const validateSigningProperties = async (signingProperties) => {
|
|
10
17
|
const context = throwSigningPropertyError("context", signingProperties.context);
|
|
11
18
|
const config = throwSigningPropertyError("config", signingProperties.config);
|
|
@@ -41,7 +48,9 @@ export class AwsSdkSigV4Signer {
|
|
|
41
48
|
}
|
|
42
49
|
const noSkewCorrection = (await config.disableClockSkewCorrection?.()) === true;
|
|
43
50
|
signingProperties._disableClockSkewCorrection = noSkewCorrection;
|
|
44
|
-
|
|
51
|
+
const skipSkewSampling = noSkewCorrection || hasEventStreamOutput(signingProperties);
|
|
52
|
+
signingProperties._skipClockSkewSampling = skipSkewSampling;
|
|
53
|
+
if (!skipSkewSampling) {
|
|
45
54
|
signingProperties._preRequestSystemClockOffset = config.systemClockOffset;
|
|
46
55
|
signingProperties._requestSentAt = Date.now();
|
|
47
56
|
}
|
|
@@ -55,7 +64,7 @@ export class AwsSdkSigV4Signer {
|
|
|
55
64
|
errorHandler(signingProperties) {
|
|
56
65
|
return (error) => {
|
|
57
66
|
const errorException = error;
|
|
58
|
-
if (!signingProperties._disableClockSkewCorrection) {
|
|
67
|
+
if (!signingProperties._skipClockSkewSampling && !signingProperties._disableClockSkewCorrection) {
|
|
59
68
|
const serverTime = errorException.ServerTime ?? getDateHeader(errorException.$response);
|
|
60
69
|
if (serverTime) {
|
|
61
70
|
const config = throwSigningPropertyError("config", signingProperties.config);
|
|
@@ -76,7 +85,7 @@ export class AwsSdkSigV4Signer {
|
|
|
76
85
|
};
|
|
77
86
|
}
|
|
78
87
|
successHandler(httpResponse, signingProperties) {
|
|
79
|
-
if (signingProperties._disableClockSkewCorrection) {
|
|
88
|
+
if (signingProperties._skipClockSkewSampling || signingProperties._disableClockSkewCorrection) {
|
|
80
89
|
return;
|
|
81
90
|
}
|
|
82
91
|
const dateHeader = getDateHeader(httpResponse);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-sdk/core",
|
|
3
|
-
"version": "3.978.
|
|
3
|
+
"version": "3.978.3",
|
|
4
4
|
"description": "Core functions & classes shared by multiple AWS SDK clients.",
|
|
5
5
|
"homepage": "https://github.com/aws/aws-sdk-js-v3/tree/main/packages-internal/core",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-sdk/credential-provider-env",
|
|
3
|
-
"version": "3.972.
|
|
3
|
+
"version": "3.972.74",
|
|
4
4
|
"description": "AWS credential provider that sources credentials from known environment variables",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"aws",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"test:watch": "yarn g:vitest watch"
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"@aws-sdk/core": "^3.978.
|
|
46
|
+
"@aws-sdk/core": "^3.978.3",
|
|
47
47
|
"@aws-sdk/types": "^3.974.6",
|
|
48
48
|
"@smithy/core": "^3.35.2",
|
|
49
49
|
"@smithy/types": "^4.19.0",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-sdk/credential-provider-http",
|
|
3
|
-
"version": "3.972.
|
|
3
|
+
"version": "3.972.76",
|
|
4
4
|
"description": "AWS credential provider for containers and HTTP sources",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"aws",
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
"test:integration:watch": "yarn g:vitest watch -c vitest.config.integ.mts"
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
56
|
-
"@aws-sdk/core": "^3.978.
|
|
56
|
+
"@aws-sdk/core": "^3.978.3",
|
|
57
57
|
"@aws-sdk/types": "^3.974.6",
|
|
58
58
|
"@smithy/core": "^3.35.2",
|
|
59
59
|
"@smithy/fetch-http-handler": "^5.8.0",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-sdk/credential-provider-ini",
|
|
3
|
-
"version": "3.973.
|
|
3
|
+
"version": "3.973.19",
|
|
4
4
|
"description": "AWS credential provider that sources credentials from ~/.aws/credentials and ~/.aws/config",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"aws",
|
|
@@ -45,14 +45,14 @@
|
|
|
45
45
|
"test:integration:watch": "yarn g:vitest watch -c vitest.config.integ.mts"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@aws-sdk/core": "^3.978.
|
|
49
|
-
"@aws-sdk/credential-provider-env": "^3.972.
|
|
50
|
-
"@aws-sdk/credential-provider-http": "^3.972.
|
|
51
|
-
"@aws-sdk/credential-provider-login": "^3.972.
|
|
52
|
-
"@aws-sdk/credential-provider-process": "^3.972.
|
|
53
|
-
"@aws-sdk/credential-provider-sso": "^3.973.
|
|
54
|
-
"@aws-sdk/credential-provider-web-identity": "^3.972.
|
|
55
|
-
"@aws-sdk/nested-clients": "^3.997.
|
|
48
|
+
"@aws-sdk/core": "^3.978.3",
|
|
49
|
+
"@aws-sdk/credential-provider-env": "^3.972.74",
|
|
50
|
+
"@aws-sdk/credential-provider-http": "^3.972.76",
|
|
51
|
+
"@aws-sdk/credential-provider-login": "^3.972.81",
|
|
52
|
+
"@aws-sdk/credential-provider-process": "^3.972.74",
|
|
53
|
+
"@aws-sdk/credential-provider-sso": "^3.973.18",
|
|
54
|
+
"@aws-sdk/credential-provider-web-identity": "^3.972.80",
|
|
55
|
+
"@aws-sdk/nested-clients": "^3.997.48",
|
|
56
56
|
"@aws-sdk/types": "^3.974.6",
|
|
57
57
|
"@smithy/core": "^3.35.2",
|
|
58
58
|
"@smithy/credential-provider-imds": "^4.5.2",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-sdk/credential-provider-login",
|
|
3
|
-
"version": "3.972.
|
|
3
|
+
"version": "3.972.81",
|
|
4
4
|
"description": "AWS credential provider that sources credentials from aws login cached tokens",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"aws",
|
|
@@ -45,8 +45,8 @@
|
|
|
45
45
|
"test:watch": "yarn g:vitest watch"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@aws-sdk/core": "^3.978.
|
|
49
|
-
"@aws-sdk/nested-clients": "^3.997.
|
|
48
|
+
"@aws-sdk/core": "^3.978.3",
|
|
49
|
+
"@aws-sdk/nested-clients": "^3.997.48",
|
|
50
50
|
"@aws-sdk/types": "^3.974.6",
|
|
51
51
|
"@smithy/core": "^3.35.2",
|
|
52
52
|
"@smithy/types": "^4.19.0",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-sdk/credential-provider-node",
|
|
3
|
-
"version": "3.972.
|
|
3
|
+
"version": "3.972.86",
|
|
4
4
|
"description": "AWS credential provider that sources credentials from a Node.JS environment. ",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"aws",
|
|
@@ -45,12 +45,12 @@
|
|
|
45
45
|
"test:integration:watch": "yarn g:vitest watch -c vitest.config.integ.mts"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@aws-sdk/credential-provider-env": "^3.972.
|
|
49
|
-
"@aws-sdk/credential-provider-http": "^3.972.
|
|
50
|
-
"@aws-sdk/credential-provider-ini": "^3.973.
|
|
51
|
-
"@aws-sdk/credential-provider-process": "^3.972.
|
|
52
|
-
"@aws-sdk/credential-provider-sso": "^3.973.
|
|
53
|
-
"@aws-sdk/credential-provider-web-identity": "^3.972.
|
|
48
|
+
"@aws-sdk/credential-provider-env": "^3.972.74",
|
|
49
|
+
"@aws-sdk/credential-provider-http": "^3.972.76",
|
|
50
|
+
"@aws-sdk/credential-provider-ini": "^3.973.19",
|
|
51
|
+
"@aws-sdk/credential-provider-process": "^3.972.74",
|
|
52
|
+
"@aws-sdk/credential-provider-sso": "^3.973.18",
|
|
53
|
+
"@aws-sdk/credential-provider-web-identity": "^3.972.80",
|
|
54
54
|
"@aws-sdk/types": "^3.974.6",
|
|
55
55
|
"@smithy/core": "^3.35.2",
|
|
56
56
|
"@smithy/credential-provider-imds": "^4.5.2",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-sdk/credential-provider-process",
|
|
3
|
-
"version": "3.972.
|
|
3
|
+
"version": "3.972.74",
|
|
4
4
|
"description": "AWS credential provider that sources credential_process from ~/.aws/credentials and ~/.aws/config",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"aws",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"test:watch": "yarn g:vitest watch"
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"@aws-sdk/core": "^3.978.
|
|
46
|
+
"@aws-sdk/core": "^3.978.3",
|
|
47
47
|
"@aws-sdk/types": "^3.974.6",
|
|
48
48
|
"@smithy/core": "^3.35.2",
|
|
49
49
|
"@smithy/types": "^4.19.0",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-sdk/credential-provider-sso",
|
|
3
|
-
"version": "3.973.
|
|
3
|
+
"version": "3.973.18",
|
|
4
4
|
"description": "AWS credential provider that exchanges a resolved SSO login token file for temporary AWS credentials",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"aws",
|
|
@@ -45,9 +45,9 @@
|
|
|
45
45
|
"test:integration:watch": "yarn g:vitest watch -c vitest.config.integ.mts"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@aws-sdk/core": "^3.978.
|
|
49
|
-
"@aws-sdk/nested-clients": "^3.997.
|
|
50
|
-
"@aws-sdk/token-providers": "3.
|
|
48
|
+
"@aws-sdk/core": "^3.978.3",
|
|
49
|
+
"@aws-sdk/nested-clients": "^3.997.48",
|
|
50
|
+
"@aws-sdk/token-providers": "3.1150.0",
|
|
51
51
|
"@aws-sdk/types": "^3.974.6",
|
|
52
52
|
"@smithy/core": "^3.35.2",
|
|
53
53
|
"@smithy/types": "^4.19.0",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-sdk/credential-provider-web-identity",
|
|
3
|
-
"version": "3.972.
|
|
3
|
+
"version": "3.972.80",
|
|
4
4
|
"description": "AWS credential provider that calls STS assumeRole for temporary AWS credentials",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"aws",
|
|
@@ -50,8 +50,8 @@
|
|
|
50
50
|
"test:watch": "yarn g:vitest watch"
|
|
51
51
|
},
|
|
52
52
|
"dependencies": {
|
|
53
|
-
"@aws-sdk/core": "^3.978.
|
|
54
|
-
"@aws-sdk/nested-clients": "^3.997.
|
|
53
|
+
"@aws-sdk/core": "^3.978.3",
|
|
54
|
+
"@aws-sdk/nested-clients": "^3.997.48",
|
|
55
55
|
"@aws-sdk/types": "^3.974.6",
|
|
56
56
|
"@smithy/core": "^3.35.2",
|
|
57
57
|
"@smithy/types": "^4.19.0",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-sdk/middleware-sdk-s3",
|
|
3
|
-
"version": "3.972.
|
|
3
|
+
"version": "3.972.79",
|
|
4
4
|
"homepage": "https://github.com/aws/aws-sdk-js-v3/tree/main/packages-internal/middleware-sdk-s3",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": {
|
|
@@ -94,7 +94,7 @@
|
|
|
94
94
|
"test:types": "tsc -p tsconfig.test.json"
|
|
95
95
|
},
|
|
96
96
|
"dependencies": {
|
|
97
|
-
"@aws-sdk/core": "^3.978.
|
|
97
|
+
"@aws-sdk/core": "^3.978.3",
|
|
98
98
|
"@aws-sdk/signature-v4-multi-region": "^3.996.48",
|
|
99
99
|
"@aws-sdk/types": "^3.974.6",
|
|
100
100
|
"@smithy/core": "^3.35.2",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-sdk/nested-clients",
|
|
3
|
-
"version": "3.997.
|
|
3
|
+
"version": "3.997.48",
|
|
4
4
|
"description": "Nested clients for AWS SDK packages.",
|
|
5
5
|
"homepage": "https://github.com/aws/aws-sdk-js-v3/tree/main/packages/nested-clients",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -100,7 +100,7 @@
|
|
|
100
100
|
"test:watch": "yarn g:vitest watch"
|
|
101
101
|
},
|
|
102
102
|
"dependencies": {
|
|
103
|
-
"@aws-sdk/core": "^3.978.
|
|
103
|
+
"@aws-sdk/core": "^3.978.3",
|
|
104
104
|
"@aws-sdk/signature-v4-multi-region": "^3.996.48",
|
|
105
105
|
"@aws-sdk/types": "^3.974.6",
|
|
106
106
|
"@smithy/core": "^3.35.2",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-sdk/token-providers",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.1150.0",
|
|
4
4
|
"description": "A collection of token providers",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"aws",
|
|
@@ -48,8 +48,8 @@
|
|
|
48
48
|
"test:integration:watch": "yarn g:vitest watch -c vitest.config.integ.mts"
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"@aws-sdk/core": "^3.978.
|
|
52
|
-
"@aws-sdk/nested-clients": "^3.997.
|
|
51
|
+
"@aws-sdk/core": "^3.978.3",
|
|
52
|
+
"@aws-sdk/nested-clients": "^3.997.48",
|
|
53
53
|
"@aws-sdk/types": "^3.974.6",
|
|
54
54
|
"@smithy/core": "^3.35.2",
|
|
55
55
|
"@smithy/types": "^4.19.0",
|
package/package.json
CHANGED
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"organization": true
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
|
-
"@aws-cdk/integ-runner": "2.205.
|
|
43
|
+
"@aws-cdk/integ-runner": "2.205.6",
|
|
44
44
|
"@aws-cdk/integ-tests-alpha": "2.263.0-alpha.0",
|
|
45
45
|
"@commitlint/cli": "^20.1.0",
|
|
46
46
|
"@commitlint/config-conventional": "^20.0.0",
|
|
@@ -55,7 +55,8 @@
|
|
|
55
55
|
"@typescript-eslint/parser": "^8",
|
|
56
56
|
"aws-cdk-lib": "2.263.0",
|
|
57
57
|
"awslint": "2.263.0-alpha.0",
|
|
58
|
-
"commit-and-tag-version": "^
|
|
58
|
+
"commit-and-tag-version": "^13",
|
|
59
|
+
"conventional-changelog-conventionalcommits": "^10.4.0",
|
|
59
60
|
"eslint": "^9",
|
|
60
61
|
"eslint-import-resolver-typescript": "^4.4.5",
|
|
61
62
|
"eslint-plugin-import": "^2.32.0",
|
|
@@ -68,7 +69,7 @@
|
|
|
68
69
|
"jsii-pacmak": "^1.141.0",
|
|
69
70
|
"jsii-rosetta": "~5.9.0",
|
|
70
71
|
"jsonfile": "^6.2.1",
|
|
71
|
-
"projen": "^0.
|
|
72
|
+
"projen": "^0.104.5",
|
|
72
73
|
"ts-jest": "^29.4.14",
|
|
73
74
|
"ts-node": "^10.9.2",
|
|
74
75
|
"typescript": "^6.0.2"
|
|
@@ -78,12 +79,12 @@
|
|
|
78
79
|
"constructs": "^10.5.1"
|
|
79
80
|
},
|
|
80
81
|
"dependencies": {
|
|
81
|
-
"@aws-sdk/client-cloudwatch-logs": "^3.
|
|
82
|
-
"@aws-sdk/client-route-53": "^3.
|
|
83
|
-
"@aws-sdk/client-s3": "^3.
|
|
84
|
-
"@aws-sdk/client-ses": "^3.
|
|
85
|
-
"@aws-sdk/client-ssm": "^3.
|
|
86
|
-
"@mavogel/mvc-projen": "^0.0.
|
|
82
|
+
"@aws-sdk/client-cloudwatch-logs": "^3.1150.0",
|
|
83
|
+
"@aws-sdk/client-route-53": "^3.1150.0",
|
|
84
|
+
"@aws-sdk/client-s3": "^3.1150.0",
|
|
85
|
+
"@aws-sdk/client-ses": "^3.1150.0",
|
|
86
|
+
"@aws-sdk/client-ssm": "^3.1150.0",
|
|
87
|
+
"@mavogel/mvc-projen": "^0.0.59",
|
|
87
88
|
"cdk-nag": "^3.0.1",
|
|
88
89
|
"constructs": "^10.5.1",
|
|
89
90
|
"mailparser": "^3.9.38",
|
|
@@ -121,7 +122,7 @@
|
|
|
121
122
|
"publishConfig": {
|
|
122
123
|
"access": "public"
|
|
123
124
|
},
|
|
124
|
-
"version": "0.1.
|
|
125
|
+
"version": "0.1.18",
|
|
125
126
|
"jest": {
|
|
126
127
|
"coverageProvider": "v8",
|
|
127
128
|
"transformIgnorePatterns": [
|
package/renovate.json5
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";var h=Object.create,d=Object.defineProperty,P=Object.getOwnPropertyDescriptor,C=Object.getOwnPropertyNames,b=Object.getPrototypeOf,S=Object.prototype.hasOwnProperty,E=(e,o)=>{for(var n in o)d(e,n,{get:o[n],enumerable:!0})},p=(e,o,n,t)=>{if(o&&typeof o=="object"||typeof o=="function")for(let r of C(o))!S.call(e,r)&&r!==n&&d(e,r,{get:()=>o[r],enumerable:!(t=P(o,r))||t.enumerable});return e},G=(e,o,n)=>(n=e!=null?h(b(e)):{},p(o||!e||!e.__esModule?d(n,"default",{value:e,enumerable:!0}):n,e)),x=e=>p(d({},"__esModule",{value:!0}),e),O={};E(O,{disableSleepForTesting:()=>I,handler:()=>q}),module.exports=x(O);var i=G(require("@aws-sdk/client-cloudwatch-logs")),w=!1;function I(){w=!0}async function R(e,o,n){await n(async()=>{try{let t={logGroupName:e},r=new i.CreateLogGroupCommand(t);await o.send(r)}catch(t){if(t.name==="ResourceAlreadyExistsException")return;throw t}})}async function k(e,o,n){await n(async()=>{try{let t={logGroupName:e},r=new i.DeleteLogGroupCommand(t);await o.send(r)}catch(t){if(t.name==="ResourceNotFoundException")return;throw t}})}async function y(e,o,n,t){await n(async()=>{if(t){let r={logGroupName:e,retentionInDays:t},s=new i.PutRetentionPolicyCommand(r);await o.send(s)}else{let r={logGroupName:e},s=new i.DeleteRetentionPolicyCommand(r);await o.send(s)}})}async function q(e,o){try{console.log(JSON.stringify({...e,ResponseURL:"..."}));let t=e.ResourceProperties.LogGroupName,r=e.ResourceProperties.LogGroupRegion,s=L(e.ResourceProperties.SdkRetry?.maxRetries)??10,a=N(s),m={logger:console,region:r},c=new i.CloudWatchLogsClient(m);if((e.RequestType==="Create"||e.RequestType==="Update")&&(await R(t,c,a),await y(t,c,a,L(e.ResourceProperties.RetentionInDays)),e.RequestType==="Create")){let g=new i.CloudWatchLogsClient({logger:console,region:process.env.AWS_REGION});await R(`/aws/lambda/${o.functionName}`,g,a),await y(`/aws/lambda/${o.functionName}`,g,a,1)}e.RequestType==="Delete"&&e.ResourceProperties.RemovalPolicy==="destroy"&&await k(t,c,a),await n("SUCCESS","OK",t)}catch(t){console.log(t),await n("FAILED",t.message,e.ResourceProperties.LogGroupName)}function n(t,r,s){let a=JSON.stringify({Status:t,Reason:r,PhysicalResourceId:s,StackId:e.StackId,RequestId:e.RequestId,LogicalResourceId:e.LogicalResourceId,Data:{LogGroupName:e.ResourceProperties.LogGroupName}});console.log("Responding",a);let m=require("url").parse(e.ResponseURL),c={hostname:m.hostname,path:m.path,method:"PUT",headers:{"content-type":"","content-length":Buffer.byteLength(a,"utf8")}};return new Promise((g,l)=>{try{let u=require("https").request(c,g);u.on("error",l),u.write(a),u.end()}catch(u){l(u)}})}}function L(e,o=10){if(e!==void 0)return parseInt(e,o)}function N(e,o=1e3,n=6e4){return async t=>{let r=0;do try{return await t()}catch(s){if(f("OperationAbortedException",s)||f("ThrottlingException",s))if(r<e){r++,await D(W(r,o,n));continue}else throw new Error("Out of attempts to change log group");throw s}while(!0)}}function f(e,o){return o.name===e||o.message.includes(e)}function W(e,o,n){return Math.min(Math.round(Math.random()*o*2**e),n)}async function D(e){w&&(e=0),await new Promise(o=>setTimeout(o,e))}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Retry=exports.includeStackTraces=exports.MISSING_PHYSICAL_ID_MARKER=exports.CREATE_FAILED_PHYSICAL_ID_MARKER=void 0,exports.submitResponse=submitResponse,exports.safeHandler=safeHandler,exports.redactDataFromPayload=redactDataFromPayload;const url=require("url"),outbound_1=require("./outbound"),util_1=require("./util");exports.CREATE_FAILED_PHYSICAL_ID_MARKER="AWSCDK::CustomResourceProviderFramework::CREATE_FAILED",exports.MISSING_PHYSICAL_ID_MARKER="AWSCDK::CustomResourceProviderFramework::MISSING_PHYSICAL_ID";async function submitResponse(status,event,options={}){const json={Status:status,Reason:options.reason||status,StackId:event.StackId,RequestId:event.RequestId,PhysicalResourceId:event.PhysicalResourceId||exports.MISSING_PHYSICAL_ID_MARKER,LogicalResourceId:event.LogicalResourceId,NoEcho:options.noEcho,Data:event.Data},responseBody=JSON.stringify(json),parsedUrl=url.parse(event.ResponseURL),loggingSafeUrl=`${parsedUrl.protocol}//${parsedUrl.hostname}/${parsedUrl.pathname}?***`;options?.noEcho?(0,util_1.log)("submit redacted response to cloudformation",loggingSafeUrl,redactDataFromPayload(json)):(0,util_1.log)("submit response to cloudformation",loggingSafeUrl,json);const retryOptions={attempts:5,sleep:1e3};await(0,util_1.withRetries)(retryOptions,outbound_1.httpRequest)({hostname:parsedUrl.hostname,path:parsedUrl.path,method:"PUT",headers:{"content-type":"","content-length":Buffer.byteLength(responseBody,"utf8")}},responseBody)}exports.includeStackTraces=!0;function safeHandler(block){return async event=>{if(event.RequestType==="Delete"&&event.PhysicalResourceId===exports.CREATE_FAILED_PHYSICAL_ID_MARKER){(0,util_1.log)("ignoring DELETE event caused by a failed CREATE event"),await submitResponse("SUCCESS",event);return}try{await block(event)}catch(e){if(e instanceof Retry)throw(0,util_1.log)("retry requested by handler"),e;event.PhysicalResourceId||(event.RequestType==="Create"?((0,util_1.log)("CREATE failed, responding with a marker physical resource id so that the subsequent DELETE will be ignored"),event.PhysicalResourceId=exports.CREATE_FAILED_PHYSICAL_ID_MARKER):(0,util_1.log)(`ERROR: Malformed event. "PhysicalResourceId" is required: ${JSON.stringify({...event,ResponseURL:"..."})}`)),await submitResponse("FAILED",event,{reason:exports.includeStackTraces?e.stack:e.message})}}}function redactDataFromPayload(payload){const redactedPayload=JSON.parse(JSON.stringify(payload));if(redactedPayload.Data){const keys=Object.keys(redactedPayload.Data);for(const key of keys)redactedPayload.Data[key]="*****"}return redactedPayload}class Retry extends Error{}exports.Retry=Retry;
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";const cfnResponse=require("./cfn-response"),consts=require("./consts"),outbound_1=require("./outbound"),util_1=require("./util");async function onEvent(cfnRequest){const sanitizedRequest={...cfnRequest,ResponseURL:"..."};(0,util_1.log)("onEventHandler",sanitizedRequest),cfnRequest.ResourceProperties=cfnRequest.ResourceProperties||{};const onEventResult=await invokeUserFunction(consts.USER_ON_EVENT_FUNCTION_ARN_ENV,sanitizedRequest,cfnRequest.ResponseURL);onEventResult?.NoEcho?(0,util_1.log)("redacted onEvent returned:",cfnResponse.redactDataFromPayload(onEventResult)):(0,util_1.log)("onEvent returned:",onEventResult);const resourceEvent=createResponseEvent(cfnRequest,onEventResult),sanitizedEvent={...resourceEvent,ResponseURL:"..."};if(onEventResult?.NoEcho?(0,util_1.log)("readacted event:",cfnResponse.redactDataFromPayload(sanitizedEvent)):(0,util_1.log)("event:",sanitizedEvent),!process.env[consts.USER_IS_COMPLETE_FUNCTION_ARN_ENV])return cfnResponse.submitResponse("SUCCESS",resourceEvent,{noEcho:resourceEvent.NoEcho});const waiter={stateMachineArn:(0,util_1.getEnv)(consts.WAITER_STATE_MACHINE_ARN_ENV),name:resourceEvent.RequestId,input:JSON.stringify(resourceEvent)};(0,util_1.log)("starting waiter",{stateMachineArn:(0,util_1.getEnv)(consts.WAITER_STATE_MACHINE_ARN_ENV),name:resourceEvent.RequestId}),await(0,outbound_1.startExecution)(waiter)}async function isComplete(event){const sanitizedRequest={...event,ResponseURL:"..."};event?.NoEcho?(0,util_1.log)("redacted isComplete request",cfnResponse.redactDataFromPayload(sanitizedRequest)):(0,util_1.log)("isComplete",sanitizedRequest);const isCompleteResult=await invokeUserFunction(consts.USER_IS_COMPLETE_FUNCTION_ARN_ENV,sanitizedRequest,event.ResponseURL);if(event?.NoEcho?(0,util_1.log)("redacted user isComplete returned:",cfnResponse.redactDataFromPayload(isCompleteResult)):(0,util_1.log)("user isComplete returned:",isCompleteResult),!isCompleteResult.IsComplete)throw isCompleteResult.Data&&Object.keys(isCompleteResult.Data).length>0?new Error('"Data" is not allowed if "IsComplete" is "False"'):new cfnResponse.Retry(JSON.stringify(event));const response={...event,...isCompleteResult,Data:{...event.Data,...isCompleteResult.Data}};await cfnResponse.submitResponse("SUCCESS",response,{noEcho:event.NoEcho})}async function onTimeout(timeoutEvent){(0,util_1.log)("timeoutHandler",timeoutEvent);const isCompleteRequest=JSON.parse(JSON.parse(timeoutEvent.Cause).errorMessage);await cfnResponse.submitResponse("FAILED",isCompleteRequest,{reason:"Operation timed out"})}async function invokeUserFunction(functionArnEnv,sanitizedPayload,responseUrl){const functionArn=(0,util_1.getEnv)(functionArnEnv);(0,util_1.log)(`executing user function ${functionArn} with payload`,sanitizedPayload);const resp=await(0,outbound_1.invokeFunction)({FunctionName:functionArn,Payload:JSON.stringify({...sanitizedPayload,ResponseURL:responseUrl})});(0,util_1.log)("user function response:",resp,typeof resp);const jsonPayload=(0,util_1.parseJsonPayload)(resp.Payload);if(resp.FunctionError){(0,util_1.log)("user function threw an error:",resp.FunctionError);const errorMessage=jsonPayload.errorMessage||"error",arn=functionArn.split(":"),functionName=arn[arn.length-1],message=[errorMessage,"",`Logs: /aws/lambda/${functionName}`,""].join(`
|
|
2
|
-
`),e=new Error(message);throw jsonPayload.trace&&(e.stack=[message,...jsonPayload.trace.slice(1)].join(`
|
|
3
|
-
`)),e}return jsonPayload}function createResponseEvent(cfnRequest,onEventResult){onEventResult=onEventResult||{};const physicalResourceId=onEventResult.PhysicalResourceId||defaultPhysicalResourceId(cfnRequest);if(cfnRequest.RequestType==="Delete"&&physicalResourceId!==cfnRequest.PhysicalResourceId)throw new Error(`DELETE: cannot change the physical resource ID from "${cfnRequest.PhysicalResourceId}" to "${onEventResult.PhysicalResourceId}" during deletion`);return cfnRequest.RequestType==="Update"&&physicalResourceId!==cfnRequest.PhysicalResourceId&&(0,util_1.log)(`UPDATE: changing physical resource ID from "${cfnRequest.PhysicalResourceId}" to "${onEventResult.PhysicalResourceId}"`),{...cfnRequest,...onEventResult,PhysicalResourceId:physicalResourceId}}function defaultPhysicalResourceId(req){switch(req.RequestType){case"Create":return req.RequestId;case"Update":case"Delete":return req.PhysicalResourceId;default:throw new Error(`Invalid "RequestType" in request "${JSON.stringify(req)}"`)}}module.exports={[consts.FRAMEWORK_ON_EVENT_HANDLER_NAME]:cfnResponse.safeHandler(onEvent),[consts.FRAMEWORK_IS_COMPLETE_HANDLER_NAME]:cfnResponse.safeHandler(isComplete),[consts.FRAMEWORK_ON_TIMEOUT_HANDLER_NAME]:onTimeout};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.httpRequest=exports.invokeFunction=exports.startExecution=void 0;const https=require("https"),client_lambda_1=require("@aws-sdk/client-lambda"),client_sfn_1=require("@aws-sdk/client-sfn"),FRAMEWORK_HANDLER_TIMEOUT=9e5,awsSdkConfig={httpOptions:{timeout:FRAMEWORK_HANDLER_TIMEOUT}};async function defaultHttpRequest(options,requestBody){return new Promise((resolve,reject)=>{try{const request=https.request(options,response=>{response.resume(),!response.statusCode||response.statusCode>=400?reject(new Error(`Unsuccessful HTTP response: ${response.statusCode}`)):resolve()});request.on("error",reject),request.write(requestBody),request.end()}catch(e){reject(e)}})}let sfn,lambda;async function defaultStartExecution(req){return sfn||(sfn=new client_sfn_1.SFN(awsSdkConfig)),sfn.startExecution(req)}async function defaultInvokeFunction(req){lambda||(lambda=new client_lambda_1.Lambda(awsSdkConfig));try{return await lambda.invoke(req)}catch{return await(0,client_lambda_1.waitUntilFunctionActiveV2)({client:lambda,maxWaitTime:300},{FunctionName:req.FunctionName}),lambda.invoke(req)}}exports.startExecution=defaultStartExecution,exports.invokeFunction=defaultInvokeFunction,exports.httpRequest=defaultHttpRequest;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";var h=Object.create,d=Object.defineProperty,P=Object.getOwnPropertyDescriptor,C=Object.getOwnPropertyNames,b=Object.getPrototypeOf,S=Object.prototype.hasOwnProperty,E=(e,o)=>{for(var n in o)d(e,n,{get:o[n],enumerable:!0})},p=(e,o,n,t)=>{if(o&&typeof o=="object"||typeof o=="function")for(let r of C(o))!S.call(e,r)&&r!==n&&d(e,r,{get:()=>o[r],enumerable:!(t=P(o,r))||t.enumerable});return e},G=(e,o,n)=>(n=e!=null?h(b(e)):{},p(o||!e||!e.__esModule?d(n,"default",{value:e,enumerable:!0}):n,e)),x=e=>p(d({},"__esModule",{value:!0}),e),O={};E(O,{disableSleepForTesting:()=>I,handler:()=>q}),module.exports=x(O);var i=G(require("@aws-sdk/client-cloudwatch-logs")),w=!1;function I(){w=!0}async function R(e,o,n){await n(async()=>{try{let t={logGroupName:e},r=new i.CreateLogGroupCommand(t);await o.send(r)}catch(t){if(t.name==="ResourceAlreadyExistsException")return;throw t}})}async function k(e,o,n){await n(async()=>{try{let t={logGroupName:e},r=new i.DeleteLogGroupCommand(t);await o.send(r)}catch(t){if(t.name==="ResourceNotFoundException")return;throw t}})}async function y(e,o,n,t){await n(async()=>{if(t){let r={logGroupName:e,retentionInDays:t},s=new i.PutRetentionPolicyCommand(r);await o.send(s)}else{let r={logGroupName:e},s=new i.DeleteRetentionPolicyCommand(r);await o.send(s)}})}async function q(e,o){try{console.log(JSON.stringify({...e,ResponseURL:"..."}));let t=e.ResourceProperties.LogGroupName,r=e.ResourceProperties.LogGroupRegion,s=L(e.ResourceProperties.SdkRetry?.maxRetries)??10,a=N(s),m={logger:console,region:r},c=new i.CloudWatchLogsClient(m);if((e.RequestType==="Create"||e.RequestType==="Update")&&(await R(t,c,a),await y(t,c,a,L(e.ResourceProperties.RetentionInDays)),e.RequestType==="Create")){let g=new i.CloudWatchLogsClient({logger:console,region:process.env.AWS_REGION});await R(`/aws/lambda/${o.functionName}`,g,a),await y(`/aws/lambda/${o.functionName}`,g,a,1)}e.RequestType==="Delete"&&e.ResourceProperties.RemovalPolicy==="destroy"&&await k(t,c,a),await n("SUCCESS","OK",t)}catch(t){console.log(t),await n("FAILED",t.message,e.ResourceProperties.LogGroupName)}function n(t,r,s){let a=JSON.stringify({Status:t,Reason:r,PhysicalResourceId:s,StackId:e.StackId,RequestId:e.RequestId,LogicalResourceId:e.LogicalResourceId,Data:{LogGroupName:e.ResourceProperties.LogGroupName}});console.log("Responding",a);let m=require("url").parse(e.ResponseURL),c={hostname:m.hostname,path:m.path,method:"PUT",headers:{"content-type":"","content-length":Buffer.byteLength(a,"utf8")}};return new Promise((g,l)=>{try{let u=require("https").request(c,g);u.on("error",l),u.write(a),u.end()}catch(u){l(u)}})}}function L(e,o=10){if(e!==void 0)return parseInt(e,o)}function N(e,o=1e3,n=6e4){return async t=>{let r=0;do try{return await t()}catch(s){if(f("OperationAbortedException",s)||f("ThrottlingException",s))if(r<e){r++,await D(W(r,o,n));continue}else throw new Error("Out of attempts to change log group");throw s}while(!0)}}function f(e,o){return o.name===e||o.message.includes(e)}function W(e,o,n){return Math.min(Math.round(Math.random()*o*2**e),n)}async function D(e){w&&(e=0),await new Promise(o=>setTimeout(o,e))}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Retry=exports.includeStackTraces=exports.MISSING_PHYSICAL_ID_MARKER=exports.CREATE_FAILED_PHYSICAL_ID_MARKER=void 0,exports.submitResponse=submitResponse,exports.safeHandler=safeHandler,exports.redactDataFromPayload=redactDataFromPayload;const url=require("url"),outbound_1=require("./outbound"),util_1=require("./util");exports.CREATE_FAILED_PHYSICAL_ID_MARKER="AWSCDK::CustomResourceProviderFramework::CREATE_FAILED",exports.MISSING_PHYSICAL_ID_MARKER="AWSCDK::CustomResourceProviderFramework::MISSING_PHYSICAL_ID";async function submitResponse(status,event,options={}){const json={Status:status,Reason:options.reason||status,StackId:event.StackId,RequestId:event.RequestId,PhysicalResourceId:event.PhysicalResourceId||exports.MISSING_PHYSICAL_ID_MARKER,LogicalResourceId:event.LogicalResourceId,NoEcho:options.noEcho,Data:event.Data},responseBody=JSON.stringify(json),parsedUrl=url.parse(event.ResponseURL),loggingSafeUrl=`${parsedUrl.protocol}//${parsedUrl.hostname}/${parsedUrl.pathname}?***`;options?.noEcho?(0,util_1.log)("submit redacted response to cloudformation",loggingSafeUrl,redactDataFromPayload(json)):(0,util_1.log)("submit response to cloudformation",loggingSafeUrl,json);const retryOptions={attempts:5,sleep:1e3};await(0,util_1.withRetries)(retryOptions,outbound_1.httpRequest)({hostname:parsedUrl.hostname,path:parsedUrl.path,method:"PUT",headers:{"content-type":"","content-length":Buffer.byteLength(responseBody,"utf8")}},responseBody)}exports.includeStackTraces=!0;function safeHandler(block){return async event=>{if(event.RequestType==="Delete"&&event.PhysicalResourceId===exports.CREATE_FAILED_PHYSICAL_ID_MARKER){(0,util_1.log)("ignoring DELETE event caused by a failed CREATE event"),await submitResponse("SUCCESS",event);return}try{await block(event)}catch(e){if(e instanceof Retry)throw(0,util_1.log)("retry requested by handler"),e;event.PhysicalResourceId||(event.RequestType==="Create"?((0,util_1.log)("CREATE failed, responding with a marker physical resource id so that the subsequent DELETE will be ignored"),event.PhysicalResourceId=exports.CREATE_FAILED_PHYSICAL_ID_MARKER):(0,util_1.log)(`ERROR: Malformed event. "PhysicalResourceId" is required: ${JSON.stringify({...event,ResponseURL:"..."})}`)),await submitResponse("FAILED",event,{reason:exports.includeStackTraces?e.stack:e.message})}}}function redactDataFromPayload(payload){const redactedPayload=JSON.parse(JSON.stringify(payload));if(redactedPayload.Data){const keys=Object.keys(redactedPayload.Data);for(const key of keys)redactedPayload.Data[key]="*****"}return redactedPayload}class Retry extends Error{}exports.Retry=Retry;
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";const cfnResponse=require("./cfn-response"),consts=require("./consts"),outbound_1=require("./outbound"),util_1=require("./util");async function onEvent(cfnRequest){const sanitizedRequest={...cfnRequest,ResponseURL:"..."};(0,util_1.log)("onEventHandler",sanitizedRequest),cfnRequest.ResourceProperties=cfnRequest.ResourceProperties||{};const onEventResult=await invokeUserFunction(consts.USER_ON_EVENT_FUNCTION_ARN_ENV,sanitizedRequest,cfnRequest.ResponseURL);onEventResult?.NoEcho?(0,util_1.log)("redacted onEvent returned:",cfnResponse.redactDataFromPayload(onEventResult)):(0,util_1.log)("onEvent returned:",onEventResult);const resourceEvent=createResponseEvent(cfnRequest,onEventResult),sanitizedEvent={...resourceEvent,ResponseURL:"..."};if(onEventResult?.NoEcho?(0,util_1.log)("readacted event:",cfnResponse.redactDataFromPayload(sanitizedEvent)):(0,util_1.log)("event:",sanitizedEvent),!process.env[consts.USER_IS_COMPLETE_FUNCTION_ARN_ENV])return cfnResponse.submitResponse("SUCCESS",resourceEvent,{noEcho:resourceEvent.NoEcho});const waiter={stateMachineArn:(0,util_1.getEnv)(consts.WAITER_STATE_MACHINE_ARN_ENV),name:resourceEvent.RequestId,input:JSON.stringify(resourceEvent)};(0,util_1.log)("starting waiter",{stateMachineArn:(0,util_1.getEnv)(consts.WAITER_STATE_MACHINE_ARN_ENV),name:resourceEvent.RequestId}),await(0,outbound_1.startExecution)(waiter)}async function isComplete(event){const sanitizedRequest={...event,ResponseURL:"..."};event?.NoEcho?(0,util_1.log)("redacted isComplete request",cfnResponse.redactDataFromPayload(sanitizedRequest)):(0,util_1.log)("isComplete",sanitizedRequest);const isCompleteResult=await invokeUserFunction(consts.USER_IS_COMPLETE_FUNCTION_ARN_ENV,sanitizedRequest,event.ResponseURL);if(event?.NoEcho?(0,util_1.log)("redacted user isComplete returned:",cfnResponse.redactDataFromPayload(isCompleteResult)):(0,util_1.log)("user isComplete returned:",isCompleteResult),!isCompleteResult.IsComplete)throw isCompleteResult.Data&&Object.keys(isCompleteResult.Data).length>0?new Error('"Data" is not allowed if "IsComplete" is "False"'):new cfnResponse.Retry(JSON.stringify(event));const response={...event,...isCompleteResult,Data:{...event.Data,...isCompleteResult.Data}};await cfnResponse.submitResponse("SUCCESS",response,{noEcho:event.NoEcho})}async function onTimeout(timeoutEvent){(0,util_1.log)("timeoutHandler",timeoutEvent);const isCompleteRequest=JSON.parse(JSON.parse(timeoutEvent.Cause).errorMessage);await cfnResponse.submitResponse("FAILED",isCompleteRequest,{reason:"Operation timed out"})}async function invokeUserFunction(functionArnEnv,sanitizedPayload,responseUrl){const functionArn=(0,util_1.getEnv)(functionArnEnv);(0,util_1.log)(`executing user function ${functionArn} with payload`,sanitizedPayload);const resp=await(0,outbound_1.invokeFunction)({FunctionName:functionArn,Payload:JSON.stringify({...sanitizedPayload,ResponseURL:responseUrl})});(0,util_1.log)("user function response:",resp,typeof resp);const jsonPayload=(0,util_1.parseJsonPayload)(resp.Payload);if(resp.FunctionError){(0,util_1.log)("user function threw an error:",resp.FunctionError);const errorMessage=jsonPayload.errorMessage||"error",arn=functionArn.split(":"),functionName=arn[arn.length-1],message=[errorMessage,"",`Logs: /aws/lambda/${functionName}`,""].join(`
|
|
2
|
-
`),e=new Error(message);throw jsonPayload.trace&&(e.stack=[message,...jsonPayload.trace.slice(1)].join(`
|
|
3
|
-
`)),e}return jsonPayload}function createResponseEvent(cfnRequest,onEventResult){onEventResult=onEventResult||{};const physicalResourceId=onEventResult.PhysicalResourceId||defaultPhysicalResourceId(cfnRequest);if(cfnRequest.RequestType==="Delete"&&physicalResourceId!==cfnRequest.PhysicalResourceId)throw new Error(`DELETE: cannot change the physical resource ID from "${cfnRequest.PhysicalResourceId}" to "${onEventResult.PhysicalResourceId}" during deletion`);return cfnRequest.RequestType==="Update"&&physicalResourceId!==cfnRequest.PhysicalResourceId&&(0,util_1.log)(`UPDATE: changing physical resource ID from "${cfnRequest.PhysicalResourceId}" to "${onEventResult.PhysicalResourceId}"`),{...cfnRequest,...onEventResult,PhysicalResourceId:physicalResourceId}}function defaultPhysicalResourceId(req){switch(req.RequestType){case"Create":return req.RequestId;case"Update":case"Delete":return req.PhysicalResourceId;default:throw new Error(`Invalid "RequestType" in request "${JSON.stringify(req)}"`)}}module.exports={[consts.FRAMEWORK_ON_EVENT_HANDLER_NAME]:cfnResponse.safeHandler(onEvent),[consts.FRAMEWORK_IS_COMPLETE_HANDLER_NAME]:cfnResponse.safeHandler(isComplete),[consts.FRAMEWORK_ON_TIMEOUT_HANDLER_NAME]:onTimeout};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.httpRequest=exports.invokeFunction=exports.startExecution=void 0;const https=require("https"),client_lambda_1=require("@aws-sdk/client-lambda"),client_sfn_1=require("@aws-sdk/client-sfn"),FRAMEWORK_HANDLER_TIMEOUT=9e5,awsSdkConfig={httpOptions:{timeout:FRAMEWORK_HANDLER_TIMEOUT}};async function defaultHttpRequest(options,requestBody){return new Promise((resolve,reject)=>{try{const request=https.request(options,response=>{response.resume(),!response.statusCode||response.statusCode>=400?reject(new Error(`Unsuccessful HTTP response: ${response.statusCode}`)):resolve()});request.on("error",reject),request.write(requestBody),request.end()}catch(e){reject(e)}})}let sfn,lambda;async function defaultStartExecution(req){return sfn||(sfn=new client_sfn_1.SFN(awsSdkConfig)),sfn.startExecution(req)}async function defaultInvokeFunction(req){lambda||(lambda=new client_lambda_1.Lambda(awsSdkConfig));try{return await lambda.invoke(req)}catch{return await(0,client_lambda_1.waitUntilFunctionActiveV2)({client:lambda,maxWaitTime:300},{FunctionName:req.FunctionName}),lambda.invoke(req)}}exports.startExecution=defaultStartExecution,exports.invokeFunction=defaultInvokeFunction,exports.httpRequest=defaultHttpRequest;
|