cloudstructs 0.6.27 → 0.6.29

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 (174) 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/node_modules/@slack/logger/node_modules/@types/node/README.md +1 -1
  49. package/node_modules/@slack/logger/node_modules/@types/node/crypto.d.ts +3 -2
  50. package/node_modules/@slack/logger/node_modules/@types/node/diagnostics_channel.d.ts +39 -0
  51. package/node_modules/@slack/logger/node_modules/@types/node/dns.d.ts +1 -1
  52. package/node_modules/@slack/logger/node_modules/@types/node/globals.d.ts +1 -0
  53. package/node_modules/@slack/logger/node_modules/@types/node/http.d.ts +7 -0
  54. package/node_modules/@slack/logger/node_modules/@types/node/http2.d.ts +0 -1
  55. package/node_modules/@slack/logger/node_modules/@types/node/package.json +3 -3
  56. package/node_modules/@slack/logger/node_modules/@types/node/process.d.ts +6 -0
  57. package/node_modules/@slack/logger/node_modules/@types/node/stream.d.ts +99 -0
  58. package/node_modules/@slack/logger/node_modules/@types/node/test.d.ts +99 -31
  59. package/node_modules/@slack/logger/node_modules/@types/node/ts4.8/diagnostics_channel.d.ts +40 -1
  60. package/node_modules/@slack/logger/node_modules/@types/node/ts4.8/dns.d.ts +1 -1
  61. package/node_modules/@slack/logger/node_modules/@types/node/ts4.8/http2.d.ts +0 -1
  62. package/node_modules/@slack/logger/node_modules/@types/node/ts4.8/process.d.ts +6 -0
  63. package/node_modules/@slack/logger/node_modules/@types/node/ts4.8/stream.d.ts +99 -0
  64. package/node_modules/@slack/logger/node_modules/@types/node/ts4.8/test.d.ts +99 -31
  65. package/node_modules/@slack/logger/node_modules/@types/node/ts4.8/v8.d.ts +51 -0
  66. package/node_modules/@slack/logger/node_modules/@types/node/ts4.8/vm.d.ts +146 -11
  67. package/node_modules/@slack/logger/node_modules/@types/node/v8.d.ts +51 -0
  68. package/node_modules/@slack/logger/node_modules/@types/node/vm.d.ts +146 -11
  69. package/node_modules/@slack/web-api/node_modules/@types/node/README.md +1 -1
  70. package/node_modules/@slack/web-api/node_modules/@types/node/crypto.d.ts +3 -2
  71. package/node_modules/@slack/web-api/node_modules/@types/node/diagnostics_channel.d.ts +39 -0
  72. package/node_modules/@slack/web-api/node_modules/@types/node/dns.d.ts +1 -1
  73. package/node_modules/@slack/web-api/node_modules/@types/node/globals.d.ts +1 -0
  74. package/node_modules/@slack/web-api/node_modules/@types/node/http.d.ts +7 -0
  75. package/node_modules/@slack/web-api/node_modules/@types/node/http2.d.ts +0 -1
  76. package/node_modules/@slack/web-api/node_modules/@types/node/package.json +3 -3
  77. package/node_modules/@slack/web-api/node_modules/@types/node/process.d.ts +6 -0
  78. package/node_modules/@slack/web-api/node_modules/@types/node/stream.d.ts +99 -0
  79. package/node_modules/@slack/web-api/node_modules/@types/node/test.d.ts +99 -31
  80. package/node_modules/@slack/web-api/node_modules/@types/node/ts4.8/diagnostics_channel.d.ts +40 -1
  81. package/node_modules/@slack/web-api/node_modules/@types/node/ts4.8/dns.d.ts +1 -1
  82. package/node_modules/@slack/web-api/node_modules/@types/node/ts4.8/http2.d.ts +0 -1
  83. package/node_modules/@slack/web-api/node_modules/@types/node/ts4.8/process.d.ts +6 -0
  84. package/node_modules/@slack/web-api/node_modules/@types/node/ts4.8/stream.d.ts +99 -0
  85. package/node_modules/@slack/web-api/node_modules/@types/node/ts4.8/test.d.ts +99 -31
  86. package/node_modules/@slack/web-api/node_modules/@types/node/ts4.8/v8.d.ts +51 -0
  87. package/node_modules/@slack/web-api/node_modules/@types/node/ts4.8/vm.d.ts +146 -11
  88. package/node_modules/@slack/web-api/node_modules/@types/node/v8.d.ts +51 -0
  89. package/node_modules/@slack/web-api/node_modules/@types/node/vm.d.ts +146 -11
  90. package/node_modules/@types/cacheable-request/node_modules/@types/node/README.md +1 -1
  91. package/node_modules/@types/cacheable-request/node_modules/@types/node/crypto.d.ts +3 -2
  92. package/node_modules/@types/cacheable-request/node_modules/@types/node/diagnostics_channel.d.ts +39 -0
  93. package/node_modules/@types/cacheable-request/node_modules/@types/node/dns.d.ts +1 -1
  94. package/node_modules/@types/cacheable-request/node_modules/@types/node/globals.d.ts +1 -0
  95. package/node_modules/@types/cacheable-request/node_modules/@types/node/http.d.ts +7 -0
  96. package/node_modules/@types/cacheable-request/node_modules/@types/node/http2.d.ts +0 -1
  97. package/node_modules/@types/cacheable-request/node_modules/@types/node/package.json +3 -3
  98. package/node_modules/@types/cacheable-request/node_modules/@types/node/process.d.ts +6 -0
  99. package/node_modules/@types/cacheable-request/node_modules/@types/node/stream.d.ts +99 -0
  100. package/node_modules/@types/cacheable-request/node_modules/@types/node/test.d.ts +99 -31
  101. package/node_modules/@types/cacheable-request/node_modules/@types/node/ts4.8/diagnostics_channel.d.ts +40 -1
  102. package/node_modules/@types/cacheable-request/node_modules/@types/node/ts4.8/dns.d.ts +1 -1
  103. package/node_modules/@types/cacheable-request/node_modules/@types/node/ts4.8/http2.d.ts +0 -1
  104. package/node_modules/@types/cacheable-request/node_modules/@types/node/ts4.8/process.d.ts +6 -0
  105. package/node_modules/@types/cacheable-request/node_modules/@types/node/ts4.8/stream.d.ts +99 -0
  106. package/node_modules/@types/cacheable-request/node_modules/@types/node/ts4.8/test.d.ts +99 -31
  107. package/node_modules/@types/cacheable-request/node_modules/@types/node/ts4.8/v8.d.ts +51 -0
  108. package/node_modules/@types/cacheable-request/node_modules/@types/node/ts4.8/vm.d.ts +146 -11
  109. package/node_modules/@types/cacheable-request/node_modules/@types/node/v8.d.ts +51 -0
  110. package/node_modules/@types/cacheable-request/node_modules/@types/node/vm.d.ts +146 -11
  111. package/node_modules/@types/is-stream/node_modules/@types/node/README.md +1 -1
  112. package/node_modules/@types/is-stream/node_modules/@types/node/crypto.d.ts +3 -2
  113. package/node_modules/@types/is-stream/node_modules/@types/node/diagnostics_channel.d.ts +39 -0
  114. package/node_modules/@types/is-stream/node_modules/@types/node/dns.d.ts +1 -1
  115. package/node_modules/@types/is-stream/node_modules/@types/node/globals.d.ts +1 -0
  116. package/node_modules/@types/is-stream/node_modules/@types/node/http.d.ts +7 -0
  117. package/node_modules/@types/is-stream/node_modules/@types/node/http2.d.ts +0 -1
  118. package/node_modules/@types/is-stream/node_modules/@types/node/package.json +3 -3
  119. package/node_modules/@types/is-stream/node_modules/@types/node/process.d.ts +6 -0
  120. package/node_modules/@types/is-stream/node_modules/@types/node/stream.d.ts +99 -0
  121. package/node_modules/@types/is-stream/node_modules/@types/node/test.d.ts +99 -31
  122. package/node_modules/@types/is-stream/node_modules/@types/node/ts4.8/diagnostics_channel.d.ts +40 -1
  123. package/node_modules/@types/is-stream/node_modules/@types/node/ts4.8/dns.d.ts +1 -1
  124. package/node_modules/@types/is-stream/node_modules/@types/node/ts4.8/http2.d.ts +0 -1
  125. package/node_modules/@types/is-stream/node_modules/@types/node/ts4.8/process.d.ts +6 -0
  126. package/node_modules/@types/is-stream/node_modules/@types/node/ts4.8/stream.d.ts +99 -0
  127. package/node_modules/@types/is-stream/node_modules/@types/node/ts4.8/test.d.ts +99 -31
  128. package/node_modules/@types/is-stream/node_modules/@types/node/ts4.8/v8.d.ts +51 -0
  129. package/node_modules/@types/is-stream/node_modules/@types/node/ts4.8/vm.d.ts +146 -11
  130. package/node_modules/@types/is-stream/node_modules/@types/node/v8.d.ts +51 -0
  131. package/node_modules/@types/is-stream/node_modules/@types/node/vm.d.ts +146 -11
  132. package/node_modules/@types/keyv/node_modules/@types/node/README.md +1 -1
  133. package/node_modules/@types/keyv/node_modules/@types/node/crypto.d.ts +3 -2
  134. package/node_modules/@types/keyv/node_modules/@types/node/diagnostics_channel.d.ts +39 -0
  135. package/node_modules/@types/keyv/node_modules/@types/node/dns.d.ts +1 -1
  136. package/node_modules/@types/keyv/node_modules/@types/node/globals.d.ts +1 -0
  137. package/node_modules/@types/keyv/node_modules/@types/node/http.d.ts +7 -0
  138. package/node_modules/@types/keyv/node_modules/@types/node/http2.d.ts +0 -1
  139. package/node_modules/@types/keyv/node_modules/@types/node/package.json +3 -3
  140. package/node_modules/@types/keyv/node_modules/@types/node/process.d.ts +6 -0
  141. package/node_modules/@types/keyv/node_modules/@types/node/stream.d.ts +99 -0
  142. package/node_modules/@types/keyv/node_modules/@types/node/test.d.ts +99 -31
  143. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/diagnostics_channel.d.ts +40 -1
  144. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/dns.d.ts +1 -1
  145. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/http2.d.ts +0 -1
  146. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/process.d.ts +6 -0
  147. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/stream.d.ts +99 -0
  148. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/test.d.ts +99 -31
  149. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/v8.d.ts +51 -0
  150. package/node_modules/@types/keyv/node_modules/@types/node/ts4.8/vm.d.ts +146 -11
  151. package/node_modules/@types/keyv/node_modules/@types/node/v8.d.ts +51 -0
  152. package/node_modules/@types/keyv/node_modules/@types/node/vm.d.ts +146 -11
  153. package/node_modules/@types/responselike/node_modules/@types/node/README.md +1 -1
  154. package/node_modules/@types/responselike/node_modules/@types/node/crypto.d.ts +3 -2
  155. package/node_modules/@types/responselike/node_modules/@types/node/diagnostics_channel.d.ts +39 -0
  156. package/node_modules/@types/responselike/node_modules/@types/node/dns.d.ts +1 -1
  157. package/node_modules/@types/responselike/node_modules/@types/node/globals.d.ts +1 -0
  158. package/node_modules/@types/responselike/node_modules/@types/node/http.d.ts +7 -0
  159. package/node_modules/@types/responselike/node_modules/@types/node/http2.d.ts +0 -1
  160. package/node_modules/@types/responselike/node_modules/@types/node/package.json +3 -3
  161. package/node_modules/@types/responselike/node_modules/@types/node/process.d.ts +6 -0
  162. package/node_modules/@types/responselike/node_modules/@types/node/stream.d.ts +99 -0
  163. package/node_modules/@types/responselike/node_modules/@types/node/test.d.ts +99 -31
  164. package/node_modules/@types/responselike/node_modules/@types/node/ts4.8/diagnostics_channel.d.ts +40 -1
  165. package/node_modules/@types/responselike/node_modules/@types/node/ts4.8/dns.d.ts +1 -1
  166. package/node_modules/@types/responselike/node_modules/@types/node/ts4.8/http2.d.ts +0 -1
  167. package/node_modules/@types/responselike/node_modules/@types/node/ts4.8/process.d.ts +6 -0
  168. package/node_modules/@types/responselike/node_modules/@types/node/ts4.8/stream.d.ts +99 -0
  169. package/node_modules/@types/responselike/node_modules/@types/node/ts4.8/test.d.ts +99 -31
  170. package/node_modules/@types/responselike/node_modules/@types/node/ts4.8/v8.d.ts +51 -0
  171. package/node_modules/@types/responselike/node_modules/@types/node/ts4.8/vm.d.ts +146 -11
  172. package/node_modules/@types/responselike/node_modules/@types/node/v8.d.ts +51 -0
  173. package/node_modules/@types/responselike/node_modules/@types/node/vm.d.ts +146 -11
  174. 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.78.1 (build 878761e)",
2847
+ "jsiiVersion": "1.79.0 (build b22f628)",
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.27",
6457
- "fingerprint": "s42fePlK0vqY9KObFMv0AA1utrQW/War81I+Kfvg0o4="
6456
+ "version": "0.6.29",
6457
+ "fingerprint": "Y4FCWFqflh8fSElRBo+XxeFDzCGcbxzppDBGIHOSP4E="
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.27" };
44
+ CodeCommitMirrorSourceRepository[_a] = { fqn: "cloudstructs.CodeCommitMirrorSourceRepository", version: "0.6.29" };
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.27" };
92
+ CodeCommitMirror[_b] = { fqn: "cloudstructs.CodeCommitMirror", version: "0.6.29" };
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.27" };
30
+ RollTrigger[_a] = { fqn: "cloudstructs.RollTrigger", version: "0.6.29" };
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.27" };
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZWNzLXNlcnZpY2Utcm9sbGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQW9DO0FBRXBDLGlEQUFpRDtBQUNqRCwwREFBMEQ7QUFDMUQsMkNBQTJDO0FBQzNDLDJDQUF1QztBQXdCdkM7O0dBRUc7QUFDSCxNQUFzQixXQUFXO0lBQy9COztPQUVHO0lBQ0ksTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUF5QjtRQUNsRCxPQUFPLEVBQUUsUUFBUSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFpQjtRQUN0QyxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDbEIsQ0FBQzs7QUFiSCxrQ0E0QkM7OztBQUVEOztHQUVHO0FBQ0gsTUFBYSxnQkFBaUIsU0FBUSxzQkFBUztJQUM3QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTRCO1FBQ3BFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLE9BQU8sRUFBRSxJQUFJLElBQUksSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUU7WUFDaEUsUUFBUSxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsUUFBUSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO2dCQUN4RCxNQUFNLEVBQUUsR0FBRztnQkFDWCxJQUFJLEVBQUUsR0FBRzthQUNWLENBQUM7U0FDSCxDQUFDLENBQUM7UUFHSCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQztZQUNoQyxPQUFPLEVBQUUsS0FBSztZQUNkLE1BQU0sRUFBRSxlQUFlO1lBQ3ZCLFVBQVUsRUFBRTtnQkFDVixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXO2dCQUNsQyxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXO2dCQUNsQyxrQkFBa0IsRUFBRSxJQUFJO2FBQ087WUFDakMsdUdBQXVHO1lBQ3ZHLHVFQUF1RTtZQUN2RSxlQUFlLEVBQUUsSUFBSSxHQUFHLENBQUMsZUFBZSxDQUFDO2dCQUN2QyxPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztnQkFDOUIsU0FBUyxFQUFFLENBQUMsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDO3dCQUNuQyxPQUFPLEVBQUUsS0FBSzt3QkFDZCxRQUFRLEVBQUUsU0FBUzt3QkFDbkIsWUFBWSxFQUFFLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUU7cUJBQzFFLENBQUMsQ0FBQzthQUNKLENBQUM7U0FDSCxDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7O0FBL0JILDRDQWdDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YWNrIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgZWNzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1lY3MnO1xuaW1wb3J0ICogYXMgZXZlbnRzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1ldmVudHMnO1xuaW1wb3J0ICogYXMgdGFyZ2V0cyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZXZlbnRzLXRhcmdldHMnO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYSBFY3NTZXJ2aWNlUm9sbGVyXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWNzU2VydmljZVJvbGxlclByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBFQ1MgY2x1c3RlciB3aGVyZSB0aGUgc2VydmljZXMgcnVuXG4gICAqL1xuICByZWFkb25seSBjbHVzdGVyOiBlY3MuSUNsdXN0ZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBFQ1Mgc2VydmljZSBmb3Igd2hpY2ggdGFza3Mgc2hvdWxkIGJlIHJvbGxlZFxuICAgKi9cbiAgcmVhZG9ubHkgc2VydmljZTogZWNzLklTZXJ2aWNlO1xuXG4gIC8qKlxuICAgKiBUaGUgcnVsZSBvciBzY2hlZHVsZSB0aGF0IHNob3VsZCB0cmlnZ2VyIGEgcm9sbFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHJvbGwgZXZlcnlkYXkgYXQgbWlkbmlnaHRcbiAgICovXG4gIHJlYWRvbmx5IHRyaWdnZXI/OiBSb2xsVHJpZ2dlcjtcbn1cblxuLyoqXG4gKiBUaGUgcnVsZSBvciBzY2hlZHVsZSB0aGF0IHNob3VsZCB0cmlnZ2VyIGEgcm9sbFxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUm9sbFRyaWdnZXIge1xuICAvKipcbiAgICogU2NoZWR1bGUgdGhhdCBzaG91bGQgdHJpZ2dlciBhIHJvbGxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVNjaGVkdWxlKHNjaGVkdWxlOiBldmVudHMuU2NoZWR1bGUpOiBSb2xsVHJpZ2dlciB7XG4gICAgcmV0dXJuIHsgc2NoZWR1bGUgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSdWxlIHRoYXQgc2hvdWxkIHRyaWdnZXIgYSByb2xsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21SdWxlKHJ1bGU6IGV2ZW50cy5SdWxlKTogUm9sbFRyaWdnZXIge1xuICAgIHJldHVybiB7IHJ1bGUgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSb2xsIHNjaGVkdWxlXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gcm9sbCBldmVyeWRheSBhdCBtaWRuaWdodFxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHNjaGVkdWxlPzogZXZlbnRzLlNjaGVkdWxlO1xuXG4gIC8qKlxuICAgKiBSb2xsIHJ1bGVcbiAgICpcbiAgICogQGRlZmF1bHQgLSByb2xsIGV2ZXJ5ZGF5IGF0IG1pZG5pZ2h0XG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgcnVsZT86IGV2ZW50cy5SdWxlO1xufVxuXG4vKipcbiAqIFJvbGwgeW91ciBFQ1Mgc2VydmljZSB0YXNrcyBvbiBzY2hlZHVsZSBvciB3aXRoIGEgcnVsZVxuICovXG5leHBvcnQgY2xhc3MgRWNzU2VydmljZVJvbGxlciBleHRlbmRzIENvbnN0cnVjdCB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBFY3NTZXJ2aWNlUm9sbGVyUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgcnVsZSA9IHByb3BzLnRyaWdnZXI/LnJ1bGUgPz8gbmV3IGV2ZW50cy5SdWxlKHRoaXMsICdSdWxlJywge1xuICAgICAgc2NoZWR1bGU6IHByb3BzLnRyaWdnZXI/LnNjaGVkdWxlID8/IGV2ZW50cy5TY2hlZHVsZS5jcm9uKHtcbiAgICAgICAgbWludXRlOiAnMCcsXG4gICAgICAgIGhvdXI6ICcwJyxcbiAgICAgIH0pLFxuICAgIH0pO1xuXG5cbiAgICBydWxlLmFkZFRhcmdldChuZXcgdGFyZ2V0cy5Bd3NBcGkoe1xuICAgICAgc2VydmljZTogJ0VDUycsXG4gICAgICBhY3Rpb246ICd1cGRhdGVTZXJ2aWNlJyxcbiAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgc2VydmljZTogcHJvcHMuc2VydmljZS5zZXJ2aWNlTmFtZSxcbiAgICAgICAgY2x1c3RlcjogcHJvcHMuY2x1c3Rlci5jbHVzdGVyTmFtZSxcbiAgICAgICAgZm9yY2VOZXdEZXBsb3ltZW50OiB0cnVlLFxuICAgICAgfSBhcyBBV1MuRUNTLlVwZGF0ZVNlcnZpY2VSZXF1ZXN0LFxuICAgICAgLy8gaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvbkVDUy9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvZWNzLXN1cHBvcnRlZC1pYW0tYWN0aW9ucy1yZXNvdXJjZXMuaHRtbFxuICAgICAgLy8gYXJuOmF3czplY3M6PHJlZ2lvbj46PGFjY291bnQ+OnNlcnZpY2UvPGNsdXN0ZXItbmFtZT4vPHNlcnZpY2UtbmFtZT5cbiAgICAgIHBvbGljeVN0YXRlbWVudDogbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBhY3Rpb25zOiBbJ2VjczpVcGRhdGVTZXJ2aWNlJ10sXG4gICAgICAgIHJlc291cmNlczogW1N0YWNrLm9mKHRoaXMpLmZvcm1hdEFybih7XG4gICAgICAgICAgc2VydmljZTogJ2VjcycsXG4gICAgICAgICAgcmVzb3VyY2U6ICdzZXJ2aWNlJyxcbiAgICAgICAgICByZXNvdXJjZU5hbWU6IGAke3Byb3BzLmNsdXN0ZXIuY2x1c3Rlck5hbWV9LyR7cHJvcHMuc2VydmljZS5zZXJ2aWNlTmFtZX1gLFxuICAgICAgICB9KV0sXG4gICAgICB9KSxcbiAgICB9KSk7XG4gIH1cbn1cbiJdfQ==
67
+ EcsServiceRoller[_b] = { fqn: "cloudstructs.EcsServiceRoller", version: "0.6.29" };
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.27" };
65
+ EmailReceiver[_a] = { fqn: "cloudstructs.EmailReceiver", version: "0.6.29" };
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=