cloudstructs 0.2.4 → 0.2.8

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 (198) hide show
  1. package/.gitattributes +1 -0
  2. package/.jsii +215 -5
  3. package/API.md +56 -0
  4. package/README.md +2 -0
  5. package/lib/codecommit-mirror/index.js +2 -2
  6. package/lib/ecs-service-roller/index.js +2 -2
  7. package/lib/email-receiver/receiver.js +1 -1
  8. package/lib/index.d.ts +1 -0
  9. package/lib/index.js +2 -1
  10. package/lib/saml-identity-provider/index.js +2 -2
  11. package/lib/slack-app/index.d.ts +95 -0
  12. package/lib/slack-app/index.js +49 -0
  13. package/lib/slack-app/provider.d.ts +11 -0
  14. package/lib/slack-app/provider.handler.d.ts +2 -0
  15. package/lib/slack-app/provider.handler.js +100 -0
  16. package/lib/slack-app/provider.js +33 -0
  17. package/lib/slack-events/index.js +1 -1
  18. package/lib/slack-textract/index.js +1 -1
  19. package/lib/state-machine-cr-provider/index.js +1 -1
  20. package/lib/static-website/index.js +1 -1
  21. package/lib/url-shortener/index.js +1 -1
  22. package/node_modules/@types/cacheable-request/node_modules/@types/node/README.md +1 -1
  23. package/node_modules/@types/cacheable-request/node_modules/@types/node/assert.d.ts +1 -1
  24. package/node_modules/@types/cacheable-request/node_modules/@types/node/async_hooks.d.ts +7 -3
  25. package/node_modules/@types/cacheable-request/node_modules/@types/node/buffer.d.ts +9 -9
  26. package/node_modules/@types/cacheable-request/node_modules/@types/node/child_process.d.ts +1 -1
  27. package/node_modules/@types/cacheable-request/node_modules/@types/node/cluster.d.ts +1 -1
  28. package/node_modules/@types/cacheable-request/node_modules/@types/node/console.d.ts +1 -1
  29. package/node_modules/@types/cacheable-request/node_modules/@types/node/crypto.d.ts +2 -2
  30. package/node_modules/@types/cacheable-request/node_modules/@types/node/dgram.d.ts +2 -2
  31. package/node_modules/@types/cacheable-request/node_modules/@types/node/diagnostics_channel.d.ts +1 -1
  32. package/node_modules/@types/cacheable-request/node_modules/@types/node/dns/promises.d.ts +12 -10
  33. package/node_modules/@types/cacheable-request/node_modules/@types/node/dns.d.ts +17 -12
  34. package/node_modules/@types/cacheable-request/node_modules/@types/node/domain.d.ts +1 -1
  35. package/node_modules/@types/cacheable-request/node_modules/@types/node/events.d.ts +2 -2
  36. package/node_modules/@types/cacheable-request/node_modules/@types/node/fs/promises.d.ts +5 -5
  37. package/node_modules/@types/cacheable-request/node_modules/@types/node/fs.d.ts +62 -11
  38. package/node_modules/@types/cacheable-request/node_modules/@types/node/http.d.ts +20 -3
  39. package/node_modules/@types/cacheable-request/node_modules/@types/node/http2.d.ts +2 -2
  40. package/node_modules/@types/cacheable-request/node_modules/@types/node/https.d.ts +1 -1
  41. package/node_modules/@types/cacheable-request/node_modules/@types/node/index.d.ts +1 -1
  42. package/node_modules/@types/cacheable-request/node_modules/@types/node/inspector.d.ts +4 -5
  43. package/node_modules/@types/cacheable-request/node_modules/@types/node/net.d.ts +11 -11
  44. package/node_modules/@types/cacheable-request/node_modules/@types/node/os.d.ts +1 -1
  45. package/node_modules/@types/cacheable-request/node_modules/@types/node/package.json +2 -2
  46. package/node_modules/@types/cacheable-request/node_modules/@types/node/path.d.ts +1 -1
  47. package/node_modules/@types/cacheable-request/node_modules/@types/node/perf_hooks.d.ts +4 -4
  48. package/node_modules/@types/cacheable-request/node_modules/@types/node/punycode.d.ts +1 -1
  49. package/node_modules/@types/cacheable-request/node_modules/@types/node/querystring.d.ts +1 -1
  50. package/node_modules/@types/cacheable-request/node_modules/@types/node/readline.d.ts +121 -14
  51. package/node_modules/@types/cacheable-request/node_modules/@types/node/repl.d.ts +1 -1
  52. package/node_modules/@types/cacheable-request/node_modules/@types/node/stream/web.d.ts +3 -65
  53. package/node_modules/@types/cacheable-request/node_modules/@types/node/stream.d.ts +2 -2
  54. package/node_modules/@types/cacheable-request/node_modules/@types/node/string_decoder.d.ts +1 -1
  55. package/node_modules/@types/cacheable-request/node_modules/@types/node/timers.d.ts +1 -1
  56. package/node_modules/@types/cacheable-request/node_modules/@types/node/tls.d.ts +1 -1
  57. package/node_modules/@types/cacheable-request/node_modules/@types/node/trace_events.d.ts +1 -1
  58. package/node_modules/@types/cacheable-request/node_modules/@types/node/tty.d.ts +1 -1
  59. package/node_modules/@types/cacheable-request/node_modules/@types/node/url.d.ts +58 -18
  60. package/node_modules/@types/cacheable-request/node_modules/@types/node/util.d.ts +3 -3
  61. package/node_modules/@types/cacheable-request/node_modules/@types/node/v8.d.ts +3 -3
  62. package/node_modules/@types/cacheable-request/node_modules/@types/node/vm.d.ts +1 -1
  63. package/node_modules/@types/cacheable-request/node_modules/@types/node/wasi.d.ts +1 -1
  64. package/node_modules/@types/cacheable-request/node_modules/@types/node/worker_threads.d.ts +4 -4
  65. package/node_modules/@types/cacheable-request/node_modules/@types/node/zlib.d.ts +1 -1
  66. package/node_modules/@types/is-stream/node_modules/@types/node/README.md +1 -1
  67. package/node_modules/@types/is-stream/node_modules/@types/node/assert.d.ts +1 -1
  68. package/node_modules/@types/is-stream/node_modules/@types/node/async_hooks.d.ts +7 -3
  69. package/node_modules/@types/is-stream/node_modules/@types/node/buffer.d.ts +9 -9
  70. package/node_modules/@types/is-stream/node_modules/@types/node/child_process.d.ts +1 -1
  71. package/node_modules/@types/is-stream/node_modules/@types/node/cluster.d.ts +1 -1
  72. package/node_modules/@types/is-stream/node_modules/@types/node/console.d.ts +1 -1
  73. package/node_modules/@types/is-stream/node_modules/@types/node/crypto.d.ts +2 -2
  74. package/node_modules/@types/is-stream/node_modules/@types/node/dgram.d.ts +2 -2
  75. package/node_modules/@types/is-stream/node_modules/@types/node/diagnostics_channel.d.ts +1 -1
  76. package/node_modules/@types/is-stream/node_modules/@types/node/dns/promises.d.ts +12 -10
  77. package/node_modules/@types/is-stream/node_modules/@types/node/dns.d.ts +17 -12
  78. package/node_modules/@types/is-stream/node_modules/@types/node/domain.d.ts +1 -1
  79. package/node_modules/@types/is-stream/node_modules/@types/node/events.d.ts +2 -2
  80. package/node_modules/@types/is-stream/node_modules/@types/node/fs/promises.d.ts +5 -5
  81. package/node_modules/@types/is-stream/node_modules/@types/node/fs.d.ts +62 -11
  82. package/node_modules/@types/is-stream/node_modules/@types/node/http.d.ts +20 -3
  83. package/node_modules/@types/is-stream/node_modules/@types/node/http2.d.ts +2 -2
  84. package/node_modules/@types/is-stream/node_modules/@types/node/https.d.ts +1 -1
  85. package/node_modules/@types/is-stream/node_modules/@types/node/index.d.ts +1 -1
  86. package/node_modules/@types/is-stream/node_modules/@types/node/inspector.d.ts +4 -5
  87. package/node_modules/@types/is-stream/node_modules/@types/node/net.d.ts +11 -11
  88. package/node_modules/@types/is-stream/node_modules/@types/node/os.d.ts +1 -1
  89. package/node_modules/@types/is-stream/node_modules/@types/node/package.json +2 -2
  90. package/node_modules/@types/is-stream/node_modules/@types/node/path.d.ts +1 -1
  91. package/node_modules/@types/is-stream/node_modules/@types/node/perf_hooks.d.ts +4 -4
  92. package/node_modules/@types/is-stream/node_modules/@types/node/punycode.d.ts +1 -1
  93. package/node_modules/@types/is-stream/node_modules/@types/node/querystring.d.ts +1 -1
  94. package/node_modules/@types/is-stream/node_modules/@types/node/readline.d.ts +121 -14
  95. package/node_modules/@types/is-stream/node_modules/@types/node/repl.d.ts +1 -1
  96. package/node_modules/@types/is-stream/node_modules/@types/node/stream/web.d.ts +3 -65
  97. package/node_modules/@types/is-stream/node_modules/@types/node/stream.d.ts +2 -2
  98. package/node_modules/@types/is-stream/node_modules/@types/node/string_decoder.d.ts +1 -1
  99. package/node_modules/@types/is-stream/node_modules/@types/node/timers.d.ts +1 -1
  100. package/node_modules/@types/is-stream/node_modules/@types/node/tls.d.ts +1 -1
  101. package/node_modules/@types/is-stream/node_modules/@types/node/trace_events.d.ts +1 -1
  102. package/node_modules/@types/is-stream/node_modules/@types/node/tty.d.ts +1 -1
  103. package/node_modules/@types/is-stream/node_modules/@types/node/url.d.ts +58 -18
  104. package/node_modules/@types/is-stream/node_modules/@types/node/util.d.ts +3 -3
  105. package/node_modules/@types/is-stream/node_modules/@types/node/v8.d.ts +3 -3
  106. package/node_modules/@types/is-stream/node_modules/@types/node/vm.d.ts +1 -1
  107. package/node_modules/@types/is-stream/node_modules/@types/node/wasi.d.ts +1 -1
  108. package/node_modules/@types/is-stream/node_modules/@types/node/worker_threads.d.ts +4 -4
  109. package/node_modules/@types/is-stream/node_modules/@types/node/zlib.d.ts +1 -1
  110. package/node_modules/@types/keyv/node_modules/@types/node/README.md +1 -1
  111. package/node_modules/@types/keyv/node_modules/@types/node/assert.d.ts +1 -1
  112. package/node_modules/@types/keyv/node_modules/@types/node/async_hooks.d.ts +7 -3
  113. package/node_modules/@types/keyv/node_modules/@types/node/buffer.d.ts +9 -9
  114. package/node_modules/@types/keyv/node_modules/@types/node/child_process.d.ts +1 -1
  115. package/node_modules/@types/keyv/node_modules/@types/node/cluster.d.ts +1 -1
  116. package/node_modules/@types/keyv/node_modules/@types/node/console.d.ts +1 -1
  117. package/node_modules/@types/keyv/node_modules/@types/node/crypto.d.ts +2 -2
  118. package/node_modules/@types/keyv/node_modules/@types/node/dgram.d.ts +2 -2
  119. package/node_modules/@types/keyv/node_modules/@types/node/diagnostics_channel.d.ts +1 -1
  120. package/node_modules/@types/keyv/node_modules/@types/node/dns/promises.d.ts +12 -10
  121. package/node_modules/@types/keyv/node_modules/@types/node/dns.d.ts +17 -12
  122. package/node_modules/@types/keyv/node_modules/@types/node/domain.d.ts +1 -1
  123. package/node_modules/@types/keyv/node_modules/@types/node/events.d.ts +2 -2
  124. package/node_modules/@types/keyv/node_modules/@types/node/fs/promises.d.ts +5 -5
  125. package/node_modules/@types/keyv/node_modules/@types/node/fs.d.ts +62 -11
  126. package/node_modules/@types/keyv/node_modules/@types/node/http.d.ts +20 -3
  127. package/node_modules/@types/keyv/node_modules/@types/node/http2.d.ts +2 -2
  128. package/node_modules/@types/keyv/node_modules/@types/node/https.d.ts +1 -1
  129. package/node_modules/@types/keyv/node_modules/@types/node/index.d.ts +1 -1
  130. package/node_modules/@types/keyv/node_modules/@types/node/inspector.d.ts +4 -5
  131. package/node_modules/@types/keyv/node_modules/@types/node/net.d.ts +11 -11
  132. package/node_modules/@types/keyv/node_modules/@types/node/os.d.ts +1 -1
  133. package/node_modules/@types/keyv/node_modules/@types/node/package.json +2 -2
  134. package/node_modules/@types/keyv/node_modules/@types/node/path.d.ts +1 -1
  135. package/node_modules/@types/keyv/node_modules/@types/node/perf_hooks.d.ts +4 -4
  136. package/node_modules/@types/keyv/node_modules/@types/node/punycode.d.ts +1 -1
  137. package/node_modules/@types/keyv/node_modules/@types/node/querystring.d.ts +1 -1
  138. package/node_modules/@types/keyv/node_modules/@types/node/readline.d.ts +121 -14
  139. package/node_modules/@types/keyv/node_modules/@types/node/repl.d.ts +1 -1
  140. package/node_modules/@types/keyv/node_modules/@types/node/stream/web.d.ts +3 -65
  141. package/node_modules/@types/keyv/node_modules/@types/node/stream.d.ts +2 -2
  142. package/node_modules/@types/keyv/node_modules/@types/node/string_decoder.d.ts +1 -1
  143. package/node_modules/@types/keyv/node_modules/@types/node/timers.d.ts +1 -1
  144. package/node_modules/@types/keyv/node_modules/@types/node/tls.d.ts +1 -1
  145. package/node_modules/@types/keyv/node_modules/@types/node/trace_events.d.ts +1 -1
  146. package/node_modules/@types/keyv/node_modules/@types/node/tty.d.ts +1 -1
  147. package/node_modules/@types/keyv/node_modules/@types/node/url.d.ts +58 -18
  148. package/node_modules/@types/keyv/node_modules/@types/node/util.d.ts +3 -3
  149. package/node_modules/@types/keyv/node_modules/@types/node/v8.d.ts +3 -3
  150. package/node_modules/@types/keyv/node_modules/@types/node/vm.d.ts +1 -1
  151. package/node_modules/@types/keyv/node_modules/@types/node/wasi.d.ts +1 -1
  152. package/node_modules/@types/keyv/node_modules/@types/node/worker_threads.d.ts +4 -4
  153. package/node_modules/@types/keyv/node_modules/@types/node/zlib.d.ts +1 -1
  154. package/node_modules/@types/responselike/node_modules/@types/node/README.md +1 -1
  155. package/node_modules/@types/responselike/node_modules/@types/node/assert.d.ts +1 -1
  156. package/node_modules/@types/responselike/node_modules/@types/node/async_hooks.d.ts +7 -3
  157. package/node_modules/@types/responselike/node_modules/@types/node/buffer.d.ts +9 -9
  158. package/node_modules/@types/responselike/node_modules/@types/node/child_process.d.ts +1 -1
  159. package/node_modules/@types/responselike/node_modules/@types/node/cluster.d.ts +1 -1
  160. package/node_modules/@types/responselike/node_modules/@types/node/console.d.ts +1 -1
  161. package/node_modules/@types/responselike/node_modules/@types/node/crypto.d.ts +2 -2
  162. package/node_modules/@types/responselike/node_modules/@types/node/dgram.d.ts +2 -2
  163. package/node_modules/@types/responselike/node_modules/@types/node/diagnostics_channel.d.ts +1 -1
  164. package/node_modules/@types/responselike/node_modules/@types/node/dns/promises.d.ts +12 -10
  165. package/node_modules/@types/responselike/node_modules/@types/node/dns.d.ts +17 -12
  166. package/node_modules/@types/responselike/node_modules/@types/node/domain.d.ts +1 -1
  167. package/node_modules/@types/responselike/node_modules/@types/node/events.d.ts +2 -2
  168. package/node_modules/@types/responselike/node_modules/@types/node/fs/promises.d.ts +5 -5
  169. package/node_modules/@types/responselike/node_modules/@types/node/fs.d.ts +62 -11
  170. package/node_modules/@types/responselike/node_modules/@types/node/http.d.ts +20 -3
  171. package/node_modules/@types/responselike/node_modules/@types/node/http2.d.ts +2 -2
  172. package/node_modules/@types/responselike/node_modules/@types/node/https.d.ts +1 -1
  173. package/node_modules/@types/responselike/node_modules/@types/node/index.d.ts +1 -1
  174. package/node_modules/@types/responselike/node_modules/@types/node/inspector.d.ts +4 -5
  175. package/node_modules/@types/responselike/node_modules/@types/node/net.d.ts +11 -11
  176. package/node_modules/@types/responselike/node_modules/@types/node/os.d.ts +1 -1
  177. package/node_modules/@types/responselike/node_modules/@types/node/package.json +2 -2
  178. package/node_modules/@types/responselike/node_modules/@types/node/path.d.ts +1 -1
  179. package/node_modules/@types/responselike/node_modules/@types/node/perf_hooks.d.ts +4 -4
  180. package/node_modules/@types/responselike/node_modules/@types/node/punycode.d.ts +1 -1
  181. package/node_modules/@types/responselike/node_modules/@types/node/querystring.d.ts +1 -1
  182. package/node_modules/@types/responselike/node_modules/@types/node/readline.d.ts +121 -14
  183. package/node_modules/@types/responselike/node_modules/@types/node/repl.d.ts +1 -1
  184. package/node_modules/@types/responselike/node_modules/@types/node/stream/web.d.ts +3 -65
  185. package/node_modules/@types/responselike/node_modules/@types/node/stream.d.ts +2 -2
  186. package/node_modules/@types/responselike/node_modules/@types/node/string_decoder.d.ts +1 -1
  187. package/node_modules/@types/responselike/node_modules/@types/node/timers.d.ts +1 -1
  188. package/node_modules/@types/responselike/node_modules/@types/node/tls.d.ts +1 -1
  189. package/node_modules/@types/responselike/node_modules/@types/node/trace_events.d.ts +1 -1
  190. package/node_modules/@types/responselike/node_modules/@types/node/tty.d.ts +1 -1
  191. package/node_modules/@types/responselike/node_modules/@types/node/url.d.ts +58 -18
  192. package/node_modules/@types/responselike/node_modules/@types/node/util.d.ts +3 -3
  193. package/node_modules/@types/responselike/node_modules/@types/node/v8.d.ts +3 -3
  194. package/node_modules/@types/responselike/node_modules/@types/node/vm.d.ts +1 -1
  195. package/node_modules/@types/responselike/node_modules/@types/node/wasi.d.ts +1 -1
  196. package/node_modules/@types/responselike/node_modules/@types/node/worker_threads.d.ts +4 -4
  197. package/node_modules/@types/responselike/node_modules/@types/node/zlib.d.ts +1 -1
  198. package/package.json +9 -8
package/.gitattributes CHANGED
@@ -14,6 +14,7 @@
14
14
  /.npmignore linguist-generated
15
15
  /.projen/** linguist-generated
16
16
  /.projen/deps.json linguist-generated
17
+ /.projen/files.json linguist-generated
17
18
  /.projen/tasks.json linguist-generated
18
19
  /LICENSE linguist-generated
19
20
  /package.json linguist-generated
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.47.0 (build 86d2c33)",
2847
+ "jsiiVersion": "1.48.0 (build 05dd13a)",
2848
2848
  "keywords": [
2849
2849
  "cdk"
2850
2850
  ],
@@ -2854,11 +2854,12 @@
2854
2854
  "pacmak": {
2855
2855
  "hasDefaultInterfaces": true
2856
2856
  }
2857
- }
2857
+ },
2858
+ "tscRootDir": "src"
2858
2859
  },
2859
2860
  "name": "cloudstructs",
2860
2861
  "readme": {
2861
- "markdown": "# cloudstructs\n\nHigh-level constructs for AWS CDK\n\n## Installation\n\n`npm install cloudstructs` or `yarn add cloudstructs`\n\nVersion >= 0.2.0 requires AWS CDK v2.\n\n## Constructs\n\n* [`CodeCommitMirror`](src/codecommit-mirror) Mirror a repository to AWS CodeCommit on schedule\n\n* [`EcsServiceRoller`](src/ecs-service-roller) Roll your ECS service tasks on schedule or with\n a rule\n\n* [`EmailReceiver`](src/email-receiver) Receive emails through SES, save them to S3\n and invoke a Lambda function\n\n* [`SlackEvents`](src/slack-events) Send Slack events to Amazon EventBridge\n\n* [`SlackTextract`](src/slack-textract) Extract text from images posted to Slack\n using Amazon Textract. The extracted text is posted in a thread under the image\n and gets indexed!\n\n* [`StateMachineCustomResourceProvider`](src/state-machine-cr-provider) Implement custom\n resources with AWS Step Functions state machines\n\n* [`StaticWebsite`](src/static-website) A CloudFront static website hosted on S3 with\n HTTPS redirect, SPA redirect, HTTP security headers and backend configuration saved\n to the bucket.\n\n* [`UrlShortener`](src/url-shortener) Deploy an URL shortener API\n"
2862
+ "markdown": "# cloudstructs\n\nHigh-level constructs for AWS CDK\n\n## Installation\n\n`npm install cloudstructs` or `yarn add cloudstructs`\n\nVersion >= 0.2.0 requires AWS CDK v2.\n\n## Constructs\n\n* [`CodeCommitMirror`](src/codecommit-mirror) Mirror a repository to AWS CodeCommit on schedule\n\n* [`EcsServiceRoller`](src/ecs-service-roller) Roll your ECS service tasks on schedule or with\n a rule\n\n* [`EmailReceiver`](src/email-receiver) Receive emails through SES, save them to S3\n and invoke a Lambda function\n\n* [`SlackApp`](src/slack-app) Deploy Slack apps from manifests\n\n* [`SlackEvents`](src/slack-events) Send Slack events to Amazon EventBridge\n\n* [`SlackTextract`](src/slack-textract) Extract text from images posted to Slack\n using Amazon Textract. The extracted text is posted in a thread under the image\n and gets indexed!\n\n* [`StateMachineCustomResourceProvider`](src/state-machine-cr-provider) Implement custom\n resources with AWS Step Functions state machines\n\n* [`StaticWebsite`](src/static-website) A CloudFront static website hosted on S3 with\n HTTPS redirect, SPA redirect, HTTP security headers and backend configuration saved\n to the bucket.\n\n* [`UrlShortener`](src/url-shortener) Deploy an URL shortener API\n"
2862
2863
  },
2863
2864
  "repository": {
2864
2865
  "type": "git",
@@ -3708,6 +3709,215 @@
3708
3709
  ],
3709
3710
  "symbolId": "src/saml-identity-provider/index:SamlIdentityProviderProps"
3710
3711
  },
3712
+ "cloudstructs.SlackApp": {
3713
+ "assembly": "cloudstructs",
3714
+ "base": "constructs.Construct",
3715
+ "docs": {
3716
+ "see": "https://api.slack.com/reference/manifests",
3717
+ "stability": "stable",
3718
+ "summary": "A Slack application deployed with a manifest."
3719
+ },
3720
+ "fqn": "cloudstructs.SlackApp",
3721
+ "initializer": {
3722
+ "docs": {
3723
+ "stability": "stable"
3724
+ },
3725
+ "locationInModule": {
3726
+ "filename": "src/slack-app/index.ts",
3727
+ "line": 84
3728
+ },
3729
+ "parameters": [
3730
+ {
3731
+ "name": "scope",
3732
+ "type": {
3733
+ "fqn": "constructs.Construct"
3734
+ }
3735
+ },
3736
+ {
3737
+ "name": "id",
3738
+ "type": {
3739
+ "primitive": "string"
3740
+ }
3741
+ },
3742
+ {
3743
+ "name": "props",
3744
+ "type": {
3745
+ "fqn": "cloudstructs.SlackAppProps"
3746
+ }
3747
+ }
3748
+ ]
3749
+ },
3750
+ "kind": "class",
3751
+ "locationInModule": {
3752
+ "filename": "src/slack-app/index.ts",
3753
+ "line": 43
3754
+ },
3755
+ "name": "SlackApp",
3756
+ "properties": [
3757
+ {
3758
+ "docs": {
3759
+ "stability": "stable",
3760
+ "summary": "The ID of the application."
3761
+ },
3762
+ "immutable": true,
3763
+ "locationInModule": {
3764
+ "filename": "src/slack-app/index.ts",
3765
+ "line": 47
3766
+ },
3767
+ "name": "appId",
3768
+ "type": {
3769
+ "primitive": "string"
3770
+ }
3771
+ },
3772
+ {
3773
+ "docs": {
3774
+ "stability": "stable",
3775
+ "summary": "A dynamic reference to the client ID of the app."
3776
+ },
3777
+ "immutable": true,
3778
+ "locationInModule": {
3779
+ "filename": "src/slack-app/index.ts",
3780
+ "line": 67
3781
+ },
3782
+ "name": "clientId",
3783
+ "type": {
3784
+ "primitive": "string"
3785
+ }
3786
+ },
3787
+ {
3788
+ "docs": {
3789
+ "stability": "stable",
3790
+ "summary": "A dynamic reference to the client secret of the app."
3791
+ },
3792
+ "immutable": true,
3793
+ "locationInModule": {
3794
+ "filename": "src/slack-app/index.ts",
3795
+ "line": 72
3796
+ },
3797
+ "name": "clientSecret",
3798
+ "type": {
3799
+ "primitive": "string"
3800
+ }
3801
+ },
3802
+ {
3803
+ "docs": {
3804
+ "remarks": "```\n{\n \"appId\": \"...\",\n \"clientId\": \"...\",\n \"clientSecret\": \"...\",\n \"verificationToken\": \"...\",\n \"signingSecret\": \"...\"\n}\n```",
3805
+ "stability": "stable",
3806
+ "summary": "An AWS Secrets Manager secret containing the credentials of the application."
3807
+ },
3808
+ "immutable": true,
3809
+ "locationInModule": {
3810
+ "filename": "src/slack-app/index.ts",
3811
+ "line": 62
3812
+ },
3813
+ "name": "credentials",
3814
+ "type": {
3815
+ "fqn": "aws-cdk-lib.aws_secretsmanager.ISecret"
3816
+ }
3817
+ },
3818
+ {
3819
+ "docs": {
3820
+ "stability": "stable",
3821
+ "summary": "A dynamic reference to the signing secret of the app."
3822
+ },
3823
+ "immutable": true,
3824
+ "locationInModule": {
3825
+ "filename": "src/slack-app/index.ts",
3826
+ "line": 82
3827
+ },
3828
+ "name": "signingSecret",
3829
+ "type": {
3830
+ "primitive": "string"
3831
+ }
3832
+ },
3833
+ {
3834
+ "docs": {
3835
+ "stability": "stable",
3836
+ "summary": "A dynamic reference to the verification token of the app."
3837
+ },
3838
+ "immutable": true,
3839
+ "locationInModule": {
3840
+ "filename": "src/slack-app/index.ts",
3841
+ "line": 77
3842
+ },
3843
+ "name": "verificationToken",
3844
+ "type": {
3845
+ "primitive": "string"
3846
+ }
3847
+ }
3848
+ ],
3849
+ "symbolId": "src/slack-app/index:SlackApp"
3850
+ },
3851
+ "cloudstructs.SlackAppProps": {
3852
+ "assembly": "cloudstructs",
3853
+ "datatype": true,
3854
+ "docs": {
3855
+ "stability": "stable",
3856
+ "summary": "Properties for a SlackApp."
3857
+ },
3858
+ "fqn": "cloudstructs.SlackAppProps",
3859
+ "kind": "interface",
3860
+ "locationInModule": {
3861
+ "filename": "src/slack-app/index.ts",
3862
+ "line": 9
3863
+ },
3864
+ "name": "SlackAppProps",
3865
+ "properties": [
3866
+ {
3867
+ "abstract": true,
3868
+ "docs": {
3869
+ "remarks": "Must use the following JSON format:\n\n```\n{\n \"refreshToken\": \"<token>\"\n}\n```",
3870
+ "stability": "stable",
3871
+ "summary": "An AWS Secrets Manager secret containing the app configuration token."
3872
+ },
3873
+ "immutable": true,
3874
+ "locationInModule": {
3875
+ "filename": "src/slack-app/index.ts",
3876
+ "line": 28
3877
+ },
3878
+ "name": "configurationTokenSecret",
3879
+ "type": {
3880
+ "fqn": "aws-cdk-lib.aws_secretsmanager.ISecret"
3881
+ }
3882
+ },
3883
+ {
3884
+ "abstract": true,
3885
+ "docs": {
3886
+ "see": "https://api.slack.com/reference/manifests",
3887
+ "stability": "stable",
3888
+ "summary": "The JSON app manifest encoded as a string."
3889
+ },
3890
+ "immutable": true,
3891
+ "locationInModule": {
3892
+ "filename": "src/slack-app/index.ts",
3893
+ "line": 15
3894
+ },
3895
+ "name": "manifest",
3896
+ "type": {
3897
+ "primitive": "string"
3898
+ }
3899
+ },
3900
+ {
3901
+ "abstract": true,
3902
+ "docs": {
3903
+ "default": "- a new secret is created",
3904
+ "stability": "stable",
3905
+ "summary": "The AWS Secrets Manager secret where to store the app credentials."
3906
+ },
3907
+ "immutable": true,
3908
+ "locationInModule": {
3909
+ "filename": "src/slack-app/index.ts",
3910
+ "line": 35
3911
+ },
3912
+ "name": "credentialsSecret",
3913
+ "optional": true,
3914
+ "type": {
3915
+ "fqn": "aws-cdk-lib.aws_secretsmanager.ISecret"
3916
+ }
3917
+ }
3918
+ ],
3919
+ "symbolId": "src/slack-app/index:SlackAppProps"
3920
+ },
3711
3921
  "cloudstructs.SlackEvents": {
3712
3922
  "assembly": "cloudstructs",
3713
3923
  "base": "constructs.Construct",
@@ -4410,6 +4620,6 @@
4410
4620
  "symbolId": "src/url-shortener/index:UrlShortenerProps"
4411
4621
  }
4412
4622
  },
4413
- "version": "0.2.4",
4414
- "fingerprint": "GW6C6gtSQaswb8UmlGmEG6+Vprp3kzkzGRQhqOdDjrI="
4623
+ "version": "0.2.8",
4624
+ "fingerprint": "XGwS2a/NfvjzXGtcyyGE4FVfDpql3ldVh4QuSL/9YKo="
4415
4625
  }
package/API.md CHANGED
@@ -11,6 +11,7 @@ Name|Description
11
11
  [RollTrigger](#cloudstructs-rolltrigger)|The rule or schedule that should trigger a roll.
12
12
  [SamlFederatedPrincipal](#cloudstructs-samlfederatedprincipal)|Principal entity that represents a SAML federated identity provider.
13
13
  [SamlIdentityProvider](#cloudstructs-samlidentityprovider)|Create a SAML identity provider.
14
+ [SlackApp](#cloudstructs-slackapp)|A Slack application deployed with a manifest.
14
15
  [SlackEvents](#cloudstructs-slackevents)|Send Slack events to Amazon EventBridge.
15
16
  [SlackTextract](#cloudstructs-slacktextract)|Extract text from images posted to Slack using Amazon Textract.
16
17
  [StateMachineCustomResourceProvider](#cloudstructs-statemachinecustomresourceprovider)|A state machine custom resource provider.
@@ -26,6 +27,7 @@ Name|Description
26
27
  [EcsServiceRollerProps](#cloudstructs-ecsservicerollerprops)|Properties for a EcsServiceRoller.
27
28
  [EmailReceiverProps](#cloudstructs-emailreceiverprops)|Properties for an EmailReceiver.
28
29
  [SamlIdentityProviderProps](#cloudstructs-samlidentityproviderprops)|Properties for a SamlProvider.
30
+ [SlackAppProps](#cloudstructs-slackappprops)|Properties for a SlackApp.
29
31
  [SlackEventsProps](#cloudstructs-slackeventsprops)|Properties for a SlackEvents.
30
32
  [SlackTextractProps](#cloudstructs-slacktextractprops)|Properties for a SlackTextract.
31
33
  [StateMachineCustomResourceProviderProps](#cloudstructs-statemachinecustomresourceproviderprops)|Properties for a StateMachineCustomResourceProvider.
@@ -291,6 +293,45 @@ Name | Type | Description
291
293
 
292
294
 
293
295
 
296
+ ## class SlackApp <a id="cloudstructs-slackapp"></a>
297
+
298
+ A Slack application deployed with a manifest.
299
+
300
+ __Implements__: [IConstruct](#constructs-iconstruct), [IDependable](#constructs-idependable)
301
+ __Extends__: [Construct](#constructs-construct)
302
+
303
+ ### Initializer
304
+
305
+
306
+
307
+
308
+ ```ts
309
+ new SlackApp(scope: Construct, id: string, props: SlackAppProps)
310
+ ```
311
+
312
+ * **scope** (<code>[Construct](#constructs-construct)</code>) *No description*
313
+ * **id** (<code>string</code>) *No description*
314
+ * **props** (<code>[SlackAppProps](#cloudstructs-slackappprops)</code>) *No description*
315
+ * **configurationTokenSecret** (<code>[aws_secretsmanager.ISecret](#aws-cdk-lib-aws-secretsmanager-isecret)</code>) An AWS Secrets Manager secret containing the app configuration token.
316
+ * **manifest** (<code>string</code>) The JSON app manifest encoded as a string.
317
+ * **credentialsSecret** (<code>[aws_secretsmanager.ISecret](#aws-cdk-lib-aws-secretsmanager-isecret)</code>) The AWS Secrets Manager secret where to store the app credentials. __*Default*__: a new secret is created
318
+
319
+
320
+
321
+ ### Properties
322
+
323
+
324
+ Name | Type | Description
325
+ -----|------|-------------
326
+ **appId** | <code>string</code> | The ID of the application.
327
+ **clientId** | <code>string</code> | A dynamic reference to the client ID of the app.
328
+ **clientSecret** | <code>string</code> | A dynamic reference to the client secret of the app.
329
+ **credentials** | <code>[aws_secretsmanager.ISecret](#aws-cdk-lib-aws-secretsmanager-isecret)</code> | An AWS Secrets Manager secret containing the credentials of the application.
330
+ **signingSecret** | <code>string</code> | A dynamic reference to the signing secret of the app.
331
+ **verificationToken** | <code>string</code> | A dynamic reference to the verification token of the app.
332
+
333
+
334
+
294
335
  ## class SlackEvents <a id="cloudstructs-slackevents"></a>
295
336
 
296
337
  Send Slack events to Amazon EventBridge.
@@ -532,6 +573,21 @@ Name | Type | Description
532
573
 
533
574
 
534
575
 
576
+ ## struct SlackAppProps <a id="cloudstructs-slackappprops"></a>
577
+
578
+
579
+ Properties for a SlackApp.
580
+
581
+
582
+
583
+ Name | Type | Description
584
+ -----|------|-------------
585
+ **configurationTokenSecret** | <code>[aws_secretsmanager.ISecret](#aws-cdk-lib-aws-secretsmanager-isecret)</code> | An AWS Secrets Manager secret containing the app configuration token.
586
+ **manifest** | <code>string</code> | The JSON app manifest encoded as a string.
587
+ **credentialsSecret**? | <code>[aws_secretsmanager.ISecret](#aws-cdk-lib-aws-secretsmanager-isecret)</code> | The AWS Secrets Manager secret where to store the app credentials.<br/>__*Default*__: a new secret is created
588
+
589
+
590
+
535
591
  ## struct SlackEventsProps <a id="cloudstructs-slackeventsprops"></a>
536
592
 
537
593
 
package/README.md CHANGED
@@ -18,6 +18,8 @@ Version >= 0.2.0 requires AWS CDK v2.
18
18
  * [`EmailReceiver`](src/email-receiver) Receive emails through SES, save them to S3
19
19
  and invoke a Lambda function
20
20
 
21
+ * [`SlackApp`](src/slack-app) Deploy Slack apps from manifests
22
+
21
23
  * [`SlackEvents`](src/slack-events) Send Slack events to Amazon EventBridge
22
24
 
23
25
  * [`SlackTextract`](src/slack-textract) Extract text from images posted to Slack
@@ -46,7 +46,7 @@ class CodeCommitMirrorSourceRepository {
46
46
  }
47
47
  exports.CodeCommitMirrorSourceRepository = CodeCommitMirrorSourceRepository;
48
48
  _a = JSII_RTTI_SYMBOL_1;
49
- CodeCommitMirrorSourceRepository[_a] = { fqn: "cloudstructs.CodeCommitMirrorSourceRepository", version: "0.2.4" };
49
+ CodeCommitMirrorSourceRepository[_a] = { fqn: "cloudstructs.CodeCommitMirrorSourceRepository", version: "0.2.8" };
50
50
  /**
51
51
  * Mirror a repository to AWS CodeCommit on schedule.
52
52
  *
@@ -100,5 +100,5 @@ class CodeCommitMirror extends constructs_1.Construct {
100
100
  }
101
101
  exports.CodeCommitMirror = CodeCommitMirror;
102
102
  _b = JSII_RTTI_SYMBOL_1;
103
- CodeCommitMirror[_b] = { fqn: "cloudstructs.CodeCommitMirror", version: "0.2.4" };
103
+ CodeCommitMirror[_b] = { fqn: "cloudstructs.CodeCommitMirror", version: "0.2.8" };
104
104
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29kZWNvbW1pdC1taXJyb3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2QkFBNkI7QUFDN0IsbUNBQW1DO0FBQ25DLHlEQUF5RDtBQUN6RCwyQ0FBMkM7QUFDM0MsMkNBQTJDO0FBQzNDLGlEQUFpRDtBQUNqRCwwREFBMEQ7QUFDMUQsMkNBQTJDO0FBQzNDLDZDQUE2QztBQUM3QywyQ0FBdUM7Ozs7OztBQWtCdkMsTUFBc0IsZ0NBQWdDOzs7Ozs7SUFFN0MsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFhLEVBQUUsSUFBWTtRQUM5QyxPQUFPO1lBQ0wsSUFBSTtZQUNKLFlBQVksRUFBRSxzQkFBc0IsS0FBSyxJQUFJLElBQUksRUFBRTtTQUNwRCxDQUFDO0lBQ0osQ0FBQzs7Ozs7Ozs7SUFHTSxNQUFNLENBQUMsT0FBTyxDQUFDLElBQVksRUFBRSxHQUFlO1FBQ2pELE9BQU87WUFDTCxJQUFJO1lBQ0osU0FBUyxFQUFFLEdBQUc7U0FDZixDQUFDO0lBQ0osQ0FBQzs7QUFmSCw0RUF5QkM7Ozs7Ozs7O0FBR0QsTUFBYSxnQkFBaUIsU0FBUSxzQkFBUzs7OztJQUM3QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTRCOztRQUNwRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sV0FBVyxHQUFHLElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFO1lBQ2hFLGNBQWMsRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUk7WUFDckMsV0FBVyxFQUFFLGFBQWEsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUU7U0FDbEQsQ0FBQyxDQUFDO1FBRUgsTUFBTSxjQUFjLEdBQUcsSUFBSSxHQUFHLENBQUMscUJBQXFCLENBQUMsSUFBSSxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFFN0UsY0FBYyxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUU7WUFDdkMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLG1CQUFtQixFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQzlHLE9BQU8sRUFBRSxJQUFJLEdBQUcsQ0FBQyxZQUFZLENBQUM7Z0JBQzVCLFlBQVksRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUk7Z0JBQ25DLFlBQVksRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVU7YUFDNUMsQ0FBQztZQUNGLFdBQVcsRUFBRTtnQkFDWCxJQUFJLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJO2dCQUMzQixXQUFXLEVBQUUsZUFBZSxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLE1BQU0sV0FBVyxDQUFDLGNBQWMsRUFBRTtnQkFDOUYsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLFlBQVk7b0JBQzlCLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRTtvQkFDM0MsQ0FBQyxDQUFDLEVBQUU7YUFDUDtZQUNELE9BQU8sRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLFNBQVM7Z0JBQ2pDLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRTtnQkFDeEMsQ0FBQyxDQUFDLFNBQVM7U0FDZCxDQUFDLENBQUM7UUFFSCxjQUFjLENBQUMsbUJBQW1CLENBQUMsSUFBSSxHQUFHLENBQUMsZUFBZSxDQUFDO1lBQ3pELE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFDO1lBQy9CLFNBQVMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUM7U0FDdkMsQ0FBQyxDQUFDLENBQUM7UUFFSixNQUFNLElBQUksR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRTtZQUN6QyxRQUFRLFFBQUUsS0FBSyxDQUFDLFFBQVEsbUNBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7Z0JBQy9DLE1BQU0sRUFBRSxHQUFHO2dCQUNYLElBQUksRUFBRSxHQUFHO2FBQ1YsQ0FBQztTQUNILENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDO1lBQ2pDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztZQUN0QixjQUFjO1lBQ2QsZUFBZSxRQUFFLEtBQUssQ0FBQyxlQUFlLG1DQUFJLEVBQUUsVUFBVSxFQUFFLEdBQUcsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFO1NBQ2hGLENBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQzs7QUE5Q0gsNENBK0NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBjb2RlY29tbWl0IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jb2RlY29tbWl0JztcbmltcG9ydCAqIGFzIGVjMiBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWMyJztcbmltcG9ydCAqIGFzIGVjcyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWNzJztcbmltcG9ydCAqIGFzIGV2ZW50cyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZXZlbnRzJztcbmltcG9ydCAqIGFzIHRhcmdldHMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWV2ZW50cy10YXJnZXRzJztcbmltcG9ydCAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCAqIGFzIGxvZ3MgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxvZ3MnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgaW50ZXJmYWNlIENvZGVDb21taXRNaXJyb3JQcm9wcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSByZXBvc2l0b3J5OiBDb2RlQ29tbWl0TWlycm9yU291cmNlUmVwb3NpdG9yeTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGNsdXN0ZXI6IGVjcy5JQ2x1c3RlcjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHNjaGVkdWxlPzogZXZlbnRzLlNjaGVkdWxlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgc3VibmV0U2VsZWN0aW9uPzogZWMyLlN1Ym5ldFNlbGVjdGlvbjtcbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDb2RlQ29tbWl0TWlycm9yU291cmNlUmVwb3NpdG9yeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgc3RhdGljIGdpdEh1Yihvd25lcjogc3RyaW5nLCBuYW1lOiBzdHJpbmcpOiBDb2RlQ29tbWl0TWlycm9yU291cmNlUmVwb3NpdG9yeSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWUsXG4gICAgICBwbGFpblRleHRVcmw6IGBodHRwczovL2dpdGh1Yi5jb20vJHtvd25lcn0vJHtuYW1lfWAsXG4gICAgfTtcbiAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBzdGF0aWMgcHJpdmF0ZShuYW1lOiBzdHJpbmcsIHVybDogZWNzLlNlY3JldCk6IENvZGVDb21taXRNaXJyb3JTb3VyY2VSZXBvc2l0b3J5IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZSxcbiAgICAgIHNlY3JldFVybDogdXJsLFxuICAgIH07XG4gIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHBsYWluVGV4dFVybD86IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgc2VjcmV0VXJsPzogZWNzLlNlY3JldDtcbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgY2xhc3MgQ29kZUNvbW1pdE1pcnJvciBleHRlbmRzIENvbnN0cnVjdCB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBDb2RlQ29tbWl0TWlycm9yUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgZGVzdGluYXRpb24gPSBuZXcgY29kZWNvbW1pdC5SZXBvc2l0b3J5KHRoaXMsICdSZXBvc2l0b3J5Jywge1xuICAgICAgcmVwb3NpdG9yeU5hbWU6IHByb3BzLnJlcG9zaXRvcnkubmFtZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBgTWlycm9yIG9mICR7cHJvcHMucmVwb3NpdG9yeS5uYW1lfWAsXG4gICAgfSk7XG5cbiAgICBjb25zdCB0YXNrRGVmaW5pdGlvbiA9IG5ldyBlY3MuRmFyZ2F0ZVRhc2tEZWZpbml0aW9uKHRoaXMsICdUYXNrRGVmaW5pdGlvbicpO1xuXG4gICAgdGFza0RlZmluaXRpb24uYWRkQ29udGFpbmVyKCdDb250YWluZXInLCB7XG4gICAgICBpbWFnZTogZWNzLkNvbnRhaW5lckltYWdlLmZyb21Bc3NldChwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4nLCAnLi4nLCAnYXNzZXRzJywgJ2NvZGVjb21taXQtbWlycm9yJywgJ2RvY2tlcicpKSxcbiAgICAgIGxvZ2dpbmc6IG5ldyBlY3MuQXdzTG9nRHJpdmVyKHtcbiAgICAgICAgc3RyZWFtUHJlZml4OiBwcm9wcy5yZXBvc2l0b3J5Lm5hbWUsXG4gICAgICAgIGxvZ1JldGVudGlvbjogbG9ncy5SZXRlbnRpb25EYXlzLlRXT19NT05USFMsXG4gICAgICB9KSxcbiAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgIE5BTUU6IHByb3BzLnJlcG9zaXRvcnkubmFtZSxcbiAgICAgICAgREVTVElOQVRJT046IGBjb2RlY29tbWl0Ojoke2Nkay5TdGFjay5vZihkZXN0aW5hdGlvbikucmVnaW9ufTovLyR7ZGVzdGluYXRpb24ucmVwb3NpdG9yeU5hbWV9YCxcbiAgICAgICAgLi4ucHJvcHMucmVwb3NpdG9yeS5wbGFpblRleHRVcmxcbiAgICAgICAgICA/IHsgU09VUkNFOiBwcm9wcy5yZXBvc2l0b3J5LnBsYWluVGV4dFVybCB9XG4gICAgICAgICAgOiB7fSxcbiAgICAgIH0sXG4gICAgICBzZWNyZXRzOiBwcm9wcy5yZXBvc2l0b3J5LnNlY3JldFVybFxuICAgICAgICA/IHsgU09VUkNFOiBwcm9wcy5yZXBvc2l0b3J5LnNlY3JldFVybCB9XG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgIH0pO1xuXG4gICAgdGFza0RlZmluaXRpb24uYWRkVG9UYXNrUm9sZVBvbGljeShuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICBhY3Rpb25zOiBbJ2NvZGVjb21taXQ6R2l0UHVzaCddLFxuICAgICAgcmVzb3VyY2VzOiBbZGVzdGluYXRpb24ucmVwb3NpdG9yeUFybl0sXG4gICAgfSkpO1xuXG4gICAgY29uc3QgcnVsZSA9IG5ldyBldmVudHMuUnVsZSh0aGlzLCAnUnVsZScsIHtcbiAgICAgIHNjaGVkdWxlOiBwcm9wcy5zY2hlZHVsZSA/PyBldmVudHMuU2NoZWR1bGUuY3Jvbih7XG4gICAgICAgIG1pbnV0ZTogJzAnLFxuICAgICAgICBob3VyOiAnMCcsXG4gICAgICB9KSxcbiAgICB9KTtcblxuICAgIHJ1bGUuYWRkVGFyZ2V0KG5ldyB0YXJnZXRzLkVjc1Rhc2soe1xuICAgICAgY2x1c3RlcjogcHJvcHMuY2x1c3RlcixcbiAgICAgIHRhc2tEZWZpbml0aW9uLFxuICAgICAgc3VibmV0U2VsZWN0aW9uOiBwcm9wcy5zdWJuZXRTZWxlY3Rpb24gPz8geyBzdWJuZXRUeXBlOiBlYzIuU3VibmV0VHlwZS5QVUJMSUMgfSxcbiAgICB9KSk7XG4gIH1cbn1cbiJdfQ==
@@ -33,7 +33,7 @@ class RollTrigger {
33
33
  }
34
34
  exports.RollTrigger = RollTrigger;
35
35
  _a = JSII_RTTI_SYMBOL_1;
36
- RollTrigger[_a] = { fqn: "cloudstructs.RollTrigger", version: "0.2.4" };
36
+ RollTrigger[_a] = { fqn: "cloudstructs.RollTrigger", version: "0.2.8" };
37
37
  /**
38
38
  * Roll your ECS service tasks on schedule or with a rule.
39
39
  *
@@ -75,5 +75,5 @@ class EcsServiceRoller extends constructs_1.Construct {
75
75
  }
76
76
  exports.EcsServiceRoller = EcsServiceRoller;
77
77
  _b = JSII_RTTI_SYMBOL_1;
78
- EcsServiceRoller[_b] = { fqn: "cloudstructs.EcsServiceRoller", version: "0.2.4" };
78
+ EcsServiceRoller[_b] = { fqn: "cloudstructs.EcsServiceRoller", version: "0.2.8" };
79
79
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZWNzLXNlcnZpY2Utcm9sbGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQW9DO0FBRXBDLGlEQUFpRDtBQUNqRCwwREFBMEQ7QUFDMUQsMkNBQTJDO0FBQzNDLDJDQUF1Qzs7Ozs7O0FBZXZDLE1BQXNCLFdBQVc7Ozs7OztJQUV4QixNQUFNLENBQUMsWUFBWSxDQUFDLFFBQXlCO1FBQ2xELE9BQU8sRUFBRSxRQUFRLEVBQUUsQ0FBQztJQUN0QixDQUFDOzs7Ozs7SUFHTSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQWlCO1FBQ3RDLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUNsQixDQUFDOztBQVRILGtDQWdCQzs7Ozs7Ozs7QUFHRCxNQUFhLGdCQUFpQixTQUFRLHNCQUFTOzs7O0lBQzdDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBNEI7O1FBQ3BFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxJQUFJLGVBQUcsS0FBSyxDQUFDLE9BQU8sMENBQUUsSUFBSSxtQ0FBSSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRTtZQUNoRSxRQUFRLGNBQUUsS0FBSyxDQUFDLE9BQU8sMENBQUUsUUFBUSxtQ0FBSSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztnQkFDeEQsTUFBTSxFQUFFLEdBQUc7Z0JBQ1gsSUFBSSxFQUFFLEdBQUc7YUFDVixDQUFDO1NBQ0gsQ0FBQyxDQUFDO1FBR0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUM7WUFDaEMsT0FBTyxFQUFFLEtBQUs7WUFDZCxNQUFNLEVBQUUsZUFBZTtZQUN2QixVQUFVLEVBQUU7Z0JBQ1YsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVztnQkFDbEMsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVztnQkFDbEMsa0JBQWtCLEVBQUUsSUFBSTthQUNPO1lBQ2pDLHVHQUF1RztZQUN2Ryx1RUFBdUU7WUFDdkUsZUFBZSxFQUFFLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQztnQkFDdkMsT0FBTyxFQUFFLENBQUMsbUJBQW1CLENBQUM7Z0JBQzlCLFNBQVMsRUFBRSxDQUFDLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQzt3QkFDbkMsT0FBTyxFQUFFLEtBQUs7d0JBQ2QsUUFBUSxFQUFFLFNBQVM7d0JBQ25CLFlBQVksRUFBRSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFO3FCQUMxRSxDQUFDLENBQUM7YUFDSixDQUFDO1NBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDOztBQS9CSCw0Q0FnQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdGFjayB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGVjcyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWNzJztcbmltcG9ydCAqIGFzIGV2ZW50cyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZXZlbnRzJztcbmltcG9ydCAqIGFzIHRhcmdldHMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWV2ZW50cy10YXJnZXRzJztcbmltcG9ydCAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGludGVyZmFjZSBFY3NTZXJ2aWNlUm9sbGVyUHJvcHMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBjbHVzdGVyOiBlY3MuSUNsdXN0ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHNlcnZpY2U6IGVjcy5JU2VydmljZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHRyaWdnZXI/OiBSb2xsVHJpZ2dlcjtcbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFJvbGxUcmlnZ2VyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHN0YXRpYyBmcm9tU2NoZWR1bGUoc2NoZWR1bGU6IGV2ZW50cy5TY2hlZHVsZSk6IFJvbGxUcmlnZ2VyIHtcbiAgICByZXR1cm4geyBzY2hlZHVsZSB9O1xuICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgc3RhdGljIGZyb21SdWxlKHJ1bGU6IGV2ZW50cy5SdWxlKTogUm9sbFRyaWdnZXIge1xuICAgIHJldHVybiB7IHJ1bGUgfTtcbiAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgc2NoZWR1bGU/OiBldmVudHMuU2NoZWR1bGU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHJ1bGU/OiBldmVudHMuUnVsZTtcbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBjbGFzcyBFY3NTZXJ2aWNlUm9sbGVyIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEVjc1NlcnZpY2VSb2xsZXJQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCBydWxlID0gcHJvcHMudHJpZ2dlcj8ucnVsZSA/PyBuZXcgZXZlbnRzLlJ1bGUodGhpcywgJ1J1bGUnLCB7XG4gICAgICBzY2hlZHVsZTogcHJvcHMudHJpZ2dlcj8uc2NoZWR1bGUgPz8gZXZlbnRzLlNjaGVkdWxlLmNyb24oe1xuICAgICAgICBtaW51dGU6ICcwJyxcbiAgICAgICAgaG91cjogJzAnLFxuICAgICAgfSksXG4gICAgfSk7XG5cblxuICAgIHJ1bGUuYWRkVGFyZ2V0KG5ldyB0YXJnZXRzLkF3c0FwaSh7XG4gICAgICBzZXJ2aWNlOiAnRUNTJyxcbiAgICAgIGFjdGlvbjogJ3VwZGF0ZVNlcnZpY2UnLFxuICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICBzZXJ2aWNlOiBwcm9wcy5zZXJ2aWNlLnNlcnZpY2VOYW1lLFxuICAgICAgICBjbHVzdGVyOiBwcm9wcy5jbHVzdGVyLmNsdXN0ZXJOYW1lLFxuICAgICAgICBmb3JjZU5ld0RlcGxveW1lbnQ6IHRydWUsXG4gICAgICB9IGFzIEFXUy5FQ1MuVXBkYXRlU2VydmljZVJlcXVlc3QsXG4gICAgICAvLyBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uRUNTL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9lY3Mtc3VwcG9ydGVkLWlhbS1hY3Rpb25zLXJlc291cmNlcy5odG1sXG4gICAgICAvLyBhcm46YXdzOmVjczo8cmVnaW9uPjo8YWNjb3VudD46c2VydmljZS88Y2x1c3Rlci1uYW1lPi88c2VydmljZS1uYW1lPlxuICAgICAgcG9saWN5U3RhdGVtZW50OiBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIGFjdGlvbnM6IFsnZWNzOlVwZGF0ZVNlcnZpY2UnXSxcbiAgICAgICAgcmVzb3VyY2VzOiBbU3RhY2sub2YodGhpcykuZm9ybWF0QXJuKHtcbiAgICAgICAgICBzZXJ2aWNlOiAnZWNzJyxcbiAgICAgICAgICByZXNvdXJjZTogJ3NlcnZpY2UnLFxuICAgICAgICAgIHJlc291cmNlTmFtZTogYCR7cHJvcHMuY2x1c3Rlci5jbHVzdGVyTmFtZX0vJHtwcm9wcy5zZXJ2aWNlLnNlcnZpY2VOYW1lfWAsXG4gICAgICAgIH0pXSxcbiAgICAgIH0pLFxuICAgIH0pKTtcbiAgfVxufVxuIl19
@@ -67,5 +67,5 @@ class EmailReceiver extends constructs_1.Construct {
67
67
  }
68
68
  exports.EmailReceiver = EmailReceiver;
69
69
  _a = JSII_RTTI_SYMBOL_1;
70
- EmailReceiver[_a] = { fqn: "cloudstructs.EmailReceiver", version: "0.2.4" };
70
+ EmailReceiver[_a] = { fqn: "cloudstructs.EmailReceiver", version: "0.2.8" };
71
71
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjZWl2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZW1haWwtcmVjZWl2ZXIvcmVjZWl2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBdUM7QUFDdkMsaURBQWlEO0FBQ2pELG9FQUFvRTtBQUNwRSx3REFBd0Q7QUFDeEQsNkNBQTZDO0FBQzdDLHlDQUF5QztBQUN6QywyQ0FBMkM7QUFDM0MsdURBQXVEO0FBQ3ZELDJDQUEyQztBQUMzQyxtRUFBbUU7QUFDbkUsMkNBQXVDOzs7Ozs7QUFxQnZDLE1BQWEsYUFBYyxTQUFRLHNCQUFTOzs7O0lBQzFDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBeUI7UUFDakUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLFdBQVcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRTtZQUMzRCxPQUFPLEVBQUUsS0FBSyxDQUFDLGNBQWM7WUFDN0IsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO1lBQzVCLEtBQUssRUFBRSxLQUFLLENBQUMsU0FBUztTQUN2QixDQUFDLENBQUM7UUFFSCxNQUFNLE1BQU0sR0FBRyxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRTtZQUMzQyxpQkFBaUIsRUFBRSxFQUFFLENBQUMsaUJBQWlCLENBQUMsU0FBUztZQUNqRCxVQUFVLEVBQUUsRUFBRSxDQUFDLGdCQUFnQixDQUFDLFVBQVU7WUFDMUMsY0FBYyxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsc0JBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztTQUNuRCxDQUFDLENBQUM7UUFDSCxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGlCQUFpQjtRQUVuRCxNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRTNDLFVBQVU7UUFDVixJQUFJLEtBQUssQ0FBQyxlQUFlLEVBQUU7WUFDekIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFDcEUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVztnQkFDbkMsV0FBVyxFQUFFO29CQUNYLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxlQUFlO2lCQUN4QztnQkFDRCxZQUFZLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTO2FBQzNDLENBQUMsQ0FBQztZQUVILFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDO2dCQUN2QyxRQUFRLEVBQUUsZ0JBQWdCO2dCQUMxQixjQUFjLEVBQUUsT0FBTyxDQUFDLG9CQUFvQixDQUFDLGdCQUFnQjthQUM5RCxDQUFDLENBQUMsQ0FBQztTQUNMO1FBRUQsV0FBVyxDQUFDLFNBQVMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDbkMsTUFBTTtZQUNOLEtBQUs7U0FDTixDQUFDLENBQUMsQ0FBQztRQUVKLE1BQU0sU0FBUyxHQUFHLElBQUksTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQ3RELE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVc7WUFDbkMsWUFBWSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUztZQUMxQyxTQUFTLEVBQUUsSUFBSSxZQUFZLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRTtnQkFDNUQsWUFBWSxFQUFFLElBQUk7YUFDbkIsQ0FBQztTQUNILENBQUMsQ0FBQztRQUVILEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxhQUFhLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7SUFDbkYsQ0FBQzs7QUFqREgsc0NBa0RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRHVyYXRpb24gfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgKiBhcyBkZXN0aW5hdGlvbnMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYS1kZXN0aW5hdGlvbnMnO1xuaW1wb3J0ICogYXMgbm9kZWpzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEtbm9kZWpzJztcbmltcG9ydCAqIGFzIGxvZ3MgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxvZ3MnO1xuaW1wb3J0ICogYXMgczMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXMzJztcbmltcG9ydCAqIGFzIHNlcyBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc2VzJztcbmltcG9ydCAqIGFzIGFjdGlvbnMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXNlcy1hY3Rpb25zJztcbmltcG9ydCAqIGFzIHNucyBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc25zJztcbmltcG9ydCAqIGFzIHN1YnNjcmlwdGlvbnMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXNucy1zdWJzY3JpcHRpb25zJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBpbnRlcmZhY2UgRW1haWxSZWNlaXZlclByb3BzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgcmVjZWlwdFJ1bGVTZXQ6IHNlcy5JUmVjZWlwdFJ1bGVTZXQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgcmVjaXBpZW50czogc3RyaW5nW107XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBmdW5jdGlvbjogbGFtYmRhLklGdW5jdGlvbjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBzb3VyY2VXaGl0ZWxpc3Q/OiBzdHJpbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBhZnRlclJ1bGU/OiBzZXMuSVJlY2VpcHRSdWxlO1xufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBjbGFzcyBFbWFpbFJlY2VpdmVyIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEVtYWlsUmVjZWl2ZXJQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCByZWNlaXB0UnVsZSA9IG5ldyBzZXMuUmVjZWlwdFJ1bGUodGhpcywgJ1JlY2VpcHRSdWxlJywge1xuICAgICAgcnVsZVNldDogcHJvcHMucmVjZWlwdFJ1bGVTZXQsXG4gICAgICByZWNpcGllbnRzOiBwcm9wcy5yZWNpcGllbnRzLFxuICAgICAgYWZ0ZXI6IHByb3BzLmFmdGVyUnVsZSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGJ1Y2tldCA9IG5ldyBzMy5CdWNrZXQodGhpcywgJ0J1Y2tldCcsIHtcbiAgICAgIGJsb2NrUHVibGljQWNjZXNzOiBzMy5CbG9ja1B1YmxpY0FjY2Vzcy5CTE9DS19BTEwsXG4gICAgICBlbmNyeXB0aW9uOiBzMy5CdWNrZXRFbmNyeXB0aW9uLlMzX01BTkFHRUQsXG4gICAgICBsaWZlY3ljbGVSdWxlczogW3sgZXhwaXJhdGlvbjogRHVyYXRpb24uZGF5cygxKSB9XSxcbiAgICB9KTtcbiAgICBidWNrZXQuZ3JhbnRSZWFkKHByb3BzLmZ1bmN0aW9uKTsgLy8gRG93bmxvYWQgZW1haWxcblxuICAgIGNvbnN0IHRvcGljID0gbmV3IHNucy5Ub3BpYyh0aGlzLCAnVG9waWMnKTtcblxuICAgIC8vIEFjdGlvbnNcbiAgICBpZiAocHJvcHMuc291cmNlV2hpdGVsaXN0KSB7XG4gICAgICBjb25zdCB3aGl0ZWxpc3RIYW5kbGVyID0gbmV3IG5vZGVqcy5Ob2RlanNGdW5jdGlvbih0aGlzLCAnd2hpdGVsaXN0Jywge1xuICAgICAgICBydW50aW1lOiBsYW1iZGEuUnVudGltZS5OT0RFSlNfMTJfWCxcbiAgICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgICBTT1VSQ0VfV0hJVEVMSVNUOiBwcm9wcy5zb3VyY2VXaGl0ZWxpc3QsXG4gICAgICAgIH0sXG4gICAgICAgIGxvZ1JldGVudGlvbjogbG9ncy5SZXRlbnRpb25EYXlzLk9ORV9NT05USCxcbiAgICAgIH0pO1xuXG4gICAgICByZWNlaXB0UnVsZS5hZGRBY3Rpb24obmV3IGFjdGlvbnMuTGFtYmRhKHtcbiAgICAgICAgZnVuY3Rpb246IHdoaXRlbGlzdEhhbmRsZXIsXG4gICAgICAgIGludm9jYXRpb25UeXBlOiBhY3Rpb25zLkxhbWJkYUludm9jYXRpb25UeXBlLlJFUVVFU1RfUkVTUE9OU0UsXG4gICAgICB9KSk7XG4gICAgfVxuXG4gICAgcmVjZWlwdFJ1bGUuYWRkQWN0aW9uKG5ldyBhY3Rpb25zLlMzKHtcbiAgICAgIGJ1Y2tldCxcbiAgICAgIHRvcGljLFxuICAgIH0pKTtcblxuICAgIGNvbnN0IHMzSGFuZGxlciA9IG5ldyBub2RlanMuTm9kZWpzRnVuY3Rpb24odGhpcywgJ3MzJywge1xuICAgICAgcnVudGltZTogbGFtYmRhLlJ1bnRpbWUuTk9ERUpTXzEyX1gsXG4gICAgICBsb2dSZXRlbnRpb246IGxvZ3MuUmV0ZW50aW9uRGF5cy5PTkVfTU9OVEgsXG4gICAgICBvblN1Y2Nlc3M6IG5ldyBkZXN0aW5hdGlvbnMuTGFtYmRhRGVzdGluYXRpb24ocHJvcHMuZnVuY3Rpb24sIHtcbiAgICAgICAgcmVzcG9uc2VPbmx5OiB0cnVlLFxuICAgICAgfSksXG4gICAgfSk7XG5cbiAgICB0b3BpYy5hZGRTdWJzY3JpcHRpb24obmV3IHN1YnNjcmlwdGlvbnMuTGFtYmRhU3Vic2NyaXB0aW9uKHMzSGFuZGxlcikpOyAvLyBOb3RpZnlcbiAgfVxufVxuIl19
package/lib/index.d.ts CHANGED
@@ -7,3 +7,4 @@ export * from './ecs-service-roller';
7
7
  export * from './url-shortener';
8
8
  export * from './saml-identity-provider';
9
9
  export * from './codecommit-mirror';
10
+ export * from './slack-app';
package/lib/index.js CHANGED
@@ -19,4 +19,5 @@ __exportStar(require("./ecs-service-roller"), exports);
19
19
  __exportStar(require("./url-shortener"), exports);
20
20
  __exportStar(require("./saml-identity-provider"), exports);
21
21
  __exportStar(require("./codecommit-mirror"), exports);
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsaURBQStCO0FBQy9CLG1EQUFpQztBQUNqQyxtREFBaUM7QUFDakMsOERBQTRDO0FBQzVDLG1EQUFpQztBQUNqQyx1REFBcUM7QUFDckMsa0RBQWdDO0FBQ2hDLDJEQUF5QztBQUN6QyxzREFBb0MiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NsYWNrLWV2ZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL3NsYWNrLXRleHRyYWN0JztcbmV4cG9ydCAqIGZyb20gJy4vc3RhdGljLXdlYnNpdGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zdGF0ZS1tYWNoaW5lLWNyLXByb3ZpZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vZW1haWwtcmVjZWl2ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9lY3Mtc2VydmljZS1yb2xsZXInO1xuZXhwb3J0ICogZnJvbSAnLi91cmwtc2hvcnRlbmVyJztcbmV4cG9ydCAqIGZyb20gJy4vc2FtbC1pZGVudGl0eS1wcm92aWRlcic7XG5leHBvcnQgKiBmcm9tICcuL2NvZGVjb21taXQtbWlycm9yJztcbiJdfQ==
22
+ __exportStar(require("./slack-app"), exports);
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsaURBQStCO0FBQy9CLG1EQUFpQztBQUNqQyxtREFBaUM7QUFDakMsOERBQTRDO0FBQzVDLG1EQUFpQztBQUNqQyx1REFBcUM7QUFDckMsa0RBQWdDO0FBQ2hDLDJEQUF5QztBQUN6QyxzREFBb0M7QUFDcEMsOENBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zbGFjay1ldmVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9zbGFjay10ZXh0cmFjdCc7XG5leHBvcnQgKiBmcm9tICcuL3N0YXRpYy13ZWJzaXRlJztcbmV4cG9ydCAqIGZyb20gJy4vc3RhdGUtbWFjaGluZS1jci1wcm92aWRlcic7XG5leHBvcnQgKiBmcm9tICcuL2VtYWlsLXJlY2VpdmVyJztcbmV4cG9ydCAqIGZyb20gJy4vZWNzLXNlcnZpY2Utcm9sbGVyJztcbmV4cG9ydCAqIGZyb20gJy4vdXJsLXNob3J0ZW5lcic7XG5leHBvcnQgKiBmcm9tICcuL3NhbWwtaWRlbnRpdHktcHJvdmlkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9jb2RlY29tbWl0LW1pcnJvcic7XG5leHBvcnQgKiBmcm9tICcuL3NsYWNrLWFwcCc7XG4iXX0=
@@ -69,7 +69,7 @@ class SamlIdentityProvider extends constructs_1.Construct {
69
69
  }
70
70
  exports.SamlIdentityProvider = SamlIdentityProvider;
71
71
  _a = JSII_RTTI_SYMBOL_1;
72
- SamlIdentityProvider[_a] = { fqn: "cloudstructs.SamlIdentityProvider", version: "0.2.4" };
72
+ SamlIdentityProvider[_a] = { fqn: "cloudstructs.SamlIdentityProvider", version: "0.2.8" };
73
73
  /**
74
74
  * (deprecated) Principal entity that represents a SAML federated identity provider.
75
75
  *
@@ -89,5 +89,5 @@ class SamlFederatedPrincipal extends iam.FederatedPrincipal {
89
89
  }
90
90
  exports.SamlFederatedPrincipal = SamlFederatedPrincipal;
91
91
  _b = JSII_RTTI_SYMBOL_1;
92
- SamlFederatedPrincipal[_b] = { fqn: "cloudstructs.SamlFederatedPrincipal", version: "0.2.4" };
92
+ SamlFederatedPrincipal[_b] = { fqn: "cloudstructs.SamlFederatedPrincipal", version: "0.2.8" };
93
93
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2FtbC1pZGVudGl0eS1wcm92aWRlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUEyQztBQUMzQywyQ0FBMkM7QUFDM0MsbURBQW1EO0FBRW5ELDJDQUF1Qzs7Ozs7O0FBWXZDLE1BQWEsb0JBQXFCLFNBQVEsc0JBQVM7Ozs7SUFJakQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFnQzs7UUFDeEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLElBQUksU0FBRyxLQUFLLENBQUMsSUFBSSxtQ0FBSSxHQUFHLG1CQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztRQUVyRSxNQUFNLEdBQUcsR0FBRyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDbkMsT0FBTyxFQUFFLEtBQUs7WUFDZCxNQUFNLEVBQUUsRUFBRTtZQUNWLFFBQVEsRUFBRSxlQUFlO1lBQ3pCLFlBQVksRUFBRSxJQUFJO1NBQ25CLENBQUMsQ0FBQztRQUVILE1BQU0sR0FBRyxHQUFHLElBQUksRUFBRSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDckQsWUFBWSxFQUFFLDhCQUE4QjtZQUM1QyxRQUFRLEVBQUU7Z0JBQ1IsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsTUFBTSxFQUFFLG9CQUFvQjtnQkFDNUIsVUFBVSxFQUFFO29CQUNWLElBQUksRUFBRSxJQUFJO29CQUNWLG9CQUFvQixFQUFFLEtBQUssQ0FBQyxnQkFBZ0I7aUJBQ1o7Z0JBQ2xDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUM7YUFDMUU7WUFDRCxRQUFRLEVBQUU7Z0JBQ1IsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsTUFBTSxFQUFFLG9CQUFvQjtnQkFDNUIsVUFBVSxFQUFFO29CQUNWLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQywyQkFBMkIsRUFBRSxDQUFDLE1BQU0sRUFBRTtvQkFDOUQsb0JBQW9CLEVBQUUsS0FBSyxDQUFDLGdCQUFnQjtpQkFDWjtnQkFDbEMsa0JBQWtCLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQzthQUMxRTtZQUNELFFBQVEsRUFBRTtnQkFDUixPQUFPLEVBQUUsS0FBSztnQkFDZCxNQUFNLEVBQUUsb0JBQW9CO2dCQUM1QixVQUFVLEVBQUU7b0JBQ1YsZUFBZSxFQUFFLElBQUksRUFBRSxDQUFDLDJCQUEyQixFQUFFLENBQUMsTUFBTSxFQUFFO2lCQUM5QjthQUNuQztZQUNELE1BQU0sRUFBRSxFQUFFLENBQUMsdUJBQXVCLENBQUMsY0FBYyxDQUFDO2dCQUNoRCxJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUM7b0JBQ3RCLE9BQU8sRUFBRTt3QkFDUCx3QkFBd0I7d0JBQ3hCLHdCQUF3Qjt3QkFDeEIsd0JBQXdCO3FCQUN6QjtvQkFDRCxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUM7aUJBQ2pCLENBQUM7YUFDSCxDQUFDO1NBQ0gsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLHVCQUF1QixHQUFHLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7O0FBeERILG9EQXlEQzs7Ozs7Ozs7QUFHRCxNQUFhLHNCQUF1QixTQUFRLEdBQUcsQ0FBQyxrQkFBa0I7Ozs7SUFDaEUsWUFBWSxnQkFBc0M7UUFDaEQsS0FBSyxDQUNILGdCQUFnQixDQUFDLHVCQUF1QixFQUN4QztZQUNFLFlBQVksRUFBRTtnQkFDWixVQUFVLEVBQUUsb0NBQW9DO2FBQ2pEO1NBQ0YsRUFDRCx3QkFBd0IsQ0FDekIsQ0FBQztJQUNKLENBQUM7O0FBWEgsd0RBWUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOYW1lcywgU3RhY2sgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyBjciBmcm9tICdhd3MtY2RrLWxpYi9jdXN0b20tcmVzb3VyY2VzJztcbmltcG9ydCB7IElBTSB9IGZyb20gJ2F3cy1zZGsnOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llc1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBpbnRlcmZhY2UgU2FtbElkZW50aXR5UHJvdmlkZXJQcm9wcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgbmFtZT86IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgbWV0YWRhdGFEb2N1bWVudDogc3RyaW5nO1xufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgY2xhc3MgU2FtbElkZW50aXR5UHJvdmlkZXIgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSBzYW1sSWRlbnRpdHlQcm92aWRlckFybjogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBTYW1sSWRlbnRpdHlQcm92aWRlclByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IG5hbWUgPSBwcm9wcy5uYW1lID8/IGAke05hbWVzLnVuaXF1ZUlkKHRoaXMpfUlkZW50aXR5UHJvdmlkZXJgO1xuXG4gICAgY29uc3QgYXJuID0gU3RhY2sub2YodGhpcykuZm9ybWF0QXJuKHtcbiAgICAgIHNlcnZpY2U6ICdpYW0nLFxuICAgICAgcmVnaW9uOiAnJyxcbiAgICAgIHJlc291cmNlOiAnc2FtbC1wcm92aWRlcicsXG4gICAgICByZXNvdXJjZU5hbWU6IG5hbWUsXG4gICAgfSk7XG5cbiAgICBjb25zdCBpZHAgPSBuZXcgY3IuQXdzQ3VzdG9tUmVzb3VyY2UodGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgcmVzb3VyY2VUeXBlOiAnQ3VzdG9tOjpTYW1sSWRlbnRpdHlQcm92aWRlcicsXG4gICAgICBvbkNyZWF0ZToge1xuICAgICAgICBzZXJ2aWNlOiAnSUFNJyxcbiAgICAgICAgYWN0aW9uOiAnY3JlYXRlU0FNTFByb3ZpZGVyJyxcbiAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgIE5hbWU6IG5hbWUsXG4gICAgICAgICAgU0FNTE1ldGFkYXRhRG9jdW1lbnQ6IHByb3BzLm1ldGFkYXRhRG9jdW1lbnQsXG4gICAgICAgIH0gYXMgSUFNLkNyZWF0ZVNBTUxQcm92aWRlclJlcXVlc3QsXG4gICAgICAgIHBoeXNpY2FsUmVzb3VyY2VJZDogY3IuUGh5c2ljYWxSZXNvdXJjZUlkLmZyb21SZXNwb25zZSgnU0FNTFByb3ZpZGVyQXJuJyksXG4gICAgICB9LFxuICAgICAgb25VcGRhdGU6IHtcbiAgICAgICAgc2VydmljZTogJ0lBTScsXG4gICAgICAgIGFjdGlvbjogJ3VwZGF0ZVNBTUxQcm92aWRlcicsXG4gICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICBTQU1MUHJvdmlkZXJBcm46IG5ldyBjci5QaHlzaWNhbFJlc291cmNlSWRSZWZlcmVuY2UoKS50b0pTT04oKSxcbiAgICAgICAgICBTQU1MTWV0YWRhdGFEb2N1bWVudDogcHJvcHMubWV0YWRhdGFEb2N1bWVudCxcbiAgICAgICAgfSBhcyBJQU0uVXBkYXRlU0FNTFByb3ZpZGVyUmVxdWVzdCxcbiAgICAgICAgcGh5c2ljYWxSZXNvdXJjZUlkOiBjci5QaHlzaWNhbFJlc291cmNlSWQuZnJvbVJlc3BvbnNlKCdTQU1MUHJvdmlkZXJBcm4nKSxcbiAgICAgIH0sXG4gICAgICBvbkRlbGV0ZToge1xuICAgICAgICBzZXJ2aWNlOiAnSUFNJyxcbiAgICAgICAgYWN0aW9uOiAnZGVsZXRlU0FNTFByb3ZpZGVyJyxcbiAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgIFNBTUxQcm92aWRlckFybjogbmV3IGNyLlBoeXNpY2FsUmVzb3VyY2VJZFJlZmVyZW5jZSgpLnRvSlNPTigpLFxuICAgICAgICB9IGFzIElBTS5EZWxldGVTQU1MUHJvdmlkZXJSZXF1ZXN0LFxuICAgICAgfSxcbiAgICAgIHBvbGljeTogY3IuQXdzQ3VzdG9tUmVzb3VyY2VQb2xpY3kuZnJvbVN0YXRlbWVudHMoW1xuICAgICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgJ2lhbTpjcmVhdGVTQU1MUHJvdmlkZXInLFxuICAgICAgICAgICAgJ2lhbTp1cGRhdGVTQU1MUHJvdmlkZXInLFxuICAgICAgICAgICAgJ2lhbTpkZWxldGVTQU1MUHJvdmlkZXInLFxuICAgICAgICAgIF0sXG4gICAgICAgICAgcmVzb3VyY2VzOiBbYXJuXSxcbiAgICAgICAgfSksXG4gICAgICBdKSxcbiAgICB9KTtcblxuICAgIHRoaXMuc2FtbElkZW50aXR5UHJvdmlkZXJBcm4gPSBpZHAuZ2V0UmVzcG9uc2VGaWVsZCgnU0FNTFByb3ZpZGVyQXJuJyk7XG4gIH1cbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgY2xhc3MgU2FtbEZlZGVyYXRlZFByaW5jaXBhbCBleHRlbmRzIGlhbS5GZWRlcmF0ZWRQcmluY2lwYWwge1xuICBjb25zdHJ1Y3RvcihpZGVudGl0eVByb3ZpZGVyOiBTYW1sSWRlbnRpdHlQcm92aWRlcikge1xuICAgIHN1cGVyKFxuICAgICAgaWRlbnRpdHlQcm92aWRlci5zYW1sSWRlbnRpdHlQcm92aWRlckFybixcbiAgICAgIHtcbiAgICAgICAgU3RyaW5nRXF1YWxzOiB7XG4gICAgICAgICAgJ1NBTUw6YXVkJzogJ2h0dHBzOi8vc2lnbmluLmF3cy5hbWF6b24uY29tL3NhbWwnLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgICdzdHM6QXNzdW1lUm9sZVdpdGhTQU1MJyxcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,95 @@
1
+ import * as secretsmanager from 'aws-cdk-lib/aws-secretsmanager';
2
+ import { Construct } from 'constructs';
3
+ /**
4
+ * Properties for a SlackApp.
5
+ *
6
+ * @stability stable
7
+ */
8
+ export interface SlackAppProps {
9
+ /**
10
+ * The JSON app manifest encoded as a string.
11
+ *
12
+ * @see https://api.slack.com/reference/manifests
13
+ * @stability stable
14
+ */
15
+ readonly manifest: string;
16
+ /**
17
+ * An AWS Secrets Manager secret containing the app configuration token.
18
+ *
19
+ * Must use the following JSON format:
20
+ *
21
+ * ```
22
+ * {
23
+ * "refreshToken": "<token>"
24
+ * }
25
+ * ```
26
+ *
27
+ * @stability stable
28
+ */
29
+ readonly configurationTokenSecret: secretsmanager.ISecret;
30
+ /**
31
+ * The AWS Secrets Manager secret where to store the app credentials.
32
+ *
33
+ * @default - a new secret is created
34
+ * @stability stable
35
+ */
36
+ readonly credentialsSecret?: secretsmanager.ISecret;
37
+ }
38
+ /**
39
+ * A Slack application deployed with a manifest.
40
+ *
41
+ * @see https://api.slack.com/reference/manifests
42
+ * @stability stable
43
+ */
44
+ export declare class SlackApp extends Construct {
45
+ /**
46
+ * The ID of the application.
47
+ *
48
+ * @stability stable
49
+ */
50
+ readonly appId: string;
51
+ /**
52
+ * An AWS Secrets Manager secret containing the credentials of the application.
53
+ *
54
+ * ```
55
+ * {
56
+ * "appId": "...",
57
+ * "clientId": "...",
58
+ * "clientSecret": "...",
59
+ * "verificationToken": "...",
60
+ * "signingSecret": "..."
61
+ * }
62
+ * ```
63
+ *
64
+ * @stability stable
65
+ */
66
+ readonly credentials: secretsmanager.ISecret;
67
+ /**
68
+ * A dynamic reference to the client ID of the app.
69
+ *
70
+ * @stability stable
71
+ */
72
+ readonly clientId: string;
73
+ /**
74
+ * A dynamic reference to the client secret of the app.
75
+ *
76
+ * @stability stable
77
+ */
78
+ readonly clientSecret: string;
79
+ /**
80
+ * A dynamic reference to the verification token of the app.
81
+ *
82
+ * @stability stable
83
+ */
84
+ readonly verificationToken: string;
85
+ /**
86
+ * A dynamic reference to the signing secret of the app.
87
+ *
88
+ * @stability stable
89
+ */
90
+ readonly signingSecret: string;
91
+ /**
92
+ * @stability stable
93
+ */
94
+ constructor(scope: Construct, id: string, props: SlackAppProps);
95
+ }
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.SlackApp = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
7
+ const secretsmanager = require("aws-cdk-lib/aws-secretsmanager");
8
+ const constructs_1 = require("constructs");
9
+ const provider_1 = require("./provider");
10
+ /**
11
+ * A Slack application deployed with a manifest.
12
+ *
13
+ * @see https://api.slack.com/reference/manifests
14
+ * @stability stable
15
+ */
16
+ class SlackApp extends constructs_1.Construct {
17
+ /**
18
+ * @stability stable
19
+ */
20
+ constructor(scope, id, props) {
21
+ var _b;
22
+ super(scope, id);
23
+ const provider = provider_1.SlackAppProvider.getOrCreate(this);
24
+ props.configurationTokenSecret.grantRead(provider.handler);
25
+ props.configurationTokenSecret.grantWrite(provider.handler);
26
+ this.credentials = (_b = props.credentialsSecret) !== null && _b !== void 0 ? _b : new secretsmanager.Secret(this, 'Credentials', {
27
+ description: `Credentials for Slack App ${this.node.id}`,
28
+ });
29
+ this.credentials.grantWrite(provider.handler);
30
+ const resource = new aws_cdk_lib_1.CustomResource(this, 'Resource', {
31
+ serviceToken: provider.serviceToken,
32
+ resourceType: 'Custom::SlackApp',
33
+ properties: {
34
+ manifest: props.manifest,
35
+ configurationTokenSecretArn: props.configurationTokenSecret.secretArn,
36
+ credentialsSecretArn: this.credentials.secretArn,
37
+ },
38
+ });
39
+ this.appId = resource.getAttString('appId');
40
+ this.clientId = this.credentials.secretValueFromJson('clientId').toString();
41
+ this.clientSecret = this.credentials.secretValueFromJson('clientSecret').toString();
42
+ this.verificationToken = this.credentials.secretValueFromJson('verificationToken').toString();
43
+ this.signingSecret = this.credentials.secretValueFromJson('signingSecret').toString();
44
+ }
45
+ }
46
+ exports.SlackApp = SlackApp;
47
+ _a = JSII_RTTI_SYMBOL_1;
48
+ SlackApp[_a] = { fqn: "cloudstructs.SlackApp", version: "0.2.8" };
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2xhY2stYXBwL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQTZDO0FBQzdDLGlFQUFpRTtBQUNqRSwyQ0FBdUM7QUFDdkMseUNBQThDOzs7Ozs7O0FBZTlDLE1BQWEsUUFBUyxTQUFRLHNCQUFTOzs7O0lBbUJyQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQW9COztRQUM1RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sUUFBUSxHQUFHLDJCQUFnQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwRCxLQUFLLENBQUMsd0JBQXdCLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzRCxLQUFLLENBQUMsd0JBQXdCLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUU1RCxJQUFJLENBQUMsV0FBVyxTQUFHLEtBQUssQ0FBQyxpQkFBaUIsbUNBQUksSUFBSSxjQUFjLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxhQUFhLEVBQUU7WUFDM0YsV0FBVyxFQUFFLDZCQUE2QixJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRTtTQUN6RCxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFOUMsTUFBTSxRQUFRLEdBQUcsSUFBSSw0QkFBYyxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDcEQsWUFBWSxFQUFFLFFBQVEsQ0FBQyxZQUFZO1lBQ25DLFlBQVksRUFBRSxrQkFBa0I7WUFDaEMsVUFBVSxFQUFFO2dCQUNWLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtnQkFDeEIsMkJBQTJCLEVBQUUsS0FBSyxDQUFDLHdCQUF3QixDQUFDLFNBQVM7Z0JBQ3JFLG9CQUFvQixFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUzthQUNqRDtTQUNGLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDNUUsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLG1CQUFtQixDQUFDLGNBQWMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3BGLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLG1CQUFtQixDQUFDLG1CQUFtQixDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDOUYsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLG1CQUFtQixDQUFDLGVBQWUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3hGLENBQUM7O0FBOUNILDRCQStDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEN1c3RvbVJlc291cmNlIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgc2VjcmV0c21hbmFnZXIgZnJvbSAnYXdzLWNkay1saWIvYXdzLXNlY3JldHNtYW5hZ2VyJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgU2xhY2tBcHBQcm92aWRlciB9IGZyb20gJy4vcHJvdmlkZXInO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBpbnRlcmZhY2UgU2xhY2tBcHBQcm9wcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IG1hbmlmZXN0OiBzdHJpbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBjb25maWd1cmF0aW9uVG9rZW5TZWNyZXQ6IHNlY3JldHNtYW5hZ2VyLklTZWNyZXQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgY3JlZGVudGlhbHNTZWNyZXQ/OiBzZWNyZXRzbWFuYWdlci5JU2VjcmV0O1xufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBjbGFzcyBTbGFja0FwcCBleHRlbmRzIENvbnN0cnVjdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHJlYWRvbmx5IGFwcElkOiBzdHJpbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHJlYWRvbmx5IGNyZWRlbnRpYWxzOiBzZWNyZXRzbWFuYWdlci5JU2VjcmV0O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSBjbGllbnRJZDogc3RyaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgY2xpZW50U2VjcmV0OiBzdHJpbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHJlYWRvbmx5IHZlcmlmaWNhdGlvblRva2VuOiBzdHJpbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgc2lnbmluZ1NlY3JldDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBTbGFja0FwcFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IHByb3ZpZGVyID0gU2xhY2tBcHBQcm92aWRlci5nZXRPckNyZWF0ZSh0aGlzKTtcbiAgICBwcm9wcy5jb25maWd1cmF0aW9uVG9rZW5TZWNyZXQuZ3JhbnRSZWFkKHByb3ZpZGVyLmhhbmRsZXIpO1xuICAgIHByb3BzLmNvbmZpZ3VyYXRpb25Ub2tlblNlY3JldC5ncmFudFdyaXRlKHByb3ZpZGVyLmhhbmRsZXIpO1xuXG4gICAgdGhpcy5jcmVkZW50aWFscyA9IHByb3BzLmNyZWRlbnRpYWxzU2VjcmV0ID8/IG5ldyBzZWNyZXRzbWFuYWdlci5TZWNyZXQodGhpcywgJ0NyZWRlbnRpYWxzJywge1xuICAgICAgZGVzY3JpcHRpb246IGBDcmVkZW50aWFscyBmb3IgU2xhY2sgQXBwICR7dGhpcy5ub2RlLmlkfWAsXG4gICAgfSk7XG4gICAgdGhpcy5jcmVkZW50aWFscy5ncmFudFdyaXRlKHByb3ZpZGVyLmhhbmRsZXIpO1xuXG4gICAgY29uc3QgcmVzb3VyY2UgPSBuZXcgQ3VzdG9tUmVzb3VyY2UodGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgc2VydmljZVRva2VuOiBwcm92aWRlci5zZXJ2aWNlVG9rZW4sXG4gICAgICByZXNvdXJjZVR5cGU6ICdDdXN0b206OlNsYWNrQXBwJyxcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgbWFuaWZlc3Q6IHByb3BzLm1hbmlmZXN0LFxuICAgICAgICBjb25maWd1cmF0aW9uVG9rZW5TZWNyZXRBcm46IHByb3BzLmNvbmZpZ3VyYXRpb25Ub2tlblNlY3JldC5zZWNyZXRBcm4sXG4gICAgICAgIGNyZWRlbnRpYWxzU2VjcmV0QXJuOiB0aGlzLmNyZWRlbnRpYWxzLnNlY3JldEFybixcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLmFwcElkID0gcmVzb3VyY2UuZ2V0QXR0U3RyaW5nKCdhcHBJZCcpO1xuICAgIHRoaXMuY2xpZW50SWQgPSB0aGlzLmNyZWRlbnRpYWxzLnNlY3JldFZhbHVlRnJvbUpzb24oJ2NsaWVudElkJykudG9TdHJpbmcoKTtcbiAgICB0aGlzLmNsaWVudFNlY3JldCA9IHRoaXMuY3JlZGVudGlhbHMuc2VjcmV0VmFsdWVGcm9tSnNvbignY2xpZW50U2VjcmV0JykudG9TdHJpbmcoKTtcbiAgICB0aGlzLnZlcmlmaWNhdGlvblRva2VuID0gdGhpcy5jcmVkZW50aWFscy5zZWNyZXRWYWx1ZUZyb21Kc29uKCd2ZXJpZmljYXRpb25Ub2tlbicpLnRvU3RyaW5nKCk7XG4gICAgdGhpcy5zaWduaW5nU2VjcmV0ID0gdGhpcy5jcmVkZW50aWFscy5zZWNyZXRWYWx1ZUZyb21Kc29uKCdzaWduaW5nU2VjcmV0JykudG9TdHJpbmcoKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,11 @@
1
+ import * as nodejs from 'aws-cdk-lib/aws-lambda-nodejs';
2
+ import { Construct } from 'constructs';
3
+ export declare class SlackAppProvider extends Construct {
4
+ /**
5
+ * Creates a stack-singleton resource provider
6
+ */
7
+ static getOrCreate(scope: Construct): SlackAppProvider;
8
+ readonly serviceToken: string;
9
+ readonly handler: nodejs.NodejsFunction;
10
+ constructor(scope: Construct, id: string);
11
+ }