sst 3.0.0 → 3.0.1-10

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 (460) hide show
  1. package/dist/index.d.ts +2 -0
  2. package/dist/index.js +2 -0
  3. package/dist/resource.d.ts +4 -0
  4. package/dist/resource.js +15 -0
  5. package/dist/vector-client.d.ts +126 -0
  6. package/dist/vector-client.js +38 -0
  7. package/package.json +16 -137
  8. package/LICENSE +0 -21
  9. package/README.md +0 -43
  10. package/bootstrap.d.ts +0 -5
  11. package/bootstrap.js +0 -318
  12. package/bus.d.ts +0 -20
  13. package/bus.js +0 -52
  14. package/cache.d.ts +0 -4
  15. package/cache.js +0 -31
  16. package/cdk/deploy-stack.d.ts +0 -223
  17. package/cdk/deploy-stack.js +0 -562
  18. package/cdk/deployments-wrapper.d.ts +0 -3
  19. package/cdk/deployments-wrapper.js +0 -135
  20. package/cdk/deployments.d.ts +0 -327
  21. package/cdk/deployments.js +0 -360
  22. package/cdk/util.d.ts +0 -1
  23. package/cdk/util.js +0 -17
  24. package/cli/ci-info.d.ts +0 -4
  25. package/cli/ci-info.js +0 -8
  26. package/cli/colors.d.ts +0 -17
  27. package/cli/colors.js +0 -27
  28. package/cli/commands/bind.d.ts +0 -19
  29. package/cli/commands/bind.js +0 -360
  30. package/cli/commands/bootstrap.d.ts +0 -15
  31. package/cli/commands/bootstrap.js +0 -11
  32. package/cli/commands/build.d.ts +0 -17
  33. package/cli/commands/build.js +0 -25
  34. package/cli/commands/connect.d.ts +0 -17
  35. package/cli/commands/connect.js +0 -55
  36. package/cli/commands/console.d.ts +0 -15
  37. package/cli/commands/console.js +0 -22
  38. package/cli/commands/deploy.d.ts +0 -19
  39. package/cli/commands/deploy.js +0 -112
  40. package/cli/commands/dev.d.ts +0 -25
  41. package/cli/commands/dev.js +0 -351
  42. package/cli/commands/diff.d.ts +0 -19
  43. package/cli/commands/diff.js +0 -89
  44. package/cli/commands/plugins/kysely.d.ts +0 -1
  45. package/cli/commands/plugins/kysely.js +0 -87
  46. package/cli/commands/plugins/pothos.d.ts +0 -1
  47. package/cli/commands/plugins/pothos.js +0 -58
  48. package/cli/commands/plugins/warmer.d.ts +0 -1
  49. package/cli/commands/plugins/warmer.js +0 -33
  50. package/cli/commands/remove.d.ts +0 -19
  51. package/cli/commands/remove.js +0 -62
  52. package/cli/commands/secrets/get.d.ts +0 -19
  53. package/cli/commands/secrets/get.js +0 -27
  54. package/cli/commands/secrets/list.d.ts +0 -19
  55. package/cli/commands/secrets/list.js +0 -69
  56. package/cli/commands/secrets/load.d.ts +0 -17
  57. package/cli/commands/secrets/load.js +0 -47
  58. package/cli/commands/secrets/remove.d.ts +0 -19
  59. package/cli/commands/secrets/remove.js +0 -27
  60. package/cli/commands/secrets/secrets.d.ts +0 -2
  61. package/cli/commands/secrets/secrets.js +0 -16
  62. package/cli/commands/secrets/set.d.ts +0 -21
  63. package/cli/commands/secrets/set.js +0 -54
  64. package/cli/commands/telemetry.d.ts +0 -17
  65. package/cli/commands/telemetry.js +0 -24
  66. package/cli/commands/transform.d.ts +0 -17
  67. package/cli/commands/transform.js +0 -62
  68. package/cli/commands/types.d.ts +0 -15
  69. package/cli/commands/types.js +0 -25
  70. package/cli/commands/update.d.ts +0 -17
  71. package/cli/commands/update.js +0 -116
  72. package/cli/commands/version.d.ts +0 -15
  73. package/cli/commands/version.js +0 -15
  74. package/cli/local/router.d.ts +0 -44
  75. package/cli/local/router.js +0 -43
  76. package/cli/local/server.d.ts +0 -22
  77. package/cli/local/server.js +0 -319
  78. package/cli/program.d.ts +0 -19
  79. package/cli/program.js +0 -87
  80. package/cli/spinner.d.ts +0 -3
  81. package/cli/spinner.js +0 -14
  82. package/cli/sst.d.ts +0 -2
  83. package/cli/sst.js +0 -74
  84. package/cli/telemetry/environment.d.ts +0 -15
  85. package/cli/telemetry/environment.js +0 -27
  86. package/cli/telemetry/post-payload.d.ts +0 -1
  87. package/cli/telemetry/post-payload.js +0 -27
  88. package/cli/telemetry/project-id.d.ts +0 -2
  89. package/cli/telemetry/project-id.js +0 -47
  90. package/cli/telemetry/telemetry.d.ts +0 -19
  91. package/cli/telemetry/telemetry.js +0 -103
  92. package/cli/terminal.d.ts +0 -1
  93. package/cli/terminal.js +0 -8
  94. package/cli/ui/deploy.d.ts +0 -10
  95. package/cli/ui/deploy.js +0 -172
  96. package/cli/ui/functions.d.ts +0 -2
  97. package/cli/ui/functions.js +0 -130
  98. package/cli/ui/header.d.ts +0 -5
  99. package/cli/ui/header.js +0 -16
  100. package/cli/ui/stack.d.ts +0 -1
  101. package/cli/ui/stack.js +0 -6
  102. package/config.d.ts +0 -56
  103. package/config.js +0 -244
  104. package/constructs/Api.d.ts +0 -814
  105. package/constructs/Api.js +0 -743
  106. package/constructs/ApiGatewayV1Api.d.ts +0 -642
  107. package/constructs/ApiGatewayV1Api.js +0 -767
  108. package/constructs/App.d.ts +0 -168
  109. package/constructs/App.js +0 -493
  110. package/constructs/AppSyncApi.d.ts +0 -550
  111. package/constructs/AppSyncApi.js +0 -493
  112. package/constructs/AstroSite.d.ts +0 -39
  113. package/constructs/AstroSite.js +0 -78
  114. package/constructs/AstroSite.tsdoc.d.ts +0 -2
  115. package/constructs/AstroSite.tsdoc.js +0 -2
  116. package/constructs/Auth.d.ts +0 -100
  117. package/constructs/Auth.js +0 -177
  118. package/constructs/BaseSite.d.ts +0 -29
  119. package/constructs/BaseSite.js +0 -43
  120. package/constructs/Bucket.d.ts +0 -364
  121. package/constructs/Bucket.js +0 -327
  122. package/constructs/Cognito.d.ts +0 -232
  123. package/constructs/Cognito.js +0 -370
  124. package/constructs/Config.d.ts +0 -3
  125. package/constructs/Config.js +0 -3
  126. package/constructs/Construct.d.ts +0 -23
  127. package/constructs/Construct.js +0 -46
  128. package/constructs/Cron.d.ts +0 -164
  129. package/constructs/Cron.js +0 -114
  130. package/constructs/Distribution.d.ts +0 -143
  131. package/constructs/Distribution.js +0 -260
  132. package/constructs/EdgeFunction.d.ts +0 -49
  133. package/constructs/EdgeFunction.js +0 -442
  134. package/constructs/EventBus.d.ts +0 -444
  135. package/constructs/EventBus.js +0 -440
  136. package/constructs/Function.d.ts +0 -690
  137. package/constructs/Function.js +0 -583
  138. package/constructs/FunctionalStack.d.ts +0 -13
  139. package/constructs/FunctionalStack.js +0 -62
  140. package/constructs/Job.d.ts +0 -337
  141. package/constructs/Job.js +0 -404
  142. package/constructs/KinesisStream.d.ts +0 -224
  143. package/constructs/KinesisStream.js +0 -207
  144. package/constructs/Metadata.d.ts +0 -60
  145. package/constructs/Metadata.js +0 -1
  146. package/constructs/NextjsSite.d.ts +0 -104
  147. package/constructs/NextjsSite.js +0 -308
  148. package/constructs/Parameter.d.ts +0 -37
  149. package/constructs/Parameter.js +0 -53
  150. package/constructs/Queue.d.ts +0 -194
  151. package/constructs/Queue.js +0 -204
  152. package/constructs/RDS.d.ts +0 -221
  153. package/constructs/RDS.js +0 -363
  154. package/constructs/RemixSite.d.ts +0 -42
  155. package/constructs/RemixSite.js +0 -158
  156. package/constructs/RemixSite.tsdoc.d.ts +0 -2
  157. package/constructs/RemixSite.tsdoc.js +0 -2
  158. package/constructs/Script.d.ts +0 -160
  159. package/constructs/Script.js +0 -179
  160. package/constructs/Secret.d.ts +0 -30
  161. package/constructs/Secret.js +0 -59
  162. package/constructs/Service.d.ts +0 -487
  163. package/constructs/Service.js +0 -655
  164. package/constructs/SolidStartSite.d.ts +0 -37
  165. package/constructs/SolidStartSite.js +0 -66
  166. package/constructs/SolidStartSite.tsdoc.d.ts +0 -2
  167. package/constructs/SolidStartSite.tsdoc.js +0 -2
  168. package/constructs/SsrFunction.d.ts +0 -60
  169. package/constructs/SsrFunction.js +0 -226
  170. package/constructs/SsrSite.d.ts +0 -407
  171. package/constructs/SsrSite.js +0 -850
  172. package/constructs/Stack.d.ts +0 -127
  173. package/constructs/Stack.js +0 -243
  174. package/constructs/StaticSite.d.ts +0 -348
  175. package/constructs/StaticSite.js +0 -468
  176. package/constructs/SvelteKitSite.d.ts +0 -40
  177. package/constructs/SvelteKitSite.js +0 -106
  178. package/constructs/SvelteKitSite.tsdoc.d.ts +0 -2
  179. package/constructs/SvelteKitSite.tsdoc.js +0 -2
  180. package/constructs/Table.d.ts +0 -410
  181. package/constructs/Table.js +0 -425
  182. package/constructs/Topic.d.ts +0 -257
  183. package/constructs/Topic.js +0 -273
  184. package/constructs/WebSocketApi.d.ts +0 -355
  185. package/constructs/WebSocketApi.js +0 -404
  186. package/constructs/cdk/HttpAwsIntegration.d.ts +0 -32
  187. package/constructs/cdk/HttpAwsIntegration.js +0 -24
  188. package/constructs/cdk/certificate-base.d.ts +0 -18
  189. package/constructs/cdk/certificate-base.js +0 -26
  190. package/constructs/cdk/dns-validated-certificate.d.ts +0 -77
  191. package/constructs/cdk/dns-validated-certificate.js +0 -125
  192. package/constructs/cdk/website-redirect.d.ts +0 -53
  193. package/constructs/cdk/website-redirect.js +0 -77
  194. package/constructs/context.d.ts +0 -3
  195. package/constructs/context.js +0 -27
  196. package/constructs/deferred_task.d.ts +0 -6
  197. package/constructs/deferred_task.js +0 -45
  198. package/constructs/deprecated/NextjsSite.d.ts +0 -309
  199. package/constructs/deprecated/NextjsSite.js +0 -1074
  200. package/constructs/deprecated/cross-region-helper.d.ts +0 -7
  201. package/constructs/deprecated/cross-region-helper.js +0 -152
  202. package/constructs/deprecated/index.d.ts +0 -1
  203. package/constructs/deprecated/index.js +0 -1
  204. package/constructs/future/Auth.d.ts +0 -80
  205. package/constructs/future/Auth.js +0 -122
  206. package/constructs/future/index.d.ts +0 -1
  207. package/constructs/future/index.js +0 -1
  208. package/constructs/index.d.ts +0 -32
  209. package/constructs/index.js +0 -32
  210. package/constructs/static-file-list.d.ts +0 -1
  211. package/constructs/static-file-list.js +0 -51
  212. package/constructs/util/apiGatewayV1AccessLog.d.ts +0 -15
  213. package/constructs/util/apiGatewayV1AccessLog.js +0 -76
  214. package/constructs/util/apiGatewayV2AccessLog.d.ts +0 -10
  215. package/constructs/util/apiGatewayV2AccessLog.js +0 -107
  216. package/constructs/util/apiGatewayV2Cors.d.ts +0 -67
  217. package/constructs/util/apiGatewayV2Cors.js +0 -21
  218. package/constructs/util/apiGatewayV2Domain.d.ts +0 -47
  219. package/constructs/util/apiGatewayV2Domain.js +0 -208
  220. package/constructs/util/appSyncApiDomain.d.ts +0 -41
  221. package/constructs/util/appSyncApiDomain.js +0 -176
  222. package/constructs/util/builder.d.ts +0 -3
  223. package/constructs/util/builder.js +0 -9
  224. package/constructs/util/duration.d.ts +0 -3
  225. package/constructs/util/duration.js +0 -19
  226. package/constructs/util/functionBinding.d.ts +0 -31
  227. package/constructs/util/functionBinding.js +0 -104
  228. package/constructs/util/functionUrlCors.d.ts +0 -67
  229. package/constructs/util/functionUrlCors.js +0 -23
  230. package/constructs/util/permission.d.ts +0 -8
  231. package/constructs/util/permission.js +0 -228
  232. package/constructs/util/size.d.ts +0 -3
  233. package/constructs/util/size.js +0 -12
  234. package/constructs/util/warning.d.ts +0 -11
  235. package/constructs/util/warning.js +0 -21
  236. package/context/context.d.ts +0 -13
  237. package/context/context.js +0 -69
  238. package/context/context2.d.ts +0 -16
  239. package/context/context2.js +0 -108
  240. package/context/handler.d.ts +0 -25
  241. package/context/handler.js +0 -21
  242. package/context/index.d.ts +0 -2
  243. package/context/index.js +0 -2
  244. package/credentials.d.ts +0 -9
  245. package/credentials.js +0 -145
  246. package/error.d.ts +0 -6
  247. package/error.js +0 -10
  248. package/index.d.ts +0 -1
  249. package/index.js +0 -1
  250. package/iot.d.ts +0 -6
  251. package/iot.js +0 -163
  252. package/logger.d.ts +0 -3
  253. package/logger.js +0 -32
  254. package/node/actor/index.d.ts +0 -29
  255. package/node/actor/index.js +0 -17
  256. package/node/api/index.d.ts +0 -64
  257. package/node/api/index.js +0 -179
  258. package/node/auth/adapter/adapter.d.ts +0 -3
  259. package/node/auth/adapter/adapter.js +0 -3
  260. package/node/auth/adapter/facebook.d.ts +0 -2
  261. package/node/auth/adapter/facebook.js +0 -26
  262. package/node/auth/adapter/github.d.ts +0 -2
  263. package/node/auth/adapter/github.js +0 -21
  264. package/node/auth/adapter/google.d.ts +0 -9
  265. package/node/auth/adapter/google.js +0 -18
  266. package/node/auth/adapter/link.d.ts +0 -8
  267. package/node/auth/adapter/link.js +0 -39
  268. package/node/auth/adapter/oauth.d.ts +0 -25
  269. package/node/auth/adapter/oauth.js +0 -52
  270. package/node/auth/adapter/oidc.d.ts +0 -17
  271. package/node/auth/adapter/oidc.js +0 -50
  272. package/node/auth/adapter/twitch.d.ts +0 -2
  273. package/node/auth/adapter/twitch.js +0 -11
  274. package/node/auth/auth.d.ts +0 -24
  275. package/node/auth/auth.js +0 -74
  276. package/node/auth/index.d.ts +0 -13
  277. package/node/auth/index.js +0 -12
  278. package/node/auth/session.d.ts +0 -76
  279. package/node/auth/session.js +0 -121
  280. package/node/bucket/index.d.ts +0 -3
  281. package/node/bucket/index.js +0 -2
  282. package/node/config/index.d.ts +0 -13
  283. package/node/config/index.js +0 -22
  284. package/node/event-bus/index.d.ts +0 -51
  285. package/node/event-bus/index.js +0 -76
  286. package/node/function/index.d.ts +0 -3
  287. package/node/function/index.js +0 -3
  288. package/node/future/auth/adapter/adapter.d.ts +0 -10
  289. package/node/future/auth/adapter/adapter.js +0 -1
  290. package/node/future/auth/adapter/code.d.ts +0 -17
  291. package/node/future/auth/adapter/code.js +0 -68
  292. package/node/future/auth/adapter/facebook.d.ts +0 -16
  293. package/node/future/auth/adapter/facebook.js +0 -27
  294. package/node/future/auth/adapter/github.d.ts +0 -23
  295. package/node/future/auth/adapter/github.js +0 -23
  296. package/node/future/auth/adapter/google.d.ts +0 -28
  297. package/node/future/auth/adapter/google.js +0 -22
  298. package/node/future/auth/adapter/link.d.ts +0 -13
  299. package/node/future/auth/adapter/link.js +0 -47
  300. package/node/future/auth/adapter/microsoft.d.ts +0 -22
  301. package/node/future/auth/adapter/microsoft.js +0 -16
  302. package/node/future/auth/adapter/oauth.d.ts +0 -41
  303. package/node/future/auth/adapter/oauth.js +0 -67
  304. package/node/future/auth/adapter/oidc.d.ts +0 -30
  305. package/node/future/auth/adapter/oidc.js +0 -63
  306. package/node/future/auth/adapter/spotify.d.ts +0 -23
  307. package/node/future/auth/adapter/spotify.js +0 -22
  308. package/node/future/auth/encryption.d.ts +0 -2
  309. package/node/future/auth/encryption.js +0 -30
  310. package/node/future/auth/handler.d.ts +0 -46
  311. package/node/future/auth/handler.js +0 -280
  312. package/node/future/auth/index.d.ts +0 -17
  313. package/node/future/auth/index.js +0 -15
  314. package/node/future/auth/session.d.ts +0 -71
  315. package/node/future/auth/session.js +0 -146
  316. package/node/graphql/index.d.ts +0 -15
  317. package/node/graphql/index.js +0 -32
  318. package/node/job/index.d.ts +0 -37
  319. package/node/job/index.js +0 -64
  320. package/node/kinesis-stream/index.d.ts +0 -3
  321. package/node/kinesis-stream/index.js +0 -3
  322. package/node/queue/index.d.ts +0 -3
  323. package/node/queue/index.js +0 -2
  324. package/node/rds/index.d.ts +0 -3
  325. package/node/rds/index.js +0 -2
  326. package/node/service/index.d.ts +0 -3
  327. package/node/service/index.js +0 -4
  328. package/node/site/index.d.ts +0 -18
  329. package/node/site/index.js +0 -18
  330. package/node/table/index.d.ts +0 -3
  331. package/node/table/index.js +0 -4
  332. package/node/topic/index.d.ts +0 -3
  333. package/node/topic/index.js +0 -4
  334. package/node/util/index.d.ts +0 -2
  335. package/node/util/index.js +0 -196
  336. package/node/util/loader.d.ts +0 -2
  337. package/node/util/loader.js +0 -51
  338. package/node/websocket-api/index.d.ts +0 -23
  339. package/node/websocket-api/index.js +0 -48
  340. package/pothos.d.ts +0 -7
  341. package/pothos.js +0 -160
  342. package/project.d.ts +0 -75
  343. package/project.js +0 -188
  344. package/runtime/handlers/container.d.ts +0 -2
  345. package/runtime/handlers/container.js +0 -263
  346. package/runtime/handlers/dotnet.d.ts +0 -2
  347. package/runtime/handlers/dotnet.js +0 -115
  348. package/runtime/handlers/go.d.ts +0 -2
  349. package/runtime/handlers/go.js +0 -126
  350. package/runtime/handlers/java.d.ts +0 -2
  351. package/runtime/handlers/java.js +0 -103
  352. package/runtime/handlers/node.d.ts +0 -2
  353. package/runtime/handlers/node.js +0 -269
  354. package/runtime/handlers/python.d.ts +0 -2
  355. package/runtime/handlers/python.js +0 -141
  356. package/runtime/handlers/pythonBundling.d.ts +0 -82
  357. package/runtime/handlers/pythonBundling.js +0 -80
  358. package/runtime/handlers/rust.d.ts +0 -2
  359. package/runtime/handlers/rust.js +0 -110
  360. package/runtime/handlers.d.ts +0 -74
  361. package/runtime/handlers.js +0 -151
  362. package/runtime/iot.d.ts +0 -1
  363. package/runtime/iot.js +0 -17
  364. package/runtime/runtime.d.ts +0 -32
  365. package/runtime/runtime.js +0 -1
  366. package/runtime/server.d.ts +0 -6
  367. package/runtime/server.js +0 -150
  368. package/runtime/workers.d.ts +0 -37
  369. package/runtime/workers.js +0 -85
  370. package/stacks/app-metadata.d.ts +0 -7
  371. package/stacks/app-metadata.js +0 -75
  372. package/stacks/assembly.d.ts +0 -1
  373. package/stacks/assembly.js +0 -4
  374. package/stacks/build.d.ts +0 -9
  375. package/stacks/build.js +0 -110
  376. package/stacks/deploy.d.ts +0 -9
  377. package/stacks/deploy.js +0 -240
  378. package/stacks/diff.d.ts +0 -8
  379. package/stacks/diff.js +0 -62
  380. package/stacks/index.d.ts +0 -10
  381. package/stacks/index.js +0 -10
  382. package/stacks/metadata.d.ts +0 -11
  383. package/stacks/metadata.js +0 -83
  384. package/stacks/monitor.d.ts +0 -32
  385. package/stacks/monitor.js +0 -151
  386. package/stacks/remove.d.ts +0 -8
  387. package/stacks/remove.js +0 -76
  388. package/stacks/synth.d.ts +0 -12
  389. package/stacks/synth.js +0 -94
  390. package/support/base-site-archiver.mjs +0 -99
  391. package/support/base-site-custom-resource/s3-handler.py +0 -195
  392. package/support/base-site-custom-resource/s3-upload.py +0 -89
  393. package/support/bootstrap-metadata-function/index.mjs +0 -58011
  394. package/support/bridge/Dockerfile +0 -3
  395. package/support/bridge/bridge.mjs +0 -146
  396. package/support/certificate-requestor/index.js +0 -549
  397. package/support/custom-resources/index.mjs +0 -180627
  398. package/support/dotnet31-bootstrap/Program.cs +0 -17
  399. package/support/dotnet31-bootstrap/dotnet-bootstrap.csproj +0 -12
  400. package/support/dotnet31-bootstrap/release/Amazon.Lambda.Core.dll +0 -0
  401. package/support/dotnet31-bootstrap/release/Amazon.Lambda.RuntimeSupport.dll +0 -0
  402. package/support/dotnet31-bootstrap/release/System.Runtime.CompilerServices.Unsafe.dll +0 -0
  403. package/support/dotnet31-bootstrap/release/System.Text.Encodings.Web.dll +0 -0
  404. package/support/dotnet31-bootstrap/release/System.Text.Json.dll +0 -0
  405. package/support/dotnet31-bootstrap/release/dotnet-bootstrap +0 -0
  406. package/support/dotnet31-bootstrap/release/dotnet-bootstrap.deps.json +0 -230
  407. package/support/dotnet31-bootstrap/release/dotnet-bootstrap.dll +0 -0
  408. package/support/dotnet31-bootstrap/release/dotnet-bootstrap.pdb +0 -0
  409. package/support/dotnet31-bootstrap/release/dotnet-bootstrap.runtimeconfig.json +0 -9
  410. package/support/dotnet6-bootstrap/Program.cs +0 -17
  411. package/support/dotnet6-bootstrap/dotnet-bootstrap.csproj +0 -12
  412. package/support/dotnet6-bootstrap/release/Amazon.Lambda.Core.dll +0 -0
  413. package/support/dotnet6-bootstrap/release/Amazon.Lambda.RuntimeSupport.dll +0 -0
  414. package/support/dotnet6-bootstrap/release/dotnet-bootstrap +0 -0
  415. package/support/dotnet6-bootstrap/release/dotnet-bootstrap.deps.json +0 -59
  416. package/support/dotnet6-bootstrap/release/dotnet-bootstrap.dll +0 -0
  417. package/support/dotnet6-bootstrap/release/dotnet-bootstrap.pdb +0 -0
  418. package/support/dotnet6-bootstrap/release/dotnet-bootstrap.runtimeconfig.json +0 -12
  419. package/support/edge-function/edge-lambda-version.mjs +0 -3
  420. package/support/edge-function/edge-lambda.mjs +0 -3
  421. package/support/edge-function/s3-bucket.mjs +0 -3
  422. package/support/event-bus-retrier/index.mjs +0 -75
  423. package/support/java-runtime/install.sh +0 -25
  424. package/support/java-runtime/pom.xml +0 -39
  425. package/support/java-runtime/release/aws-lambda-java-core-1.2.0.jar +0 -0
  426. package/support/java-runtime/release/aws-lambda-java-runtime-interface-client-1.1.0.jar +0 -0
  427. package/support/java-runtime/release/aws-lambda-java-serialization-1.0.0.jar +0 -0
  428. package/support/job-manager/index.mjs +0 -57679
  429. package/support/nixpacks/Dockerfile +0 -6
  430. package/support/nodejs-runtime/index.mjs +0 -169
  431. package/support/python-runtime/Dockerfile +0 -9
  432. package/support/python-runtime/Dockerfile.custom +0 -21
  433. package/support/python-runtime/Dockerfile.dependencies +0 -26
  434. package/support/python-runtime/runtime.py +0 -127
  435. package/support/rds-migrator/index.mjs +0 -49
  436. package/support/remix-site-function/edge-server.js +0 -161
  437. package/support/remix-site-function/polyfill.js +0 -24
  438. package/support/remix-site-function/regional-server.js +0 -164
  439. package/support/script-function/index.mjs +0 -48760
  440. package/support/service-dev-function/index.js +0 -1
  441. package/support/signing-function/index.mjs +0 -3769
  442. package/support/sls-nextjs-site-build-helper/build.cjs +0 -91
  443. package/support/sls-nextjs-site-build-helper/index-wrapper.js +0 -19
  444. package/support/sls-nextjs-site-function-code-replacer/lambda-code-updater.py +0 -156
  445. package/support/sls-nextjs-site-stub/index.html +0 -99
  446. package/support/ssr-site-function-archiver.mjs +0 -96
  447. package/support/ssr-site-function-stub/index.js +0 -5
  448. package/support/ssr-warmer/index.mjs +0 -34235
  449. package/util/error.d.ts +0 -3
  450. package/util/error.js +0 -6
  451. package/util/fs.d.ts +0 -4
  452. package/util/fs.js +0 -46
  453. package/util/lazy.d.ts +0 -1
  454. package/util/lazy.js +0 -11
  455. package/util/module.d.ts +0 -1
  456. package/util/module.js +0 -5
  457. package/util/process.d.ts +0 -2
  458. package/util/process.js +0 -3
  459. package/watcher.d.ts +0 -14
  460. 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
- }