@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.
Files changed (116) hide show
  1. package/.jsii +19 -19
  2. package/README.md +2 -2
  3. package/integ-tests/integ.rootmail-custom-santa.ts +3 -2
  4. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/RootmailIntegTestStack.assets.json +31 -33
  5. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/RootmailIntegTestStack.metadata.json +3923 -0
  6. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/RootmailIntegTestStack.template.json +432 -2072
  7. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.assets.json +9 -8
  8. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.metadata.json +84 -0
  9. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.template.json +29 -139
  10. package/integ-tests/{integ.rootmail-filter-subject.ts.snapshot/asset.b01091642674a865788c271ec84db9d88a8dfbe14d4d95583aca8814cfa848b9 → integ.rootmail-custom-santa.ts.snapshot/asset.3a99c40cdc76ed5458a3eba04a84e2a224db6d82fec9c3754279f76e43c0fe86}/index.js +10270 -3218
  11. package/integ-tests/{integ.rootmail.ts.snapshot/asset.f692c9f68e4daba2abc99103efd3518bced1e9d7a2a89847b9b5d5473c64f1bd.bundle → integ.rootmail-custom-santa.ts.snapshot/asset.6ffc47b88143a52aa50e26c31da776854b28dff0e45b1a97d7c1e530d59590ad.bundle}/index.js +8324 -8070
  12. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.e16ffb3b34af185b8b30c88fdb19faa13b6c42bb38580485c4e84b384ee48b63/cfn-response.js +1 -0
  13. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.e16ffb3b34af185b8b30c88fdb19faa13b6c42bb38580485c4e84b384ee48b63/framework.js +3 -0
  14. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.e16ffb3b34af185b8b30c88fdb19faa13b6c42bb38580485c4e84b384ee48b63/outbound.js +1 -0
  15. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/integ.json +5 -3
  16. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/manifest.json +549 -734
  17. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/tree.json +1 -6407
  18. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/validation-report.json +5 -0
  19. package/integ-tests/integ.rootmail-filter-subject.ts +3 -2
  20. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/RootmailIntegTestStack.assets.json +31 -33
  21. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/RootmailIntegTestStack.metadata.json +3923 -0
  22. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/RootmailIntegTestStack.template.json +432 -2072
  23. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.assets.json +9 -8
  24. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.metadata.json +84 -0
  25. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.template.json +29 -139
  26. package/integ-tests/{integ.rootmail-custom-santa.ts.snapshot/asset.b01091642674a865788c271ec84db9d88a8dfbe14d4d95583aca8814cfa848b9 → integ.rootmail-filter-subject.ts.snapshot/asset.3a99c40cdc76ed5458a3eba04a84e2a224db6d82fec9c3754279f76e43c0fe86}/index.js +10270 -3218
  27. 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
  28. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/asset.e16ffb3b34af185b8b30c88fdb19faa13b6c42bb38580485c4e84b384ee48b63/cfn-response.js +1 -0
  29. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/asset.e16ffb3b34af185b8b30c88fdb19faa13b6c42bb38580485c4e84b384ee48b63/framework.js +3 -0
  30. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/asset.e16ffb3b34af185b8b30c88fdb19faa13b6c42bb38580485c4e84b384ee48b63/outbound.js +1 -0
  31. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/integ.json +5 -3
  32. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/manifest.json +549 -734
  33. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/tree.json +1 -6407
  34. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/validation-report.json +5 -0
  35. package/integ-tests/integ.rootmail.ts +3 -2
  36. package/integ-tests/integ.rootmail.ts.snapshot/RootmailIntegTestStack.assets.json +60 -61
  37. package/integ-tests/integ.rootmail.ts.snapshot/RootmailIntegTestStack.metadata.json +3936 -0
  38. package/integ-tests/integ.rootmail.ts.snapshot/RootmailIntegTestStack.template.json +493 -2146
  39. package/integ-tests/integ.rootmail.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.assets.json +9 -8
  40. package/integ-tests/integ.rootmail.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.metadata.json +116 -0
  41. package/integ-tests/integ.rootmail.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.template.json +51 -143
  42. package/integ-tests/integ.rootmail.ts.snapshot/{asset.409d1db869dd0ed635bff94c855031afc92e9ac918a5d09651dd0b5316db1433 → asset.157ba1713f7224463b621261792d18081588ff306a9bc3f75e6c468fabbe1a60}/index.js +1 -1
  43. package/integ-tests/integ.rootmail.ts.snapshot/{asset.0cc54596504938d3858f36b8eaeb554817254230dfa52e23a70aad9e657b80b8 → asset.2b86f8b255c50c6eba274c368849bab1c7a3747c30ef5df4c96f8dea8fffa21e}/index.js +1 -1
  44. package/integ-tests/integ.rootmail.ts.snapshot/{asset.aca912f8a6aebc5dfd423aff79785b8fd7488473a4cf93aaa7ad0e442b548787 → asset.4c079063901e6478dbb5ace19e3123641ebf0da2ab648ecf52079c5bec154196}/index.js +1 -1
  45. package/integ-tests/integ.rootmail.ts.snapshot/{asset.ed72e1e93cae7d32d1a99c33e6f697428dc230c3922131e7ba121cc99a732f3f → asset.6ae1d1fcc0e69b0216c406dcb73136e88857dfc9a29784c57838e1fb0f9f7496}/index.js +1 -1
  46. package/integ-tests/{integ.rootmail-filter-subject.ts.snapshot/asset.f692c9f68e4daba2abc99103efd3518bced1e9d7a2a89847b9b5d5473c64f1bd.bundle → integ.rootmail.ts.snapshot/asset.6ffc47b88143a52aa50e26c31da776854b28dff0e45b1a97d7c1e530d59590ad.bundle}/index.js +8324 -8070
  47. package/integ-tests/integ.rootmail.ts.snapshot/{asset.7144c5a47b3904b1aa4b27be73803a4b684f4ef765d9df8fa767779d37106254 → asset.78b64aaf9aebb4eacbdd42197be10e9d5894360a642f7dcf79aeb84bb3552377}/index.js +1 -1
  48. package/integ-tests/integ.rootmail.ts.snapshot/{asset.f61472ea141af20f69ebb7a7718158fcb95d72410c0c2a2e72cc59b1822873fc → asset.7e8a681794eff5fda1841caa360113df5488ecf944055a69b8f1e5a687e269f5}/index.js +1 -1
  49. package/integ-tests/integ.rootmail.ts.snapshot/{asset.11768574bbd12c5ed10f463a68797423c366b61535ebc1b14951661b92657fa5 → asset.9572b451243318765beb576ae7528096b3879783dbaab795c02c01d7f4e83438}/index.js +1 -1
  50. package/integ-tests/integ.rootmail.ts.snapshot/{asset.9709438d0fbb508ea9bfee8683a274b4f9492f5e527eb28e0bd9e2bc96b9a08f → asset.be7d56b509650f7f97c406a745d8335992726086995e4cb4aaf50417ab40e803}/index.js +1 -1
  51. package/integ-tests/integ.rootmail.ts.snapshot/asset.e16ffb3b34af185b8b30c88fdb19faa13b6c42bb38580485c4e84b384ee48b63/cfn-response.js +1 -0
  52. package/integ-tests/integ.rootmail.ts.snapshot/asset.e16ffb3b34af185b8b30c88fdb19faa13b6c42bb38580485c4e84b384ee48b63/framework.js +3 -0
  53. package/integ-tests/integ.rootmail.ts.snapshot/asset.e16ffb3b34af185b8b30c88fdb19faa13b6c42bb38580485c4e84b384ee48b63/outbound.js +1 -0
  54. package/integ-tests/integ.rootmail.ts.snapshot/{asset.aa3a06cb0aae2ae75b5bdf62921fd207503fd54b0e711ebb20274f3e6afd3bfa → asset.ee814b07e4253e03bace8114424b313a76d41c6312b50dc336730835e39f5fa4}/index.js +10367 -3313
  55. package/integ-tests/integ.rootmail.ts.snapshot/{asset.11281c9e2a2b601c3421513ba7c9be4b643b04ba6a934192e52e46def7ab0830 → asset.f75274dd7677b6ef41f29d2dfc2c885b4f4e069d3fb8e67636bd89efd3f0fcad}/index.js +3 -1
  56. package/integ-tests/integ.rootmail.ts.snapshot/integ.json +5 -3
  57. package/integ-tests/integ.rootmail.ts.snapshot/manifest.json +548 -764
  58. package/integ-tests/integ.rootmail.ts.snapshot/tree.json +1 -6522
  59. package/integ-tests/integ.rootmail.ts.snapshot/validation-report.json +5 -0
  60. package/lib/hosted-zone-dkim-propagation.js +4 -4
  61. package/lib/hosted-zone-dkim-verification-records.js +3 -3
  62. package/lib/hosted-zone-dkim.js +1 -6
  63. package/lib/rootmail-autowire-dns.js +4 -4
  64. package/lib/rootmail.js +1 -1
  65. package/lib/ses-receipt-ruleset-activation.js +4 -4
  66. package/lib/ses-receive.js +3 -3
  67. package/node_modules/@aws-sdk/checksums/package.json +2 -2
  68. package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-cjs/index.js +1 -1
  69. package/node_modules/@aws-sdk/client-cloudwatch-logs/package.json +3 -3
  70. package/node_modules/@aws-sdk/client-route-53/dist-cjs/index.js +1 -1
  71. package/node_modules/@aws-sdk/client-route-53/package.json +3 -3
  72. package/node_modules/@aws-sdk/client-s3/dist-cjs/index.js +1 -1
  73. package/node_modules/@aws-sdk/client-s3/package.json +6 -6
  74. package/node_modules/@aws-sdk/client-ses/dist-cjs/index.js +1 -1
  75. package/node_modules/@aws-sdk/client-ses/package.json +3 -3
  76. package/node_modules/@aws-sdk/client-ssm/dist-cjs/index.js +1 -1
  77. package/node_modules/@aws-sdk/client-ssm/package.json +3 -3
  78. package/node_modules/@aws-sdk/core/dist-cjs/submodules/httpAuthSchemes/index.js +12 -3
  79. package/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4Signer.js +12 -3
  80. package/node_modules/@aws-sdk/core/package.json +1 -1
  81. package/node_modules/@aws-sdk/credential-provider-env/package.json +2 -2
  82. package/node_modules/@aws-sdk/credential-provider-http/package.json +2 -2
  83. package/node_modules/@aws-sdk/credential-provider-ini/package.json +9 -9
  84. package/node_modules/@aws-sdk/credential-provider-login/package.json +3 -3
  85. package/node_modules/@aws-sdk/credential-provider-node/package.json +7 -7
  86. package/node_modules/@aws-sdk/credential-provider-process/package.json +2 -2
  87. package/node_modules/@aws-sdk/credential-provider-sso/package.json +4 -4
  88. package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +3 -3
  89. package/node_modules/@aws-sdk/middleware-sdk-s3/package.json +2 -2
  90. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/index.js +1 -1
  91. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/index.js +1 -1
  92. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/index.js +1 -1
  93. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/index.js +1 -1
  94. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/index.js +1 -1
  95. package/node_modules/@aws-sdk/nested-clients/package.json +2 -2
  96. package/node_modules/@aws-sdk/token-providers/package.json +3 -3
  97. package/package.json +11 -10
  98. package/renovate.json5 +1 -0
  99. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.2819175352ad1ce0dae768e83fc328fb70fb5f10b4a8ff0ccbcb791f02b0716d/index.js +0 -1
  100. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/cfn-response.js +0 -1
  101. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/framework.js +0 -3
  102. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/outbound.js +0 -1
  103. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/asset.2819175352ad1ce0dae768e83fc328fb70fb5f10b4a8ff0ccbcb791f02b0716d/index.js +0 -1
  104. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/cfn-response.js +0 -1
  105. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/framework.js +0 -3
  106. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/outbound.js +0 -1
  107. package/integ-tests/integ.rootmail.ts.snapshot/asset.2819175352ad1ce0dae768e83fc328fb70fb5f10b4a8ff0ccbcb791f02b0716d/index.js +0 -1
  108. package/integ-tests/integ.rootmail.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/cfn-response.js +0 -1
  109. package/integ-tests/integ.rootmail.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/framework.js +0 -3
  110. package/integ-tests/integ.rootmail.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/outbound.js +0 -1
  111. /package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/{asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca → asset.e16ffb3b34af185b8b30c88fdb19faa13b6c42bb38580485c4e84b384ee48b63}/consts.js +0 -0
  112. /package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/{asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca → asset.e16ffb3b34af185b8b30c88fdb19faa13b6c42bb38580485c4e84b384ee48b63}/util.js +0 -0
  113. /package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/{asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca → asset.e16ffb3b34af185b8b30c88fdb19faa13b6c42bb38580485c4e84b384ee48b63}/consts.js +0 -0
  114. /package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/{asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca → asset.e16ffb3b34af185b8b30c88fdb19faa13b6c42bb38580485c4e84b384ee48b63}/util.js +0 -0
  115. /package/integ-tests/integ.rootmail.ts.snapshot/{asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca → asset.e16ffb3b34af185b8b30c88fdb19faa13b6c42bb38580485c4e84b384ee48b63}/consts.js +0 -0
  116. /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.1149.0",
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.2",
58
- "@aws-sdk/core": "^3.978.2",
59
- "@aws-sdk/credential-provider-node": "^3.972.85",
60
- "@aws-sdk/middleware-sdk-s3": "^3.972.78",
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.1149.0",
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",
@@ -69,7 +69,7 @@ const commonParams = {
69
69
  UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
70
70
  };
71
71
 
72
- var version = "3.1148.0";
72
+ var version = "3.1149.0";
73
73
  var packageInfo = {
74
74
  version: version};
75
75
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-ses",
3
- "version": "3.1149.0",
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.2",
56
- "@aws-sdk/credential-provider-node": "^3.972.85",
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",
@@ -69,7 +69,7 @@ const commonParams = {
69
69
  UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
70
70
  };
71
71
 
72
- var version = "3.1148.0";
72
+ var version = "3.1149.0";
73
73
  var packageInfo = {
74
74
  version: version};
75
75
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-ssm",
3
- "version": "3.1149.0",
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.2",
52
- "@aws-sdk/credential-provider-node": "^3.972.85",
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
- if (!noSkewCorrection) {
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);
@@ -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
- if (!noSkewCorrection) {
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.2",
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.73",
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.2",
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.75",
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.2",
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.18",
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.2",
49
- "@aws-sdk/credential-provider-env": "^3.972.73",
50
- "@aws-sdk/credential-provider-http": "^3.972.75",
51
- "@aws-sdk/credential-provider-login": "^3.972.80",
52
- "@aws-sdk/credential-provider-process": "^3.972.73",
53
- "@aws-sdk/credential-provider-sso": "^3.973.17",
54
- "@aws-sdk/credential-provider-web-identity": "^3.972.79",
55
- "@aws-sdk/nested-clients": "^3.997.47",
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.80",
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.2",
49
- "@aws-sdk/nested-clients": "^3.997.47",
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.85",
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.73",
49
- "@aws-sdk/credential-provider-http": "^3.972.75",
50
- "@aws-sdk/credential-provider-ini": "^3.973.18",
51
- "@aws-sdk/credential-provider-process": "^3.972.73",
52
- "@aws-sdk/credential-provider-sso": "^3.973.17",
53
- "@aws-sdk/credential-provider-web-identity": "^3.972.79",
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.73",
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.2",
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.17",
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.2",
49
- "@aws-sdk/nested-clients": "^3.997.47",
50
- "@aws-sdk/token-providers": "3.1149.0",
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.79",
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.2",
54
- "@aws-sdk/nested-clients": "^3.997.47",
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.78",
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.2",
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",
@@ -83,7 +83,7 @@ const commonParams = {
83
83
  UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
84
84
  };
85
85
 
86
- var version = "3.997.46";
86
+ var version = "3.997.47";
87
87
  var packageInfo = {
88
88
  version: version};
89
89
 
@@ -78,7 +78,7 @@ const commonParams = {
78
78
  UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
79
79
  };
80
80
 
81
- var version = "3.997.46";
81
+ var version = "3.997.47";
82
82
  var packageInfo = {
83
83
  version: version};
84
84
 
@@ -78,7 +78,7 @@ const commonParams = {
78
78
  UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
79
79
  };
80
80
 
81
- var version = "3.997.46";
81
+ var version = "3.997.47";
82
82
  var packageInfo = {
83
83
  version: version};
84
84
 
@@ -78,7 +78,7 @@ const commonParams = {
78
78
  UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
79
79
  };
80
80
 
81
- var version = "3.997.46";
81
+ var version = "3.997.47";
82
82
  var packageInfo = {
83
83
  version: version};
84
84
 
@@ -258,7 +258,7 @@ const commonParams = {
258
258
  UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
259
259
  };
260
260
 
261
- var version = "3.997.46";
261
+ var version = "3.997.47";
262
262
  var packageInfo = {
263
263
  version: version};
264
264
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/nested-clients",
3
- "version": "3.997.47",
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.2",
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.1149.0",
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.2",
52
- "@aws-sdk/nested-clients": "^3.997.47",
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.5",
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": "^12",
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.103.20",
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.1149.0",
82
- "@aws-sdk/client-route-53": "^3.1149.0",
83
- "@aws-sdk/client-s3": "^3.1149.0",
84
- "@aws-sdk/client-ses": "^3.1149.0",
85
- "@aws-sdk/client-ssm": "^3.1149.0",
86
- "@mavogel/mvc-projen": "^0.0.54",
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.16",
125
+ "version": "0.1.18",
125
126
  "jest": {
126
127
  "coverageProvider": "v8",
127
128
  "transformIgnorePatterns": [
package/renovate.json5 CHANGED
@@ -36,6 +36,7 @@
36
36
  "@typescript-eslint/parser",
37
37
  "awslint",
38
38
  "commit-and-tag-version",
39
+ "conventional-changelog-conventionalcommits",
39
40
  "eslint",
40
41
  "husky",
41
42
  "jest-junit",
@@ -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;