sst 3.0.0 → 3.0.1-2

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 (457) hide show
  1. package/package.json +8 -139
  2. package/src/index.ts +1 -0
  3. package/src/resource.ts +15 -0
  4. package/tsconfig.json +11 -0
  5. package/LICENSE +0 -21
  6. package/README.md +0 -43
  7. package/bootstrap.d.ts +0 -5
  8. package/bootstrap.js +0 -318
  9. package/bus.d.ts +0 -20
  10. package/bus.js +0 -52
  11. package/cache.d.ts +0 -4
  12. package/cache.js +0 -31
  13. package/cdk/deploy-stack.d.ts +0 -223
  14. package/cdk/deploy-stack.js +0 -562
  15. package/cdk/deployments-wrapper.d.ts +0 -3
  16. package/cdk/deployments-wrapper.js +0 -135
  17. package/cdk/deployments.d.ts +0 -327
  18. package/cdk/deployments.js +0 -360
  19. package/cdk/util.d.ts +0 -1
  20. package/cdk/util.js +0 -17
  21. package/cli/ci-info.d.ts +0 -4
  22. package/cli/ci-info.js +0 -8
  23. package/cli/colors.d.ts +0 -17
  24. package/cli/colors.js +0 -27
  25. package/cli/commands/bind.d.ts +0 -19
  26. package/cli/commands/bind.js +0 -360
  27. package/cli/commands/bootstrap.d.ts +0 -15
  28. package/cli/commands/bootstrap.js +0 -11
  29. package/cli/commands/build.d.ts +0 -17
  30. package/cli/commands/build.js +0 -25
  31. package/cli/commands/connect.d.ts +0 -17
  32. package/cli/commands/connect.js +0 -55
  33. package/cli/commands/console.d.ts +0 -15
  34. package/cli/commands/console.js +0 -22
  35. package/cli/commands/deploy.d.ts +0 -19
  36. package/cli/commands/deploy.js +0 -112
  37. package/cli/commands/dev.d.ts +0 -25
  38. package/cli/commands/dev.js +0 -351
  39. package/cli/commands/diff.d.ts +0 -19
  40. package/cli/commands/diff.js +0 -89
  41. package/cli/commands/plugins/kysely.d.ts +0 -1
  42. package/cli/commands/plugins/kysely.js +0 -87
  43. package/cli/commands/plugins/pothos.d.ts +0 -1
  44. package/cli/commands/plugins/pothos.js +0 -58
  45. package/cli/commands/plugins/warmer.d.ts +0 -1
  46. package/cli/commands/plugins/warmer.js +0 -33
  47. package/cli/commands/remove.d.ts +0 -19
  48. package/cli/commands/remove.js +0 -62
  49. package/cli/commands/secrets/get.d.ts +0 -19
  50. package/cli/commands/secrets/get.js +0 -27
  51. package/cli/commands/secrets/list.d.ts +0 -19
  52. package/cli/commands/secrets/list.js +0 -69
  53. package/cli/commands/secrets/load.d.ts +0 -17
  54. package/cli/commands/secrets/load.js +0 -47
  55. package/cli/commands/secrets/remove.d.ts +0 -19
  56. package/cli/commands/secrets/remove.js +0 -27
  57. package/cli/commands/secrets/secrets.d.ts +0 -2
  58. package/cli/commands/secrets/secrets.js +0 -16
  59. package/cli/commands/secrets/set.d.ts +0 -21
  60. package/cli/commands/secrets/set.js +0 -54
  61. package/cli/commands/telemetry.d.ts +0 -17
  62. package/cli/commands/telemetry.js +0 -24
  63. package/cli/commands/transform.d.ts +0 -17
  64. package/cli/commands/transform.js +0 -62
  65. package/cli/commands/types.d.ts +0 -15
  66. package/cli/commands/types.js +0 -25
  67. package/cli/commands/update.d.ts +0 -17
  68. package/cli/commands/update.js +0 -116
  69. package/cli/commands/version.d.ts +0 -15
  70. package/cli/commands/version.js +0 -15
  71. package/cli/local/router.d.ts +0 -44
  72. package/cli/local/router.js +0 -43
  73. package/cli/local/server.d.ts +0 -22
  74. package/cli/local/server.js +0 -319
  75. package/cli/program.d.ts +0 -19
  76. package/cli/program.js +0 -87
  77. package/cli/spinner.d.ts +0 -3
  78. package/cli/spinner.js +0 -14
  79. package/cli/sst.d.ts +0 -2
  80. package/cli/sst.js +0 -74
  81. package/cli/telemetry/environment.d.ts +0 -15
  82. package/cli/telemetry/environment.js +0 -27
  83. package/cli/telemetry/post-payload.d.ts +0 -1
  84. package/cli/telemetry/post-payload.js +0 -27
  85. package/cli/telemetry/project-id.d.ts +0 -2
  86. package/cli/telemetry/project-id.js +0 -47
  87. package/cli/telemetry/telemetry.d.ts +0 -19
  88. package/cli/telemetry/telemetry.js +0 -103
  89. package/cli/terminal.d.ts +0 -1
  90. package/cli/terminal.js +0 -8
  91. package/cli/ui/deploy.d.ts +0 -10
  92. package/cli/ui/deploy.js +0 -172
  93. package/cli/ui/functions.d.ts +0 -2
  94. package/cli/ui/functions.js +0 -130
  95. package/cli/ui/header.d.ts +0 -5
  96. package/cli/ui/header.js +0 -16
  97. package/cli/ui/stack.d.ts +0 -1
  98. package/cli/ui/stack.js +0 -6
  99. package/config.d.ts +0 -56
  100. package/config.js +0 -244
  101. package/constructs/Api.d.ts +0 -814
  102. package/constructs/Api.js +0 -743
  103. package/constructs/ApiGatewayV1Api.d.ts +0 -642
  104. package/constructs/ApiGatewayV1Api.js +0 -767
  105. package/constructs/App.d.ts +0 -168
  106. package/constructs/App.js +0 -493
  107. package/constructs/AppSyncApi.d.ts +0 -550
  108. package/constructs/AppSyncApi.js +0 -493
  109. package/constructs/AstroSite.d.ts +0 -39
  110. package/constructs/AstroSite.js +0 -78
  111. package/constructs/AstroSite.tsdoc.d.ts +0 -2
  112. package/constructs/AstroSite.tsdoc.js +0 -2
  113. package/constructs/Auth.d.ts +0 -100
  114. package/constructs/Auth.js +0 -177
  115. package/constructs/BaseSite.d.ts +0 -29
  116. package/constructs/BaseSite.js +0 -43
  117. package/constructs/Bucket.d.ts +0 -364
  118. package/constructs/Bucket.js +0 -327
  119. package/constructs/Cognito.d.ts +0 -232
  120. package/constructs/Cognito.js +0 -370
  121. package/constructs/Config.d.ts +0 -3
  122. package/constructs/Config.js +0 -3
  123. package/constructs/Construct.d.ts +0 -23
  124. package/constructs/Construct.js +0 -46
  125. package/constructs/Cron.d.ts +0 -164
  126. package/constructs/Cron.js +0 -114
  127. package/constructs/Distribution.d.ts +0 -143
  128. package/constructs/Distribution.js +0 -260
  129. package/constructs/EdgeFunction.d.ts +0 -49
  130. package/constructs/EdgeFunction.js +0 -442
  131. package/constructs/EventBus.d.ts +0 -444
  132. package/constructs/EventBus.js +0 -440
  133. package/constructs/Function.d.ts +0 -690
  134. package/constructs/Function.js +0 -583
  135. package/constructs/FunctionalStack.d.ts +0 -13
  136. package/constructs/FunctionalStack.js +0 -62
  137. package/constructs/Job.d.ts +0 -337
  138. package/constructs/Job.js +0 -404
  139. package/constructs/KinesisStream.d.ts +0 -224
  140. package/constructs/KinesisStream.js +0 -207
  141. package/constructs/Metadata.d.ts +0 -60
  142. package/constructs/Metadata.js +0 -1
  143. package/constructs/NextjsSite.d.ts +0 -104
  144. package/constructs/NextjsSite.js +0 -308
  145. package/constructs/Parameter.d.ts +0 -37
  146. package/constructs/Parameter.js +0 -53
  147. package/constructs/Queue.d.ts +0 -194
  148. package/constructs/Queue.js +0 -204
  149. package/constructs/RDS.d.ts +0 -221
  150. package/constructs/RDS.js +0 -363
  151. package/constructs/RemixSite.d.ts +0 -42
  152. package/constructs/RemixSite.js +0 -158
  153. package/constructs/RemixSite.tsdoc.d.ts +0 -2
  154. package/constructs/RemixSite.tsdoc.js +0 -2
  155. package/constructs/Script.d.ts +0 -160
  156. package/constructs/Script.js +0 -179
  157. package/constructs/Secret.d.ts +0 -30
  158. package/constructs/Secret.js +0 -59
  159. package/constructs/Service.d.ts +0 -487
  160. package/constructs/Service.js +0 -655
  161. package/constructs/SolidStartSite.d.ts +0 -37
  162. package/constructs/SolidStartSite.js +0 -66
  163. package/constructs/SolidStartSite.tsdoc.d.ts +0 -2
  164. package/constructs/SolidStartSite.tsdoc.js +0 -2
  165. package/constructs/SsrFunction.d.ts +0 -60
  166. package/constructs/SsrFunction.js +0 -226
  167. package/constructs/SsrSite.d.ts +0 -407
  168. package/constructs/SsrSite.js +0 -850
  169. package/constructs/Stack.d.ts +0 -127
  170. package/constructs/Stack.js +0 -243
  171. package/constructs/StaticSite.d.ts +0 -348
  172. package/constructs/StaticSite.js +0 -468
  173. package/constructs/SvelteKitSite.d.ts +0 -40
  174. package/constructs/SvelteKitSite.js +0 -106
  175. package/constructs/SvelteKitSite.tsdoc.d.ts +0 -2
  176. package/constructs/SvelteKitSite.tsdoc.js +0 -2
  177. package/constructs/Table.d.ts +0 -410
  178. package/constructs/Table.js +0 -425
  179. package/constructs/Topic.d.ts +0 -257
  180. package/constructs/Topic.js +0 -273
  181. package/constructs/WebSocketApi.d.ts +0 -355
  182. package/constructs/WebSocketApi.js +0 -404
  183. package/constructs/cdk/HttpAwsIntegration.d.ts +0 -32
  184. package/constructs/cdk/HttpAwsIntegration.js +0 -24
  185. package/constructs/cdk/certificate-base.d.ts +0 -18
  186. package/constructs/cdk/certificate-base.js +0 -26
  187. package/constructs/cdk/dns-validated-certificate.d.ts +0 -77
  188. package/constructs/cdk/dns-validated-certificate.js +0 -125
  189. package/constructs/cdk/website-redirect.d.ts +0 -53
  190. package/constructs/cdk/website-redirect.js +0 -77
  191. package/constructs/context.d.ts +0 -3
  192. package/constructs/context.js +0 -27
  193. package/constructs/deferred_task.d.ts +0 -6
  194. package/constructs/deferred_task.js +0 -45
  195. package/constructs/deprecated/NextjsSite.d.ts +0 -309
  196. package/constructs/deprecated/NextjsSite.js +0 -1074
  197. package/constructs/deprecated/cross-region-helper.d.ts +0 -7
  198. package/constructs/deprecated/cross-region-helper.js +0 -152
  199. package/constructs/deprecated/index.d.ts +0 -1
  200. package/constructs/deprecated/index.js +0 -1
  201. package/constructs/future/Auth.d.ts +0 -80
  202. package/constructs/future/Auth.js +0 -122
  203. package/constructs/future/index.d.ts +0 -1
  204. package/constructs/future/index.js +0 -1
  205. package/constructs/index.d.ts +0 -32
  206. package/constructs/index.js +0 -32
  207. package/constructs/static-file-list.d.ts +0 -1
  208. package/constructs/static-file-list.js +0 -51
  209. package/constructs/util/apiGatewayV1AccessLog.d.ts +0 -15
  210. package/constructs/util/apiGatewayV1AccessLog.js +0 -76
  211. package/constructs/util/apiGatewayV2AccessLog.d.ts +0 -10
  212. package/constructs/util/apiGatewayV2AccessLog.js +0 -107
  213. package/constructs/util/apiGatewayV2Cors.d.ts +0 -67
  214. package/constructs/util/apiGatewayV2Cors.js +0 -21
  215. package/constructs/util/apiGatewayV2Domain.d.ts +0 -47
  216. package/constructs/util/apiGatewayV2Domain.js +0 -208
  217. package/constructs/util/appSyncApiDomain.d.ts +0 -41
  218. package/constructs/util/appSyncApiDomain.js +0 -176
  219. package/constructs/util/builder.d.ts +0 -3
  220. package/constructs/util/builder.js +0 -9
  221. package/constructs/util/duration.d.ts +0 -3
  222. package/constructs/util/duration.js +0 -19
  223. package/constructs/util/functionBinding.d.ts +0 -31
  224. package/constructs/util/functionBinding.js +0 -104
  225. package/constructs/util/functionUrlCors.d.ts +0 -67
  226. package/constructs/util/functionUrlCors.js +0 -23
  227. package/constructs/util/permission.d.ts +0 -8
  228. package/constructs/util/permission.js +0 -228
  229. package/constructs/util/size.d.ts +0 -3
  230. package/constructs/util/size.js +0 -12
  231. package/constructs/util/warning.d.ts +0 -11
  232. package/constructs/util/warning.js +0 -21
  233. package/context/context.d.ts +0 -13
  234. package/context/context.js +0 -69
  235. package/context/context2.d.ts +0 -16
  236. package/context/context2.js +0 -108
  237. package/context/handler.d.ts +0 -25
  238. package/context/handler.js +0 -21
  239. package/context/index.d.ts +0 -2
  240. package/context/index.js +0 -2
  241. package/credentials.d.ts +0 -9
  242. package/credentials.js +0 -145
  243. package/error.d.ts +0 -6
  244. package/error.js +0 -10
  245. package/index.d.ts +0 -1
  246. package/index.js +0 -1
  247. package/iot.d.ts +0 -6
  248. package/iot.js +0 -163
  249. package/logger.d.ts +0 -3
  250. package/logger.js +0 -32
  251. package/node/actor/index.d.ts +0 -29
  252. package/node/actor/index.js +0 -17
  253. package/node/api/index.d.ts +0 -64
  254. package/node/api/index.js +0 -179
  255. package/node/auth/adapter/adapter.d.ts +0 -3
  256. package/node/auth/adapter/adapter.js +0 -3
  257. package/node/auth/adapter/facebook.d.ts +0 -2
  258. package/node/auth/adapter/facebook.js +0 -26
  259. package/node/auth/adapter/github.d.ts +0 -2
  260. package/node/auth/adapter/github.js +0 -21
  261. package/node/auth/adapter/google.d.ts +0 -9
  262. package/node/auth/adapter/google.js +0 -18
  263. package/node/auth/adapter/link.d.ts +0 -8
  264. package/node/auth/adapter/link.js +0 -39
  265. package/node/auth/adapter/oauth.d.ts +0 -25
  266. package/node/auth/adapter/oauth.js +0 -52
  267. package/node/auth/adapter/oidc.d.ts +0 -17
  268. package/node/auth/adapter/oidc.js +0 -50
  269. package/node/auth/adapter/twitch.d.ts +0 -2
  270. package/node/auth/adapter/twitch.js +0 -11
  271. package/node/auth/auth.d.ts +0 -24
  272. package/node/auth/auth.js +0 -74
  273. package/node/auth/index.d.ts +0 -13
  274. package/node/auth/index.js +0 -12
  275. package/node/auth/session.d.ts +0 -76
  276. package/node/auth/session.js +0 -121
  277. package/node/bucket/index.d.ts +0 -3
  278. package/node/bucket/index.js +0 -2
  279. package/node/config/index.d.ts +0 -13
  280. package/node/config/index.js +0 -22
  281. package/node/event-bus/index.d.ts +0 -51
  282. package/node/event-bus/index.js +0 -76
  283. package/node/function/index.d.ts +0 -3
  284. package/node/function/index.js +0 -3
  285. package/node/future/auth/adapter/adapter.d.ts +0 -10
  286. package/node/future/auth/adapter/adapter.js +0 -1
  287. package/node/future/auth/adapter/code.d.ts +0 -17
  288. package/node/future/auth/adapter/code.js +0 -68
  289. package/node/future/auth/adapter/facebook.d.ts +0 -16
  290. package/node/future/auth/adapter/facebook.js +0 -27
  291. package/node/future/auth/adapter/github.d.ts +0 -23
  292. package/node/future/auth/adapter/github.js +0 -23
  293. package/node/future/auth/adapter/google.d.ts +0 -28
  294. package/node/future/auth/adapter/google.js +0 -22
  295. package/node/future/auth/adapter/link.d.ts +0 -13
  296. package/node/future/auth/adapter/link.js +0 -47
  297. package/node/future/auth/adapter/microsoft.d.ts +0 -22
  298. package/node/future/auth/adapter/microsoft.js +0 -16
  299. package/node/future/auth/adapter/oauth.d.ts +0 -41
  300. package/node/future/auth/adapter/oauth.js +0 -67
  301. package/node/future/auth/adapter/oidc.d.ts +0 -30
  302. package/node/future/auth/adapter/oidc.js +0 -63
  303. package/node/future/auth/adapter/spotify.d.ts +0 -23
  304. package/node/future/auth/adapter/spotify.js +0 -22
  305. package/node/future/auth/encryption.d.ts +0 -2
  306. package/node/future/auth/encryption.js +0 -30
  307. package/node/future/auth/handler.d.ts +0 -46
  308. package/node/future/auth/handler.js +0 -280
  309. package/node/future/auth/index.d.ts +0 -17
  310. package/node/future/auth/index.js +0 -15
  311. package/node/future/auth/session.d.ts +0 -71
  312. package/node/future/auth/session.js +0 -146
  313. package/node/graphql/index.d.ts +0 -15
  314. package/node/graphql/index.js +0 -32
  315. package/node/job/index.d.ts +0 -37
  316. package/node/job/index.js +0 -64
  317. package/node/kinesis-stream/index.d.ts +0 -3
  318. package/node/kinesis-stream/index.js +0 -3
  319. package/node/queue/index.d.ts +0 -3
  320. package/node/queue/index.js +0 -2
  321. package/node/rds/index.d.ts +0 -3
  322. package/node/rds/index.js +0 -2
  323. package/node/service/index.d.ts +0 -3
  324. package/node/service/index.js +0 -4
  325. package/node/site/index.d.ts +0 -18
  326. package/node/site/index.js +0 -18
  327. package/node/table/index.d.ts +0 -3
  328. package/node/table/index.js +0 -4
  329. package/node/topic/index.d.ts +0 -3
  330. package/node/topic/index.js +0 -4
  331. package/node/util/index.d.ts +0 -2
  332. package/node/util/index.js +0 -196
  333. package/node/util/loader.d.ts +0 -2
  334. package/node/util/loader.js +0 -51
  335. package/node/websocket-api/index.d.ts +0 -23
  336. package/node/websocket-api/index.js +0 -48
  337. package/pothos.d.ts +0 -7
  338. package/pothos.js +0 -160
  339. package/project.d.ts +0 -75
  340. package/project.js +0 -188
  341. package/runtime/handlers/container.d.ts +0 -2
  342. package/runtime/handlers/container.js +0 -263
  343. package/runtime/handlers/dotnet.d.ts +0 -2
  344. package/runtime/handlers/dotnet.js +0 -115
  345. package/runtime/handlers/go.d.ts +0 -2
  346. package/runtime/handlers/go.js +0 -126
  347. package/runtime/handlers/java.d.ts +0 -2
  348. package/runtime/handlers/java.js +0 -103
  349. package/runtime/handlers/node.d.ts +0 -2
  350. package/runtime/handlers/node.js +0 -269
  351. package/runtime/handlers/python.d.ts +0 -2
  352. package/runtime/handlers/python.js +0 -141
  353. package/runtime/handlers/pythonBundling.d.ts +0 -82
  354. package/runtime/handlers/pythonBundling.js +0 -80
  355. package/runtime/handlers/rust.d.ts +0 -2
  356. package/runtime/handlers/rust.js +0 -110
  357. package/runtime/handlers.d.ts +0 -74
  358. package/runtime/handlers.js +0 -151
  359. package/runtime/iot.d.ts +0 -1
  360. package/runtime/iot.js +0 -17
  361. package/runtime/runtime.d.ts +0 -32
  362. package/runtime/runtime.js +0 -1
  363. package/runtime/server.d.ts +0 -6
  364. package/runtime/server.js +0 -150
  365. package/runtime/workers.d.ts +0 -37
  366. package/runtime/workers.js +0 -85
  367. package/stacks/app-metadata.d.ts +0 -7
  368. package/stacks/app-metadata.js +0 -75
  369. package/stacks/assembly.d.ts +0 -1
  370. package/stacks/assembly.js +0 -4
  371. package/stacks/build.d.ts +0 -9
  372. package/stacks/build.js +0 -110
  373. package/stacks/deploy.d.ts +0 -9
  374. package/stacks/deploy.js +0 -240
  375. package/stacks/diff.d.ts +0 -8
  376. package/stacks/diff.js +0 -62
  377. package/stacks/index.d.ts +0 -10
  378. package/stacks/index.js +0 -10
  379. package/stacks/metadata.d.ts +0 -11
  380. package/stacks/metadata.js +0 -83
  381. package/stacks/monitor.d.ts +0 -32
  382. package/stacks/monitor.js +0 -151
  383. package/stacks/remove.d.ts +0 -8
  384. package/stacks/remove.js +0 -76
  385. package/stacks/synth.d.ts +0 -12
  386. package/stacks/synth.js +0 -94
  387. package/support/base-site-archiver.mjs +0 -99
  388. package/support/base-site-custom-resource/s3-handler.py +0 -195
  389. package/support/base-site-custom-resource/s3-upload.py +0 -89
  390. package/support/bootstrap-metadata-function/index.mjs +0 -58011
  391. package/support/bridge/Dockerfile +0 -3
  392. package/support/bridge/bridge.mjs +0 -146
  393. package/support/certificate-requestor/index.js +0 -549
  394. package/support/custom-resources/index.mjs +0 -180627
  395. package/support/dotnet31-bootstrap/Program.cs +0 -17
  396. package/support/dotnet31-bootstrap/dotnet-bootstrap.csproj +0 -12
  397. package/support/dotnet31-bootstrap/release/Amazon.Lambda.Core.dll +0 -0
  398. package/support/dotnet31-bootstrap/release/Amazon.Lambda.RuntimeSupport.dll +0 -0
  399. package/support/dotnet31-bootstrap/release/System.Runtime.CompilerServices.Unsafe.dll +0 -0
  400. package/support/dotnet31-bootstrap/release/System.Text.Encodings.Web.dll +0 -0
  401. package/support/dotnet31-bootstrap/release/System.Text.Json.dll +0 -0
  402. package/support/dotnet31-bootstrap/release/dotnet-bootstrap +0 -0
  403. package/support/dotnet31-bootstrap/release/dotnet-bootstrap.deps.json +0 -230
  404. package/support/dotnet31-bootstrap/release/dotnet-bootstrap.dll +0 -0
  405. package/support/dotnet31-bootstrap/release/dotnet-bootstrap.pdb +0 -0
  406. package/support/dotnet31-bootstrap/release/dotnet-bootstrap.runtimeconfig.json +0 -9
  407. package/support/dotnet6-bootstrap/Program.cs +0 -17
  408. package/support/dotnet6-bootstrap/dotnet-bootstrap.csproj +0 -12
  409. package/support/dotnet6-bootstrap/release/Amazon.Lambda.Core.dll +0 -0
  410. package/support/dotnet6-bootstrap/release/Amazon.Lambda.RuntimeSupport.dll +0 -0
  411. package/support/dotnet6-bootstrap/release/dotnet-bootstrap +0 -0
  412. package/support/dotnet6-bootstrap/release/dotnet-bootstrap.deps.json +0 -59
  413. package/support/dotnet6-bootstrap/release/dotnet-bootstrap.dll +0 -0
  414. package/support/dotnet6-bootstrap/release/dotnet-bootstrap.pdb +0 -0
  415. package/support/dotnet6-bootstrap/release/dotnet-bootstrap.runtimeconfig.json +0 -12
  416. package/support/edge-function/edge-lambda-version.mjs +0 -3
  417. package/support/edge-function/edge-lambda.mjs +0 -3
  418. package/support/edge-function/s3-bucket.mjs +0 -3
  419. package/support/event-bus-retrier/index.mjs +0 -75
  420. package/support/java-runtime/install.sh +0 -25
  421. package/support/java-runtime/pom.xml +0 -39
  422. package/support/java-runtime/release/aws-lambda-java-core-1.2.0.jar +0 -0
  423. package/support/java-runtime/release/aws-lambda-java-runtime-interface-client-1.1.0.jar +0 -0
  424. package/support/java-runtime/release/aws-lambda-java-serialization-1.0.0.jar +0 -0
  425. package/support/job-manager/index.mjs +0 -57679
  426. package/support/nixpacks/Dockerfile +0 -6
  427. package/support/nodejs-runtime/index.mjs +0 -169
  428. package/support/python-runtime/Dockerfile +0 -9
  429. package/support/python-runtime/Dockerfile.custom +0 -21
  430. package/support/python-runtime/Dockerfile.dependencies +0 -26
  431. package/support/python-runtime/runtime.py +0 -127
  432. package/support/rds-migrator/index.mjs +0 -49
  433. package/support/remix-site-function/edge-server.js +0 -161
  434. package/support/remix-site-function/polyfill.js +0 -24
  435. package/support/remix-site-function/regional-server.js +0 -164
  436. package/support/script-function/index.mjs +0 -48760
  437. package/support/service-dev-function/index.js +0 -1
  438. package/support/signing-function/index.mjs +0 -3769
  439. package/support/sls-nextjs-site-build-helper/build.cjs +0 -91
  440. package/support/sls-nextjs-site-build-helper/index-wrapper.js +0 -19
  441. package/support/sls-nextjs-site-function-code-replacer/lambda-code-updater.py +0 -156
  442. package/support/sls-nextjs-site-stub/index.html +0 -99
  443. package/support/ssr-site-function-archiver.mjs +0 -96
  444. package/support/ssr-site-function-stub/index.js +0 -5
  445. package/support/ssr-warmer/index.mjs +0 -34235
  446. package/util/error.d.ts +0 -3
  447. package/util/error.js +0 -6
  448. package/util/fs.d.ts +0 -4
  449. package/util/fs.js +0 -46
  450. package/util/lazy.d.ts +0 -1
  451. package/util/lazy.js +0 -11
  452. package/util/module.d.ts +0 -1
  453. package/util/module.js +0 -5
  454. package/util/process.d.ts +0 -2
  455. package/util/process.js +0 -3
  456. package/watcher.d.ts +0 -14
  457. package/watcher.js +0 -35
@@ -1,425 +0,0 @@
1
- import { Construct } from "constructs";
2
- import * as dynamodb from "aws-cdk-lib/aws-dynamodb";
3
- import * as lambda from "aws-cdk-lib/aws-lambda";
4
- import * as lambdaEventSources from "aws-cdk-lib/aws-lambda-event-sources";
5
- import { getFunctionRef, isCDKConstruct } from "./Construct.js";
6
- import { Function as Fn, } from "./Function.js";
7
- /////////////////////
8
- // Construct
9
- /////////////////////
10
- /**
11
- * The `Table` construct is a higher level CDK construct that makes it easy to create a DynamoDB table.
12
- *
13
- * @example
14
- *
15
- * Deploys a plain HTML website in the `path/to/src` directory.
16
- *
17
- * ```js
18
- * import { Table } from "sst/constructs";
19
- *
20
- * new Table(stack, "Notes", {
21
- * fields: {
22
- * userId: "string",
23
- * noteId: "string",
24
- * },
25
- * primaryIndex: { partitionKey: "noteId", sortKey: "userId" },
26
- * });
27
- * ```
28
- */
29
- export class Table extends Construct {
30
- id;
31
- cdk;
32
- dynamodbTableType;
33
- functions = {};
34
- bindingForAllConsumers = [];
35
- permissionsAttachedForAllConsumers = [];
36
- props;
37
- stream;
38
- fields;
39
- constructor(scope, id, props) {
40
- super(scope, props.cdk?.id || id);
41
- this.id = id;
42
- this.props = props;
43
- const { fields, globalIndexes, localIndexes, kinesisStream } = this.props;
44
- this.cdk = {};
45
- this.fields = fields;
46
- // Input Validation
47
- this.validateFieldsAndIndexes(id, props);
48
- // Create Table
49
- this.createTable();
50
- // Create Secondary Indexes
51
- if (globalIndexes)
52
- this.addGlobalIndexes(globalIndexes);
53
- if (localIndexes)
54
- this.addLocalIndexes(localIndexes);
55
- // Create Consumers
56
- if (props.consumers) {
57
- for (const consumerName in props.consumers) {
58
- this.addConsumer(this, consumerName, props.consumers[consumerName]);
59
- }
60
- }
61
- // Create Kinesis Stream
62
- this.buildKinesisStreamSpec(kinesisStream);
63
- }
64
- /**
65
- * The ARN of the internally created DynamoDB Table.
66
- */
67
- get tableArn() {
68
- return this.cdk.table.tableArn;
69
- }
70
- /**
71
- * The name of the internally created DynamoDB Table.
72
- */
73
- get tableName() {
74
- return this.cdk.table.tableName;
75
- }
76
- /**
77
- * Add additional global secondary indexes where the `key` is the name of the global secondary index
78
- *
79
- * @example
80
- * ```js
81
- * table.addGlobalIndexes({
82
- * gsi1: {
83
- * partitionKey: "pk",
84
- * sortKey: "sk",
85
- * }
86
- * })
87
- * ```
88
- */
89
- addGlobalIndexes(secondaryIndexes) {
90
- if (!this.fields)
91
- throw new Error(`Cannot add secondary indexes to "${this.node.id}" Table without defining "fields"`);
92
- for (const [indexName, { partitionKey, sortKey, projection, cdk },] of Object.entries(secondaryIndexes)) {
93
- // Validate index does not contain "indexName", "partitionKey" and "sortKey"
94
- if (cdk?.index?.indexName) {
95
- throw new Error(`Cannot configure the "cdk.index.indexName" in the "${indexName}" index of the "${this.node.id}" Table`);
96
- }
97
- if (cdk?.index?.partitionKey) {
98
- throw new Error(`Cannot configure the "cdk.index.partitionKey" in the "${indexName}" index of the "${this.node.id}" Table`);
99
- }
100
- if (cdk?.index?.sortKey) {
101
- throw new Error(`Cannot configure the "cdk.index.sortKey" in the "${indexName}" index of the "${this.node.id}" Table`);
102
- }
103
- this.cdk.table.addGlobalSecondaryIndex({
104
- indexName,
105
- partitionKey: this.buildAttribute(this.fields, partitionKey),
106
- sortKey: sortKey
107
- ? this.buildAttribute(this.fields, sortKey)
108
- : undefined,
109
- ...(() => {
110
- if (!projection) {
111
- return undefined;
112
- }
113
- else if (Array.isArray(projection)) {
114
- return {
115
- projectionType: dynamodb.ProjectionType.INCLUDE,
116
- nonKeyAttributes: projection,
117
- };
118
- }
119
- return {
120
- projectionType: dynamodb.ProjectionType[projection.toUpperCase()],
121
- };
122
- })(),
123
- ...cdk?.index,
124
- });
125
- }
126
- }
127
- /**
128
- * Add additional local secondary indexes where the `key` is the name of the local secondary index
129
- *
130
- * @example
131
- * ```js
132
- * table.addLocalIndexes({
133
- * lsi1: {
134
- * sortKey: "sk",
135
- * }
136
- * })
137
- * ```
138
- */
139
- addLocalIndexes(secondaryIndexes) {
140
- if (!this.fields)
141
- throw new Error(`Cannot add local secondary indexes to "${this.node.id}" Table without defining "fields"`);
142
- for (const [indexName, { sortKey, projection, cdk }] of Object.entries(secondaryIndexes)) {
143
- // Validate index does not contain "indexName", "partitionKey" and "sortKey"
144
- if (cdk?.index?.indexName) {
145
- throw new Error(`Cannot configure the "cdk.index.indexName" in the "${indexName}" index of the "${this.node.id}" Table`);
146
- }
147
- if (cdk?.index?.sortKey) {
148
- throw new Error(`Cannot configure the "cdk.index.sortKey" in the "${indexName}" index of the "${this.node.id}" Table`);
149
- }
150
- this.cdk.table.addLocalSecondaryIndex({
151
- indexName,
152
- sortKey: this.buildAttribute(this.fields, sortKey),
153
- ...(() => {
154
- if (!projection) {
155
- return undefined;
156
- }
157
- else if (Array.isArray(projection)) {
158
- return {
159
- projectionType: dynamodb.ProjectionType.INCLUDE,
160
- nonKeyAttributes: projection,
161
- };
162
- }
163
- return {
164
- projectionType: dynamodb.ProjectionType[projection.toUpperCase()],
165
- };
166
- })(),
167
- ...cdk?.index,
168
- });
169
- }
170
- }
171
- /**
172
- * Define additional consumers for table events
173
- *
174
- * @example
175
- * ```js
176
- * table.addConsumers(stack, {
177
- * consumer1: "src/consumer1.main",
178
- * consumer2: "src/consumer2.main",
179
- * });
180
- * ```
181
- */
182
- addConsumers(scope, consumers) {
183
- Object.keys(consumers).forEach((consumerName) => {
184
- this.addConsumer(scope, consumerName, consumers[consumerName]);
185
- });
186
- }
187
- /**
188
- * Binds the given list of resources to all consumers of this table.
189
- *
190
- * @example
191
- * ```js
192
- * table.bind([STRIPE_KEY, bucket]);
193
- * ```
194
- */
195
- bind(constructs) {
196
- Object.values(this.functions).forEach((fn) => fn.bind(constructs));
197
- this.bindingForAllConsumers.push(...constructs);
198
- }
199
- /**
200
- * Binds the given list of resources to a specific consumer of this table.
201
- *
202
- * @example
203
- * ```js
204
- * table.bindToConsumer("consumer1", [STRIPE_KEY, bucket]);
205
- * ```
206
- */
207
- bindToConsumer(consumerName, constructs) {
208
- if (!this.functions[consumerName]) {
209
- throw new Error(`The "${consumerName}" consumer was not found in the "${this.node.id}" Table.`);
210
- }
211
- this.functions[consumerName].bind(constructs);
212
- }
213
- /**
214
- * Grant permissions to all consumers of this table.
215
- *
216
- * @example
217
- * ```js
218
- * table.attachPermissions(["s3"]);
219
- * ```
220
- */
221
- attachPermissions(permissions) {
222
- Object.values(this.functions).forEach((fn) => fn.attachPermissions(permissions));
223
- this.permissionsAttachedForAllConsumers.push(permissions);
224
- }
225
- /**
226
- * Grant permissions to a specific consumer of this table.
227
- *
228
- * @example
229
- * ```js
230
- * table.attachPermissionsToConsumer("consumer1", ["s3"]);
231
- * ```
232
- */
233
- attachPermissionsToConsumer(consumerName, permissions) {
234
- if (!this.functions[consumerName]) {
235
- throw new Error(`The "${consumerName}" consumer was not found in the "${this.node.id}" Table.`);
236
- }
237
- this.functions[consumerName].attachPermissions(permissions);
238
- }
239
- /**
240
- * Get the instance of the internally created Function, for a given consumer.
241
- *
242
- * ```js
243
- * const table = new Table(stack, "Table", {
244
- * consumers: {
245
- * consumer1: "./src/function.handler",
246
- * }
247
- * })
248
- * table.getFunction("consumer1");
249
- * ```
250
- */
251
- getFunction(consumerName) {
252
- return this.functions[consumerName];
253
- }
254
- /** @internal */
255
- getConstructMetadata() {
256
- return {
257
- type: "Table",
258
- data: {
259
- tableName: this.cdk.table.tableName,
260
- consumers: Object.entries(this.functions).map(([name, fun]) => ({
261
- name,
262
- fn: getFunctionRef(fun),
263
- })),
264
- },
265
- };
266
- }
267
- /** @internal */
268
- getFunctionBinding() {
269
- return {
270
- clientPackage: "table",
271
- variables: {
272
- tableName: {
273
- type: "plain",
274
- value: this.tableName,
275
- },
276
- },
277
- permissions: {
278
- "dynamodb:*": [this.tableArn, `${this.tableArn}/*`],
279
- },
280
- };
281
- }
282
- createTable() {
283
- const { fields, primaryIndex, stream, timeToLiveAttribute, cdk } = this.props;
284
- const app = this.node.root;
285
- const id = this.node.id;
286
- if (isCDKConstruct(cdk?.table)) {
287
- // Validate "fields" is not configured
288
- if (fields !== undefined) {
289
- throw new Error(`Cannot configure the "fields" when "cdk.table" is a construct in the "${id}" Table`);
290
- }
291
- // Validate "stream" is not configured
292
- if (stream !== undefined) {
293
- throw new Error(`Cannot configure the "stream" when "cdk.table" is a construct in the "${id}" Table`);
294
- }
295
- this.dynamodbTableType = "IMPORTED";
296
- this.cdk.table = cdk?.table;
297
- }
298
- else {
299
- let dynamodbTableProps = (cdk?.table || {});
300
- // Validate "fields" is configured
301
- if (fields === undefined) {
302
- throw new Error(`Missing "fields" in the "${id}" Table`);
303
- }
304
- // Validate dynamodbTableProps does not contain "partitionKey", "sortKey" and "stream"
305
- if (dynamodbTableProps.partitionKey) {
306
- throw new Error(`Cannot configure the "cdk.table.partitionKey" in the "${id}" Table`);
307
- }
308
- if (dynamodbTableProps.sortKey) {
309
- throw new Error(`Cannot configure the "cdk.table.sortKey" in the "${id}" Table`);
310
- }
311
- if (dynamodbTableProps.stream) {
312
- throw new Error(`Cannot configure the "cdk.table.stream" in the "${id}" Table`);
313
- }
314
- if (fields && primaryIndex) {
315
- dynamodbTableProps = {
316
- ...dynamodbTableProps,
317
- partitionKey: this.buildAttribute(fields, primaryIndex.partitionKey),
318
- sortKey: primaryIndex.sortKey
319
- ? this.buildAttribute(fields, primaryIndex.sortKey)
320
- : undefined,
321
- };
322
- }
323
- this.dynamodbTableType = "CREATED";
324
- this.cdk.table = new dynamodb.Table(this, "Table", {
325
- tableName: app.logicalPrefixedName(id),
326
- pointInTimeRecovery: true,
327
- billingMode: dynamodb.BillingMode.PAY_PER_REQUEST,
328
- stream: this.buildStreamConfig(stream),
329
- timeToLiveAttribute,
330
- ...dynamodbTableProps,
331
- });
332
- }
333
- }
334
- addConsumer(scope, consumerName, consumer) {
335
- // validate stream enabled
336
- // note: if table is imported, do not check because we want to allow ppl to
337
- // import without specifying the "tableStreamArn". And let them add
338
- // consumers to it.
339
- if (!this.cdk.table.tableStreamArn) {
340
- const errorMsgs = [
341
- `Please enable the "stream" option to add consumers to the "${this.node.id}" Table.`,
342
- ];
343
- if (this.dynamodbTableType === "IMPORTED") {
344
- errorMsgs.push(`To import a table with stream enabled, use the "Table.fromTableAttributes()" method, and set the "tableStreamArn" in the attributes.`);
345
- }
346
- throw new Error(errorMsgs.join(" "));
347
- }
348
- // parse consumer
349
- let consumerFunction, eventSourceProps, filters;
350
- if (consumer.function) {
351
- consumer = consumer;
352
- consumerFunction = consumer.function;
353
- eventSourceProps = consumer.cdk?.eventSource;
354
- filters = consumer.filters;
355
- }
356
- else {
357
- consumerFunction = consumer;
358
- }
359
- // create function
360
- const fn = Fn.fromDefinition(scope, `Consumer_${this.node.id}_${consumerName}`, consumerFunction, this.props.defaults?.function, `The "defaults.function" cannot be applied if an instance of a Function construct is passed in. Make sure to define all the consumers using FunctionProps, so the Table construct can apply the "defaults.function" to them.`);
361
- this.functions[consumerName] = fn;
362
- // create event source
363
- fn.addEventSource(new lambdaEventSources.DynamoEventSource(this.cdk.table, {
364
- startingPosition: lambda.StartingPosition.LATEST,
365
- filters: filters?.map((filter) => ({
366
- pattern: JSON.stringify(filter),
367
- })),
368
- ...(eventSourceProps || {}),
369
- }));
370
- // attach permissions
371
- this.permissionsAttachedForAllConsumers.forEach((permissions) => {
372
- fn.attachPermissions(permissions);
373
- });
374
- fn.bind(this.bindingForAllConsumers);
375
- return fn;
376
- }
377
- buildAttribute(fields, name) {
378
- // Ensure the key is specified in "fields"
379
- if (!fields[name]) {
380
- throw new Error(`Please define "${name}" in "fields" to create the index in the "${this.node.id}" Table.`);
381
- }
382
- return {
383
- name,
384
- type: dynamodb.AttributeType[fields[name].toUpperCase()],
385
- };
386
- }
387
- buildStreamConfig(stream) {
388
- if (stream === true) {
389
- return dynamodb.StreamViewType.NEW_AND_OLD_IMAGES;
390
- }
391
- else if (stream === false || stream === undefined) {
392
- return undefined;
393
- }
394
- return dynamodb.StreamViewType[stream.toUpperCase()];
395
- }
396
- buildKinesisStreamSpec(kinesisStream) {
397
- if (!kinesisStream) {
398
- return;
399
- }
400
- const cfTable = this.cdk.table.node.defaultChild;
401
- cfTable.addPropertyOverride("KinesisStreamSpecification.StreamArn", kinesisStream.streamArn);
402
- }
403
- validateFieldsAndIndexes(id, props) {
404
- const { fields, primaryIndex } = props;
405
- // Validate "fields"
406
- if (fields && Object.keys(fields).length === 0) {
407
- throw new Error(`No fields defined for the "${id}" Table`);
408
- }
409
- // Validate "primaryIndex"
410
- if (primaryIndex && !primaryIndex.partitionKey) {
411
- throw new Error(`Missing "partitionKey" in primary index for the "${id}" Table`);
412
- }
413
- // Validate "fields" and "primaryIndex" co-exists
414
- if (fields) {
415
- if (!primaryIndex) {
416
- throw new Error(`Missing "primaryIndex" in "${id}" Table`);
417
- }
418
- }
419
- else {
420
- if (primaryIndex) {
421
- throw new Error(`Cannot configure the "primaryIndex" without setting the "fields" in "${id}" Table`);
422
- }
423
- }
424
- }
425
- }
@@ -1,257 +0,0 @@
1
- import { ITopic, Subscription, TopicProps as AWSTopicProps } from "aws-cdk-lib/aws-sns";
2
- import { LambdaSubscriptionProps, SqsSubscriptionProps } from "aws-cdk-lib/aws-sns-subscriptions";
3
- import { Construct } from "constructs";
4
- import { SSTConstruct } from "./Construct.js";
5
- import { Function as Fn, FunctionProps, FunctionInlineDefinition, FunctionDefinition } from "./Function.js";
6
- import { Queue } from "./Queue.js";
7
- import { FunctionBindingProps } from "./util/functionBinding.js";
8
- import { Permissions } from "./util/permission.js";
9
- /**
10
- * Used to define a queue subscriber for a topic
11
- *
12
- * @example
13
- * ```js
14
- * new Topic(stack, "Topic", {
15
- * subscribers: {
16
- * subscriber: {
17
- * type: "queue",
18
- * queue: new Queue(stack, "Queue", {
19
- * consumer: "src/function.handler"
20
- * })
21
- * }
22
- * }
23
- * })
24
- * ```
25
- */
26
- export interface TopicQueueSubscriberProps {
27
- /**
28
- * String literal to signify that the subscriber is a queue
29
- */
30
- type: "queue";
31
- /**
32
- * The queue that'll be added as a subscriber to the topic.
33
- */
34
- queue: Queue;
35
- cdk?: {
36
- /**
37
- * This allows you to override the default settings this construct uses internally to create the subscriber.
38
- */
39
- subscription?: SqsSubscriptionProps;
40
- };
41
- }
42
- /**
43
- * Used to define a function subscriber for a topic
44
- *
45
- * @example
46
- * ```js
47
- * new Topic(stack, "Topic", {
48
- * subscribers: {
49
- * subscriber: "src/function.handler"
50
- * }
51
- * })
52
- * ```
53
- */
54
- export interface TopicFunctionSubscriberProps {
55
- /**
56
- * String literal to signify that the subscriber is a function
57
- */
58
- type?: "function";
59
- /**
60
- * Used to create the subscriber function for the topic
61
- */
62
- function: FunctionDefinition;
63
- cdk?: {
64
- /**
65
- * This allows you to override the default settings this construct uses internally to create the subscriber.
66
- */
67
- subscription?: LambdaSubscriptionProps;
68
- };
69
- }
70
- export interface TopicProps {
71
- defaults?: {
72
- /**
73
- * The default function props to be applied to all the consumers in the Topic. The `environment`, `permissions` and `layers` properties will be merged with per route definitions if they are defined.
74
- *
75
- * @example
76
- *
77
- * ```js
78
- * new Topic(stack, "Topic", {
79
- * defaults: {
80
- * function: {
81
- * timeout: 20,
82
- * }
83
- * },
84
- * });
85
- * ```
86
- */
87
- function?: FunctionProps;
88
- };
89
- /**
90
- * Configure subscribers for this topic
91
- *
92
- * @example
93
- * ```js
94
- * new Topic(stack, "Topic", {
95
- * subscribers: {
96
- * subscriber1: "src/function1.handler",
97
- * subscriber2: "src/function2.handler"
98
- * },
99
- * });
100
- * ```
101
- */
102
- subscribers?: Record<string, FunctionInlineDefinition | TopicFunctionSubscriberProps | Queue | TopicQueueSubscriberProps>;
103
- cdk?: {
104
- /**
105
- * Allows you to override default id for this construct.
106
- */
107
- id?: string;
108
- /**
109
- * Override the default settings this construct uses internally to create the topic.
110
- */
111
- topic?: ITopic | AWSTopicProps;
112
- };
113
- }
114
- /**
115
- * The `Topic` construct is a higher level CDK construct that makes it easy to create an SNS Topic and configure a list of subscriber functions.
116
- *
117
- * @example
118
- *
119
- * ```js
120
- * import { Topic } from "sst/constructs";
121
- *
122
- * new Topic(stack, "Topic", {
123
- * subscribers: {
124
- * subscriber1: "src/function1.handler",
125
- * subscriber2: "src/function2.handler"
126
- * },
127
- * });
128
- * ```
129
- */
130
- export declare class Topic extends Construct implements SSTConstruct {
131
- readonly id: string;
132
- readonly cdk: {
133
- /**
134
- * The internally created CDK `Topic` instance.
135
- */
136
- topic: ITopic;
137
- };
138
- private subscribers;
139
- private bindingForAllSubscribers;
140
- private permissionsAttachedForAllSubscribers;
141
- private props;
142
- constructor(scope: Construct, id: string, props?: TopicProps);
143
- /**
144
- * The ARN of the internally created SNS Topic.
145
- */
146
- get topicArn(): string;
147
- /**
148
- * The name of the internally created SNS Topic.
149
- */
150
- get topicName(): string;
151
- /**
152
- * Get a list of subscriptions for this topic
153
- */
154
- get subscriptions(): Subscription[];
155
- /**
156
- * A list of the internally created function instances for the subscribers.
157
- */
158
- get subscriberFunctions(): Fn[];
159
- /**
160
- * Add subscribers to the topic.
161
- *
162
- * @example
163
- * ```js
164
- * const topic = new Topic(stack, "Topic", {
165
- * subscribers: {
166
- * subscriber1: "src/function1.handler",
167
- * subscriber2: "src/function2.handler"
168
- * },
169
- * });
170
- * topic.addSubscribers(stack, {
171
- * subscriber3: "src/function3.handler"
172
- * });
173
- * ```
174
- */
175
- addSubscribers(scope: Construct, subscribers: {
176
- [subscriberName: string]: FunctionInlineDefinition | TopicFunctionSubscriberProps | Queue | TopicQueueSubscriberProps;
177
- }): void;
178
- /**
179
- * Binds the given list of resources to all the subscriber functions.
180
- *
181
- * @example
182
- *
183
- * ```js
184
- * const topic = new Topic(stack, "Topic", {
185
- * subscribers: {
186
- * subscriber1: "src/function1.handler",
187
- * subscriber2: "src/function2.handler"
188
- * },
189
- * });
190
- * topic.bind([STRIPE_KEY, bucket]);
191
- * ```
192
- */
193
- bind(constructs: SSTConstruct[]): void;
194
- /**
195
- * Binds the given list of resources to a specific subscriber.
196
- * @example
197
- * ```js {8}
198
- * const topic = new Topic(stack, "Topic", {
199
- * subscribers: {
200
- * subscriber1: "src/function1.handler",
201
- * subscriber2: "src/function2.handler"
202
- * },
203
- * });
204
- *
205
- * topic.bindToSubscriber("subscriber1", [STRIPE_KEY, bucket]);
206
- * ```
207
- */
208
- bindToSubscriber(subscriberName: string, constructs: SSTConstruct[]): void;
209
- /**
210
- * Attaches the given list of permissions to all the subscriber functions. This allows the subscribers to access other AWS resources.
211
- *
212
- * @example
213
- *
214
- * ```js
215
- * const topic = new Topic(stack, "Topic", {
216
- * subscribers: {
217
- * subscriber1: "src/function1.handler",
218
- * subscriber2: "src/function2.handler"
219
- * },
220
- * });
221
- * topic.attachPermissions(["s3"]);
222
- * ```
223
- */
224
- attachPermissions(permissions: Permissions): void;
225
- /**
226
- * Attaches the list of permissions to a specific subscriber.
227
- * @example
228
- * ```js {8}
229
- * const topic = new Topic(stack, "Topic", {
230
- * subscribers: {
231
- * subscriber1: "src/function1.handler",
232
- * subscriber2: "src/function2.handler"
233
- * },
234
- * });
235
- *
236
- * topic.attachPermissionsToSubscriber("subscriber1", ["s3"]);
237
- * ```
238
- */
239
- attachPermissionsToSubscriber(subscriberName: string, permissions: Permissions): void;
240
- getConstructMetadata(): {
241
- type: "Topic";
242
- data: {
243
- topicArn: string;
244
- subscribers: ({
245
- node: string;
246
- stack: string;
247
- } | undefined)[];
248
- subscriberNames: string[];
249
- };
250
- };
251
- /** @internal */
252
- getFunctionBinding(): FunctionBindingProps;
253
- private createTopic;
254
- private addSubscriber;
255
- private addQueueSubscriber;
256
- private addFunctionSubscriber;
257
- }