cloudstructs 0.6.28 → 0.6.30

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 (48) hide show
  1. package/.jsii +14 -14
  2. package/assets/slack-app/provider.lambda/index.js +8 -8
  3. package/assets/slack-events/events.lambda/index.js +12 -14
  4. package/assets/slack-textract/detect.lambda/index.js +4 -4
  5. package/assets/toolkit-cleaner/clean-images.lambda/index.js +7 -8
  6. package/assets/toolkit-cleaner/clean-objects.lambda/index.js +7 -8
  7. package/assets/toolkit-cleaner/extract-template-hashes.lambda/index.js +4 -4
  8. package/assets/toolkit-cleaner/get-stack-names.lambda/index.js +8 -4
  9. package/assets/url-shortener/redirect.edge-lambda/index.js +5 -6
  10. package/assets/url-shortener/shortener.lambda/index.js +11 -9
  11. package/lib/codecommit-mirror/index.js +2 -2
  12. package/lib/ecs-service-roller/index.js +9 -8
  13. package/lib/email-receiver/receiver.js +1 -1
  14. package/lib/email-receiver/s3-function.js +2 -2
  15. package/lib/email-receiver/whitelist-function.js +2 -2
  16. package/lib/saml-identity-provider/index.js +3 -3
  17. package/lib/slack-app/manifest.js +1 -1
  18. package/lib/slack-app/provider-function.js +2 -2
  19. package/lib/slack-app/provider.lambda.js +10 -9
  20. package/lib/slack-app/slack-app.js +2 -2
  21. package/lib/slack-events/events-function.js +2 -2
  22. package/lib/slack-events/events.lambda.js +7 -9
  23. package/lib/slack-events/index.js +1 -1
  24. package/lib/slack-textract/detect-function.js +2 -2
  25. package/lib/slack-textract/detect.lambda.js +5 -5
  26. package/lib/slack-textract/index.js +1 -1
  27. package/lib/ssl-server-test/analyze-function.js +2 -2
  28. package/lib/ssl-server-test/extract-grade-function.js +2 -2
  29. package/lib/ssl-server-test/index.js +1 -1
  30. package/lib/state-machine-cr-provider/index.js +4 -4
  31. package/lib/state-machine-cr-provider/runtime/index.js +5 -5
  32. package/lib/static-website/index.js +1 -1
  33. package/lib/static-website/origin-request-function.js +2 -2
  34. package/lib/toolkit-cleaner/clean-images-function.js +2 -2
  35. package/lib/toolkit-cleaner/clean-images.lambda.js +7 -7
  36. package/lib/toolkit-cleaner/clean-objects-function.js +2 -2
  37. package/lib/toolkit-cleaner/clean-objects.lambda.js +7 -7
  38. package/lib/toolkit-cleaner/extract-template-hashes-function.js +2 -2
  39. package/lib/toolkit-cleaner/extract-template-hashes.lambda.js +5 -5
  40. package/lib/toolkit-cleaner/get-stack-names-function.js +2 -2
  41. package/lib/toolkit-cleaner/get-stack-names.lambda.js +9 -5
  42. package/lib/toolkit-cleaner/index.js +1 -1
  43. package/lib/url-shortener/index.js +1 -1
  44. package/lib/url-shortener/redirect-function.js +2 -2
  45. package/lib/url-shortener/redirect.edge-lambda.js +5 -5
  46. package/lib/url-shortener/shortener-function.js +2 -2
  47. package/lib/url-shortener/shortener.lambda.js +11 -8
  48. package/package.json +21 -10
package/.jsii CHANGED
@@ -2844,7 +2844,7 @@
2844
2844
  "stability": "stable"
2845
2845
  },
2846
2846
  "homepage": "https://github.com/jogold/cloudstructs.git",
2847
- "jsiiVersion": "1.79.0 (build b22f628)",
2847
+ "jsiiVersion": "1.80.0 (build bce6a1d)",
2848
2848
  "keywords": [
2849
2849
  "cdk"
2850
2850
  ],
@@ -3176,7 +3176,7 @@
3176
3176
  },
3177
3177
  "locationInModule": {
3178
3178
  "filename": "src/ecs-service-roller/index.ts",
3179
- "line": 67
3179
+ "line": 68
3180
3180
  },
3181
3181
  "parameters": [
3182
3182
  {
@@ -3202,7 +3202,7 @@
3202
3202
  "kind": "class",
3203
3203
  "locationInModule": {
3204
3204
  "filename": "src/ecs-service-roller/index.ts",
3205
- "line": 66
3205
+ "line": 67
3206
3206
  },
3207
3207
  "name": "EcsServiceRoller",
3208
3208
  "symbolId": "src/ecs-service-roller/index:EcsServiceRoller"
@@ -3218,7 +3218,7 @@
3218
3218
  "kind": "interface",
3219
3219
  "locationInModule": {
3220
3220
  "filename": "src/ecs-service-roller/index.ts",
3221
- "line": 11
3221
+ "line": 12
3222
3222
  },
3223
3223
  "name": "EcsServiceRollerProps",
3224
3224
  "properties": [
@@ -3231,7 +3231,7 @@
3231
3231
  "immutable": true,
3232
3232
  "locationInModule": {
3233
3233
  "filename": "src/ecs-service-roller/index.ts",
3234
- "line": 15
3234
+ "line": 16
3235
3235
  },
3236
3236
  "name": "cluster",
3237
3237
  "type": {
@@ -3247,7 +3247,7 @@
3247
3247
  "immutable": true,
3248
3248
  "locationInModule": {
3249
3249
  "filename": "src/ecs-service-roller/index.ts",
3250
- "line": 20
3250
+ "line": 21
3251
3251
  },
3252
3252
  "name": "service",
3253
3253
  "type": {
@@ -3264,7 +3264,7 @@
3264
3264
  "immutable": true,
3265
3265
  "locationInModule": {
3266
3266
  "filename": "src/ecs-service-roller/index.ts",
3267
- "line": 27
3267
+ "line": 28
3268
3268
  },
3269
3269
  "name": "trigger",
3270
3270
  "optional": true,
@@ -3495,7 +3495,7 @@
3495
3495
  "kind": "class",
3496
3496
  "locationInModule": {
3497
3497
  "filename": "src/ecs-service-roller/index.ts",
3498
- "line": 33
3498
+ "line": 34
3499
3499
  },
3500
3500
  "methods": [
3501
3501
  {
@@ -3505,7 +3505,7 @@
3505
3505
  },
3506
3506
  "locationInModule": {
3507
3507
  "filename": "src/ecs-service-roller/index.ts",
3508
- "line": 44
3508
+ "line": 45
3509
3509
  },
3510
3510
  "name": "fromRule",
3511
3511
  "parameters": [
@@ -3530,7 +3530,7 @@
3530
3530
  },
3531
3531
  "locationInModule": {
3532
3532
  "filename": "src/ecs-service-roller/index.ts",
3533
- "line": 37
3533
+ "line": 38
3534
3534
  },
3535
3535
  "name": "fromSchedule",
3536
3536
  "parameters": [
@@ -3561,7 +3561,7 @@
3561
3561
  "immutable": true,
3562
3562
  "locationInModule": {
3563
3563
  "filename": "src/ecs-service-roller/index.ts",
3564
- "line": 60
3564
+ "line": 61
3565
3565
  },
3566
3566
  "name": "rule",
3567
3567
  "optional": true,
@@ -3579,7 +3579,7 @@
3579
3579
  "immutable": true,
3580
3580
  "locationInModule": {
3581
3581
  "filename": "src/ecs-service-roller/index.ts",
3582
- "line": 53
3582
+ "line": 54
3583
3583
  },
3584
3584
  "name": "schedule",
3585
3585
  "optional": true,
@@ -6453,6 +6453,6 @@
6453
6453
  "symbolId": "src/url-shortener/index:UrlShortenerProps"
6454
6454
  }
6455
6455
  },
6456
- "version": "0.6.28",
6457
- "fingerprint": "smQIiSN6ZiKCIBY3uQpuGOrcoDk0t5Hc42CeouYyDHs="
6456
+ "version": "0.6.30",
6457
+ "fingerprint": "mHShv556ppZ1LPJ95A8RZsExZzCQgzLIYLvvd6prILE="
6458
6458
  }
@@ -6509,17 +6509,17 @@ __export(provider_lambda_exports, {
6509
6509
  handler: () => handler
6510
6510
  });
6511
6511
  module.exports = __toCommonJS(provider_lambda_exports);
6512
- var import_aws_sdk = require("aws-sdk");
6512
+ var import_client_secrets_manager = require("@aws-sdk/client-secrets-manager");
6513
6513
  var import_got = __toESM(require_source5());
6514
- var secretsmanager = new import_aws_sdk.SecretsManager({ apiVersion: "2017-10-17" });
6514
+ var secretsmanagerClient = new import_client_secrets_manager.SecretsManagerClient({});
6515
6515
  var slackClient = import_got.default.extend({
6516
6516
  prefixUrl: "https://slack.com/api"
6517
6517
  });
6518
6518
  async function handler(event) {
6519
6519
  console.log("Event: %j", event);
6520
- const data = await secretsmanager.getSecretValue({
6520
+ const data = await secretsmanagerClient.send(new import_client_secrets_manager.GetSecretValueCommand({
6521
6521
  SecretId: event.ResourceProperties.configurationTokenSecretArn
6522
- }).promise();
6522
+ }));
6523
6523
  if (!data.SecretString) {
6524
6524
  throw new Error("No secret string found in configuration token secret");
6525
6525
  }
@@ -6539,14 +6539,14 @@ async function handler(event) {
6539
6539
  console.log("Access token refreshed");
6540
6540
  accessToken = rotate.token;
6541
6541
  console.log("Saving access token");
6542
- const putSecretValue = await secretsmanager.putSecretValue({
6542
+ const putSecretValue = await secretsmanagerClient.send(new import_client_secrets_manager.PutSecretValueCommand({
6543
6543
  SecretId: event.ResourceProperties.configurationTokenSecretArn,
6544
6544
  SecretString: JSON.stringify({
6545
6545
  accessToken,
6546
6546
  refreshToken: rotate.refresh_token,
6547
6547
  exp: rotate.exp
6548
6548
  })
6549
- }).promise();
6549
+ }));
6550
6550
  console.log(`Successfully saved access token in secret ${putSecretValue.ARN}`);
6551
6551
  }
6552
6552
  const operation = event.RequestType.toLowerCase();
@@ -6564,7 +6564,7 @@ ${errors}}` : ""}`);
6564
6564
  console.log(`Successfully ${operation}d Slack app ${event.PhysicalResourceId ?? response.app_id}`);
6565
6565
  if (event.RequestType === "Create" && response.credentials) {
6566
6566
  console.log("Saving app credentials");
6567
- const putSecretValue = await secretsmanager.putSecretValue({
6567
+ const putSecretValue = await secretsmanagerClient.send(new import_client_secrets_manager.PutSecretValueCommand({
6568
6568
  SecretId: event.ResourceProperties.credentialsSecretArn,
6569
6569
  SecretString: JSON.stringify({
6570
6570
  appId: response.app_id,
@@ -6573,7 +6573,7 @@ ${errors}}` : ""}`);
6573
6573
  verificationToken: response.credentials.verification_token,
6574
6574
  signingSecret: response.credentials.signing_secret
6575
6575
  })
6576
- }).promise();
6576
+ }));
6577
6577
  console.log(`Successfully saved app credentials in secret ${putSecretValue.ARN}`);
6578
6578
  }
6579
6579
  return {
@@ -33,7 +33,7 @@ __export(events_lambda_exports, {
33
33
  handler: () => handler
34
34
  });
35
35
  module.exports = __toCommonJS(events_lambda_exports);
36
- var import_aws_sdk = require("aws-sdk");
36
+ var import_client_eventbridge = require("@aws-sdk/client-eventbridge");
37
37
 
38
38
  // src/slack-events/signature.ts
39
39
  var crypto = __toESM(require("crypto"));
@@ -55,6 +55,7 @@ function verifyRequestSignature(options) {
55
55
  }
56
56
 
57
57
  // src/slack-events/events.lambda.ts
58
+ var eventBridgeClient = new import_client_eventbridge.EventBridgeClient({});
58
59
  async function handler(event) {
59
60
  console.log("Event: %j", event);
60
61
  const response = {
@@ -86,19 +87,16 @@ async function handler(event) {
86
87
  response.body = JSON.stringify({ challenge: body.challenge });
87
88
  return response;
88
89
  }
89
- const eventBridge = new import_aws_sdk.EventBridge({ apiVersion: "2015-10-07" });
90
- const putEvents = await eventBridge.putEvents({
91
- Entries: [
92
- {
93
- Detail: event.body,
94
- DetailType: "Slack Event",
95
- Source: "slack",
96
- Resources: [body.api_app_id],
97
- EventBusName: process.env.EVENT_BUS_NAME,
98
- Time: new Date(body.event_time)
99
- }
100
- ]
101
- }).promise();
90
+ const putEvents = await eventBridgeClient.send(new import_client_eventbridge.PutEventsCommand({
91
+ Entries: [{
92
+ Detail: event.body,
93
+ DetailType: "Slack Event",
94
+ Source: "slack",
95
+ Resources: [body.api_app_id],
96
+ EventBusName: process.env.EVENT_BUS_NAME,
97
+ Time: new Date(body.event_time)
98
+ }]
99
+ }));
102
100
  console.log("Put events: %j", putEvents);
103
101
  return response;
104
102
  } catch (err) {
@@ -21077,9 +21077,10 @@ __export(detect_lambda_exports, {
21077
21077
  handler: () => handler
21078
21078
  });
21079
21079
  module.exports = __toCommonJS(detect_lambda_exports);
21080
+ var import_client_textract = require("@aws-sdk/client-textract");
21080
21081
  var import_web_api = __toESM(require_dist4());
21081
- var import_aws_sdk = require("aws-sdk");
21082
21082
  var import_got = __toESM(require_source5());
21083
+ var textractClient = new import_client_textract.TextractClient({});
21083
21084
  async function handler(event) {
21084
21085
  console.log("Event: %j", event);
21085
21086
  const slackClient = new import_web_api.WebClient(process.env.SLACK_TOKEN);
@@ -21096,10 +21097,9 @@ async function handler(event) {
21096
21097
  Authorization: `Bearer ${process.env.SLACK_TOKEN}`
21097
21098
  }
21098
21099
  }).buffer();
21099
- const textract = new import_aws_sdk.Textract({ apiVersion: "2018-06-27" });
21100
- const data = await textract.detectDocumentText({
21100
+ const data = await textractClient.send(new import_client_textract.DetectDocumentTextCommand({
21101
21101
  Document: { Bytes: file }
21102
- }).promise();
21102
+ }));
21103
21103
  if (!data.Blocks) {
21104
21104
  console.log("No text detected");
21105
21105
  return;
@@ -23,10 +23,9 @@ __export(clean_images_lambda_exports, {
23
23
  handler: () => handler
24
24
  });
25
25
  module.exports = __toCommonJS(clean_images_lambda_exports);
26
- var import_aws_sdk = require("aws-sdk");
27
- var ecr = new import_aws_sdk.ECR();
26
+ var import_client_ecr = require("@aws-sdk/client-ecr");
27
+ var ecrClient = new import_client_ecr.ECRClient({});
28
28
  async function handler(assetHashes) {
29
- var _a;
30
29
  if (!process.env.REPOSITORY_NAME) {
31
30
  throw new Error("Missing REPOSITORY_NAME");
32
31
  }
@@ -35,11 +34,11 @@ async function handler(assetHashes) {
35
34
  let nextToken;
36
35
  let finished = false;
37
36
  while (!finished) {
38
- const response = await ecr.describeImages({
37
+ const response = await ecrClient.send(new import_client_ecr.DescribeImagesCommand({
39
38
  repositoryName: process.env.REPOSITORY_NAME,
40
39
  nextToken
41
- }).promise();
42
- const toDelete = (_a = response.imageDetails) == null ? void 0 : _a.filter((x) => {
40
+ }));
41
+ const toDelete = response.imageDetails?.filter((x) => {
43
42
  if (!x.imageTags) {
44
43
  return false;
45
44
  }
@@ -55,10 +54,10 @@ async function handler(assetHashes) {
55
54
  });
56
55
  if (toDelete && toDelete.length !== 0) {
57
56
  if (process.env.RUN) {
58
- await ecr.batchDeleteImage({
57
+ await ecrClient.send(new import_client_ecr.BatchDeleteImageCommand({
59
58
  repositoryName: process.env.REPOSITORY_NAME,
60
59
  imageIds: toDelete.map((x) => ({ imageTag: x.imageTags[0] }))
61
- }).promise();
60
+ }));
62
61
  }
63
62
  deleted += toDelete.length;
64
63
  reclaimed += toDelete.reduce((acc, x) => acc + (x.imageSizeInBytes ?? 0), 0);
@@ -34,10 +34,9 @@ __export(clean_objects_lambda_exports, {
34
34
  });
35
35
  module.exports = __toCommonJS(clean_objects_lambda_exports);
36
36
  var path = __toESM(require("path"));
37
- var import_aws_sdk = require("aws-sdk");
38
- var s3 = new import_aws_sdk.S3();
37
+ var import_client_s3 = require("@aws-sdk/client-s3");
38
+ var s3Client = new import_client_s3.S3Client({});
39
39
  async function handler(assetHashes) {
40
- var _a;
41
40
  if (!process.env.BUCKET_NAME) {
42
41
  throw new Error("Missing BUCKET_NAME");
43
42
  }
@@ -46,11 +45,11 @@ async function handler(assetHashes) {
46
45
  let nextKeyMarker;
47
46
  let finished = false;
48
47
  while (!finished) {
49
- const response = await s3.listObjectVersions({
48
+ const response = await s3Client.send(new import_client_s3.ListObjectVersionsCommand({
50
49
  Bucket: process.env.BUCKET_NAME,
51
50
  KeyMarker: nextKeyMarker
52
- }).promise();
53
- const toDelete = (_a = response.Versions) == null ? void 0 : _a.filter((v) => {
51
+ }));
52
+ const toDelete = response.Versions?.filter((v) => {
54
53
  if (!v.Key) {
55
54
  return false;
56
55
  }
@@ -67,12 +66,12 @@ async function handler(assetHashes) {
67
66
  });
68
67
  if (toDelete && toDelete.length !== 0) {
69
68
  if (process.env.RUN) {
70
- await s3.deleteObjects({
69
+ await s3Client.send(new import_client_s3.DeleteObjectsCommand({
71
70
  Bucket: process.env.BUCKET_NAME,
72
71
  Delete: {
73
72
  Objects: toDelete.map((v) => ({ Key: v.Key, VersionId: v.VersionId }))
74
73
  }
75
- }).promise();
74
+ }));
76
75
  }
77
76
  deleted += toDelete.length;
78
77
  reclaimed += toDelete.reduce((acc, x) => acc + (x.Size ?? 0), 0);
@@ -23,12 +23,12 @@ __export(extract_template_hashes_lambda_exports, {
23
23
  handler: () => handler
24
24
  });
25
25
  module.exports = __toCommonJS(extract_template_hashes_lambda_exports);
26
- var import_aws_sdk = require("aws-sdk");
27
- var cloudFormation = new import_aws_sdk.CloudFormation();
26
+ var import_client_cloudformation = require("@aws-sdk/client-cloudformation");
27
+ var cloudFormationClient = new import_client_cloudformation.CloudFormationClient({});
28
28
  async function handler(stackName) {
29
- const template = await cloudFormation.getTemplate({
29
+ const template = await cloudFormationClient.send(new import_client_cloudformation.GetTemplateCommand({
30
30
  StackName: stackName
31
- }).promise();
31
+ }));
32
32
  if (!template.TemplateBody) {
33
33
  return [];
34
34
  }
@@ -23,15 +23,19 @@ __export(get_stack_names_lambda_exports, {
23
23
  handler: () => handler
24
24
  });
25
25
  module.exports = __toCommonJS(get_stack_names_lambda_exports);
26
- var import_aws_sdk = require("aws-sdk");
27
- var cloudFormation = new import_aws_sdk.CloudFormation();
26
+ var import_client_cloudformation = require("@aws-sdk/client-cloudformation");
27
+ var cloudFormationClient = new import_client_cloudformation.CloudFormationClient({});
28
28
  async function handler() {
29
29
  const res = [];
30
30
  let nextToken;
31
31
  let finished = false;
32
32
  while (!finished) {
33
- const response = await cloudFormation.describeStacks({ NextToken: nextToken }).promise();
34
- res.push(...(response.Stacks ?? []).map((s) => s.StackName));
33
+ const response = await cloudFormationClient.send(new import_client_cloudformation.DescribeStacksCommand({ NextToken: nextToken }));
34
+ for (const stack of response.Stacks ?? []) {
35
+ if (stack.StackName) {
36
+ res.push(stack.StackName);
37
+ }
38
+ }
35
39
  nextToken = response.NextToken;
36
40
  if (nextToken === void 0) {
37
41
  finished = true;
@@ -23,22 +23,21 @@ __export(redirect_edge_lambda_exports, {
23
23
  handler: () => handler
24
24
  });
25
25
  module.exports = __toCommonJS(redirect_edge_lambda_exports);
26
- var import_aws_sdk = require("aws-sdk");
27
- var s3 = new import_aws_sdk.S3({ apiVersion: "2006-03-01" });
26
+ var import_client_s3 = require("@aws-sdk/client-s3");
27
+ var s3Client = new import_client_s3.S3Client({});
28
28
  async function handler(event) {
29
- var _a;
30
29
  const request = event.Records[0].cf.request;
31
30
  try {
32
- const s3Origin = (_a = request.origin) == null ? void 0 : _a.s3;
31
+ const s3Origin = request.origin?.s3;
33
32
  if (!s3Origin) {
34
33
  throw new Error("No S3 origin");
35
34
  }
36
35
  const bucket = s3Origin.domainName.replace(new RegExp(`.s3.${s3Origin.region}.amazonaws.com$`), "");
37
36
  const key = request.uri.substring(1);
38
- const data = await s3.getObject({
37
+ const data = await s3Client.send(new import_client_s3.GetObjectCommand({
39
38
  Bucket: bucket,
40
39
  Key: key
41
- }).promise();
40
+ }));
42
41
  if (!data.Body) {
43
42
  throw new Error("No body");
44
43
  }
@@ -24,7 +24,9 @@ __export(shortener_lambda_exports, {
24
24
  });
25
25
  module.exports = __toCommonJS(shortener_lambda_exports);
26
26
  var import_url = require("url");
27
- var import_aws_sdk = require("aws-sdk");
27
+ var import_client_dynamodb = require("@aws-sdk/client-dynamodb");
28
+ var import_client_s3 = require("@aws-sdk/client-s3");
29
+ var import_lib_dynamodb = require("@aws-sdk/lib-dynamodb");
28
30
  function base62Encode(int) {
29
31
  const characterSet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
30
32
  if (int === 0)
@@ -54,10 +56,10 @@ function isUrlValid(url) {
54
56
  return false;
55
57
  }
56
58
  }
57
- var documentClient = new import_aws_sdk.DynamoDB.DocumentClient({ apiVersion: "2012-08-10" });
58
- var s3 = new import_aws_sdk.S3({ apiVersion: "2006-03-01" });
59
+ var dynamoDBClient = new import_client_dynamodb.DynamoDBClient({});
60
+ var documentClient = import_lib_dynamodb.DynamoDBDocumentClient.from(dynamoDBClient);
61
+ var s3Client = new import_client_s3.S3Client({});
59
62
  async function handler(event) {
60
- var _a;
61
63
  console.log("Event: %j", event);
62
64
  const response = {
63
65
  statusCode: 201,
@@ -72,26 +74,26 @@ async function handler(event) {
72
74
  statusCode: 400
73
75
  };
74
76
  }
75
- const update = await documentClient.update({
77
+ const update = await documentClient.send(new import_lib_dynamodb.UpdateCommand({
76
78
  TableName: getEnv("TABLE_NAME"),
77
79
  Key: { key: "counter" },
78
80
  UpdateExpression: "ADD #value :incr",
79
81
  ExpressionAttributeNames: { "#value": "value" },
80
82
  ExpressionAttributeValues: { ":incr": 1 },
81
83
  ReturnValues: "UPDATED_NEW"
82
- }).promise();
83
- const value = (_a = update.Attributes) == null ? void 0 : _a.value;
84
+ }));
85
+ const value = update.Attributes?.value;
84
86
  if (!value) {
85
87
  throw new Error("Cannot get next counter value");
86
88
  }
87
89
  const key = base62Encode(value);
88
90
  console.log("Key: %j", key);
89
- const putObject = await s3.putObject({
91
+ const putObject = await s3Client.send(new import_client_s3.PutObjectCommand({
90
92
  Bucket: getEnv("BUCKET_NAME"),
91
93
  Key: key,
92
94
  ContentType: "application/json",
93
95
  Body: JSON.stringify({ url: body.url })
94
- }).promise();
96
+ }));
95
97
  console.log("Put object: %j", putObject);
96
98
  return {
97
99
  ...response,
@@ -41,7 +41,7 @@ class CodeCommitMirrorSourceRepository {
41
41
  }
42
42
  exports.CodeCommitMirrorSourceRepository = CodeCommitMirrorSourceRepository;
43
43
  _a = JSII_RTTI_SYMBOL_1;
44
- CodeCommitMirrorSourceRepository[_a] = { fqn: "cloudstructs.CodeCommitMirrorSourceRepository", version: "0.6.28" };
44
+ CodeCommitMirrorSourceRepository[_a] = { fqn: "cloudstructs.CodeCommitMirrorSourceRepository", version: "0.6.30" };
45
45
  /**
46
46
  * Mirror a repository to AWS CodeCommit on schedule
47
47
  */
@@ -89,5 +89,5 @@ class CodeCommitMirror extends constructs_1.Construct {
89
89
  }
90
90
  exports.CodeCommitMirror = CodeCommitMirror;
91
91
  _b = JSII_RTTI_SYMBOL_1;
92
- CodeCommitMirror[_b] = { fqn: "cloudstructs.CodeCommitMirror", version: "0.6.28" };
92
+ CodeCommitMirror[_b] = { fqn: "cloudstructs.CodeCommitMirror", version: "0.6.30" };
93
93
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29kZWNvbW1pdC1taXJyb3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2QkFBNkI7QUFDN0IseURBQXlEO0FBQ3pELDJDQUEyQztBQUMzQywyQ0FBMkM7QUFDM0MsaURBQWlEO0FBQ2pELDBEQUEwRDtBQUMxRCwyQ0FBMkM7QUFDM0MsNkNBQTZDO0FBQzdDLDJDQUF1QztBQStCdkM7O0dBRUc7QUFDSCxNQUFzQixnQ0FBZ0M7SUFDcEQ7O09BRUc7SUFDSSxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQWEsRUFBRSxJQUFZO1FBQzlDLE9BQU87WUFDTCxJQUFJO1lBQ0osWUFBWSxFQUFFLHNCQUFzQixLQUFLLElBQUksSUFBSSxFQUFFO1NBQ3BELENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFZLEVBQUUsR0FBZTtRQUNqRCxPQUFPO1lBQ0wsSUFBSTtZQUNKLFNBQVMsRUFBRSxHQUFHO1NBQ2YsQ0FBQztJQUNKLENBQUM7O0FBdkJILDRFQTJDQzs7O0FBRUQ7O0dBRUc7QUFDSCxNQUFhLGdCQUFpQixTQUFRLHNCQUFTO0lBQzdDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBNEI7UUFDcEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLFdBQVcsR0FBRyxJQUFJLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRTtZQUNoRSxjQUFjLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJO1lBQ3JDLFdBQVcsRUFBRSxhQUFhLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFO1NBQ2xELENBQUMsQ0FBQztRQUVILE1BQU0sY0FBYyxHQUFHLElBQUksR0FBRyxDQUFDLHFCQUFxQixDQUFDLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBRTdFLGNBQWMsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFO1lBQ3ZDLEtBQUssRUFBRSxHQUFHLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxtQkFBbUIsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUM5RyxPQUFPLEVBQUUsSUFBSSxHQUFHLENBQUMsWUFBWSxDQUFDO2dCQUM1QixZQUFZLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJO2dCQUNuQyxZQUFZLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVO2FBQzVDLENBQUM7WUFDRixXQUFXLEVBQUU7Z0JBQ1gsSUFBSSxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSTtnQkFDM0IsV0FBVyxFQUFFLFdBQVcsQ0FBQyxxQkFBcUI7Z0JBQzlDLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxZQUFZO29CQUM5QixDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUU7b0JBQzNDLENBQUMsQ0FBQyxFQUFFO2FBQ1A7WUFDRCxPQUFPLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTO2dCQUNqQyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUU7Z0JBQ3hDLENBQUMsQ0FBQyxTQUFTO1NBQ2QsQ0FBQyxDQUFDO1FBRUgsY0FBYyxDQUFDLG1CQUFtQixDQUFDLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQztZQUN6RCxPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztZQUMvQixTQUFTLEVBQUUsQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDO1NBQ3ZDLENBQUMsQ0FBQyxDQUFDO1FBRUosTUFBTSxJQUFJLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUU7WUFDekMsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7Z0JBQy9DLE1BQU0sRUFBRSxHQUFHO2dCQUNYLElBQUksRUFBRSxHQUFHO2FBQ1YsQ0FBQztTQUNILENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDO1lBQ2pDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztZQUN0QixjQUFjO1lBQ2QsZUFBZSxFQUFFLEtBQUssQ0FBQyxlQUFlLElBQUksRUFBRSxVQUFVLEVBQUUsR0FBRyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUU7U0FDaEYsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDOztBQTlDSCw0Q0ErQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgY29kZWNvbW1pdCBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY29kZWNvbW1pdCc7XG5pbXBvcnQgKiBhcyBlYzIgZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjMic7XG5pbXBvcnQgKiBhcyBlY3MgZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjcyc7XG5pbXBvcnQgKiBhcyBldmVudHMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWV2ZW50cyc7XG5pbXBvcnQgKiBhcyB0YXJnZXRzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1ldmVudHMtdGFyZ2V0cyc7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyBsb2dzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sb2dzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGEgQ29kZUNvbW1pdE1pcnJvclxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvZGVDb21taXRNaXJyb3JQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgc291cmNlIHJlcG9zaXRvcnlcbiAgICovXG4gIHJlYWRvbmx5IHJlcG9zaXRvcnk6IENvZGVDb21taXRNaXJyb3JTb3VyY2VSZXBvc2l0b3J5O1xuXG4gIC8qKlxuICAgKiBUaGUgRUNTIGNsdXN0ZXIgd2hlcmUgdG8gcnVuIHRoZSBtaXJyb3Jpbmcgb3BlcmF0aW9uXG4gICAqL1xuICByZWFkb25seSBjbHVzdGVyOiBlY3MuSUNsdXN0ZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBzY2hlZHVsZSBmb3IgdGhlIG1pcnJvcmluZyBvcGVyYXRpb25cbiAgICpcbiAgICogQGRlZmF1bHQgLSBldmVyeWRheSBhdCBtaWRuaWdodFxuICAgKi9cbiAgcmVhZG9ubHkgc2NoZWR1bGU/OiBldmVudHMuU2NoZWR1bGU7XG5cbiAgLyoqXG4gICAqIFdoZXJlIHRvIHJ1biB0aGUgbWlycm9yaW5nIEZhcmdhdGUgdGFza3NcbiAgICpcbiAgICogQGRlZmF1bHQgLSBwdWJsaWMgc3VibmV0c1xuICAgKi9cbiAgcmVhZG9ubHkgc3VibmV0U2VsZWN0aW9uPzogZWMyLlN1Ym5ldFNlbGVjdGlvbjtcbn1cblxuLyoqXG4gKiBBIHNvdXJjZSByZXBvc2l0b3J5IGZvciBBV1MgQ29kZUNvbW1pdCBtaXJyb3JpbmdcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENvZGVDb21taXRNaXJyb3JTb3VyY2VSZXBvc2l0b3J5IHtcbiAgLyoqXG4gICAqIFB1YmxpYyBHaXRIdWIgcmVwb3NpdG9yeVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBnaXRIdWIob3duZXI6IHN0cmluZywgbmFtZTogc3RyaW5nKTogQ29kZUNvbW1pdE1pcnJvclNvdXJjZVJlcG9zaXRvcnkge1xuICAgIHJldHVybiB7XG4gICAgICBuYW1lLFxuICAgICAgcGxhaW5UZXh0VXJsOiBgaHR0cHM6Ly9naXRodWIuY29tLyR7b3duZXJ9LyR7bmFtZX1gLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogUHJpdmF0ZSByZXBvc2l0b3J5IHdpdGggSFRUUFMgY2xvbmUgVVJMIHN0b3JlZCBpbiBhIEFXUyBTZWNyZXRzIE1hbmFnZXIgc2VjcmV0IG9yXG4gICAqIGEgQVdTIFN5c3RlbXMgTWFuYWdlciBzZWN1cmUgc3RyaW5nIHBhcmFtZXRlci5cbiAgICpcbiAgICogQHBhcmFtIG5hbWUgdGhlIHJlcG9zaXRvcnkgbmFtZVxuICAgKiBAcGFyYW0gdXJsIHRoZSBzZWNyZXQgY29udGFpbmluZyB0aGUgSFRUUFMgY2xvbmUgVVJMXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHByaXZhdGUobmFtZTogc3RyaW5nLCB1cmw6IGVjcy5TZWNyZXQpOiBDb2RlQ29tbWl0TWlycm9yU291cmNlUmVwb3NpdG9yeSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWUsXG4gICAgICBzZWNyZXRVcmw6IHVybCxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSByZXBvc2l0b3J5XG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gIC8qKiBUaGUgSFRUUFMgY2xvbmUgVVJMIGluIHBsYWluIHRleHQsIHVzZWQgZm9yIGEgcHVibGljIHJlcG9zaXRvcnkgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHBsYWluVGV4dFVybD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEhUVFBTIGNsb25lIFVSTCBpZiB0aGUgcmVwb3NpdG9yeSBpcyBwcml2YXRlLlxuICAgKlxuICAgKiBUaGUgc2VjcmV0IHNob3VsZCBjb250YWluIHRoZSB1c2VybmFtZSBhbmQvb3IgdG9rZW4uXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBodHRwczovL1RPS0VOQGdpdGh1Yi5jb20vb3duZXIvbmFtZWBcbiAgICogYGh0dHBzOi8vVVNFUk5BTUU6VE9LRU5AYml0YnVja2V0Lm9yZy9vd25lci9uYW1lLmdpdGBcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBzZWNyZXRVcmw/OiBlY3MuU2VjcmV0O1xufVxuXG4vKipcbiAqIE1pcnJvciBhIHJlcG9zaXRvcnkgdG8gQVdTIENvZGVDb21taXQgb24gc2NoZWR1bGVcbiAqL1xuZXhwb3J0IGNsYXNzIENvZGVDb21taXRNaXJyb3IgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQ29kZUNvbW1pdE1pcnJvclByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IGRlc3RpbmF0aW9uID0gbmV3IGNvZGVjb21taXQuUmVwb3NpdG9yeSh0aGlzLCAnUmVwb3NpdG9yeScsIHtcbiAgICAgIHJlcG9zaXRvcnlOYW1lOiBwcm9wcy5yZXBvc2l0b3J5Lm5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogYE1pcnJvciBvZiAke3Byb3BzLnJlcG9zaXRvcnkubmFtZX1gLFxuICAgIH0pO1xuXG4gICAgY29uc3QgdGFza0RlZmluaXRpb24gPSBuZXcgZWNzLkZhcmdhdGVUYXNrRGVmaW5pdGlvbih0aGlzLCAnVGFza0RlZmluaXRpb24nKTtcblxuICAgIHRhc2tEZWZpbml0aW9uLmFkZENvbnRhaW5lcignQ29udGFpbmVyJywge1xuICAgICAgaW1hZ2U6IGVjcy5Db250YWluZXJJbWFnZS5mcm9tQXNzZXQocGF0aC5qb2luKF9fZGlybmFtZSwgJy4uJywgJy4uJywgJ2Fzc2V0cycsICdjb2RlY29tbWl0LW1pcnJvcicsICdkb2NrZXInKSksXG4gICAgICBsb2dnaW5nOiBuZXcgZWNzLkF3c0xvZ0RyaXZlcih7XG4gICAgICAgIHN0cmVhbVByZWZpeDogcHJvcHMucmVwb3NpdG9yeS5uYW1lLFxuICAgICAgICBsb2dSZXRlbnRpb246IGxvZ3MuUmV0ZW50aW9uRGF5cy5UV09fTU9OVEhTLFxuICAgICAgfSksXG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICBOQU1FOiBwcm9wcy5yZXBvc2l0b3J5Lm5hbWUsXG4gICAgICAgIERFU1RJTkFUSU9OOiBkZXN0aW5hdGlvbi5yZXBvc2l0b3J5Q2xvbmVVcmxHcmMsXG4gICAgICAgIC4uLnByb3BzLnJlcG9zaXRvcnkucGxhaW5UZXh0VXJsXG4gICAgICAgICAgPyB7IFNPVVJDRTogcHJvcHMucmVwb3NpdG9yeS5wbGFpblRleHRVcmwgfVxuICAgICAgICAgIDoge30sXG4gICAgICB9LFxuICAgICAgc2VjcmV0czogcHJvcHMucmVwb3NpdG9yeS5zZWNyZXRVcmxcbiAgICAgICAgPyB7IFNPVVJDRTogcHJvcHMucmVwb3NpdG9yeS5zZWNyZXRVcmwgfVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICB9KTtcblxuICAgIHRhc2tEZWZpbml0aW9uLmFkZFRvVGFza1JvbGVQb2xpY3kobmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgYWN0aW9uczogWydjb2RlY29tbWl0OkdpdFB1c2gnXSxcbiAgICAgIHJlc291cmNlczogW2Rlc3RpbmF0aW9uLnJlcG9zaXRvcnlBcm5dLFxuICAgIH0pKTtcblxuICAgIGNvbnN0IHJ1bGUgPSBuZXcgZXZlbnRzLlJ1bGUodGhpcywgJ1J1bGUnLCB7XG4gICAgICBzY2hlZHVsZTogcHJvcHMuc2NoZWR1bGUgPz8gZXZlbnRzLlNjaGVkdWxlLmNyb24oe1xuICAgICAgICBtaW51dGU6ICcwJyxcbiAgICAgICAgaG91cjogJzAnLFxuICAgICAgfSksXG4gICAgfSk7XG5cbiAgICBydWxlLmFkZFRhcmdldChuZXcgdGFyZ2V0cy5FY3NUYXNrKHtcbiAgICAgIGNsdXN0ZXI6IHByb3BzLmNsdXN0ZXIsXG4gICAgICB0YXNrRGVmaW5pdGlvbixcbiAgICAgIHN1Ym5ldFNlbGVjdGlvbjogcHJvcHMuc3VibmV0U2VsZWN0aW9uID8/IHsgc3VibmV0VHlwZTogZWMyLlN1Ym5ldFR5cGUuUFVCTElDIH0sXG4gICAgfSkpO1xuICB9XG59XG4iXX0=
@@ -27,7 +27,7 @@ class RollTrigger {
27
27
  }
28
28
  exports.RollTrigger = RollTrigger;
29
29
  _a = JSII_RTTI_SYMBOL_1;
30
- RollTrigger[_a] = { fqn: "cloudstructs.RollTrigger", version: "0.6.28" };
30
+ RollTrigger[_a] = { fqn: "cloudstructs.RollTrigger", version: "0.6.30" };
31
31
  /**
32
32
  * Roll your ECS service tasks on schedule or with a rule
33
33
  */
@@ -40,14 +40,15 @@ class EcsServiceRoller extends constructs_1.Construct {
40
40
  hour: '0',
41
41
  }),
42
42
  });
43
+ const parameters = {
44
+ service: props.service.serviceName,
45
+ cluster: props.cluster.clusterName,
46
+ forceNewDeployment: true,
47
+ };
43
48
  rule.addTarget(new targets.AwsApi({
44
49
  service: 'ECS',
45
50
  action: 'updateService',
46
- parameters: {
47
- service: props.service.serviceName,
48
- cluster: props.cluster.clusterName,
49
- forceNewDeployment: true,
50
- },
51
+ parameters,
51
52
  // https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-supported-iam-actions-resources.html
52
53
  // arn:aws:ecs:<region>:<account>:service/<cluster-name>/<service-name>
53
54
  policyStatement: new iam.PolicyStatement({
@@ -63,5 +64,5 @@ class EcsServiceRoller extends constructs_1.Construct {
63
64
  }
64
65
  exports.EcsServiceRoller = EcsServiceRoller;
65
66
  _b = JSII_RTTI_SYMBOL_1;
66
- EcsServiceRoller[_b] = { fqn: "cloudstructs.EcsServiceRoller", version: "0.6.28" };
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZWNzLXNlcnZpY2Utcm9sbGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQW9DO0FBRXBDLGlEQUFpRDtBQUNqRCwwREFBMEQ7QUFDMUQsMkNBQTJDO0FBQzNDLDJDQUF1QztBQXdCdkM7O0dBRUc7QUFDSCxNQUFzQixXQUFXO0lBQy9COztPQUVHO0lBQ0ksTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUF5QjtRQUNsRCxPQUFPLEVBQUUsUUFBUSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFpQjtRQUN0QyxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDbEIsQ0FBQzs7QUFiSCxrQ0E0QkM7OztBQUVEOztHQUVHO0FBQ0gsTUFBYSxnQkFBaUIsU0FBUSxzQkFBUztJQUM3QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTRCO1FBQ3BFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLE9BQU8sRUFBRSxJQUFJLElBQUksSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUU7WUFDaEUsUUFBUSxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsUUFBUSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO2dCQUN4RCxNQUFNLEVBQUUsR0FBRztnQkFDWCxJQUFJLEVBQUUsR0FBRzthQUNWLENBQUM7U0FDSCxDQUFDLENBQUM7UUFHSCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQztZQUNoQyxPQUFPLEVBQUUsS0FBSztZQUNkLE1BQU0sRUFBRSxlQUFlO1lBQ3ZCLFVBQVUsRUFBRTtnQkFDVixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXO2dCQUNsQyxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXO2dCQUNsQyxrQkFBa0IsRUFBRSxJQUFJO2FBQ087WUFDakMsdUdBQXVHO1lBQ3ZHLHVFQUF1RTtZQUN2RSxlQUFlLEVBQUUsSUFBSSxHQUFHLENBQUMsZUFBZSxDQUFDO2dCQUN2QyxPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztnQkFDOUIsU0FBUyxFQUFFLENBQUMsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDO3dCQUNuQyxPQUFPLEVBQUUsS0FBSzt3QkFDZCxRQUFRLEVBQUUsU0FBUzt3QkFDbkIsWUFBWSxFQUFFLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUU7cUJBQzFFLENBQUMsQ0FBQzthQUNKLENBQUM7U0FDSCxDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7O0FBL0JILDRDQWdDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YWNrIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgZWNzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1lY3MnO1xuaW1wb3J0ICogYXMgZXZlbnRzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1ldmVudHMnO1xuaW1wb3J0ICogYXMgdGFyZ2V0cyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZXZlbnRzLXRhcmdldHMnO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYSBFY3NTZXJ2aWNlUm9sbGVyXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWNzU2VydmljZVJvbGxlclByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBFQ1MgY2x1c3RlciB3aGVyZSB0aGUgc2VydmljZXMgcnVuXG4gICAqL1xuICByZWFkb25seSBjbHVzdGVyOiBlY3MuSUNsdXN0ZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBFQ1Mgc2VydmljZSBmb3Igd2hpY2ggdGFza3Mgc2hvdWxkIGJlIHJvbGxlZFxuICAgKi9cbiAgcmVhZG9ubHkgc2VydmljZTogZWNzLklTZXJ2aWNlO1xuXG4gIC8qKlxuICAgKiBUaGUgcnVsZSBvciBzY2hlZHVsZSB0aGF0IHNob3VsZCB0cmlnZ2VyIGEgcm9sbFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHJvbGwgZXZlcnlkYXkgYXQgbWlkbmlnaHRcbiAgICovXG4gIHJlYWRvbmx5IHRyaWdnZXI/OiBSb2xsVHJpZ2dlcjtcbn1cblxuLyoqXG4gKiBUaGUgcnVsZSBvciBzY2hlZHVsZSB0aGF0IHNob3VsZCB0cmlnZ2VyIGEgcm9sbFxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUm9sbFRyaWdnZXIge1xuICAvKipcbiAgICogU2NoZWR1bGUgdGhhdCBzaG91bGQgdHJpZ2dlciBhIHJvbGxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVNjaGVkdWxlKHNjaGVkdWxlOiBldmVudHMuU2NoZWR1bGUpOiBSb2xsVHJpZ2dlciB7XG4gICAgcmV0dXJuIHsgc2NoZWR1bGUgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSdWxlIHRoYXQgc2hvdWxkIHRyaWdnZXIgYSByb2xsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21SdWxlKHJ1bGU6IGV2ZW50cy5SdWxlKTogUm9sbFRyaWdnZXIge1xuICAgIHJldHVybiB7IHJ1bGUgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSb2xsIHNjaGVkdWxlXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gcm9sbCBldmVyeWRheSBhdCBtaWRuaWdodFxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHNjaGVkdWxlPzogZXZlbnRzLlNjaGVkdWxlO1xuXG4gIC8qKlxuICAgKiBSb2xsIHJ1bGVcbiAgICpcbiAgICogQGRlZmF1bHQgLSByb2xsIGV2ZXJ5ZGF5IGF0IG1pZG5pZ2h0XG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgcnVsZT86IGV2ZW50cy5SdWxlO1xufVxuXG4vKipcbiAqIFJvbGwgeW91ciBFQ1Mgc2VydmljZSB0YXNrcyBvbiBzY2hlZHVsZSBvciB3aXRoIGEgcnVsZVxuICovXG5leHBvcnQgY2xhc3MgRWNzU2VydmljZVJvbGxlciBleHRlbmRzIENvbnN0cnVjdCB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBFY3NTZXJ2aWNlUm9sbGVyUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgcnVsZSA9IHByb3BzLnRyaWdnZXI/LnJ1bGUgPz8gbmV3IGV2ZW50cy5SdWxlKHRoaXMsICdSdWxlJywge1xuICAgICAgc2NoZWR1bGU6IHByb3BzLnRyaWdnZXI/LnNjaGVkdWxlID8/IGV2ZW50cy5TY2hlZHVsZS5jcm9uKHtcbiAgICAgICAgbWludXRlOiAnMCcsXG4gICAgICAgIGhvdXI6ICcwJyxcbiAgICAgIH0pLFxuICAgIH0pO1xuXG5cbiAgICBydWxlLmFkZFRhcmdldChuZXcgdGFyZ2V0cy5Bd3NBcGkoe1xuICAgICAgc2VydmljZTogJ0VDUycsXG4gICAgICBhY3Rpb246ICd1cGRhdGVTZXJ2aWNlJyxcbiAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgc2VydmljZTogcHJvcHMuc2VydmljZS5zZXJ2aWNlTmFtZSxcbiAgICAgICAgY2x1c3RlcjogcHJvcHMuY2x1c3Rlci5jbHVzdGVyTmFtZSxcbiAgICAgICAgZm9yY2VOZXdEZXBsb3ltZW50OiB0cnVlLFxuICAgICAgfSBhcyBBV1MuRUNTLlVwZGF0ZVNlcnZpY2VSZXF1ZXN0LFxuICAgICAgLy8gaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvbkVDUy9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvZWNzLXN1cHBvcnRlZC1pYW0tYWN0aW9ucy1yZXNvdXJjZXMuaHRtbFxuICAgICAgLy8gYXJuOmF3czplY3M6PHJlZ2lvbj46PGFjY291bnQ+OnNlcnZpY2UvPGNsdXN0ZXItbmFtZT4vPHNlcnZpY2UtbmFtZT5cbiAgICAgIHBvbGljeVN0YXRlbWVudDogbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBhY3Rpb25zOiBbJ2VjczpVcGRhdGVTZXJ2aWNlJ10sXG4gICAgICAgIHJlc291cmNlczogW1N0YWNrLm9mKHRoaXMpLmZvcm1hdEFybih7XG4gICAgICAgICAgc2VydmljZTogJ2VjcycsXG4gICAgICAgICAgcmVzb3VyY2U6ICdzZXJ2aWNlJyxcbiAgICAgICAgICByZXNvdXJjZU5hbWU6IGAke3Byb3BzLmNsdXN0ZXIuY2x1c3Rlck5hbWV9LyR7cHJvcHMuc2VydmljZS5zZXJ2aWNlTmFtZX1gLFxuICAgICAgICB9KV0sXG4gICAgICB9KSxcbiAgICB9KSk7XG4gIH1cbn1cbiJdfQ==
67
+ EcsServiceRoller[_b] = { fqn: "cloudstructs.EcsServiceRoller", version: "0.6.30" };
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZWNzLXNlcnZpY2Utcm9sbGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsNkNBQW9DO0FBRXBDLGlEQUFpRDtBQUNqRCwwREFBMEQ7QUFDMUQsMkNBQTJDO0FBQzNDLDJDQUF1QztBQXdCdkM7O0dBRUc7QUFDSCxNQUFzQixXQUFXO0lBQy9COztPQUVHO0lBQ0ksTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUF5QjtRQUNsRCxPQUFPLEVBQUUsUUFBUSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFpQjtRQUN0QyxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDbEIsQ0FBQzs7QUFiSCxrQ0E0QkM7OztBQUVEOztHQUVHO0FBQ0gsTUFBYSxnQkFBaUIsU0FBUSxzQkFBUztJQUM3QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTRCO1FBQ3BFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLE9BQU8sRUFBRSxJQUFJLElBQUksSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUU7WUFDaEUsUUFBUSxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsUUFBUSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO2dCQUN4RCxNQUFNLEVBQUUsR0FBRztnQkFDWCxJQUFJLEVBQUUsR0FBRzthQUNWLENBQUM7U0FDSCxDQUFDLENBQUM7UUFHSCxNQUFNLFVBQVUsR0FBOEI7WUFDNUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVztZQUNsQyxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXO1lBQ2xDLGtCQUFrQixFQUFFLElBQUk7U0FDekIsQ0FBQztRQUNGLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDO1lBQ2hDLE9BQU8sRUFBRSxLQUFLO1lBQ2QsTUFBTSxFQUFFLGVBQWU7WUFDdkIsVUFBVTtZQUNWLHVHQUF1RztZQUN2Ryx1RUFBdUU7WUFDdkUsZUFBZSxFQUFFLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQztnQkFDdkMsT0FBTyxFQUFFLENBQUMsbUJBQW1CLENBQUM7Z0JBQzlCLFNBQVMsRUFBRSxDQUFDLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQzt3QkFDbkMsT0FBTyxFQUFFLEtBQUs7d0JBQ2QsUUFBUSxFQUFFLFNBQVM7d0JBQ25CLFlBQVksRUFBRSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFO3FCQUMxRSxDQUFDLENBQUM7YUFDSixDQUFDO1NBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDOztBQWhDSCw0Q0FpQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFVwZGF0ZVNlcnZpY2VDb21tYW5kSW5wdXQgfSBmcm9tICdAYXdzLXNkay9jbGllbnQtZWNzJztcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgZWNzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1lY3MnO1xuaW1wb3J0ICogYXMgZXZlbnRzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1ldmVudHMnO1xuaW1wb3J0ICogYXMgdGFyZ2V0cyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZXZlbnRzLXRhcmdldHMnO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYSBFY3NTZXJ2aWNlUm9sbGVyXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWNzU2VydmljZVJvbGxlclByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBFQ1MgY2x1c3RlciB3aGVyZSB0aGUgc2VydmljZXMgcnVuXG4gICAqL1xuICByZWFkb25seSBjbHVzdGVyOiBlY3MuSUNsdXN0ZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBFQ1Mgc2VydmljZSBmb3Igd2hpY2ggdGFza3Mgc2hvdWxkIGJlIHJvbGxlZFxuICAgKi9cbiAgcmVhZG9ubHkgc2VydmljZTogZWNzLklTZXJ2aWNlO1xuXG4gIC8qKlxuICAgKiBUaGUgcnVsZSBvciBzY2hlZHVsZSB0aGF0IHNob3VsZCB0cmlnZ2VyIGEgcm9sbFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHJvbGwgZXZlcnlkYXkgYXQgbWlkbmlnaHRcbiAgICovXG4gIHJlYWRvbmx5IHRyaWdnZXI/OiBSb2xsVHJpZ2dlcjtcbn1cblxuLyoqXG4gKiBUaGUgcnVsZSBvciBzY2hlZHVsZSB0aGF0IHNob3VsZCB0cmlnZ2VyIGEgcm9sbFxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUm9sbFRyaWdnZXIge1xuICAvKipcbiAgICogU2NoZWR1bGUgdGhhdCBzaG91bGQgdHJpZ2dlciBhIHJvbGxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVNjaGVkdWxlKHNjaGVkdWxlOiBldmVudHMuU2NoZWR1bGUpOiBSb2xsVHJpZ2dlciB7XG4gICAgcmV0dXJuIHsgc2NoZWR1bGUgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSdWxlIHRoYXQgc2hvdWxkIHRyaWdnZXIgYSByb2xsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21SdWxlKHJ1bGU6IGV2ZW50cy5SdWxlKTogUm9sbFRyaWdnZXIge1xuICAgIHJldHVybiB7IHJ1bGUgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSb2xsIHNjaGVkdWxlXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gcm9sbCBldmVyeWRheSBhdCBtaWRuaWdodFxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHNjaGVkdWxlPzogZXZlbnRzLlNjaGVkdWxlO1xuXG4gIC8qKlxuICAgKiBSb2xsIHJ1bGVcbiAgICpcbiAgICogQGRlZmF1bHQgLSByb2xsIGV2ZXJ5ZGF5IGF0IG1pZG5pZ2h0XG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgcnVsZT86IGV2ZW50cy5SdWxlO1xufVxuXG4vKipcbiAqIFJvbGwgeW91ciBFQ1Mgc2VydmljZSB0YXNrcyBvbiBzY2hlZHVsZSBvciB3aXRoIGEgcnVsZVxuICovXG5leHBvcnQgY2xhc3MgRWNzU2VydmljZVJvbGxlciBleHRlbmRzIENvbnN0cnVjdCB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBFY3NTZXJ2aWNlUm9sbGVyUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgcnVsZSA9IHByb3BzLnRyaWdnZXI/LnJ1bGUgPz8gbmV3IGV2ZW50cy5SdWxlKHRoaXMsICdSdWxlJywge1xuICAgICAgc2NoZWR1bGU6IHByb3BzLnRyaWdnZXI/LnNjaGVkdWxlID8/IGV2ZW50cy5TY2hlZHVsZS5jcm9uKHtcbiAgICAgICAgbWludXRlOiAnMCcsXG4gICAgICAgIGhvdXI6ICcwJyxcbiAgICAgIH0pLFxuICAgIH0pO1xuXG5cbiAgICBjb25zdCBwYXJhbWV0ZXJzOiBVcGRhdGVTZXJ2aWNlQ29tbWFuZElucHV0ID0ge1xuICAgICAgc2VydmljZTogcHJvcHMuc2VydmljZS5zZXJ2aWNlTmFtZSxcbiAgICAgIGNsdXN0ZXI6IHByb3BzLmNsdXN0ZXIuY2x1c3Rlck5hbWUsXG4gICAgICBmb3JjZU5ld0RlcGxveW1lbnQ6IHRydWUsXG4gICAgfTtcbiAgICBydWxlLmFkZFRhcmdldChuZXcgdGFyZ2V0cy5Bd3NBcGkoe1xuICAgICAgc2VydmljZTogJ0VDUycsXG4gICAgICBhY3Rpb246ICd1cGRhdGVTZXJ2aWNlJyxcbiAgICAgIHBhcmFtZXRlcnMsXG4gICAgICAvLyBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uRUNTL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9lY3Mtc3VwcG9ydGVkLWlhbS1hY3Rpb25zLXJlc291cmNlcy5odG1sXG4gICAgICAvLyBhcm46YXdzOmVjczo8cmVnaW9uPjo8YWNjb3VudD46c2VydmljZS88Y2x1c3Rlci1uYW1lPi88c2VydmljZS1uYW1lPlxuICAgICAgcG9saWN5U3RhdGVtZW50OiBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIGFjdGlvbnM6IFsnZWNzOlVwZGF0ZVNlcnZpY2UnXSxcbiAgICAgICAgcmVzb3VyY2VzOiBbU3RhY2sub2YodGhpcykuZm9ybWF0QXJuKHtcbiAgICAgICAgICBzZXJ2aWNlOiAnZWNzJyxcbiAgICAgICAgICByZXNvdXJjZTogJ3NlcnZpY2UnLFxuICAgICAgICAgIHJlc291cmNlTmFtZTogYCR7cHJvcHMuY2x1c3Rlci5jbHVzdGVyTmFtZX0vJHtwcm9wcy5zZXJ2aWNlLnNlcnZpY2VOYW1lfWAsXG4gICAgICAgIH0pXSxcbiAgICAgIH0pLFxuICAgIH0pKTtcbiAgfVxufVxuIl19
@@ -62,5 +62,5 @@ class EmailReceiver extends constructs_1.Construct {
62
62
  }
63
63
  exports.EmailReceiver = EmailReceiver;
64
64
  _a = JSII_RTTI_SYMBOL_1;
65
- EmailReceiver[_a] = { fqn: "cloudstructs.EmailReceiver", version: "0.6.28" };
65
+ EmailReceiver[_a] = { fqn: "cloudstructs.EmailReceiver", version: "0.6.30" };
66
66
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjZWl2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZW1haWwtcmVjZWl2ZXIvcmVjZWl2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBdUM7QUFFdkMsb0VBQW9FO0FBQ3BFLDZDQUE2QztBQUM3Qyx5Q0FBeUM7QUFDekMsMkNBQTJDO0FBQzNDLHVEQUF1RDtBQUN2RCwyQ0FBMkM7QUFDM0MsbUVBQW1FO0FBQ25FLDJDQUF1QztBQUN2QywrQ0FBMkM7QUFDM0MsNkRBQXlEO0FBNEN6RDs7O0dBR0c7QUFDSCxNQUFhLGFBQWMsU0FBUSxzQkFBUztJQUMxQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXlCO1FBQ2pFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxXQUFXLEdBQUcsSUFBSSxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxhQUFhLEVBQUU7WUFDM0QsT0FBTyxFQUFFLEtBQUssQ0FBQyxjQUFjO1lBQzdCLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVTtZQUM1QixLQUFLLEVBQUUsS0FBSyxDQUFDLFNBQVM7WUFDdEIsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO1NBQ3ZCLENBQUMsQ0FBQztRQUVILE1BQU0sTUFBTSxHQUFHLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFO1lBQzNDLGlCQUFpQixFQUFFLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTO1lBQ2pELFVBQVUsRUFBRSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsVUFBVTtZQUMxQyxjQUFjLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxzQkFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1NBQ25ELENBQUMsQ0FBQztRQUNILE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsaUJBQWlCO1FBRW5ELE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFM0MsVUFBVTtRQUNWLElBQUksS0FBSyxDQUFDLGVBQWUsRUFBRTtZQUN6QixNQUFNLGdCQUFnQixHQUFHLElBQUksc0NBQWlCLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFDaEUsV0FBVyxFQUFFO29CQUNYLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxlQUFlO2lCQUN4QztnQkFDRCxZQUFZLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTO2FBQzNDLENBQUMsQ0FBQztZQUVILFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDO2dCQUN2QyxRQUFRLEVBQUUsZ0JBQWdCO2dCQUMxQixjQUFjLEVBQUUsT0FBTyxDQUFDLG9CQUFvQixDQUFDLGdCQUFnQjthQUM5RCxDQUFDLENBQUMsQ0FBQztTQUNMO1FBRUQsV0FBVyxDQUFDLFNBQVMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDbkMsTUFBTTtZQUNOLEtBQUs7U0FDTixDQUFDLENBQUMsQ0FBQztRQUVKLE1BQU0sU0FBUyxHQUFHLElBQUksd0JBQVUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQzNDLFlBQVksRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVM7WUFDMUMsU0FBUyxFQUFFLElBQUksWUFBWSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUU7Z0JBQzVELFlBQVksRUFBRSxJQUFJO2FBQ25CLENBQUM7U0FDSCxDQUFDLENBQUM7UUFFSCxLQUFLLENBQUMsZUFBZSxDQUFDLElBQUksYUFBYSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO0lBQ25GLENBQUM7O0FBaERILHNDQWlEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IER1cmF0aW9uIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0ICogYXMgZGVzdGluYXRpb25zIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEtZGVzdGluYXRpb25zJztcbmltcG9ydCAqIGFzIGxvZ3MgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxvZ3MnO1xuaW1wb3J0ICogYXMgczMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXMzJztcbmltcG9ydCAqIGFzIHNlcyBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc2VzJztcbmltcG9ydCAqIGFzIGFjdGlvbnMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXNlcy1hY3Rpb25zJztcbmltcG9ydCAqIGFzIHNucyBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc25zJztcbmltcG9ydCAqIGFzIHN1YnNjcmlwdGlvbnMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXNucy1zdWJzY3JpcHRpb25zJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgUzNGdW5jdGlvbiB9IGZyb20gJy4vczMtZnVuY3Rpb24nO1xuaW1wb3J0IHsgV2hpdGVsaXN0RnVuY3Rpb24gfSBmcm9tICcuL3doaXRlbGlzdC1mdW5jdGlvbic7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYW4gRW1haWxSZWNlaXZlclxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVtYWlsUmVjZWl2ZXJQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgU0VTIHJlY2VpcHQgcnVsZSBzZXQgd2hlcmUgYSByZWNlaXB0IHJ1bGUgd2lsbCBiZSBhZGRlZFxuICAgKi9cbiAgcmVhZG9ubHkgcmVjZWlwdFJ1bGVTZXQ6IHNlcy5JUmVjZWlwdFJ1bGVTZXQ7XG5cbiAgLyoqXG4gICAqIFRoZSByZWNpcGllbnRzIGZvciB3aGljaCBlbWFpbHMgc2hvdWxkIGJlIHJlY2VpdmVkXG4gICAqL1xuICByZWFkb25seSByZWNpcGllbnRzOiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQSBMYW1iZGEgZnVuY3Rpb24gdG8gaW52b2tlIGFmdGVyIHRoZSBtZXNzYWdlIGlzIHNhdmVkIHRvIFMzLiBUaGUgTGFtYmRhXG4gICAqIGZ1bmN0aW9uIHdpbGwgYmUgaW52b2tlZCB3aXRoIGEgU0VTTWVzc2FnZSBhcyBldmVudC5cbiAgICovXG4gIHJlYWRvbmx5IGZ1bmN0aW9uOiBsYW1iZGEuSUZ1bmN0aW9uO1xuXG4gIC8qKlxuICAgKiBBIHJlZ3VsYXIgZXhwcmVzc2lvbiB0byB3aGl0ZWxpc3Qgc291cmNlIGVtYWlsIGFkZHJlc3Nlc1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIHdoaXRlbGlzdGluZyBvZiBzb3VyY2UgZW1haWwgYWRkcmVzc2VzXG4gICAqL1xuICByZWFkb25seSBzb3VyY2VXaGl0ZWxpc3Q/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFuIGV4aXN0aW5nIHJ1bGUgYWZ0ZXIgd2hpY2ggdGhlIG5ldyBydWxlIHdpbGwgYmUgcGxhY2VkIGluIHRoZSBydWxlIHNldC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBUaGUgbmV3IHJ1bGUgaXMgaW5zZXJ0ZWQgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgcnVsZSBsaXN0LlxuICAgKi9cbiAgcmVhZG9ubHkgYWZ0ZXJSdWxlPzogc2VzLklSZWNlaXB0UnVsZTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgcmVjZWl2ZXIgaXMgYWN0aXZlLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBlbmFibGVkPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBSZWNlaXZlIGVtYWlscyB0aHJvdWdoIFNFUywgc2F2ZSB0aGVtIHRvIFMzIGFuZCBpbnZva2VzIGFcbiAqIExhbWJkYSBmdW5jdGlvblxuICovXG5leHBvcnQgY2xhc3MgRW1haWxSZWNlaXZlciBleHRlbmRzIENvbnN0cnVjdCB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBFbWFpbFJlY2VpdmVyUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgcmVjZWlwdFJ1bGUgPSBuZXcgc2VzLlJlY2VpcHRSdWxlKHRoaXMsICdSZWNlaXB0UnVsZScsIHtcbiAgICAgIHJ1bGVTZXQ6IHByb3BzLnJlY2VpcHRSdWxlU2V0LFxuICAgICAgcmVjaXBpZW50czogcHJvcHMucmVjaXBpZW50cyxcbiAgICAgIGFmdGVyOiBwcm9wcy5hZnRlclJ1bGUsXG4gICAgICBlbmFibGVkOiBwcm9wcy5lbmFibGVkLFxuICAgIH0pO1xuXG4gICAgY29uc3QgYnVja2V0ID0gbmV3IHMzLkJ1Y2tldCh0aGlzLCAnQnVja2V0Jywge1xuICAgICAgYmxvY2tQdWJsaWNBY2Nlc3M6IHMzLkJsb2NrUHVibGljQWNjZXNzLkJMT0NLX0FMTCxcbiAgICAgIGVuY3J5cHRpb246IHMzLkJ1Y2tldEVuY3J5cHRpb24uUzNfTUFOQUdFRCxcbiAgICAgIGxpZmVjeWNsZVJ1bGVzOiBbeyBleHBpcmF0aW9uOiBEdXJhdGlvbi5kYXlzKDEpIH1dLFxuICAgIH0pO1xuICAgIGJ1Y2tldC5ncmFudFJlYWQocHJvcHMuZnVuY3Rpb24pOyAvLyBEb3dubG9hZCBlbWFpbFxuXG4gICAgY29uc3QgdG9waWMgPSBuZXcgc25zLlRvcGljKHRoaXMsICdUb3BpYycpO1xuXG4gICAgLy8gQWN0aW9uc1xuICAgIGlmIChwcm9wcy5zb3VyY2VXaGl0ZWxpc3QpIHtcbiAgICAgIGNvbnN0IHdoaXRlbGlzdEhhbmRsZXIgPSBuZXcgV2hpdGVsaXN0RnVuY3Rpb24odGhpcywgJ3doaXRlbGlzdCcsIHtcbiAgICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgICBTT1VSQ0VfV0hJVEVMSVNUOiBwcm9wcy5zb3VyY2VXaGl0ZWxpc3QsXG4gICAgICAgIH0sXG4gICAgICAgIGxvZ1JldGVudGlvbjogbG9ncy5SZXRlbnRpb25EYXlzLk9ORV9NT05USCxcbiAgICAgIH0pO1xuXG4gICAgICByZWNlaXB0UnVsZS5hZGRBY3Rpb24obmV3IGFjdGlvbnMuTGFtYmRhKHtcbiAgICAgICAgZnVuY3Rpb246IHdoaXRlbGlzdEhhbmRsZXIsXG4gICAgICAgIGludm9jYXRpb25UeXBlOiBhY3Rpb25zLkxhbWJkYUludm9jYXRpb25UeXBlLlJFUVVFU1RfUkVTUE9OU0UsXG4gICAgICB9KSk7XG4gICAgfVxuXG4gICAgcmVjZWlwdFJ1bGUuYWRkQWN0aW9uKG5ldyBhY3Rpb25zLlMzKHtcbiAgICAgIGJ1Y2tldCxcbiAgICAgIHRvcGljLFxuICAgIH0pKTtcblxuICAgIGNvbnN0IHMzSGFuZGxlciA9IG5ldyBTM0Z1bmN0aW9uKHRoaXMsICdzMycsIHtcbiAgICAgIGxvZ1JldGVudGlvbjogbG9ncy5SZXRlbnRpb25EYXlzLk9ORV9NT05USCxcbiAgICAgIG9uU3VjY2VzczogbmV3IGRlc3RpbmF0aW9ucy5MYW1iZGFEZXN0aW5hdGlvbihwcm9wcy5mdW5jdGlvbiwge1xuICAgICAgICByZXNwb25zZU9ubHk6IHRydWUsXG4gICAgICB9KSxcbiAgICB9KTtcblxuICAgIHRvcGljLmFkZFN1YnNjcmlwdGlvbihuZXcgc3Vic2NyaXB0aW9ucy5MYW1iZGFTdWJzY3JpcHRpb24oczNIYW5kbGVyKSk7IC8vIE5vdGlmeVxuICB9XG59XG4iXX0=
@@ -12,7 +12,7 @@ class S3Function extends lambda.Function {
12
12
  super(scope, id, {
13
13
  description: 'src/email-receiver/s3.lambda.ts',
14
14
  ...props,
15
- runtime: new lambda.Runtime('nodejs16.x', lambda.RuntimeFamily.NODEJS),
15
+ runtime: new lambda.Runtime('nodejs18.x', lambda.RuntimeFamily.NODEJS),
16
16
  handler: 'index.handler',
17
17
  code: lambda.Code.fromAsset(path.join(__dirname, '../../assets/email-receiver/s3.lambda')),
18
18
  });
@@ -20,4 +20,4 @@ class S3Function extends lambda.Function {
20
20
  }
21
21
  }
22
22
  exports.S3Function = S3Function;
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiczMtZnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZW1haWwtcmVjZWl2ZXIvczMtZnVuY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkVBQTZFO0FBQzdFLDZCQUE2QjtBQUM3QixpREFBaUQ7QUFTakQ7O0dBRUc7QUFDSCxNQUFhLFVBQVcsU0FBUSxNQUFNLENBQUMsUUFBUTtJQUM3QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXVCO1FBQy9ELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsV0FBVyxFQUFFLGlDQUFpQztZQUM5QyxHQUFHLEtBQUs7WUFDUixPQUFPLEVBQUUsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQztZQUN0RSxPQUFPLEVBQUUsZUFBZTtZQUN4QixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsdUNBQXVDLENBQUMsQ0FBQztTQUMzRixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsY0FBYyxDQUFDLHFDQUFxQyxFQUFFLEdBQUcsRUFBRSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzFGLENBQUM7Q0FDRjtBQVhELGdDQVdDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gfn4gR2VuZXJhdGVkIGJ5IHByb2plbi4gVG8gbW9kaWZ5LCBlZGl0IC5wcm9qZW5yYy5qcyBhbmQgcnVuIFwibnB4IHByb2plblwiLlxuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIGxhbWJkYSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG4vKipcbiAqIFByb3BzIGZvciBTM0Z1bmN0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUzNGdW5jdGlvblByb3BzIGV4dGVuZHMgbGFtYmRhLkZ1bmN0aW9uT3B0aW9ucyB7XG59XG5cbi8qKlxuICogQW4gQVdTIExhbWJkYSBmdW5jdGlvbiB3aGljaCBleGVjdXRlcyBzcmMvZW1haWwtcmVjZWl2ZXIvczMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTM0Z1bmN0aW9uIGV4dGVuZHMgbGFtYmRhLkZ1bmN0aW9uIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM/OiBTM0Z1bmN0aW9uUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnc3JjL2VtYWlsLXJlY2VpdmVyL3MzLmxhbWJkYS50cycsXG4gICAgICAuLi5wcm9wcyxcbiAgICAgIHJ1bnRpbWU6IG5ldyBsYW1iZGEuUnVudGltZSgnbm9kZWpzMTYueCcsIGxhbWJkYS5SdW50aW1lRmFtaWx5Lk5PREVKUyksXG4gICAgICBoYW5kbGVyOiAnaW5kZXguaGFuZGxlcicsXG4gICAgICBjb2RlOiBsYW1iZGEuQ29kZS5mcm9tQXNzZXQocGF0aC5qb2luKF9fZGlybmFtZSwgJy4uLy4uL2Fzc2V0cy9lbWFpbC1yZWNlaXZlci9zMy5sYW1iZGEnKSksXG4gICAgfSk7XG4gICAgdGhpcy5hZGRFbnZpcm9ubWVudCgnQVdTX05PREVKU19DT05ORUNUSU9OX1JFVVNFX0VOQUJMRUQnLCAnMScsIHsgcmVtb3ZlSW5FZGdlOiB0cnVlIH0pO1xuICB9XG59Il19
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiczMtZnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZW1haWwtcmVjZWl2ZXIvczMtZnVuY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkVBQTZFO0FBQzdFLDZCQUE2QjtBQUM3QixpREFBaUQ7QUFTakQ7O0dBRUc7QUFDSCxNQUFhLFVBQVcsU0FBUSxNQUFNLENBQUMsUUFBUTtJQUM3QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXVCO1FBQy9ELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsV0FBVyxFQUFFLGlDQUFpQztZQUM5QyxHQUFHLEtBQUs7WUFDUixPQUFPLEVBQUUsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQztZQUN0RSxPQUFPLEVBQUUsZUFBZTtZQUN4QixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsdUNBQXVDLENBQUMsQ0FBQztTQUMzRixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsY0FBYyxDQUFDLHFDQUFxQyxFQUFFLEdBQUcsRUFBRSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzFGLENBQUM7Q0FDRjtBQVhELGdDQVdDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gfn4gR2VuZXJhdGVkIGJ5IHByb2plbi4gVG8gbW9kaWZ5LCBlZGl0IC5wcm9qZW5yYy5qcyBhbmQgcnVuIFwibnB4IHByb2plblwiLlxuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIGxhbWJkYSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG4vKipcbiAqIFByb3BzIGZvciBTM0Z1bmN0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUzNGdW5jdGlvblByb3BzIGV4dGVuZHMgbGFtYmRhLkZ1bmN0aW9uT3B0aW9ucyB7XG59XG5cbi8qKlxuICogQW4gQVdTIExhbWJkYSBmdW5jdGlvbiB3aGljaCBleGVjdXRlcyBzcmMvZW1haWwtcmVjZWl2ZXIvczMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTM0Z1bmN0aW9uIGV4dGVuZHMgbGFtYmRhLkZ1bmN0aW9uIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM/OiBTM0Z1bmN0aW9uUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnc3JjL2VtYWlsLXJlY2VpdmVyL3MzLmxhbWJkYS50cycsXG4gICAgICAuLi5wcm9wcyxcbiAgICAgIHJ1bnRpbWU6IG5ldyBsYW1iZGEuUnVudGltZSgnbm9kZWpzMTgueCcsIGxhbWJkYS5SdW50aW1lRmFtaWx5Lk5PREVKUyksXG4gICAgICBoYW5kbGVyOiAnaW5kZXguaGFuZGxlcicsXG4gICAgICBjb2RlOiBsYW1iZGEuQ29kZS5mcm9tQXNzZXQocGF0aC5qb2luKF9fZGlybmFtZSwgJy4uLy4uL2Fzc2V0cy9lbWFpbC1yZWNlaXZlci9zMy5sYW1iZGEnKSksXG4gICAgfSk7XG4gICAgdGhpcy5hZGRFbnZpcm9ubWVudCgnQVdTX05PREVKU19DT05ORUNUSU9OX1JFVVNFX0VOQUJMRUQnLCAnMScsIHsgcmVtb3ZlSW5FZGdlOiB0cnVlIH0pO1xuICB9XG59Il19
@@ -12,7 +12,7 @@ class WhitelistFunction extends lambda.Function {
12
12
  super(scope, id, {
13
13
  description: 'src/email-receiver/whitelist.lambda.ts',
14
14
  ...props,
15
- runtime: new lambda.Runtime('nodejs16.x', lambda.RuntimeFamily.NODEJS),
15
+ runtime: new lambda.Runtime('nodejs18.x', lambda.RuntimeFamily.NODEJS),
16
16
  handler: 'index.handler',
17
17
  code: lambda.Code.fromAsset(path.join(__dirname, '../../assets/email-receiver/whitelist.lambda')),
18
18
  });
@@ -20,4 +20,4 @@ class WhitelistFunction extends lambda.Function {
20
20
  }
21
21
  }
22
22
  exports.WhitelistFunction = WhitelistFunction;
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2hpdGVsaXN0LWZ1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2VtYWlsLXJlY2VpdmVyL3doaXRlbGlzdC1mdW5jdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2RUFBNkU7QUFDN0UsNkJBQTZCO0FBQzdCLGlEQUFpRDtBQVNqRDs7R0FFRztBQUNILE1BQWEsaUJBQWtCLFNBQVEsTUFBTSxDQUFDLFFBQVE7SUFDcEQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUE4QjtRQUN0RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLFdBQVcsRUFBRSx3Q0FBd0M7WUFDckQsR0FBRyxLQUFLO1lBQ1IsT0FBTyxFQUFFLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUM7WUFDdEUsT0FBTyxFQUFFLGVBQWU7WUFDeEIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLDhDQUE4QyxDQUFDLENBQUM7U0FDbEcsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxxQ0FBcUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMxRixDQUFDO0NBQ0Y7QUFYRCw4Q0FXQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIH5+IEdlbmVyYXRlZCBieSBwcm9qZW4uIFRvIG1vZGlmeSwgZWRpdCAucHJvamVucmMuanMgYW5kIHJ1biBcIm5weCBwcm9qZW5cIi5cbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuLyoqXG4gKiBQcm9wcyBmb3IgV2hpdGVsaXN0RnVuY3Rpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBXaGl0ZWxpc3RGdW5jdGlvblByb3BzIGV4dGVuZHMgbGFtYmRhLkZ1bmN0aW9uT3B0aW9ucyB7XG59XG5cbi8qKlxuICogQW4gQVdTIExhbWJkYSBmdW5jdGlvbiB3aGljaCBleGVjdXRlcyBzcmMvZW1haWwtcmVjZWl2ZXIvd2hpdGVsaXN0LlxuICovXG5leHBvcnQgY2xhc3MgV2hpdGVsaXN0RnVuY3Rpb24gZXh0ZW5kcyBsYW1iZGEuRnVuY3Rpb24ge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wcz86IFdoaXRlbGlzdEZ1bmN0aW9uUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnc3JjL2VtYWlsLXJlY2VpdmVyL3doaXRlbGlzdC5sYW1iZGEudHMnLFxuICAgICAgLi4ucHJvcHMsXG4gICAgICBydW50aW1lOiBuZXcgbGFtYmRhLlJ1bnRpbWUoJ25vZGVqczE2LngnLCBsYW1iZGEuUnVudGltZUZhbWlseS5OT0RFSlMpLFxuICAgICAgaGFuZGxlcjogJ2luZGV4LmhhbmRsZXInLFxuICAgICAgY29kZTogbGFtYmRhLkNvZGUuZnJvbUFzc2V0KHBhdGguam9pbihfX2Rpcm5hbWUsICcuLi8uLi9hc3NldHMvZW1haWwtcmVjZWl2ZXIvd2hpdGVsaXN0LmxhbWJkYScpKSxcbiAgICB9KTtcbiAgICB0aGlzLmFkZEVudmlyb25tZW50KCdBV1NfTk9ERUpTX0NPTk5FQ1RJT05fUkVVU0VfRU5BQkxFRCcsICcxJywgeyByZW1vdmVJbkVkZ2U6IHRydWUgfSk7XG4gIH1cbn0iXX0=
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2hpdGVsaXN0LWZ1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2VtYWlsLXJlY2VpdmVyL3doaXRlbGlzdC1mdW5jdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2RUFBNkU7QUFDN0UsNkJBQTZCO0FBQzdCLGlEQUFpRDtBQVNqRDs7R0FFRztBQUNILE1BQWEsaUJBQWtCLFNBQVEsTUFBTSxDQUFDLFFBQVE7SUFDcEQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUE4QjtRQUN0RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLFdBQVcsRUFBRSx3Q0FBd0M7WUFDckQsR0FBRyxLQUFLO1lBQ1IsT0FBTyxFQUFFLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUM7WUFDdEUsT0FBTyxFQUFFLGVBQWU7WUFDeEIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLDhDQUE4QyxDQUFDLENBQUM7U0FDbEcsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxxQ0FBcUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMxRixDQUFDO0NBQ0Y7QUFYRCw4Q0FXQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIH5+IEdlbmVyYXRlZCBieSBwcm9qZW4uIFRvIG1vZGlmeSwgZWRpdCAucHJvamVucmMuanMgYW5kIHJ1biBcIm5weCBwcm9qZW5cIi5cbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuLyoqXG4gKiBQcm9wcyBmb3IgV2hpdGVsaXN0RnVuY3Rpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBXaGl0ZWxpc3RGdW5jdGlvblByb3BzIGV4dGVuZHMgbGFtYmRhLkZ1bmN0aW9uT3B0aW9ucyB7XG59XG5cbi8qKlxuICogQW4gQVdTIExhbWJkYSBmdW5jdGlvbiB3aGljaCBleGVjdXRlcyBzcmMvZW1haWwtcmVjZWl2ZXIvd2hpdGVsaXN0LlxuICovXG5leHBvcnQgY2xhc3MgV2hpdGVsaXN0RnVuY3Rpb24gZXh0ZW5kcyBsYW1iZGEuRnVuY3Rpb24ge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wcz86IFdoaXRlbGlzdEZ1bmN0aW9uUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnc3JjL2VtYWlsLXJlY2VpdmVyL3doaXRlbGlzdC5sYW1iZGEudHMnLFxuICAgICAgLi4ucHJvcHMsXG4gICAgICBydW50aW1lOiBuZXcgbGFtYmRhLlJ1bnRpbWUoJ25vZGVqczE4LngnLCBsYW1iZGEuUnVudGltZUZhbWlseS5OT0RFSlMpLFxuICAgICAgaGFuZGxlcjogJ2luZGV4LmhhbmRsZXInLFxuICAgICAgY29kZTogbGFtYmRhLkNvZGUuZnJvbUFzc2V0KHBhdGguam9pbihfX2Rpcm5hbWUsICcuLi8uLi9hc3NldHMvZW1haWwtcmVjZWl2ZXIvd2hpdGVsaXN0LmxhbWJkYScpKSxcbiAgICB9KTtcbiAgICB0aGlzLmFkZEVudmlyb25tZW50KCdBV1NfTk9ERUpTX0NPTk5FQ1RJT05fUkVVU0VfRU5BQkxFRCcsICcxJywgeyByZW1vdmVJbkVkZ2U6IHRydWUgfSk7XG4gIH1cbn0iXX0=