@mavogel/awscdk-rootmail 0.0.225 → 0.0.227

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 (98) hide show
  1. package/.jsii +60 -13
  2. package/API.md +31 -0
  3. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/RootmailIntegTestStack.assets.json +29 -29
  4. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/RootmailIntegTestStack.template.json +11 -10
  5. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.assets.json +2 -2
  6. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.template.json +2 -2
  7. package/integ-tests/{integ.rootmail.ts.snapshot/asset.9572b451243318765beb576ae7528096b3879783dbaab795c02c01d7f4e83438 → integ.rootmail-custom-santa.ts.snapshot/asset.11768574bbd12c5ed10f463a68797423c366b61535ebc1b14951661b92657fa5}/index.js +1 -1
  8. package/integ-tests/{integ.rootmail.ts.snapshot/asset.157ba1713f7224463b621261792d18081588ff306a9bc3f75e6c468fabbe1a60 → integ.rootmail-custom-santa.ts.snapshot/asset.409d1db869dd0ed635bff94c855031afc92e9ac918a5d09651dd0b5316db1433}/index.js +1 -1
  9. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/asset.5407280701b87b2f099edc3024ed41a8c3a392c678cd6cf144fd099626ebe66d/index.js +35106 -0
  10. package/integ-tests/{integ.rootmail.ts.snapshot/asset.78b64aaf9aebb4eacbdd42197be10e9d5894360a642f7dcf79aeb84bb3552377 → integ.rootmail-custom-santa.ts.snapshot/asset.7144c5a47b3904b1aa4b27be73803a4b684f4ef765d9df8fa767779d37106254}/index.js +1 -1
  11. package/integ-tests/{integ.rootmail.ts.snapshot/asset.b8448324ef2c7d5bfa362722df2d397079d5aabaae2749f09180ac5bedfa5c89 → integ.rootmail-custom-santa.ts.snapshot/asset.9709438d0fbb508ea9bfee8683a274b4f9492f5e527eb28e0bd9e2bc96b9a08f}/index.js +4 -1
  12. package/integ-tests/{integ.rootmail.ts.snapshot/asset.f75274dd7677b6ef41f29d2dfc2c885b4f4e069d3fb8e67636bd89efd3f0fcad → integ.rootmail-custom-santa.ts.snapshot/asset.a0f9d47d625e1e17d1946bc138cc46c9b7ecb7136dc54cf26af266b0e30b4e15}/index.js +1 -1
  13. package/integ-tests/{integ.rootmail.ts.snapshot/asset.4c079063901e6478dbb5ace19e3123641ebf0da2ab648ecf52079c5bec154196 → integ.rootmail-custom-santa.ts.snapshot/asset.aca912f8a6aebc5dfd423aff79785b8fd7488473a4cf93aaa7ad0e442b548787}/index.js +1 -1
  14. package/integ-tests/{integ.rootmail.ts.snapshot/asset.d2b520d86fd9d964c83dc0d5ce2e4456dbde5fa7ae0c791a71865cbdfe2fb855 → integ.rootmail-custom-santa.ts.snapshot/asset.ad34b204b794bb6638b7af71a62693ffbfcee3c07bdbd90bbf9f8787036bc7c3}/index.js +1 -1
  15. package/integ-tests/{integ.rootmail.ts.snapshot/asset.7e8a681794eff5fda1841caa360113df5488ecf944055a69b8f1e5a687e269f5 → integ.rootmail-custom-santa.ts.snapshot/asset.f61472ea141af20f69ebb7a7718158fcb95d72410c0c2a2e72cc59b1822873fc}/index.js +1 -1
  16. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/integ.json +1 -1
  17. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/manifest.json +2 -2
  18. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/tree.json +9 -9
  19. package/integ-tests/integ.rootmail-filter-subject.ts +156 -0
  20. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/RootmailIntegTestStack.assets.json +162 -0
  21. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/RootmailIntegTestStack.template.json +4542 -0
  22. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.assets.json +32 -0
  23. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.template.json +249 -0
  24. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/asset.53e8368959effe94a6e51bef9c7c5bf0eaf5c4d64eece81632ca62aa34517978.bundle/index.js +31981 -0
  25. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/asset.5cc92ed0cea39e2b8de2dbc527dfb5980a3af9564bd1084d840b9787c7d0467e/index.d.ts +14 -0
  26. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/asset.5cc92ed0cea39e2b8de2dbc527dfb5980a3af9564bd1084d840b9787c7d0467e/index.js +1 -0
  27. package/integ-tests/{integ.rootmail-custom-santa.ts.snapshot/asset.97724f55c990db7c62d85b80d4afb032e60011490da173e3551e6a131013b79d → integ.rootmail-filter-subject.ts.snapshot/asset.9ac6d29f0cc4b20ec46e4c186d9a6f6448c7ea11b689e70a5dda69671a9d6848}/index.js +376 -20245
  28. package/integ-tests/{integ.rootmail-custom-santa.ts.snapshot/asset.b8448324ef2c7d5bfa362722df2d397079d5aabaae2749f09180ac5bedfa5c89 → integ.rootmail-filter-subject.ts.snapshot/asset.be7d56b509650f7f97c406a745d8335992726086995e4cb4aaf50417ab40e803}/index.js +3 -0
  29. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/asset.f2d30cfc360482320a52a4fcde8a70f3569df79ab30be24650fda58eb60052cf/cfn-response.js +1 -0
  30. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/asset.f2d30cfc360482320a52a4fcde8a70f3569df79ab30be24650fda58eb60052cf/consts.js +1 -0
  31. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/asset.f2d30cfc360482320a52a4fcde8a70f3569df79ab30be24650fda58eb60052cf/framework.js +3 -0
  32. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/asset.f2d30cfc360482320a52a4fcde8a70f3569df79ab30be24650fda58eb60052cf/outbound.js +1 -0
  33. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/asset.f2d30cfc360482320a52a4fcde8a70f3569df79ab30be24650fda58eb60052cf/util.js +1 -0
  34. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/integ.json +27 -0
  35. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/manifest.json +742 -0
  36. package/integ-tests/integ.rootmail-filter-subject.ts.snapshot/tree.json +5893 -0
  37. package/integ-tests/integ.rootmail.ts.snapshot/RootmailIntegTestStack.assets.json +32 -32
  38. package/integ-tests/integ.rootmail.ts.snapshot/RootmailIntegTestStack.template.json +12 -11
  39. package/integ-tests/integ.rootmail.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.assets.json +2 -2
  40. package/integ-tests/integ.rootmail.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.template.json +3 -3
  41. package/integ-tests/integ.rootmail.ts.snapshot/asset.11768574bbd12c5ed10f463a68797423c366b61535ebc1b14951661b92657fa5/index.js +47 -0
  42. package/integ-tests/integ.rootmail.ts.snapshot/asset.409d1db869dd0ed635bff94c855031afc92e9ac918a5d09651dd0b5316db1433/index.js +106 -0
  43. package/integ-tests/integ.rootmail.ts.snapshot/asset.7144c5a47b3904b1aa4b27be73803a4b684f4ef765d9df8fa767779d37106254/index.js +61 -0
  44. package/integ-tests/integ.rootmail.ts.snapshot/asset.9709438d0fbb508ea9bfee8683a274b4f9492f5e527eb28e0bd9e2bc96b9a08f/index.js +108 -0
  45. package/integ-tests/integ.rootmail.ts.snapshot/asset.a0f9d47d625e1e17d1946bc138cc46c9b7ecb7136dc54cf26af266b0e30b4e15/index.js +74 -0
  46. package/integ-tests/integ.rootmail.ts.snapshot/asset.aca912f8a6aebc5dfd423aff79785b8fd7488473a4cf93aaa7ad0e442b548787/index.js +215 -0
  47. package/integ-tests/integ.rootmail.ts.snapshot/asset.ad34b204b794bb6638b7af71a62693ffbfcee3c07bdbd90bbf9f8787036bc7c3/index.js +85 -0
  48. package/integ-tests/integ.rootmail.ts.snapshot/{asset.3fe096136c1d1292627baeb9b860b3206032deebb5a03ea407d7d04833a222d7 → asset.b0a80de4302e54c024e3dd1233407ed7b1b3ab3bae801ce319e6d8660b2a8db3}/index.js +618 -20478
  49. package/integ-tests/integ.rootmail.ts.snapshot/{asset.070f758ea9c89b8ceea9bb5141ea511633e1d72ab992b608da4efb3d6eeb2ba5 → asset.d25bfd59a60ba15d60c7d58fe66a9c9930044da8f0592ac451a8760bbbfa6460}/index.js +1 -1
  50. package/integ-tests/integ.rootmail.ts.snapshot/asset.f61472ea141af20f69ebb7a7718158fcb95d72410c0c2a2e72cc59b1822873fc/index.js +83 -0
  51. package/integ-tests/integ.rootmail.ts.snapshot/manifest.json +2 -2
  52. package/integ-tests/integ.rootmail.ts.snapshot/tree.json +10 -10
  53. package/lib/rootmail.d.ts +6 -0
  54. package/lib/rootmail.js +4 -2
  55. package/lib/ses-receipt-ruleset-activation.d.ts +1 -0
  56. package/lib/ses-receipt-ruleset-activation.js +2 -1
  57. package/lib/ses-receipt-ruleset-activation.on-event-handler.d.ts +1 -0
  58. package/lib/ses-receipt-ruleset-activation.on-event-handler.js +3 -2
  59. package/lib/ses-receive.d.ts +4 -0
  60. package/lib/ses-receive.js +4 -2
  61. package/lib/ses-receive.ops-santa-handler.js +15 -3
  62. package/node_modules/axios/CHANGELOG.md +11 -0
  63. package/node_modules/axios/dist/axios.js +2 -2
  64. package/node_modules/axios/dist/axios.js.map +1 -1
  65. package/node_modules/axios/dist/axios.min.js +1 -1
  66. package/node_modules/axios/dist/axios.min.js.map +1 -1
  67. package/node_modules/axios/dist/browser/axios.cjs +2 -2
  68. package/node_modules/axios/dist/browser/axios.cjs.map +1 -1
  69. package/node_modules/axios/dist/esm/axios.js +2 -2
  70. package/node_modules/axios/dist/esm/axios.js.map +1 -1
  71. package/node_modules/axios/dist/esm/axios.min.js +1 -1
  72. package/node_modules/axios/dist/esm/axios.min.js.map +1 -1
  73. package/node_modules/axios/dist/node/axios.cjs +2 -2
  74. package/node_modules/axios/dist/node/axios.cjs.map +1 -1
  75. package/node_modules/axios/index.d.cts +28 -33
  76. package/node_modules/axios/index.d.ts +568 -75
  77. package/node_modules/axios/lib/env/data.js +1 -1
  78. package/node_modules/axios/package.json +1 -1
  79. package/node_modules/cdk-nag/.jsii +2 -2
  80. package/node_modules/cdk-nag/lib/ignore-suppression-conditions.js +5 -5
  81. package/node_modules/cdk-nag/lib/nag-logger.js +2 -2
  82. package/node_modules/cdk-nag/lib/nag-pack.js +1 -1
  83. package/node_modules/cdk-nag/lib/nag-rules.js +1 -1
  84. package/node_modules/cdk-nag/lib/nag-suppressions.js +1 -1
  85. package/node_modules/cdk-nag/lib/packs/aws-solutions.js +1 -1
  86. package/node_modules/cdk-nag/lib/packs/hipaa-security.js +1 -1
  87. package/node_modules/cdk-nag/lib/packs/nist-800-53-r4.js +1 -1
  88. package/node_modules/cdk-nag/lib/packs/nist-800-53-r5.js +1 -1
  89. package/node_modules/cdk-nag/lib/packs/pci-dss-321.js +1 -1
  90. package/node_modules/cdk-nag/package.json +1 -1
  91. package/package.json +4 -4
  92. /package/integ-tests/{integ.rootmail-custom-santa.ts.snapshot → integ.rootmail-filter-subject.ts.snapshot}/asset.157ba1713f7224463b621261792d18081588ff306a9bc3f75e6c468fabbe1a60/index.js +0 -0
  93. /package/integ-tests/{integ.rootmail-custom-santa.ts.snapshot → integ.rootmail-filter-subject.ts.snapshot}/asset.4c079063901e6478dbb5ace19e3123641ebf0da2ab648ecf52079c5bec154196/index.js +0 -0
  94. /package/integ-tests/{integ.rootmail-custom-santa.ts.snapshot → integ.rootmail-filter-subject.ts.snapshot}/asset.78b64aaf9aebb4eacbdd42197be10e9d5894360a642f7dcf79aeb84bb3552377/index.js +0 -0
  95. /package/integ-tests/{integ.rootmail-custom-santa.ts.snapshot → integ.rootmail-filter-subject.ts.snapshot}/asset.7e8a681794eff5fda1841caa360113df5488ecf944055a69b8f1e5a687e269f5/index.js +0 -0
  96. /package/integ-tests/{integ.rootmail-custom-santa.ts.snapshot → integ.rootmail-filter-subject.ts.snapshot}/asset.9572b451243318765beb576ae7528096b3879783dbaab795c02c01d7f4e83438/index.js +0 -0
  97. /package/integ-tests/{integ.rootmail-custom-santa.ts.snapshot → integ.rootmail-filter-subject.ts.snapshot}/asset.d2b520d86fd9d964c83dc0d5ce2e4456dbde5fa7ae0c791a71865cbdfe2fb855/index.js +0 -0
  98. /package/integ-tests/{integ.rootmail-custom-santa.ts.snapshot → integ.rootmail-filter-subject.ts.snapshot}/asset.f75274dd7677b6ef41f29d2dfc2c885b4f4e069d3fb8e67636bd89efd3f0fcad/index.js +0 -0
@@ -0,0 +1,14 @@
1
+ interface LogRetentionEvent extends Omit<AWSLambda.CloudFormationCustomResourceEvent, 'ResourceProperties'> {
2
+ ResourceProperties: {
3
+ ServiceToken: string;
4
+ LogGroupName: string;
5
+ LogGroupRegion?: string;
6
+ RetentionInDays?: string;
7
+ SdkRetry?: {
8
+ maxRetries?: string;
9
+ };
10
+ RemovalPolicy?: string;
11
+ };
12
+ }
13
+ export declare function handler(event: LogRetentionEvent, context: AWSLambda.Context): Promise<void>;
14
+ export {};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.handler=void 0;const Logs=require("@aws-sdk/client-cloudwatch-logs");async function createLogGroupSafe(logGroupName,client,withDelay){await withDelay(async()=>{try{const params={logGroupName},command=new Logs.CreateLogGroupCommand(params);await client.send(command)}catch(error){if(error instanceof Logs.ResourceAlreadyExistsException||error.name==="ResourceAlreadyExistsException")return;throw error}})}async function deleteLogGroup(logGroupName,client,withDelay){await withDelay(async()=>{try{const params={logGroupName},command=new Logs.DeleteLogGroupCommand(params);await client.send(command)}catch(error){if(error instanceof Logs.ResourceNotFoundException||error.name==="ResourceNotFoundException")return;throw error}})}async function setRetentionPolicy(logGroupName,client,withDelay,retentionInDays){await withDelay(async()=>{if(retentionInDays){const params={logGroupName,retentionInDays},putCommand=new Logs.PutRetentionPolicyCommand(params);await client.send(putCommand)}else{const params={logGroupName},deleteCommand=new Logs.DeleteRetentionPolicyCommand(params);await client.send(deleteCommand)}})}async function handler(event,context){try{console.log(JSON.stringify({...event,ResponseURL:"..."}));const logGroupName=event.ResourceProperties.LogGroupName,logGroupRegion=event.ResourceProperties.LogGroupRegion,withDelay=makeWithDelay(parseIntOptional(event.ResourceProperties.SdkRetry?.maxRetries)),sdkConfig={logger:console,region:logGroupRegion},client=new Logs.CloudWatchLogsClient(sdkConfig);if((event.RequestType==="Create"||event.RequestType==="Update")&&(await createLogGroupSafe(logGroupName,client,withDelay),await setRetentionPolicy(logGroupName,client,withDelay,parseIntOptional(event.ResourceProperties.RetentionInDays)),event.RequestType==="Create")){const clientForCustomResourceFunction=new Logs.CloudWatchLogsClient({logger:console,region:process.env.AWS_REGION});await createLogGroupSafe(`/aws/lambda/${context.functionName}`,clientForCustomResourceFunction,withDelay),await setRetentionPolicy(`/aws/lambda/${context.functionName}`,clientForCustomResourceFunction,withDelay,1)}event.RequestType==="Delete"&&event.ResourceProperties.RemovalPolicy==="destroy"&&await deleteLogGroup(logGroupName,client,withDelay),await respond("SUCCESS","OK",logGroupName)}catch(e){console.log(e),await respond("FAILED",e.message,event.ResourceProperties.LogGroupName)}function respond(responseStatus,reason,physicalResourceId){const responseBody=JSON.stringify({Status:responseStatus,Reason:reason,PhysicalResourceId:physicalResourceId,StackId:event.StackId,RequestId:event.RequestId,LogicalResourceId:event.LogicalResourceId,Data:{LogGroupName:event.ResourceProperties.LogGroupName}});console.log("Responding",responseBody);const parsedUrl=require("url").parse(event.ResponseURL),requestOptions={hostname:parsedUrl.hostname,path:parsedUrl.path,method:"PUT",headers:{"content-type":"","content-length":Buffer.byteLength(responseBody,"utf8")}};return new Promise((resolve,reject)=>{try{const request=require("https").request(requestOptions,resolve);request.on("error",reject),request.write(responseBody),request.end()}catch(e){reject(e)}})}}exports.handler=handler;function parseIntOptional(value,base=10){if(value!==void 0)return parseInt(value,base)}function makeWithDelay(maxRetries=5,delayBase=100,delayCap=10*1e3){return async block=>{let attempts=0;do try{return await block()}catch(error){if(error instanceof Logs.OperationAbortedException||error.name==="OperationAbortedException")if(attempts<maxRetries){attempts++,await new Promise(resolve=>setTimeout(resolve,calculateDelay(attempts,delayBase,delayCap)));continue}else throw new Error("Out of attempts to change log group");throw error}while(!0)}}function calculateDelay(attempt,base,cap){return Math.round(Math.random()*Math.min(cap,base*2**attempt))}