@sst-community/sst 4.21.1 → 5.0.0-alpha.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 (832) hide show
  1. package/README.md +86 -52
  2. package/package.json +35 -11
  3. package/platform/js/chunks/chunk-HIZZCEDS.js +328 -0
  4. package/platform/js/chunks/chunk-HIZZCEDS.js.map +6 -0
  5. package/platform/js/chunks/chunk-KOKHGKJ2.js +639 -0
  6. package/platform/js/chunks/chunk-KOKHGKJ2.js.map +6 -0
  7. package/platform/js/chunks/chunk-MR4XM5XA.js +473 -0
  8. package/platform/js/chunks/chunk-MR4XM5XA.js.map +6 -0
  9. package/platform/js/chunks/chunk-ONNI4XNK.js +367 -0
  10. package/platform/js/chunks/chunk-ONNI4XNK.js.map +6 -0
  11. package/platform/js/chunks/chunk-VIFHC73J.js +108 -0
  12. package/platform/js/chunks/chunk-VIFHC73J.js.map +6 -0
  13. package/platform/js/chunks/chunk-WJ6BVA46.js +10 -0
  14. package/platform/js/chunks/chunk-WJ6BVA46.js.map +6 -0
  15. package/platform/js/chunks/component-32FCLIRK.js +26 -0
  16. package/platform/js/chunks/component-32FCLIRK.js.map +6 -0
  17. package/platform/js/chunks/config-CRGKEDQW.js +10 -0
  18. package/platform/js/chunks/config-CRGKEDQW.js.map +6 -0
  19. package/platform/js/chunks/link-OJ3RNGQ3.js +9 -0
  20. package/platform/js/chunks/link-OJ3RNGQ3.js.map +6 -0
  21. package/platform/js/components/aws/index.js +35399 -0
  22. package/platform/js/components/aws/index.js.map +6 -0
  23. package/platform/js/components/cloudflare/index.js +3246 -0
  24. package/platform/js/components/cloudflare/index.js.map +6 -0
  25. package/platform/js/components/core.js +114 -0
  26. package/platform/js/components/core.js.map +6 -0
  27. package/platform/js/components/vercel/index.js +120 -0
  28. package/platform/js/components/vercel/index.js.map +6 -0
  29. package/platform/js/testing/index.js +569 -0
  30. package/platform/js/testing/index.js.map +6 -0
  31. package/platform/package.json +25 -0
  32. package/platform/src/ast/add.mjs +190 -0
  33. package/platform/src/auto/run.ts +109 -0
  34. package/platform/src/components/README.md +652 -0
  35. package/platform/src/components/args.ts +133 -0
  36. package/platform/src/components/aws/alb.ts +577 -0
  37. package/platform/src/components/aws/analog.ts +462 -0
  38. package/platform/src/components/aws/apigateway-websocket-route.ts +206 -0
  39. package/platform/src/components/aws/apigateway-websocket.ts +894 -0
  40. package/platform/src/components/aws/apigatewayv1-api-key.ts +90 -0
  41. package/platform/src/components/aws/apigatewayv1-authorizer.ts +178 -0
  42. package/platform/src/components/aws/apigatewayv1-base-route.ts +78 -0
  43. package/platform/src/components/aws/apigatewayv1-integration-route.ts +92 -0
  44. package/platform/src/components/aws/apigatewayv1-lambda-route.ts +152 -0
  45. package/platform/src/components/aws/apigatewayv1-usage-plan.ts +109 -0
  46. package/platform/src/components/aws/apigatewayv1.ts +1691 -0
  47. package/platform/src/components/aws/apigatewayv2-authorizer.ts +199 -0
  48. package/platform/src/components/aws/apigatewayv2-base-route.ts +69 -0
  49. package/platform/src/components/aws/apigatewayv2-lambda-route.ts +141 -0
  50. package/platform/src/components/aws/apigatewayv2-private-route.ts +101 -0
  51. package/platform/src/components/aws/apigatewayv2-url-route.ts +90 -0
  52. package/platform/src/components/aws/apigatewayv2.ts +1439 -0
  53. package/platform/src/components/aws/app-sync-data-source.ts +264 -0
  54. package/platform/src/components/aws/app-sync-function.ts +79 -0
  55. package/platform/src/components/aws/app-sync-resolver.ts +110 -0
  56. package/platform/src/components/aws/app-sync.ts +849 -0
  57. package/platform/src/components/aws/astro.ts +580 -0
  58. package/platform/src/components/aws/aurora.ts +1356 -0
  59. package/platform/src/components/aws/auth-v1.ts +69 -0
  60. package/platform/src/components/aws/auth.ts +417 -0
  61. package/platform/src/components/aws/bucket-lambda-subscriber.ts +162 -0
  62. package/platform/src/components/aws/bucket-notification.ts +254 -0
  63. package/platform/src/components/aws/bucket-queue-subscriber.ts +122 -0
  64. package/platform/src/components/aws/bucket-topic-subscriber.ts +144 -0
  65. package/platform/src/components/aws/bucket.ts +2046 -0
  66. package/platform/src/components/aws/bus-base-subscriber.ts +52 -0
  67. package/platform/src/components/aws/bus-lambda-subscriber.ts +125 -0
  68. package/platform/src/components/aws/bus-queue-subscriber.ts +88 -0
  69. package/platform/src/components/aws/bus.ts +630 -0
  70. package/platform/src/components/aws/cdn.ts +561 -0
  71. package/platform/src/components/aws/cluster-v1.ts +932 -0
  72. package/platform/src/components/aws/cluster.ts +584 -0
  73. package/platform/src/components/aws/cognito-identity-pool.ts +433 -0
  74. package/platform/src/components/aws/cognito-identity-provider.ts +96 -0
  75. package/platform/src/components/aws/cognito-user-pool-client.ts +114 -0
  76. package/platform/src/components/aws/cognito-user-pool.ts +1089 -0
  77. package/platform/src/components/aws/cron-v2.ts +555 -0
  78. package/platform/src/components/aws/cron.ts +435 -0
  79. package/platform/src/components/aws/dns-validated-certificate.ts +108 -0
  80. package/platform/src/components/aws/dns.ts +221 -0
  81. package/platform/src/components/aws/dsql.ts +741 -0
  82. package/platform/src/components/aws/dynamo-lambda-subscriber.ts +124 -0
  83. package/platform/src/components/aws/dynamo.ts +929 -0
  84. package/platform/src/components/aws/efs.ts +410 -0
  85. package/platform/src/components/aws/email.ts +673 -0
  86. package/platform/src/components/aws/fargate.ts +1279 -0
  87. package/platform/src/components/aws/function.ts +3280 -0
  88. package/platform/src/components/aws/helpers/apigateway-account.ts +78 -0
  89. package/platform/src/components/aws/helpers/apigatewayv2-domain.ts +144 -0
  90. package/platform/src/components/aws/helpers/arn.ts +182 -0
  91. package/platform/src/components/aws/helpers/bootstrap.ts +16 -0
  92. package/platform/src/components/aws/helpers/client.ts +76 -0
  93. package/platform/src/components/aws/helpers/container-builder.ts +33 -0
  94. package/platform/src/components/aws/helpers/custom-domain.ts +128 -0
  95. package/platform/src/components/aws/helpers/event-source.ts +41 -0
  96. package/platform/src/components/aws/helpers/fargate.ts +727 -0
  97. package/platform/src/components/aws/helpers/function-builder.ts +133 -0
  98. package/platform/src/components/aws/helpers/function-code.ts +224 -0
  99. package/platform/src/components/aws/helpers/function-part.ts +212 -0
  100. package/platform/src/components/aws/helpers/function-permission.ts +29 -0
  101. package/platform/src/components/aws/helpers/load-balancer-args.ts +88 -0
  102. package/platform/src/components/aws/helpers/load-balancer.ts +17 -0
  103. package/platform/src/components/aws/helpers/provider.ts +36 -0
  104. package/platform/src/components/aws/helpers/queue-policy.ts +33 -0
  105. package/platform/src/components/aws/helpers/rds.ts +212 -0
  106. package/platform/src/components/aws/helpers/site-builder.ts +41 -0
  107. package/platform/src/components/aws/helpers/subscriber.ts +23 -0
  108. package/platform/src/components/aws/helpers/vpc.ts +27 -0
  109. package/platform/src/components/aws/https-redirect.ts +216 -0
  110. package/platform/src/components/aws/iam-edit.ts +50 -0
  111. package/platform/src/components/aws/index.ts +61 -0
  112. package/platform/src/components/aws/kinesis-stream-lambda-subscriber.ts +122 -0
  113. package/platform/src/components/aws/kinesis-stream.ts +416 -0
  114. package/platform/src/components/aws/linkable.ts +32 -0
  115. package/platform/src/components/aws/logging.ts +25 -0
  116. package/platform/src/components/aws/microvm.ts +988 -0
  117. package/platform/src/components/aws/mysql.ts +1050 -0
  118. package/platform/src/components/aws/nextjs.ts +1052 -0
  119. package/platform/src/components/aws/nuxt.ts +527 -0
  120. package/platform/src/components/aws/open-search.ts +603 -0
  121. package/platform/src/components/aws/opencontrol.ts +235 -0
  122. package/platform/src/components/aws/permission.ts +80 -0
  123. package/platform/src/components/aws/postgres-v1.ts +537 -0
  124. package/platform/src/components/aws/postgres.ts +1074 -0
  125. package/platform/src/components/aws/providers/bucket-files.ts +32 -0
  126. package/platform/src/components/aws/providers/distribution-deployment-waiter.ts +27 -0
  127. package/platform/src/components/aws/providers/distribution-invalidation.ts +24 -0
  128. package/platform/src/components/aws/providers/function-environment-update.ts +46 -0
  129. package/platform/src/components/aws/providers/hosted-zone-lookup.ts +25 -0
  130. package/platform/src/components/aws/providers/kv-keys.ts +15 -0
  131. package/platform/src/components/aws/providers/kv-routes-update.ts +24 -0
  132. package/platform/src/components/aws/providers/microvm-image-prune.ts +48 -0
  133. package/platform/src/components/aws/providers/origin-access-control.ts +21 -0
  134. package/platform/src/components/aws/providers/rds-role-lookup.ts +21 -0
  135. package/platform/src/components/aws/providers/vector-table.ts +25 -0
  136. package/platform/src/components/aws/queue-lambda-subscriber.ts +135 -0
  137. package/platform/src/components/aws/queue.ts +712 -0
  138. package/platform/src/components/aws/react.ts +510 -0
  139. package/platform/src/components/aws/realtime-lambda-subscriber.ts +129 -0
  140. package/platform/src/components/aws/realtime.ts +345 -0
  141. package/platform/src/components/aws/redis-v1.ts +595 -0
  142. package/platform/src/components/aws/redis.ts +1078 -0
  143. package/platform/src/components/aws/remix.ts +576 -0
  144. package/platform/src/components/aws/router-base-route.ts +83 -0
  145. package/platform/src/components/aws/router-bucket-route.ts +63 -0
  146. package/platform/src/components/aws/router-url-route.ts +75 -0
  147. package/platform/src/components/aws/router.ts +3294 -0
  148. package/platform/src/components/aws/service-v1.ts +876 -0
  149. package/platform/src/components/aws/service.ts +2994 -0
  150. package/platform/src/components/aws/sns-topic-lambda-subscriber.ts +127 -0
  151. package/platform/src/components/aws/sns-topic-queue-subscriber.ts +105 -0
  152. package/platform/src/components/aws/sns-topic.ts +700 -0
  153. package/platform/src/components/aws/solid-start.ts +467 -0
  154. package/platform/src/components/aws/ssr-site.ts +2204 -0
  155. package/platform/src/components/aws/static-site.ts +1389 -0
  156. package/platform/src/components/aws/step-functions/choice.ts +123 -0
  157. package/platform/src/components/aws/step-functions/fail.ts +69 -0
  158. package/platform/src/components/aws/step-functions/map.ts +264 -0
  159. package/platform/src/components/aws/step-functions/parallel.ts +170 -0
  160. package/platform/src/components/aws/step-functions/pass.ts +48 -0
  161. package/platform/src/components/aws/step-functions/state.ts +376 -0
  162. package/platform/src/components/aws/step-functions/succeed.ts +31 -0
  163. package/platform/src/components/aws/step-functions/task.ts +538 -0
  164. package/platform/src/components/aws/step-functions/wait.ts +105 -0
  165. package/platform/src/components/aws/step-functions.ts +804 -0
  166. package/platform/src/components/aws/svelte-kit.ts +563 -0
  167. package/platform/src/components/aws/takeover/alb.ts +9 -0
  168. package/platform/src/components/aws/takeover/apigatewayv2.ts +43 -0
  169. package/platform/src/components/aws/takeover/app-sync.ts +45 -0
  170. package/platform/src/components/aws/takeover/aurora.ts +19 -0
  171. package/platform/src/components/aws/takeover/bucket.ts +94 -0
  172. package/platform/src/components/aws/takeover/bus.ts +43 -0
  173. package/platform/src/components/aws/takeover/cognito-user-pool.ts +21 -0
  174. package/platform/src/components/aws/takeover/cron-v2.ts +9 -0
  175. package/platform/src/components/aws/takeover/dsql.ts +12 -0
  176. package/platform/src/components/aws/takeover/dynamo.ts +31 -0
  177. package/platform/src/components/aws/takeover/efs.ts +9 -0
  178. package/platform/src/components/aws/takeover/function.ts +21 -0
  179. package/platform/src/components/aws/takeover/helpers.ts +26 -0
  180. package/platform/src/components/aws/takeover/index.ts +27 -0
  181. package/platform/src/components/aws/takeover/mysql.ts +17 -0
  182. package/platform/src/components/aws/takeover/postgres.ts +17 -0
  183. package/platform/src/components/aws/takeover/queue.ts +21 -0
  184. package/platform/src/components/aws/takeover/redis.ts +10 -0
  185. package/platform/src/components/aws/takeover/service.ts +22 -0
  186. package/platform/src/components/aws/takeover/sns-topic.ts +27 -0
  187. package/platform/src/components/aws/takeover/task.ts +13 -0
  188. package/platform/src/components/aws/tan-stack-start.ts +479 -0
  189. package/platform/src/components/aws/task.ts +571 -0
  190. package/platform/src/components/aws/v5/alb.ts +310 -0
  191. package/platform/src/components/aws/v5/apigatewayv2.ts +845 -0
  192. package/platform/src/components/aws/v5/app-sync.ts +673 -0
  193. package/platform/src/components/aws/v5/aurora.ts +855 -0
  194. package/platform/src/components/aws/v5/bucket.ts +1001 -0
  195. package/platform/src/components/aws/v5/bus.ts +321 -0
  196. package/platform/src/components/aws/v5/cluster.ts +230 -0
  197. package/platform/src/components/aws/v5/cognito-user-pool-client.ts +100 -0
  198. package/platform/src/components/aws/v5/cognito-user-pool.ts +693 -0
  199. package/platform/src/components/aws/v5/cron-v2.ts +316 -0
  200. package/platform/src/components/aws/v5/dsql.ts +665 -0
  201. package/platform/src/components/aws/v5/dynamo.ts +477 -0
  202. package/platform/src/components/aws/v5/efs.ts +311 -0
  203. package/platform/src/components/aws/v5/function.ts +1546 -0
  204. package/platform/src/components/aws/v5/index.ts +26 -0
  205. package/platform/src/components/aws/v5/mysql.ts +604 -0
  206. package/platform/src/components/aws/v5/postgres.ts +612 -0
  207. package/platform/src/components/aws/v5/queue.ts +271 -0
  208. package/platform/src/components/aws/v5/redis.ts +550 -0
  209. package/platform/src/components/aws/v5/service.ts +2209 -0
  210. package/platform/src/components/aws/v5/sns-topic.ts +284 -0
  211. package/platform/src/components/aws/v5/task.ts +549 -0
  212. package/platform/src/components/aws/vector.ts +316 -0
  213. package/platform/src/components/aws/vpc-v1.ts +580 -0
  214. package/platform/src/components/aws/vpc.ts +1641 -0
  215. package/platform/src/components/aws/workflow.ts +421 -0
  216. package/platform/src/components/base/base-site.ts +101 -0
  217. package/platform/src/components/base/base-ssr-site.ts +120 -0
  218. package/platform/src/components/base/base-static-site.ts +314 -0
  219. package/platform/src/components/cloudflare/account-id.ts +1 -0
  220. package/platform/src/components/cloudflare/ai.ts +77 -0
  221. package/platform/src/components/cloudflare/astro.ts +355 -0
  222. package/platform/src/components/cloudflare/auth.ts +69 -0
  223. package/platform/src/components/cloudflare/binding.ts +132 -0
  224. package/platform/src/components/cloudflare/bucket.ts +142 -0
  225. package/platform/src/components/cloudflare/cron.ts +207 -0
  226. package/platform/src/components/cloudflare/d1.ts +230 -0
  227. package/platform/src/components/cloudflare/dns.ts +253 -0
  228. package/platform/src/components/cloudflare/durable-object.ts +144 -0
  229. package/platform/src/components/cloudflare/experimental/index.ts +3 -0
  230. package/platform/src/components/cloudflare/experimental/solid-start.ts +288 -0
  231. package/platform/src/components/cloudflare/experimental/static-site.ts +4 -0
  232. package/platform/src/components/cloudflare/helpers/compatibility.ts +44 -0
  233. package/platform/src/components/cloudflare/helpers/fetch.ts +81 -0
  234. package/platform/src/components/cloudflare/helpers/validation.ts +74 -0
  235. package/platform/src/components/cloudflare/helpers/worker-builder.ts +57 -0
  236. package/platform/src/components/cloudflare/helpers/wrangler.ts +222 -0
  237. package/platform/src/components/cloudflare/hyperdrive.ts +402 -0
  238. package/platform/src/components/cloudflare/index.ts +25 -0
  239. package/platform/src/components/cloudflare/kv.ts +218 -0
  240. package/platform/src/components/cloudflare/providers/dns-record.ts +43 -0
  241. package/platform/src/components/cloudflare/providers/kv-data.ts +107 -0
  242. package/platform/src/components/cloudflare/providers/worker-assets.ts +41 -0
  243. package/platform/src/components/cloudflare/providers/worker-placement.ts +93 -0
  244. package/platform/src/components/cloudflare/providers/worker-script.ts +47 -0
  245. package/platform/src/components/cloudflare/providers/worker-url.ts +109 -0
  246. package/platform/src/components/cloudflare/providers/zone-lookup.ts +85 -0
  247. package/platform/src/components/cloudflare/queue-worker-subscriber.ts +192 -0
  248. package/platform/src/components/cloudflare/queue.ts +310 -0
  249. package/platform/src/components/cloudflare/rate-limit.ts +178 -0
  250. package/platform/src/components/cloudflare/react-router.ts +322 -0
  251. package/platform/src/components/cloudflare/ssr-site.ts +293 -0
  252. package/platform/src/components/cloudflare/static-site-v2.ts +428 -0
  253. package/platform/src/components/cloudflare/static-site.ts +470 -0
  254. package/platform/src/components/cloudflare/tan-stack-start.ts +408 -0
  255. package/platform/src/components/cloudflare/worker.ts +1080 -0
  256. package/platform/src/components/cloudflare/workflow.ts +319 -0
  257. package/platform/src/components/component.ts +242 -0
  258. package/platform/src/components/core.ts +43 -0
  259. package/platform/src/components/cpu.ts +10 -0
  260. package/platform/src/components/dns.ts +82 -0
  261. package/platform/src/components/duration.ts +67 -0
  262. package/platform/src/components/error.ts +5 -0
  263. package/platform/src/components/esbuild.ts +15 -0
  264. package/platform/src/components/experimental/dev-command.ts +127 -0
  265. package/platform/src/components/experimental/index.ts +1 -0
  266. package/platform/src/components/groups.ts +9 -0
  267. package/platform/src/components/index.ts +9 -0
  268. package/platform/src/components/input.ts +2 -0
  269. package/platform/src/components/link.ts +201 -0
  270. package/platform/src/components/linkable.ts +360 -0
  271. package/platform/src/components/naming-rules.ts +299 -0
  272. package/platform/src/components/naming.ts +189 -0
  273. package/platform/src/components/parts-component.ts +662 -0
  274. package/platform/src/components/parts.ts +299 -0
  275. package/platform/src/components/path.ts +5 -0
  276. package/platform/src/components/rpc/rpc.ts +110 -0
  277. package/platform/src/components/secret.ts +159 -0
  278. package/platform/src/components/size.ts +28 -0
  279. package/platform/src/components/takeover.ts +131 -0
  280. package/platform/src/components/transform.ts +107 -0
  281. package/platform/src/components/vercel/account-id.ts +1 -0
  282. package/platform/src/components/vercel/dns.ts +171 -0
  283. package/platform/src/components/vercel/index.ts +2 -0
  284. package/platform/src/components/vercel/providers/dns-record.ts +34 -0
  285. package/platform/src/config.ts +1463 -0
  286. package/platform/src/global-aliases.d.ts +37 -0
  287. package/platform/src/global.d.ts +374 -0
  288. package/platform/src/internal.d.ts +18 -0
  289. package/platform/src/runtime/worker/unenv.d.ts +14 -0
  290. package/platform/src/runtime/worker/unenv.mjs +26 -0
  291. package/platform/src/shim/run.js +25 -0
  292. package/platform/src/testing/global.ts +83 -0
  293. package/platform/src/testing/index.ts +103 -0
  294. package/platform/src/testing/mock.ts +646 -0
  295. package/platform/src/testing/vitest.ts +36 -0
  296. package/platform/src/util/compare-semver.ts +23 -0
  297. package/platform/src/util/fs.ts +49 -0
  298. package/platform/src/util/lazy.ts +12 -0
  299. package/platform/src/util/minify.ts +10 -0
  300. package/platform/src/util/package.ts +29 -0
  301. package/platform/src/util/semaphore.ts +29 -0
  302. package/platform/src/util/warn.ts +7 -0
  303. package/platform/types/auto/run.d.ts +9 -0
  304. package/platform/types/auto/run.d.ts.map +1 -0
  305. package/platform/types/components/args.d.ts +77 -0
  306. package/platform/types/components/args.d.ts.map +1 -0
  307. package/platform/types/components/aws/alb.d.ts +283 -0
  308. package/platform/types/components/aws/alb.d.ts.map +1 -0
  309. package/platform/types/components/aws/analog.d.ts +408 -0
  310. package/platform/types/components/aws/analog.d.ts.map +1 -0
  311. package/platform/types/components/aws/apigateway-websocket-route.d.ts +74 -0
  312. package/platform/types/components/aws/apigateway-websocket-route.d.ts.map +1 -0
  313. package/platform/types/components/aws/apigateway-websocket.d.ts +560 -0
  314. package/platform/types/components/aws/apigateway-websocket.d.ts.map +1 -0
  315. package/platform/types/components/aws/apigatewayv1-api-key.d.ts +48 -0
  316. package/platform/types/components/aws/apigatewayv1-api-key.d.ts.map +1 -0
  317. package/platform/types/components/aws/apigatewayv1-authorizer.d.ts +55 -0
  318. package/platform/types/components/aws/apigatewayv1-authorizer.d.ts.map +1 -0
  319. package/platform/types/components/aws/apigatewayv1-base-route.d.ts +36 -0
  320. package/platform/types/components/aws/apigatewayv1-base-route.d.ts.map +1 -0
  321. package/platform/types/components/aws/apigatewayv1-integration-route.d.ts +39 -0
  322. package/platform/types/components/aws/apigatewayv1-integration-route.d.ts.map +1 -0
  323. package/platform/types/components/aws/apigatewayv1-lambda-route.d.ts +53 -0
  324. package/platform/types/components/aws/apigatewayv1-lambda-route.d.ts.map +1 -0
  325. package/platform/types/components/aws/apigatewayv1-usage-plan.d.ts +53 -0
  326. package/platform/types/components/aws/apigatewayv1-usage-plan.d.ts.map +1 -0
  327. package/platform/types/components/aws/apigatewayv1.d.ts +1028 -0
  328. package/platform/types/components/aws/apigatewayv1.d.ts.map +1 -0
  329. package/platform/types/components/aws/apigatewayv2-authorizer.d.ts +54 -0
  330. package/platform/types/components/aws/apigatewayv2-authorizer.d.ts.map +1 -0
  331. package/platform/types/components/aws/apigatewayv2-base-route.d.ts +28 -0
  332. package/platform/types/components/aws/apigatewayv2-base-route.d.ts.map +1 -0
  333. package/platform/types/components/aws/apigatewayv2-lambda-route.d.ts +59 -0
  334. package/platform/types/components/aws/apigatewayv2-lambda-route.d.ts.map +1 -0
  335. package/platform/types/components/aws/apigatewayv2-private-route.d.ts +54 -0
  336. package/platform/types/components/aws/apigatewayv2-private-route.d.ts.map +1 -0
  337. package/platform/types/components/aws/apigatewayv2-url-route.d.ts +44 -0
  338. package/platform/types/components/aws/apigatewayv2-url-route.d.ts.map +1 -0
  339. package/platform/types/components/aws/apigatewayv2.d.ts +955 -0
  340. package/platform/types/components/aws/apigatewayv2.d.ts.map +1 -0
  341. package/platform/types/components/aws/app-sync-data-source.d.ts +52 -0
  342. package/platform/types/components/aws/app-sync-data-source.d.ts.map +1 -0
  343. package/platform/types/components/aws/app-sync-function.d.ts +33 -0
  344. package/platform/types/components/aws/app-sync-function.d.ts.map +1 -0
  345. package/platform/types/components/aws/app-sync-resolver.d.ts +41 -0
  346. package/platform/types/components/aws/app-sync-resolver.d.ts.map +1 -0
  347. package/platform/types/components/aws/app-sync.d.ts +638 -0
  348. package/platform/types/components/aws/app-sync.d.ts.map +1 -0
  349. package/platform/types/components/aws/astro.d.ts +409 -0
  350. package/platform/types/components/aws/astro.d.ts.map +1 -0
  351. package/platform/types/components/aws/aurora.d.ts +720 -0
  352. package/platform/types/components/aws/aurora.d.ts.map +1 -0
  353. package/platform/types/components/aws/auth-v1.d.ts +26 -0
  354. package/platform/types/components/aws/auth-v1.d.ts.map +1 -0
  355. package/platform/types/components/aws/auth.d.ts +295 -0
  356. package/platform/types/components/aws/auth.d.ts.map +1 -0
  357. package/platform/types/components/aws/bucket-lambda-subscriber.d.ts +61 -0
  358. package/platform/types/components/aws/bucket-lambda-subscriber.d.ts.map +1 -0
  359. package/platform/types/components/aws/bucket-notification.d.ts +47 -0
  360. package/platform/types/components/aws/bucket-notification.d.ts.map +1 -0
  361. package/platform/types/components/aws/bucket-queue-subscriber.d.ts +55 -0
  362. package/platform/types/components/aws/bucket-queue-subscriber.d.ts.map +1 -0
  363. package/platform/types/components/aws/bucket-topic-subscriber.d.ts +55 -0
  364. package/platform/types/components/aws/bucket-topic-subscriber.d.ts.map +1 -0
  365. package/platform/types/components/aws/bucket.d.ts +1356 -0
  366. package/platform/types/components/aws/bucket.d.ts.map +1 -0
  367. package/platform/types/components/aws/bus-base-subscriber.d.ts +20 -0
  368. package/platform/types/components/aws/bus-base-subscriber.d.ts.map +1 -0
  369. package/platform/types/components/aws/bus-lambda-subscriber.d.ts +50 -0
  370. package/platform/types/components/aws/bus-lambda-subscriber.d.ts.map +1 -0
  371. package/platform/types/components/aws/bus-queue-subscriber.d.ts +44 -0
  372. package/platform/types/components/aws/bus-queue-subscriber.d.ts.map +1 -0
  373. package/platform/types/components/aws/bus.d.ts +447 -0
  374. package/platform/types/components/aws/bus.d.ts.map +1 -0
  375. package/platform/types/components/aws/cdn.d.ts +310 -0
  376. package/platform/types/components/aws/cdn.d.ts.map +1 -0
  377. package/platform/types/components/aws/cluster-v1.d.ts +885 -0
  378. package/platform/types/components/aws/cluster-v1.d.ts.map +1 -0
  379. package/platform/types/components/aws/cluster.d.ts +364 -0
  380. package/platform/types/components/aws/cluster.d.ts.map +1 -0
  381. package/platform/types/components/aws/cognito-identity-pool.d.ts +199 -0
  382. package/platform/types/components/aws/cognito-identity-pool.d.ts.map +1 -0
  383. package/platform/types/components/aws/cognito-identity-provider.d.ts +38 -0
  384. package/platform/types/components/aws/cognito-identity-provider.d.ts.map +1 -0
  385. package/platform/types/components/aws/cognito-user-pool-client.d.ts +50 -0
  386. package/platform/types/components/aws/cognito-user-pool-client.d.ts.map +1 -0
  387. package/platform/types/components/aws/cognito-user-pool.d.ts +703 -0
  388. package/platform/types/components/aws/cognito-user-pool.d.ts.map +1 -0
  389. package/platform/types/components/aws/cron-v2.d.ts +325 -0
  390. package/platform/types/components/aws/cron-v2.d.ts.map +1 -0
  391. package/platform/types/components/aws/cron.d.ts +259 -0
  392. package/platform/types/components/aws/cron.d.ts.map +1 -0
  393. package/platform/types/components/aws/dns-validated-certificate.d.ts +27 -0
  394. package/platform/types/components/aws/dns-validated-certificate.d.ts.map +1 -0
  395. package/platform/types/components/aws/dns.d.ts +94 -0
  396. package/platform/types/components/aws/dns.d.ts.map +1 -0
  397. package/platform/types/components/aws/dsql.d.ts +369 -0
  398. package/platform/types/components/aws/dsql.d.ts.map +1 -0
  399. package/platform/types/components/aws/dynamo-lambda-subscriber.d.ts +55 -0
  400. package/platform/types/components/aws/dynamo-lambda-subscriber.d.ts.map +1 -0
  401. package/platform/types/components/aws/dynamo.d.ts +628 -0
  402. package/platform/types/components/aws/dynamo.d.ts.map +1 -0
  403. package/platform/types/components/aws/efs.d.ts +217 -0
  404. package/platform/types/components/aws/efs.d.ts.map +1 -0
  405. package/platform/types/components/aws/email.d.ts +370 -0
  406. package/platform/types/components/aws/email.d.ts.map +1 -0
  407. package/platform/types/components/aws/fargate.d.ts +894 -0
  408. package/platform/types/components/aws/fargate.d.ts.map +1 -0
  409. package/platform/types/components/aws/function.d.ts +1780 -0
  410. package/platform/types/components/aws/function.d.ts.map +1 -0
  411. package/platform/types/components/aws/helpers/apigateway-account.d.ts +3 -0
  412. package/platform/types/components/aws/helpers/apigateway-account.d.ts.map +1 -0
  413. package/platform/types/components/aws/helpers/apigatewayv2-domain.d.ts +144 -0
  414. package/platform/types/components/aws/helpers/apigatewayv2-domain.d.ts.map +1 -0
  415. package/platform/types/components/aws/helpers/arn.d.ts +51 -0
  416. package/platform/types/components/aws/helpers/arn.d.ts.map +1 -0
  417. package/platform/types/components/aws/helpers/bootstrap.d.ts +13 -0
  418. package/platform/types/components/aws/helpers/bootstrap.d.ts.map +1 -0
  419. package/platform/types/components/aws/helpers/client.d.ts +7 -0
  420. package/platform/types/components/aws/helpers/client.d.ts.map +1 -0
  421. package/platform/types/components/aws/helpers/container-builder.d.ts +4 -0
  422. package/platform/types/components/aws/helpers/container-builder.d.ts.map +1 -0
  423. package/platform/types/components/aws/helpers/custom-domain.d.ts +111 -0
  424. package/platform/types/components/aws/helpers/custom-domain.d.ts.map +1 -0
  425. package/platform/types/components/aws/helpers/event-source.d.ts +26 -0
  426. package/platform/types/components/aws/helpers/event-source.d.ts.map +1 -0
  427. package/platform/types/components/aws/helpers/fargate.d.ts +225 -0
  428. package/platform/types/components/aws/helpers/fargate.d.ts.map +1 -0
  429. package/platform/types/components/aws/helpers/function-builder.d.ts +14 -0
  430. package/platform/types/components/aws/helpers/function-builder.d.ts.map +1 -0
  431. package/platform/types/components/aws/helpers/function-code.d.ts +80 -0
  432. package/platform/types/components/aws/helpers/function-code.d.ts.map +1 -0
  433. package/platform/types/components/aws/helpers/function-part.d.ts +61 -0
  434. package/platform/types/components/aws/helpers/function-part.d.ts.map +1 -0
  435. package/platform/types/components/aws/helpers/function-permission.d.ts +17 -0
  436. package/platform/types/components/aws/helpers/function-permission.d.ts.map +1 -0
  437. package/platform/types/components/aws/helpers/load-balancer-args.d.ts +40 -0
  438. package/platform/types/components/aws/helpers/load-balancer-args.d.ts.map +1 -0
  439. package/platform/types/components/aws/helpers/load-balancer.d.ts +9 -0
  440. package/platform/types/components/aws/helpers/load-balancer.d.ts.map +1 -0
  441. package/platform/types/components/aws/helpers/provider.d.ts +3 -0
  442. package/platform/types/components/aws/helpers/provider.d.ts.map +1 -0
  443. package/platform/types/components/aws/helpers/queue-policy.d.ts +11 -0
  444. package/platform/types/components/aws/helpers/queue-policy.d.ts.map +1 -0
  445. package/platform/types/components/aws/helpers/rds.d.ts +98 -0
  446. package/platform/types/components/aws/helpers/rds.d.ts.map +1 -0
  447. package/platform/types/components/aws/helpers/site-builder.d.ts +4 -0
  448. package/platform/types/components/aws/helpers/site-builder.d.ts.map +1 -0
  449. package/platform/types/components/aws/helpers/subscriber.d.ts +6 -0
  450. package/platform/types/components/aws/helpers/subscriber.d.ts.map +1 -0
  451. package/platform/types/components/aws/helpers/vpc.d.ts +14 -0
  452. package/platform/types/components/aws/helpers/vpc.d.ts.map +1 -0
  453. package/platform/types/components/aws/https-redirect.d.ts +38 -0
  454. package/platform/types/components/aws/https-redirect.d.ts.map +1 -0
  455. package/platform/types/components/aws/iam-edit.d.ts +39 -0
  456. package/platform/types/components/aws/iam-edit.d.ts.map +1 -0
  457. package/platform/types/components/aws/index.d.ts +56 -0
  458. package/platform/types/components/aws/index.d.ts.map +1 -0
  459. package/platform/types/components/aws/kinesis-stream-lambda-subscriber.d.ts +49 -0
  460. package/platform/types/components/aws/kinesis-stream-lambda-subscriber.d.ts.map +1 -0
  461. package/platform/types/components/aws/kinesis-stream.d.ts +254 -0
  462. package/platform/types/components/aws/kinesis-stream.d.ts.map +1 -0
  463. package/platform/types/components/aws/linkable.d.ts +17 -0
  464. package/platform/types/components/aws/linkable.d.ts.map +1 -0
  465. package/platform/types/components/aws/logging.d.ts +26 -0
  466. package/platform/types/components/aws/logging.d.ts.map +1 -0
  467. package/platform/types/components/aws/microvm.d.ts +439 -0
  468. package/platform/types/components/aws/microvm.d.ts.map +1 -0
  469. package/platform/types/components/aws/mysql.d.ts +528 -0
  470. package/platform/types/components/aws/mysql.d.ts.map +1 -0
  471. package/platform/types/components/aws/nextjs.d.ts +534 -0
  472. package/platform/types/components/aws/nextjs.d.ts.map +1 -0
  473. package/platform/types/components/aws/nuxt.d.ts +480 -0
  474. package/platform/types/components/aws/nuxt.d.ts.map +1 -0
  475. package/platform/types/components/aws/open-search.d.ts +306 -0
  476. package/platform/types/components/aws/open-search.d.ts.map +1 -0
  477. package/platform/types/components/aws/opencontrol.d.ts +169 -0
  478. package/platform/types/components/aws/opencontrol.d.ts.map +1 -0
  479. package/platform/types/components/aws/permission.d.ts +80 -0
  480. package/platform/types/components/aws/permission.d.ts.map +1 -0
  481. package/platform/types/components/aws/postgres-v1.d.ts +328 -0
  482. package/platform/types/components/aws/postgres-v1.d.ts.map +1 -0
  483. package/platform/types/components/aws/postgres.d.ts +529 -0
  484. package/platform/types/components/aws/postgres.d.ts.map +1 -0
  485. package/platform/types/components/aws/providers/bucket-files.d.ts +18 -0
  486. package/platform/types/components/aws/providers/bucket-files.d.ts.map +1 -0
  487. package/platform/types/components/aws/providers/distribution-deployment-waiter.d.ts +13 -0
  488. package/platform/types/components/aws/providers/distribution-deployment-waiter.d.ts.map +1 -0
  489. package/platform/types/components/aws/providers/distribution-invalidation.d.ts +11 -0
  490. package/platform/types/components/aws/providers/distribution-invalidation.d.ts.map +1 -0
  491. package/platform/types/components/aws/providers/function-environment-update.d.ts +33 -0
  492. package/platform/types/components/aws/providers/function-environment-update.d.ts.map +1 -0
  493. package/platform/types/components/aws/providers/hosted-zone-lookup.d.ts +11 -0
  494. package/platform/types/components/aws/providers/hosted-zone-lookup.d.ts.map +1 -0
  495. package/platform/types/components/aws/providers/kv-keys.d.ts +11 -0
  496. package/platform/types/components/aws/providers/kv-keys.d.ts.map +1 -0
  497. package/platform/types/components/aws/providers/kv-routes-update.d.ts +11 -0
  498. package/platform/types/components/aws/providers/kv-routes-update.d.ts.map +1 -0
  499. package/platform/types/components/aws/providers/microvm-image-prune.d.ts +35 -0
  500. package/platform/types/components/aws/providers/microvm-image-prune.d.ts.map +1 -0
  501. package/platform/types/components/aws/providers/origin-access-control.d.ts +8 -0
  502. package/platform/types/components/aws/providers/origin-access-control.d.ts.map +1 -0
  503. package/platform/types/components/aws/providers/rds-role-lookup.d.ts +8 -0
  504. package/platform/types/components/aws/providers/rds-role-lookup.d.ts.map +1 -0
  505. package/platform/types/components/aws/providers/vector-table.d.ts +12 -0
  506. package/platform/types/components/aws/providers/vector-table.d.ts.map +1 -0
  507. package/platform/types/components/aws/queue-lambda-subscriber.d.ts +53 -0
  508. package/platform/types/components/aws/queue-lambda-subscriber.d.ts.map +1 -0
  509. package/platform/types/components/aws/queue.d.ts +494 -0
  510. package/platform/types/components/aws/queue.d.ts.map +1 -0
  511. package/platform/types/components/aws/react.d.ts +407 -0
  512. package/platform/types/components/aws/react.d.ts.map +1 -0
  513. package/platform/types/components/aws/realtime-lambda-subscriber.d.ts +53 -0
  514. package/platform/types/components/aws/realtime-lambda-subscriber.d.ts.map +1 -0
  515. package/platform/types/components/aws/realtime.d.ts +237 -0
  516. package/platform/types/components/aws/realtime.d.ts.map +1 -0
  517. package/platform/types/components/aws/redis-v1.d.ts +348 -0
  518. package/platform/types/components/aws/redis-v1.d.ts.map +1 -0
  519. package/platform/types/components/aws/redis.d.ts +545 -0
  520. package/platform/types/components/aws/redis.d.ts.map +1 -0
  521. package/platform/types/components/aws/remix.d.ts +408 -0
  522. package/platform/types/components/aws/remix.d.ts.map +1 -0
  523. package/platform/types/components/aws/router-base-route.d.ts +28 -0
  524. package/platform/types/components/aws/router-base-route.d.ts.map +1 -0
  525. package/platform/types/components/aws/router-bucket-route.d.ts +29 -0
  526. package/platform/types/components/aws/router-bucket-route.d.ts.map +1 -0
  527. package/platform/types/components/aws/router-url-route.d.ts +28 -0
  528. package/platform/types/components/aws/router-url-route.d.ts.map +1 -0
  529. package/platform/types/components/aws/router.d.ts +1767 -0
  530. package/platform/types/components/aws/router.d.ts.map +1 -0
  531. package/platform/types/components/aws/service-v1.d.ts +78 -0
  532. package/platform/types/components/aws/service-v1.d.ts.map +1 -0
  533. package/platform/types/components/aws/service.d.ts +1756 -0
  534. package/platform/types/components/aws/service.d.ts.map +1 -0
  535. package/platform/types/components/aws/sns-topic-lambda-subscriber.d.ts +53 -0
  536. package/platform/types/components/aws/sns-topic-lambda-subscriber.d.ts.map +1 -0
  537. package/platform/types/components/aws/sns-topic-queue-subscriber.d.ts +55 -0
  538. package/platform/types/components/aws/sns-topic-queue-subscriber.d.ts.map +1 -0
  539. package/platform/types/components/aws/sns-topic.d.ts +394 -0
  540. package/platform/types/components/aws/sns-topic.d.ts.map +1 -0
  541. package/platform/types/components/aws/solid-start.d.ts +399 -0
  542. package/platform/types/components/aws/solid-start.d.ts.map +1 -0
  543. package/platform/types/components/aws/ssr-site.d.ts +895 -0
  544. package/platform/types/components/aws/ssr-site.d.ts.map +1 -0
  545. package/platform/types/components/aws/static-site.d.ts +744 -0
  546. package/platform/types/components/aws/static-site.d.ts.map +1 -0
  547. package/platform/types/components/aws/step-functions/choice.d.ts +73 -0
  548. package/platform/types/components/aws/step-functions/choice.d.ts.map +1 -0
  549. package/platform/types/components/aws/step-functions/fail.d.ts +63 -0
  550. package/platform/types/components/aws/step-functions/fail.d.ts.map +1 -0
  551. package/platform/types/components/aws/step-functions/map.d.ts +236 -0
  552. package/platform/types/components/aws/step-functions/map.d.ts.map +1 -0
  553. package/platform/types/components/aws/step-functions/parallel.d.ts +127 -0
  554. package/platform/types/components/aws/step-functions/parallel.d.ts.map +1 -0
  555. package/platform/types/components/aws/step-functions/pass.d.ts +39 -0
  556. package/platform/types/components/aws/step-functions/pass.d.ts.map +1 -0
  557. package/platform/types/components/aws/step-functions/state.d.ts +231 -0
  558. package/platform/types/components/aws/step-functions/state.d.ts.map +1 -0
  559. package/platform/types/components/aws/step-functions/succeed.d.ts +26 -0
  560. package/platform/types/components/aws/step-functions/succeed.d.ts.map +1 -0
  561. package/platform/types/components/aws/step-functions/task.d.ts +485 -0
  562. package/platform/types/components/aws/step-functions/task.d.ts.map +1 -0
  563. package/platform/types/components/aws/step-functions/wait.d.ts +91 -0
  564. package/platform/types/components/aws/step-functions/wait.d.ts.map +1 -0
  565. package/platform/types/components/aws/step-functions.d.ts +478 -0
  566. package/platform/types/components/aws/step-functions.d.ts.map +1 -0
  567. package/platform/types/components/aws/svelte-kit.d.ts +456 -0
  568. package/platform/types/components/aws/svelte-kit.d.ts.map +1 -0
  569. package/platform/types/components/aws/takeover/alb.d.ts +2 -0
  570. package/platform/types/components/aws/takeover/alb.d.ts.map +1 -0
  571. package/platform/types/components/aws/takeover/apigatewayv2.d.ts +2 -0
  572. package/platform/types/components/aws/takeover/apigatewayv2.d.ts.map +1 -0
  573. package/platform/types/components/aws/takeover/app-sync.d.ts +2 -0
  574. package/platform/types/components/aws/takeover/app-sync.d.ts.map +1 -0
  575. package/platform/types/components/aws/takeover/aurora.d.ts +2 -0
  576. package/platform/types/components/aws/takeover/aurora.d.ts.map +1 -0
  577. package/platform/types/components/aws/takeover/bucket.d.ts +2 -0
  578. package/platform/types/components/aws/takeover/bucket.d.ts.map +1 -0
  579. package/platform/types/components/aws/takeover/bus.d.ts +2 -0
  580. package/platform/types/components/aws/takeover/bus.d.ts.map +1 -0
  581. package/platform/types/components/aws/takeover/cognito-user-pool.d.ts +2 -0
  582. package/platform/types/components/aws/takeover/cognito-user-pool.d.ts.map +1 -0
  583. package/platform/types/components/aws/takeover/cron-v2.d.ts +2 -0
  584. package/platform/types/components/aws/takeover/cron-v2.d.ts.map +1 -0
  585. package/platform/types/components/aws/takeover/dsql.d.ts +2 -0
  586. package/platform/types/components/aws/takeover/dsql.d.ts.map +1 -0
  587. package/platform/types/components/aws/takeover/dynamo.d.ts +2 -0
  588. package/platform/types/components/aws/takeover/dynamo.d.ts.map +1 -0
  589. package/platform/types/components/aws/takeover/efs.d.ts +2 -0
  590. package/platform/types/components/aws/takeover/efs.d.ts.map +1 -0
  591. package/platform/types/components/aws/takeover/function.d.ts +2 -0
  592. package/platform/types/components/aws/takeover/function.d.ts.map +1 -0
  593. package/platform/types/components/aws/takeover/helpers.d.ts +16 -0
  594. package/platform/types/components/aws/takeover/helpers.d.ts.map +1 -0
  595. package/platform/types/components/aws/takeover/index.d.ts +28 -0
  596. package/platform/types/components/aws/takeover/index.d.ts.map +1 -0
  597. package/platform/types/components/aws/takeover/mysql.d.ts +2 -0
  598. package/platform/types/components/aws/takeover/mysql.d.ts.map +1 -0
  599. package/platform/types/components/aws/takeover/postgres.d.ts +2 -0
  600. package/platform/types/components/aws/takeover/postgres.d.ts.map +1 -0
  601. package/platform/types/components/aws/takeover/queue.d.ts +2 -0
  602. package/platform/types/components/aws/takeover/queue.d.ts.map +1 -0
  603. package/platform/types/components/aws/takeover/redis.d.ts +2 -0
  604. package/platform/types/components/aws/takeover/redis.d.ts.map +1 -0
  605. package/platform/types/components/aws/takeover/service.d.ts +2 -0
  606. package/platform/types/components/aws/takeover/service.d.ts.map +1 -0
  607. package/platform/types/components/aws/takeover/sns-topic.d.ts +2 -0
  608. package/platform/types/components/aws/takeover/sns-topic.d.ts.map +1 -0
  609. package/platform/types/components/aws/takeover/task.d.ts +2 -0
  610. package/platform/types/components/aws/takeover/task.d.ts.map +1 -0
  611. package/platform/types/components/aws/tan-stack-start.d.ts +359 -0
  612. package/platform/types/components/aws/tan-stack-start.d.ts.map +1 -0
  613. package/platform/types/components/aws/task.d.ts +342 -0
  614. package/platform/types/components/aws/task.d.ts.map +1 -0
  615. package/platform/types/components/aws/v5/alb.d.ts +177 -0
  616. package/platform/types/components/aws/v5/alb.d.ts.map +1 -0
  617. package/platform/types/components/aws/v5/apigatewayv2.d.ts +482 -0
  618. package/platform/types/components/aws/v5/apigatewayv2.d.ts.map +1 -0
  619. package/platform/types/components/aws/v5/app-sync.d.ts +424 -0
  620. package/platform/types/components/aws/v5/app-sync.d.ts.map +1 -0
  621. package/platform/types/components/aws/v5/aurora.d.ts +459 -0
  622. package/platform/types/components/aws/v5/aurora.d.ts.map +1 -0
  623. package/platform/types/components/aws/v5/bucket.d.ts +578 -0
  624. package/platform/types/components/aws/v5/bucket.d.ts.map +1 -0
  625. package/platform/types/components/aws/v5/bus.d.ts +255 -0
  626. package/platform/types/components/aws/v5/bus.d.ts.map +1 -0
  627. package/platform/types/components/aws/v5/cluster.d.ts +167 -0
  628. package/platform/types/components/aws/v5/cluster.d.ts.map +1 -0
  629. package/platform/types/components/aws/v5/cognito-user-pool-client.d.ts +69 -0
  630. package/platform/types/components/aws/v5/cognito-user-pool-client.d.ts.map +1 -0
  631. package/platform/types/components/aws/v5/cognito-user-pool.d.ts +396 -0
  632. package/platform/types/components/aws/v5/cognito-user-pool.d.ts.map +1 -0
  633. package/platform/types/components/aws/v5/cron-v2.d.ts +206 -0
  634. package/platform/types/components/aws/v5/cron-v2.d.ts.map +1 -0
  635. package/platform/types/components/aws/v5/dsql.d.ts +453 -0
  636. package/platform/types/components/aws/v5/dsql.d.ts.map +1 -0
  637. package/platform/types/components/aws/v5/dynamo.d.ts +328 -0
  638. package/platform/types/components/aws/v5/dynamo.d.ts.map +1 -0
  639. package/platform/types/components/aws/v5/efs.d.ts +178 -0
  640. package/platform/types/components/aws/v5/efs.d.ts.map +1 -0
  641. package/platform/types/components/aws/v5/function.d.ts +586 -0
  642. package/platform/types/components/aws/v5/function.d.ts.map +1 -0
  643. package/platform/types/components/aws/v5/index.d.ts +27 -0
  644. package/platform/types/components/aws/v5/index.d.ts.map +1 -0
  645. package/platform/types/components/aws/v5/mysql.d.ts +347 -0
  646. package/platform/types/components/aws/v5/mysql.d.ts.map +1 -0
  647. package/platform/types/components/aws/v5/postgres.d.ts +348 -0
  648. package/platform/types/components/aws/v5/postgres.d.ts.map +1 -0
  649. package/platform/types/components/aws/v5/queue.d.ts +190 -0
  650. package/platform/types/components/aws/v5/queue.d.ts.map +1 -0
  651. package/platform/types/components/aws/v5/redis.d.ts +214 -0
  652. package/platform/types/components/aws/v5/redis.d.ts.map +1 -0
  653. package/platform/types/components/aws/v5/service.d.ts +1347 -0
  654. package/platform/types/components/aws/v5/service.d.ts.map +1 -0
  655. package/platform/types/components/aws/v5/sns-topic.d.ts +226 -0
  656. package/platform/types/components/aws/v5/sns-topic.d.ts.map +1 -0
  657. package/platform/types/components/aws/v5/task.d.ts +346 -0
  658. package/platform/types/components/aws/v5/task.d.ts.map +1 -0
  659. package/platform/types/components/aws/vector.d.ts +163 -0
  660. package/platform/types/components/aws/vector.d.ts.map +1 -0
  661. package/platform/types/components/aws/vpc-v1.d.ts +208 -0
  662. package/platform/types/components/aws/vpc-v1.d.ts.map +1 -0
  663. package/platform/types/components/aws/vpc.d.ts +491 -0
  664. package/platform/types/components/aws/vpc.d.ts.map +1 -0
  665. package/platform/types/components/aws/workflow.d.ts +331 -0
  666. package/platform/types/components/aws/workflow.d.ts.map +1 -0
  667. package/platform/types/components/base/base-site.d.ts +53 -0
  668. package/platform/types/components/base/base-site.d.ts.map +1 -0
  669. package/platform/types/components/base/base-ssr-site.d.ts +13 -0
  670. package/platform/types/components/base/base-ssr-site.d.ts.map +1 -0
  671. package/platform/types/components/base/base-static-site.d.ts +199 -0
  672. package/platform/types/components/base/base-static-site.d.ts.map +1 -0
  673. package/platform/types/components/cloudflare/account-id.d.ts +2 -0
  674. package/platform/types/components/cloudflare/account-id.d.ts.map +1 -0
  675. package/platform/types/components/cloudflare/ai.d.ts +68 -0
  676. package/platform/types/components/cloudflare/ai.d.ts.map +1 -0
  677. package/platform/types/components/cloudflare/astro.d.ts +249 -0
  678. package/platform/types/components/cloudflare/astro.d.ts.map +1 -0
  679. package/platform/types/components/cloudflare/auth.d.ts +22 -0
  680. package/platform/types/components/cloudflare/auth.d.ts.map +1 -0
  681. package/platform/types/components/cloudflare/binding.d.ts +109 -0
  682. package/platform/types/components/cloudflare/binding.d.ts.map +1 -0
  683. package/platform/types/components/cloudflare/bucket.d.ts +98 -0
  684. package/platform/types/components/cloudflare/bucket.d.ts.map +1 -0
  685. package/platform/types/components/cloudflare/cron.d.ts +151 -0
  686. package/platform/types/components/cloudflare/cron.d.ts.map +1 -0
  687. package/platform/types/components/cloudflare/d1.d.ts +142 -0
  688. package/platform/types/components/cloudflare/d1.d.ts.map +1 -0
  689. package/platform/types/components/cloudflare/dns.d.ts +100 -0
  690. package/platform/types/components/cloudflare/dns.d.ts.map +1 -0
  691. package/platform/types/components/cloudflare/durable-object.d.ts +125 -0
  692. package/platform/types/components/cloudflare/durable-object.d.ts.map +1 -0
  693. package/platform/types/components/cloudflare/experimental/index.d.ts +4 -0
  694. package/platform/types/components/cloudflare/experimental/index.d.ts.map +1 -0
  695. package/platform/types/components/cloudflare/experimental/solid-start.d.ts +219 -0
  696. package/platform/types/components/cloudflare/experimental/solid-start.d.ts.map +1 -0
  697. package/platform/types/components/cloudflare/experimental/static-site.d.ts +3 -0
  698. package/platform/types/components/cloudflare/experimental/static-site.d.ts.map +1 -0
  699. package/platform/types/components/cloudflare/helpers/compatibility.d.ts +21 -0
  700. package/platform/types/components/cloudflare/helpers/compatibility.d.ts.map +1 -0
  701. package/platform/types/components/cloudflare/helpers/fetch.d.ts +19 -0
  702. package/platform/types/components/cloudflare/helpers/fetch.d.ts.map +1 -0
  703. package/platform/types/components/cloudflare/helpers/validation.d.ts +15 -0
  704. package/platform/types/components/cloudflare/helpers/validation.d.ts.map +1 -0
  705. package/platform/types/components/cloudflare/helpers/worker-builder.d.ts +10 -0
  706. package/platform/types/components/cloudflare/helpers/worker-builder.d.ts.map +1 -0
  707. package/platform/types/components/cloudflare/helpers/wrangler.d.ts +31 -0
  708. package/platform/types/components/cloudflare/helpers/wrangler.d.ts.map +1 -0
  709. package/platform/types/components/cloudflare/hyperdrive.d.ts +302 -0
  710. package/platform/types/components/cloudflare/hyperdrive.d.ts.map +1 -0
  711. package/platform/types/components/cloudflare/index.d.ts +25 -0
  712. package/platform/types/components/cloudflare/index.d.ts.map +1 -0
  713. package/platform/types/components/cloudflare/kv.d.ts +140 -0
  714. package/platform/types/components/cloudflare/kv.d.ts.map +1 -0
  715. package/platform/types/components/cloudflare/providers/dns-record.d.ts +21 -0
  716. package/platform/types/components/cloudflare/providers/dns-record.d.ts.map +1 -0
  717. package/platform/types/components/cloudflare/providers/kv-data.d.ts +23 -0
  718. package/platform/types/components/cloudflare/providers/kv-data.d.ts.map +1 -0
  719. package/platform/types/components/cloudflare/providers/worker-assets.d.ts +19 -0
  720. package/platform/types/components/cloudflare/providers/worker-assets.d.ts.map +1 -0
  721. package/platform/types/components/cloudflare/providers/worker-placement.d.ts +27 -0
  722. package/platform/types/components/cloudflare/providers/worker-placement.d.ts.map +1 -0
  723. package/platform/types/components/cloudflare/providers/worker-script.d.ts +23 -0
  724. package/platform/types/components/cloudflare/providers/worker-script.d.ts.map +1 -0
  725. package/platform/types/components/cloudflare/providers/worker-url.d.ts +24 -0
  726. package/platform/types/components/cloudflare/providers/worker-url.d.ts.map +1 -0
  727. package/platform/types/components/cloudflare/providers/zone-lookup.d.ts +22 -0
  728. package/platform/types/components/cloudflare/providers/zone-lookup.d.ts.map +1 -0
  729. package/platform/types/components/cloudflare/queue-worker-subscriber.d.ts +122 -0
  730. package/platform/types/components/cloudflare/queue-worker-subscriber.d.ts.map +1 -0
  731. package/platform/types/components/cloudflare/queue.d.ts +235 -0
  732. package/platform/types/components/cloudflare/queue.d.ts.map +1 -0
  733. package/platform/types/components/cloudflare/rate-limit.d.ts +117 -0
  734. package/platform/types/components/cloudflare/rate-limit.d.ts.map +1 -0
  735. package/platform/types/components/cloudflare/react-router.d.ts +262 -0
  736. package/platform/types/components/cloudflare/react-router.d.ts.map +1 -0
  737. package/platform/types/components/cloudflare/ssr-site.d.ts +60 -0
  738. package/platform/types/components/cloudflare/ssr-site.d.ts.map +1 -0
  739. package/platform/types/components/cloudflare/static-site-v2.d.ts +302 -0
  740. package/platform/types/components/cloudflare/static-site-v2.d.ts.map +1 -0
  741. package/platform/types/components/cloudflare/static-site.d.ts +270 -0
  742. package/platform/types/components/cloudflare/static-site.d.ts.map +1 -0
  743. package/platform/types/components/cloudflare/tan-stack-start.d.ts +259 -0
  744. package/platform/types/components/cloudflare/tan-stack-start.d.ts.map +1 -0
  745. package/platform/types/components/cloudflare/worker.d.ts +483 -0
  746. package/platform/types/components/cloudflare/worker.d.ts.map +1 -0
  747. package/platform/types/components/cloudflare/workflow.d.ts +248 -0
  748. package/platform/types/components/cloudflare/workflow.d.ts.map +1 -0
  749. package/platform/types/components/component.d.ts +67 -0
  750. package/platform/types/components/component.d.ts.map +1 -0
  751. package/platform/types/components/core.d.ts +16 -0
  752. package/platform/types/components/core.d.ts.map +1 -0
  753. package/platform/types/components/cpu.d.ts +3 -0
  754. package/platform/types/components/cpu.d.ts.map +1 -0
  755. package/platform/types/components/dns.d.ts +63 -0
  756. package/platform/types/components/dns.d.ts.map +1 -0
  757. package/platform/types/components/duration.d.ts +9 -0
  758. package/platform/types/components/duration.d.ts.map +1 -0
  759. package/platform/types/components/error.d.ts +4 -0
  760. package/platform/types/components/error.d.ts.map +1 -0
  761. package/platform/types/components/esbuild.d.ts +3 -0
  762. package/platform/types/components/esbuild.d.ts.map +1 -0
  763. package/platform/types/components/experimental/dev-command.d.ts +99 -0
  764. package/platform/types/components/experimental/dev-command.d.ts.map +1 -0
  765. package/platform/types/components/experimental/index.d.ts +2 -0
  766. package/platform/types/components/experimental/index.d.ts.map +1 -0
  767. package/platform/types/components/groups.d.ts +6 -0
  768. package/platform/types/components/groups.d.ts.map +1 -0
  769. package/platform/types/components/index.d.ts +5 -0
  770. package/platform/types/components/index.d.ts.map +1 -0
  771. package/platform/types/components/input.d.ts +3 -0
  772. package/platform/types/components/input.d.ts.map +1 -0
  773. package/platform/types/components/link.d.ts +41 -0
  774. package/platform/types/components/link.d.ts.map +1 -0
  775. package/platform/types/components/linkable.d.ts +301 -0
  776. package/platform/types/components/linkable.d.ts.map +1 -0
  777. package/platform/types/components/naming-rules.d.ts +32 -0
  778. package/platform/types/components/naming-rules.d.ts.map +1 -0
  779. package/platform/types/components/naming.d.ts +21 -0
  780. package/platform/types/components/naming.d.ts.map +1 -0
  781. package/platform/types/components/parts-component.d.ts +242 -0
  782. package/platform/types/components/parts-component.d.ts.map +1 -0
  783. package/platform/types/components/parts.d.ts +194 -0
  784. package/platform/types/components/parts.d.ts.map +1 -0
  785. package/platform/types/components/path.d.ts +2 -0
  786. package/platform/types/components/path.d.ts.map +1 -0
  787. package/platform/types/components/rpc/rpc.d.ts +19 -0
  788. package/platform/types/components/rpc/rpc.d.ts.map +1 -0
  789. package/platform/types/components/secret.d.ts +123 -0
  790. package/platform/types/components/secret.d.ts.map +1 -0
  791. package/platform/types/components/size.d.ts +5 -0
  792. package/platform/types/components/size.d.ts.map +1 -0
  793. package/platform/types/components/takeover.d.ts +88 -0
  794. package/platform/types/components/takeover.d.ts.map +1 -0
  795. package/platform/types/components/transform.d.ts +34 -0
  796. package/platform/types/components/transform.d.ts.map +1 -0
  797. package/platform/types/components/vercel/account-id.d.ts +2 -0
  798. package/platform/types/components/vercel/account-id.d.ts.map +1 -0
  799. package/platform/types/components/vercel/dns.d.ts +73 -0
  800. package/platform/types/components/vercel/dns.d.ts.map +1 -0
  801. package/platform/types/components/vercel/index.d.ts +3 -0
  802. package/platform/types/components/vercel/index.d.ts.map +1 -0
  803. package/platform/types/components/vercel/providers/dns-record.d.ts +15 -0
  804. package/platform/types/components/vercel/providers/dns-record.d.ts.map +1 -0
  805. package/platform/types/config.d.ts +1440 -0
  806. package/platform/types/config.d.ts.map +1 -0
  807. package/platform/types/global-aliases.d.ts +37 -0
  808. package/platform/types/global.d.ts +374 -0
  809. package/platform/types/internal.d.ts +18 -0
  810. package/platform/types/runtime/worker/unenv.d.ts +14 -0
  811. package/platform/types/testing/global.d.ts +11 -0
  812. package/platform/types/testing/global.d.ts.map +1 -0
  813. package/platform/types/testing/index.d.ts +80 -0
  814. package/platform/types/testing/index.d.ts.map +1 -0
  815. package/platform/types/testing/mock.d.ts +136 -0
  816. package/platform/types/testing/mock.d.ts.map +1 -0
  817. package/platform/types/testing/vitest.d.ts +19 -0
  818. package/platform/types/testing/vitest.d.ts.map +1 -0
  819. package/platform/types/util/compare-semver.d.ts +4 -0
  820. package/platform/types/util/compare-semver.d.ts.map +1 -0
  821. package/platform/types/util/fs.d.ts +5 -0
  822. package/platform/types/util/fs.d.ts.map +1 -0
  823. package/platform/types/util/lazy.d.ts +2 -0
  824. package/platform/types/util/lazy.d.ts.map +1 -0
  825. package/platform/types/util/minify.d.ts +2 -0
  826. package/platform/types/util/minify.d.ts.map +1 -0
  827. package/platform/types/util/package.d.ts +10 -0
  828. package/platform/types/util/package.d.ts.map +1 -0
  829. package/platform/types/util/semaphore.d.ts +9 -0
  830. package/platform/types/util/semaphore.d.ts.map +1 -0
  831. package/platform/types/util/warn.d.ts +2 -0
  832. package/platform/types/util/warn.d.ts.map +1 -0
@@ -0,0 +1,1356 @@
1
+ import { ComponentResourceOptions, Output } from "@pulumi/pulumi";
2
+ import { Component, Prettify, Transform } from "../component";
3
+ import { Link } from "../link";
4
+ import type { Input } from "../input";
5
+ import { Function, FunctionArgs, FunctionArn } from "./function.js";
6
+ import { Workflow } from "./workflow.js";
7
+ import { Duration, DurationDays } from "../duration";
8
+ import { BucketLambdaSubscriber } from "./bucket-lambda-subscriber";
9
+ import { s3 } from "@pulumi/aws";
10
+ import { BucketQueueSubscriber } from "./bucket-queue-subscriber";
11
+ import { BucketTopicSubscriber } from "./bucket-topic-subscriber";
12
+ import { Queue } from "./queue";
13
+ import { SnsTopic } from "./sns-topic";
14
+ import { BucketNotification } from "./bucket-notification";
15
+ import { BusLambdaSubscriber } from "./bus-lambda-subscriber";
16
+ import type { BusSubscriberArgs } from "./bus";
17
+ interface BucketCorsArgs {
18
+ /**
19
+ * The HTTP headers that origins can include in requests to the bucket.
20
+ * @default `["*"]`
21
+ * @example
22
+ * ```js
23
+ * {
24
+ * cors: {
25
+ * allowHeaders: ["date", "keep-alive", "x-custom-header"]
26
+ * }
27
+ * }
28
+ * ```
29
+ */
30
+ allowHeaders?: Input<Input<string>[]>;
31
+ /**
32
+ * The origins that can access the bucket.
33
+ * @default `["*"]`
34
+ * @example
35
+ * ```js
36
+ * {
37
+ * cors: {
38
+ * allowOrigins: ["https://www.example.com", "http://localhost:60905"]
39
+ * }
40
+ * }
41
+ * ```
42
+ * Or the wildcard for all origins.
43
+ * ```js
44
+ * {
45
+ * cors: {
46
+ * allowOrigins: ["*"]
47
+ * }
48
+ * }
49
+ * ```
50
+ */
51
+ allowOrigins?: Input<Input<string>[]>;
52
+ /**
53
+ * The HTTP methods that are allowed when calling the bucket.
54
+ * @default `["DELETE" | "GET" | "HEAD" | "POST" | "PUT"]`
55
+ * @example
56
+ * ```js
57
+ * {
58
+ * cors: {
59
+ * allowMethods: ["GET", "POST", "DELETE"]
60
+ * }
61
+ * }
62
+ * ```
63
+ */
64
+ allowMethods?: Input<Input<"DELETE" | "GET" | "HEAD" | "POST" | "PUT">[]>;
65
+ /**
66
+ * The HTTP headers you want to expose to an origin that calls the bucket.
67
+ * @default `["ETag"]`
68
+ * @example
69
+ * ```js
70
+ * {
71
+ * cors: {
72
+ * exposeHeaders: ["date", "keep-alive", "x-custom-header"]
73
+ * }
74
+ * }
75
+ * ```
76
+ */
77
+ exposeHeaders?: Input<Input<string>[]>;
78
+ /**
79
+ * The maximum amount of time the browser can cache results of a preflight request. By
80
+ * default the browser doesn't cache the results. The maximum value is `86400 seconds` or `1 day`.
81
+ * @default `"0 seconds"`
82
+ * @example
83
+ * ```js
84
+ * {
85
+ * cors: {
86
+ * maxAge: "1 day"
87
+ * }
88
+ * }
89
+ * ```
90
+ */
91
+ maxAge?: Input<Duration>;
92
+ }
93
+ interface BucketLifecycleArgs {
94
+ /**
95
+ * The unique identifier for the lifecycle rule.
96
+ *
97
+ * This ID must be unique across all lifecycle rules in the bucket and cannot exceed 255 characters.
98
+ * Whitespace-only values are not allowed.
99
+ *
100
+ * If not provided, SST will generate a unique ID based on the bucket component name and rule index.
101
+ *
102
+ * @example
103
+ * Use stable IDs to ensure rule identity is preserved when reordering rules.
104
+ * ```js
105
+ * {
106
+ * id: "expire-tmp-files",
107
+ * prefix: "/tmp",
108
+ * expiresIn: "7 days"
109
+ * }
110
+ * ```
111
+ */
112
+ id?: Input<string>;
113
+ /**
114
+ * An S3 object key prefix that the lifecycle rule applies to.
115
+ * @example
116
+ * Applies to all the objects in the `images/` folder.
117
+ * ```js
118
+ * {
119
+ * prefix: "images/"
120
+ * }
121
+ * ```
122
+ */
123
+ prefix?: Input<string>;
124
+ /**
125
+ * Whether the lifecycle rule is enabled.
126
+ * @example
127
+ * ```js
128
+ * {
129
+ * enabled: true
130
+ * }
131
+ * ```
132
+ * @default `true`
133
+ */
134
+ enabled?: Input<boolean>;
135
+ /**
136
+ * Days after which the objects in the bucket should expire.
137
+ * @example
138
+ * ```js
139
+ * {
140
+ * expiresIn: "30 days"
141
+ * }
142
+ * ```
143
+ */
144
+ expiresIn?: Input<DurationDays>;
145
+ /**
146
+ * Date after which the objects in the bucket should expire. Defaults to midnight UTC time.
147
+ * @example
148
+ * ```js
149
+ * {
150
+ * expiresAt: "2023-08-22"
151
+ * }
152
+ * ```
153
+ */
154
+ expiresAt?: Input<string>;
155
+ }
156
+ export interface BucketArgs {
157
+ /**
158
+ * Enable public read access for all the files in the bucket.
159
+ *
160
+ * :::tip
161
+ * You don't need to enable this if you're using CloudFront to serve files from the bucket.
162
+ * :::
163
+ *
164
+ * Should only be turned on if you want to host public files directly from the bucket.
165
+ * @deprecated Use `access` instead.
166
+ * @default `false`
167
+ * @example
168
+ * ```js
169
+ * {
170
+ * public: true
171
+ * }
172
+ * ```
173
+ */
174
+ public?: Input<boolean>;
175
+ /**
176
+ * Enable public read access for all the files in the bucket. By default, no access is
177
+ * granted.
178
+ *
179
+ * :::tip
180
+ * If you are using the `Router` to serve files from this bucket, you need to allow
181
+ * `cloudfront` access the bucket.
182
+ * :::
183
+ *
184
+ * This adds a statement to the bucket policy that either allows `public` access or just
185
+ * `cloudfront` access. With `cloudfront`, only CloudFront distributions in the same AWS
186
+ * account can read the bucket.
187
+ *
188
+ * @example
189
+ * ```js
190
+ * {
191
+ * access: "public"
192
+ * }
193
+ * ```
194
+ *
195
+ * To let the distributions of another AWS account read a `cloudfront` bucket, add a
196
+ * statement with the `policy` option. In the GovCloud and China partitions, start the ARN
197
+ * with `arn:aws-us-gov:` or `arn:aws-cn:` instead of `arn:aws:`.
198
+ *
199
+ * ```js
200
+ * {
201
+ * access: "cloudfront",
202
+ * policy: [
203
+ * {
204
+ * effect: "allow",
205
+ * principals: [{ type: "service", identifiers: ["cloudfront.amazonaws.com"] }],
206
+ * actions: ["s3:GetObject"],
207
+ * paths: ["*"],
208
+ * conditions: [
209
+ * {
210
+ * test: "StringLike",
211
+ * variable: "aws:SourceArn",
212
+ * values: ["arn:aws:cloudfront::OTHER_ACCOUNT_ID:distribution/*"]
213
+ * }
214
+ * ]
215
+ * }
216
+ * ]
217
+ * }
218
+ * ```
219
+ */
220
+ access?: Input<"public" | "cloudfront">;
221
+ /**
222
+ * Configure the policy for the bucket.
223
+ *
224
+ * @example
225
+ * Restrict Access to Specific IP Addresses
226
+ *
227
+ * ```js
228
+ * {
229
+ * policy: [{
230
+ * actions: ["s3:*"],
231
+ * principals: "*",
232
+ * conditions: [
233
+ * {
234
+ * test: "IpAddress",
235
+ * variable: "aws:SourceIp",
236
+ * values: ["10.0.0.0/16"]
237
+ * }
238
+ * ]
239
+ * }]
240
+ * }
241
+ * ```
242
+ *
243
+ * Allow Specific IAM User Access
244
+ *
245
+ * ```js
246
+ * {
247
+ * policy: [{
248
+ * actions: ["s3:*"],
249
+ * principals: [{
250
+ * type: "aws",
251
+ * identifiers: ["arn:aws:iam::123456789012:user/specific-user"]
252
+ * }],
253
+ * }]
254
+ * }
255
+ * ```
256
+ *
257
+ * Cross-Account Access
258
+ *
259
+ * ```js
260
+ * {
261
+ * policy: [{
262
+ * actions: ["s3:GetObject", "s3:ListBucket"],
263
+ * principals: [{
264
+ * type: "aws",
265
+ * identifiers: ["123456789012"]
266
+ * }],
267
+ * }]
268
+ * }
269
+ * ```
270
+ */
271
+ policy?: Input<Input<{
272
+ /**
273
+ * Configures whether the permission is allowed or denied.
274
+ * @default `"allow"`
275
+ * @example
276
+ * ```ts
277
+ * {
278
+ * effect: "deny"
279
+ * }
280
+ * ```
281
+ */
282
+ effect?: Input<"allow" | "deny">;
283
+ /**
284
+ * The [IAM actions](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_actions-resources-contextkeys.html#actions_table) that can be performed.
285
+ * @example
286
+ * ```js
287
+ * {
288
+ * actions: ["s3:*"]
289
+ * }
290
+ * ```
291
+ */
292
+ actions: Input<Input<string>[]>;
293
+ /**
294
+ * The principals that can perform the actions.
295
+ * @example
296
+ * Allow anyone to perform the actions.
297
+ *
298
+ * ```js
299
+ * {
300
+ * principals: "*"
301
+ * }
302
+ * ```
303
+ *
304
+ * Allow anyone within an AWS account.
305
+ *
306
+ * ```js
307
+ * {
308
+ * principals: [{ type: "aws", identifiers: ["123456789012"] }]
309
+ * }
310
+ * ```
311
+ *
312
+ * Allow specific IAM roles.
313
+ * ```js
314
+ * {
315
+ * principals: [{
316
+ * type: "aws",
317
+ * identifiers: [
318
+ * "arn:aws:iam::123456789012:role/MyRole",
319
+ * "arn:aws:iam::123456789012:role/MyOtherRole"
320
+ * ]
321
+ * }]
322
+ * }
323
+ * ```
324
+ *
325
+ * Allow AWS CloudFront.
326
+ * ```js
327
+ * {
328
+ * principals: [{ type: "service", identifiers: ["cloudfront.amazonaws.com"] }]
329
+ * }
330
+ * ```
331
+ *
332
+ * Allow OIDC federated users.
333
+ * ```js
334
+ * {
335
+ * principals: [{
336
+ * type: "federated",
337
+ * identifiers: ["accounts.google.com"]
338
+ * }]
339
+ * }
340
+ * ```
341
+ *
342
+ * Allow SAML federated users.
343
+ * ```js
344
+ * {
345
+ * principals: [{
346
+ * type: "federated",
347
+ * identifiers: ["arn:aws:iam::123456789012:saml-provider/provider-name"]
348
+ * }]
349
+ * }
350
+ * ```
351
+ *
352
+ * Allow Canonical User IDs.
353
+ * ```js
354
+ * {
355
+ * principals: [{
356
+ * type: "canonical",
357
+ * identifiers: ["79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be"]
358
+ * }]
359
+ * }
360
+ * ```
361
+ *
362
+ * Allow specific IAM users.
363
+ *
364
+ */
365
+ principals: Input<"*" | Input<{
366
+ type: Input<"aws" | "service" | "federated" | "canonical">;
367
+ identifiers: Input<Input<string>[]>;
368
+ }>[]>;
369
+ /**
370
+ * Configure specific conditions for when the policy is in effect.
371
+ * @example
372
+ * ```js
373
+ * {
374
+ * conditions: [
375
+ * {
376
+ * test: "StringEquals",
377
+ * variable: "s3:x-amz-server-side-encryption",
378
+ * values: ["AES256"]
379
+ * }
380
+ * ]
381
+ * }
382
+ * ```
383
+ */
384
+ conditions?: Input<Input<{
385
+ /**
386
+ * Name of the [IAM condition operator](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html) to evaluate.
387
+ */
388
+ test: Input<string>;
389
+ /**
390
+ * Name of a [Context Variable](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#AvailableKeys) to apply the condition to. Context variables may either be standard AWS variables starting with `aws:` or service-specific variables prefixed with the service name.
391
+ */
392
+ variable: Input<string>;
393
+ /**
394
+ * The values to evaluate the condition against. If multiple values are provided, the condition matches if at least one of them applies. That is, AWS evaluates multiple values as though using an "OR" boolean operation.
395
+ */
396
+ values: Input<Input<string>[]>;
397
+ }>[]>;
398
+ /**
399
+ * The S3 file paths that the policy is applied to. The paths are specified using
400
+ * the [S3 path format](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html).
401
+ * The bucket arn will be prepended to the paths when constructing the policy.
402
+ * @default `["", "*"]`
403
+ * @example
404
+ * Apply the policy to the bucket itself.
405
+ * ```js
406
+ * {
407
+ * paths: [""]
408
+ * }
409
+ * ```
410
+ *
411
+ * Apply to all files in the bucket.
412
+ * ```js
413
+ * {
414
+ * paths: ["*"]
415
+ * }
416
+ * ```
417
+ *
418
+ * Apply to all files in the `images/` folder.
419
+ * ```js
420
+ * {
421
+ * paths: ["images/*"]
422
+ * }
423
+ * ```
424
+ */
425
+ paths?: Input<Input<string>[]>;
426
+ }>[]>;
427
+ /**
428
+ * Enforce HTTPS for all requests to the bucket.
429
+ *
430
+ * By default, the bucket policy will automatically block any HTTP requests.
431
+ * This is done using the `aws:SecureTransport` condition key.
432
+ *
433
+ * @default true
434
+ * @example
435
+ * ```js
436
+ * {
437
+ * enforceHttps: false
438
+ * }
439
+ * ```
440
+ */
441
+ enforceHttps?: Input<boolean>;
442
+ /**
443
+ * The CORS configuration for the bucket. Defaults to `true`, which is the same as:
444
+ *
445
+ * ```js
446
+ * {
447
+ * cors: {
448
+ * allowHeaders: ["*"],
449
+ * allowOrigins: ["*"],
450
+ * allowMethods: ["DELETE", "GET", "HEAD", "POST", "PUT"],
451
+ * exposeHeaders: ["ETag"],
452
+ * maxAge: "0 seconds"
453
+ * }
454
+ * }
455
+ * ```
456
+ *
457
+ * @default `true`
458
+ */
459
+ cors?: Input<false | Prettify<BucketCorsArgs>>;
460
+ /**
461
+ * The lifecycle configuration for the bucket.
462
+ * @example
463
+ * Delete objects in the "/tmp" directory after 30 days.
464
+ * ```js
465
+ * {
466
+ * lifecycle: [
467
+ * {
468
+ * prefix: "/tmp",
469
+ * expiresIn: "30 days"
470
+ * }
471
+ * ]
472
+ * }
473
+ * ```
474
+ *
475
+ * Use stable IDs to preserve rule identity when reordering.
476
+ * ```js
477
+ * {
478
+ * lifecycle: [
479
+ * {
480
+ * id: "expire-tmp-files",
481
+ * prefix: "/tmp",
482
+ * expiresIn: "7 days"
483
+ * },
484
+ * {
485
+ * id: "archive-old-logs",
486
+ * prefix: "/logs",
487
+ * expiresIn: "90 days"
488
+ * }
489
+ * ]
490
+ * }
491
+ * ```
492
+ */
493
+ lifecycle?: Input<Input<Prettify<BucketLifecycleArgs>>[]>;
494
+ /**
495
+ * Enable versioning for the bucket.
496
+ *
497
+ * Bucket versioning enables you to store multiple versions of an object, protecting
498
+ * against accidental deletion or overwriting.
499
+ *
500
+ * @default `false`
501
+ * @example
502
+ * ```js
503
+ * {
504
+ * versioning: true
505
+ * }
506
+ * ```
507
+ */
508
+ versioning?: Input<boolean>;
509
+ /**
510
+ * [Transform](/docs/components#transform) how this component creates its underlying
511
+ * resources.
512
+ */
513
+ transform?: {
514
+ /**
515
+ * Transform the S3 Bucket resource.
516
+ */
517
+ bucket?: Transform<s3.BucketArgs>;
518
+ /**
519
+ * Transform the S3 Bucket CORS configuration resource.
520
+ */
521
+ cors?: Transform<s3.BucketCorsConfigurationArgs>;
522
+ /**
523
+ * Transform the S3 Bucket Policy resource.
524
+ */
525
+ policy?: Transform<s3.BucketPolicyArgs>;
526
+ /**
527
+ * Transform the S3 Bucket versioning resource.
528
+ */
529
+ versioning?: Transform<s3.BucketVersioningArgs>;
530
+ /**
531
+ * Transform the S3 Bucket lifecycle resource.
532
+ * */
533
+ lifecycle?: Transform<s3.BucketLifecycleConfigurationArgs>;
534
+ /**
535
+ * Transform the public access block resource that's attached to the Bucket.
536
+ *
537
+ * Returns `false` if the public access block resource should not be created.
538
+ */
539
+ publicAccessBlock?: Transform<s3.BucketPublicAccessBlockArgs> | false;
540
+ };
541
+ }
542
+ export interface BucketNotificationsArgs {
543
+ /**
544
+ * Enable EventBridge notifications for this bucket. This publishes every S3 event of
545
+ * the bucket to the account's default EventBridge bus. It doesn't send them anywhere
546
+ * by itself: add rules with [`Bucket.subscribeEventBridge`](#static-subscribeeventbridge),
547
+ * or your own rules on the default bus, to react to them.
548
+ *
549
+ * S3 keeps a single notification configuration for each bucket. To use EventBridge
550
+ * together with the queue, topic and function `notifications` below, set it in the
551
+ * same `notify` call. Calling `notify` again would replace what was set before, so
552
+ * it isn't allowed.
553
+ *
554
+ * Set it to `false` to turn EventBridge notifications off.
555
+ *
556
+ * @default `false`
557
+ * @example
558
+ * ```js
559
+ * {
560
+ * eventBridge: true,
561
+ * notifications: [
562
+ * {
563
+ * name: "MySubscriber",
564
+ * queue: myQueue
565
+ * }
566
+ * ]
567
+ * }
568
+ * ```
569
+ */
570
+ eventBridge?: Input<boolean>;
571
+ /**
572
+ * A list of subscribers that'll be notified when events happen in the bucket. Leave
573
+ * it out if the bucket only uses `eventBridge`.
574
+ */
575
+ notifications?: Input<Input<{
576
+ /**
577
+ * The name of the subscriber.
578
+ */
579
+ name: Input<string>;
580
+ /**
581
+ * The function that'll be notified.
582
+ *
583
+ * @example
584
+ * ```js
585
+ * {
586
+ * name: "MySubscriber",
587
+ * function: "src/subscriber.handler"
588
+ * }
589
+ * ```
590
+ *
591
+ * Customize the subscriber function. The `link` ensures the subscriber can access the
592
+ * bucket through the [SDK](/docs/reference/sdk/).
593
+ *
594
+ * ```js
595
+ * {
596
+ * name: "MySubscriber",
597
+ * function: {
598
+ * handler: "src/subscriber.handler",
599
+ * timeout: "60 seconds",
600
+ * link: [bucket]
601
+ * }
602
+ * }
603
+ * ```
604
+ *
605
+ * Or pass in the ARN of an existing Lambda function.
606
+ *
607
+ * ```js
608
+ * {
609
+ * name: "MySubscriber",
610
+ * function: "arn:aws:lambda:us-east-1:123456789012:function:my-function"
611
+ * }
612
+ * ```
613
+ */
614
+ function?: Input<string | FunctionArgs | FunctionArn>;
615
+ /**
616
+ * The Queue that'll be notified.
617
+ *
618
+ * @example
619
+ * For example, let's say you have a queue.
620
+ *
621
+ * ```js title="sst.config.ts"
622
+ * const myQueue = new sst.aws.Queue("MyQueue");
623
+ * ```
624
+ *
625
+ * You can subscribe to this bucket with it.
626
+ *
627
+ * ```js
628
+ * {
629
+ * name: "MySubscriber",
630
+ * queue: myQueue
631
+ * }
632
+ * ```
633
+ *
634
+ * Or pass in the ARN of an existing SQS queue.
635
+ *
636
+ * ```js
637
+ * {
638
+ * name: "MySubscriber",
639
+ * queue: "arn:aws:sqs:us-east-1:123456789012:my-queue"
640
+ * }
641
+ * ```
642
+ */
643
+ queue?: Input<string | Queue>;
644
+ /**
645
+ * The SNS topic that'll be notified.
646
+ *
647
+ * @example
648
+ * For example, let's say you have a topic.
649
+ *
650
+ * ```js title="sst.config.ts"
651
+ * const myTopic = new sst.aws.SnsTopic("MyTopic");
652
+ * ```
653
+ *
654
+ * You can subscribe to this bucket with it.
655
+ *
656
+ * ```js
657
+ * {
658
+ * name: "MySubscriber",
659
+ * topic: myTopic
660
+ * }
661
+ * ```
662
+ *
663
+ * Or pass in the ARN of an existing SNS topic.
664
+ *
665
+ * ```js
666
+ * {
667
+ * name: "MySubscriber",
668
+ * topic: "arn:aws:sns:us-east-1:123456789012:my-topic"
669
+ * }
670
+ * ```
671
+ */
672
+ topic?: Input<string | SnsTopic>;
673
+ /**
674
+ * A list of S3 event types that'll trigger a notification.
675
+ * @default All S3 events
676
+ * @example
677
+ * ```js
678
+ * {
679
+ * events: ["s3:ObjectCreated:*", "s3:ObjectRemoved:*"]
680
+ * }
681
+ * ```
682
+ */
683
+ events?: Input<Input<"s3:ObjectCreated:*" | "s3:ObjectCreated:Put" | "s3:ObjectCreated:Post" | "s3:ObjectCreated:Copy" | "s3:ObjectCreated:CompleteMultipartUpload" | "s3:ObjectRemoved:*" | "s3:ObjectRemoved:Delete" | "s3:ObjectRemoved:DeleteMarkerCreated" | "s3:ObjectRestore:*" | "s3:ObjectRestore:Post" | "s3:ObjectRestore:Completed" | "s3:ObjectRestore:Delete" | "s3:ReducedRedundancyLostObject" | "s3:Replication:*" | "s3:Replication:OperationFailedReplication" | "s3:Replication:OperationMissedThreshold" | "s3:Replication:OperationReplicatedAfterThreshold" | "s3:Replication:OperationNotTracked" | "s3:LifecycleExpiration:*" | "s3:LifecycleExpiration:Delete" | "s3:LifecycleExpiration:DeleteMarkerCreated" | "s3:LifecycleTransition" | "s3:IntelligentTiering" | "s3:ObjectTagging:*" | "s3:ObjectTagging:Put" | "s3:ObjectTagging:Delete" | "s3:ObjectAcl:Put">[]>;
684
+ /**
685
+ * An S3 object key prefix that will trigger a notification.
686
+ * @example
687
+ * To be notified for all the objects in the `images/` folder.
688
+ * ```js
689
+ * {
690
+ * filterPrefix: "images/"
691
+ * }
692
+ * ```
693
+ */
694
+ filterPrefix?: Input<string>;
695
+ /**
696
+ * An S3 object key suffix that will trigger the notification.
697
+ * @example
698
+ * To be notified for all the objects with the `.jpg` suffix.
699
+ * ```js
700
+ * {
701
+ * filterSuffix: ".jpg"
702
+ * }
703
+ * ```
704
+ */
705
+ filterSuffix?: Input<string>;
706
+ }>[]>;
707
+ /**
708
+ * [Transform](/docs/components#transform) how this notification creates its underlying
709
+ * resources.
710
+ */
711
+ transform?: {
712
+ /**
713
+ * Transform the S3 Bucket Notification resource.
714
+ */
715
+ notification?: Transform<s3.BucketNotificationArgs>;
716
+ };
717
+ }
718
+ export interface BucketEventBridgeSubscriberArgs extends Omit<BusSubscriberArgs, "pattern"> {
719
+ /**
720
+ * Filter the S3 events that'll be processed by the subscriber. The `source` and
721
+ * bucket name are automatically added to the EventBridge pattern.
722
+ */
723
+ pattern?: Input<{
724
+ /**
725
+ * A list of `detail-type` values to match against. These are the names of the S3
726
+ * events: `Object Created`, `Object Deleted`, `Object Restore Initiated`,
727
+ * `Object Restore Completed`, `Object Restore Expired`, `Object Tags Added`,
728
+ * `Object Tags Deleted`, `Object ACL Updated`, `Object Storage Class Changed`,
729
+ * `Object Access Tier Changed` and `Async Copy Completion`. Leave it out to match
730
+ * all of them.
731
+ *
732
+ * @example
733
+ * ```js
734
+ * {
735
+ * detailType: ["Object Created"]
736
+ * }
737
+ * ```
738
+ */
739
+ detailType?: Input<Input<"Object Created" | "Object Deleted" | "Object Restore Initiated" | "Object Restore Completed" | "Object Restore Expired" | "Object Tags Added" | "Object Tags Deleted" | "Object ACL Updated" | "Object Storage Class Changed" | "Object Access Tier Changed" | "Async Copy Completion" | string>[]>;
740
+ /**
741
+ * An object of `detail` values to match.
742
+ *
743
+ * @example
744
+ * ```js
745
+ * {
746
+ * detail: {
747
+ * object: {
748
+ * key: [{ prefix: "images/" }]
749
+ * }
750
+ * }
751
+ * }
752
+ * ```
753
+ */
754
+ detail?: Record<string, any>;
755
+ }>;
756
+ }
757
+ /**
758
+ * @internal
759
+ */
760
+ export interface BucketSubscriberArgs {
761
+ /**
762
+ * A list of S3 event types that'll trigger the notification.
763
+ * @default All S3 events
764
+ * @example
765
+ * ```js
766
+ * {
767
+ * events: ["s3:ObjectCreated:*", "s3:ObjectRemoved:*"]
768
+ * }
769
+ * ```
770
+ */
771
+ events?: Input<Input<"s3:ObjectCreated:*" | "s3:ObjectCreated:Put" | "s3:ObjectCreated:Post" | "s3:ObjectCreated:Copy" | "s3:ObjectCreated:CompleteMultipartUpload" | "s3:ObjectRemoved:*" | "s3:ObjectRemoved:Delete" | "s3:ObjectRemoved:DeleteMarkerCreated" | "s3:ObjectRestore:*" | "s3:ObjectRestore:Post" | "s3:ObjectRestore:Completed" | "s3:ObjectRestore:Delete" | "s3:ReducedRedundancyLostObject" | "s3:Replication:*" | "s3:Replication:OperationFailedReplication" | "s3:Replication:OperationMissedThreshold" | "s3:Replication:OperationReplicatedAfterThreshold" | "s3:Replication:OperationNotTracked" | "s3:LifecycleExpiration:*" | "s3:LifecycleExpiration:Delete" | "s3:LifecycleExpiration:DeleteMarkerCreated" | "s3:LifecycleTransition" | "s3:IntelligentTiering" | "s3:ObjectTagging:*" | "s3:ObjectTagging:Put" | "s3:ObjectTagging:Delete" | "s3:ObjectAcl:Put">[]>;
772
+ /**
773
+ * An S3 object key prefix that will trigger the notification.
774
+ * @example
775
+ * To filter for all the objects in the `images/` folder.
776
+ * ```js
777
+ * {
778
+ * filterPrefix: "images/"
779
+ * }
780
+ * ```
781
+ */
782
+ filterPrefix?: Input<string>;
783
+ /**
784
+ * An S3 object key suffix that will trigger the notification.
785
+ * @example
786
+ * To filter for all the objects with the `.jpg` suffix.
787
+ * ```js
788
+ * {
789
+ * filterSuffix: ".jpg"
790
+ * }
791
+ * ```
792
+ */
793
+ filterSuffix?: Input<string>;
794
+ /**
795
+ * [Transform](/docs/components#transform) how this notification creates its underlying
796
+ * resources.
797
+ */
798
+ transform?: {
799
+ /**
800
+ * Transform the S3 Bucket Notification resource.
801
+ */
802
+ notification?: Transform<s3.BucketNotificationArgs>;
803
+ };
804
+ }
805
+ /**
806
+ * The `Bucket` component lets you add an [AWS S3 Bucket](https://aws.amazon.com/s3/) to
807
+ * your app.
808
+ *
809
+ * @example
810
+ *
811
+ * #### Minimal example
812
+ *
813
+ * ```ts title="sst.config.ts"
814
+ * const bucket = new sst.aws.Bucket("MyBucket");
815
+ * ```
816
+ *
817
+ * #### Public read access
818
+ *
819
+ * Enable `public` read access for all the files in the bucket. Useful for hosting public files.
820
+ *
821
+ * ```ts title="sst.config.ts"
822
+ * new sst.aws.Bucket("MyBucket", {
823
+ * access: "public"
824
+ * });
825
+ * ```
826
+ *
827
+ * #### Add a subscriber
828
+ *
829
+ * ```ts title="sst.config.ts"
830
+ * bucket.notify({
831
+ * notifications: [
832
+ * {
833
+ * name: "MySubscriber",
834
+ * function: "src/subscriber.handler"
835
+ * }
836
+ * ]
837
+ * });
838
+ * ```
839
+ *
840
+ * #### Link the bucket to a resource
841
+ *
842
+ * You can link the bucket to other resources, like a function or your Next.js app.
843
+ *
844
+ * ```ts title="sst.config.ts"
845
+ * new sst.aws.Nextjs("MyWeb", {
846
+ * link: [bucket]
847
+ * });
848
+ * ```
849
+ *
850
+ * Once linked, you can generate a pre-signed URL to upload files in your app.
851
+ *
852
+ * ```ts title="app/page.tsx" {1,7}
853
+ * import { Resource } from "sst";
854
+ * import { getSignedUrl } from "@aws-sdk/s3-request-presigner";
855
+ * import { S3Client, PutObjectCommand } from "@aws-sdk/client-s3";
856
+ *
857
+ * const command = new PutObjectCommand({
858
+ * Key: "file.txt",
859
+ * Bucket: Resource.MyBucket.name
860
+ * });
861
+ * await getSignedUrl(new S3Client({}), command);
862
+ * ```
863
+ */
864
+ export declare class Bucket extends Component implements Link.Linkable {
865
+ private constructorName;
866
+ private constructorOpts;
867
+ private isSubscribed;
868
+ private bucket;
869
+ constructor(name: string, args?: BucketArgs, opts?: ComponentResourceOptions);
870
+ /**
871
+ * The generated name of the S3 Bucket.
872
+ */
873
+ get name(): Output<string>;
874
+ /**
875
+ * The domain name of the bucket. Has the format `${bucketName}.s3.amazonaws.com`.
876
+ */
877
+ get domain(): Output<string>;
878
+ /**
879
+ * The ARN of the S3 Bucket.
880
+ */
881
+ get arn(): Output<string>;
882
+ /**
883
+ * The underlying [resources](/docs/components/#nodes) this component creates.
884
+ */
885
+ get nodes(): {
886
+ /**
887
+ * The Amazon S3 bucket.
888
+ */
889
+ bucket: Output<import("@pulumi/aws/s3/bucket").Bucket>;
890
+ };
891
+ /**
892
+ * Reference an existing bucket with the given bucket name. This is useful when you
893
+ * create a bucket in one stage and want to share it in another stage. It avoids having to
894
+ * create a new bucket in the other stage.
895
+ *
896
+ * :::tip
897
+ * You can use the `static get` method to share buckets across stages.
898
+ * :::
899
+ *
900
+ * @param name The name of the component.
901
+ * @param bucketName The name of the existing S3 Bucket.
902
+ * @param opts Resource options.
903
+ *
904
+ * @example
905
+ * Imagine you create a bucket in the `dev` stage. And in your personal stage `frank`,
906
+ * instead of creating a new bucket, you want to share the bucket from `dev`.
907
+ *
908
+ * ```ts title="sst.config.ts"
909
+ * const bucket = $app.stage === "frank"
910
+ * ? sst.aws.Bucket.get("MyBucket", "app-dev-mybucket-12345678")
911
+ * : new sst.aws.Bucket("MyBucket");
912
+ * ```
913
+ *
914
+ * Here `app-dev-mybucket-12345678` is the auto-generated bucket name for the bucket created
915
+ * in the `dev` stage. You can find this by outputting the bucket name in the `dev` stage.
916
+ *
917
+ * ```ts title="sst.config.ts"
918
+ * return {
919
+ * bucket: bucket.name
920
+ * };
921
+ * ```
922
+ */
923
+ static get(name: string, bucketName: string, opts?: ComponentResourceOptions): Bucket;
924
+ /**
925
+ * Subscribe to event notifications from this bucket. You can subscribe to these
926
+ * notifications with a function, a queue, or a topic.
927
+ *
928
+ * @param args The config for the event notifications.
929
+ *
930
+ * @example
931
+ *
932
+ * For exmaple, to notify a function:
933
+ *
934
+ * ```js title="sst.config.ts" {5}
935
+ * bucket.notify({
936
+ * notifications: [
937
+ * {
938
+ * name: "MySubscriber",
939
+ * function: "src/subscriber.handler"
940
+ * }
941
+ * ]
942
+ * });
943
+ * ```
944
+ *
945
+ * Or let's say you have a queue.
946
+ *
947
+ * ```js title="sst.config.ts"
948
+ * const myQueue = new sst.aws.Queue("MyQueue");
949
+ * ```
950
+ *
951
+ * You can notify it by passing in the queue.
952
+ *
953
+ * ```js title="sst.config.ts" {5}
954
+ * bucket.notify({
955
+ * notifications: [
956
+ * {
957
+ * name: "MySubscriber",
958
+ * queue: myQueue
959
+ * }
960
+ * ]
961
+ * });
962
+ * ```
963
+ *
964
+ * Or let's say you have a topic.
965
+ *
966
+ * ```js title="sst.config.ts"
967
+ * const myTopic = new sst.aws.SnsTopic("MyTopic");
968
+ * ```
969
+ *
970
+ * You can notify it by passing in the topic.
971
+ *
972
+ * ```js title="sst.config.ts" {5}
973
+ * bucket.notify({
974
+ * notifications: [
975
+ * {
976
+ * name: "MySubscriber",
977
+ * topic: myTopic
978
+ * }
979
+ * ]
980
+ * });
981
+ * ```
982
+ *
983
+ * Or enable EventBridge notifications for this bucket. This publishes S3 events
984
+ * to the account's default EventBridge bus.
985
+ *
986
+ * ```js title="sst.config.ts"
987
+ * bucket.notify({
988
+ * eventBridge: true
989
+ * });
990
+ * ```
991
+ *
992
+ * You can also set it to only send notifications for specific S3 events.
993
+ *
994
+ * ```js {6}
995
+ * bucket.notify({
996
+ * notifications: [
997
+ * {
998
+ * name: "MySubscriber",
999
+ * function: "src/subscriber.handler",
1000
+ * events: ["s3:ObjectCreated:*", "s3:ObjectRemoved:*"]
1001
+ * }
1002
+ * ]
1003
+ * });
1004
+ * ```
1005
+ *
1006
+ * And you can add filters to be only notified from specific files in the bucket.
1007
+ *
1008
+ * ```js {6}
1009
+ * bucket.notify({
1010
+ * notifications: [
1011
+ * {
1012
+ * name: "MySubscriber",
1013
+ * function: "src/subscriber.handler",
1014
+ * filterPrefix: "images/"
1015
+ * }
1016
+ * ]
1017
+ * });
1018
+ * ```
1019
+ */
1020
+ notify(args: BucketNotificationsArgs): BucketNotification;
1021
+ /**
1022
+ * Subscribe to S3 EventBridge notifications from a bucket with a function. The bucket
1023
+ * is given by name, so it can be one that SST doesn't manage.
1024
+ *
1025
+ * This creates an EventBridge rule on the account's default bus, and a target for
1026
+ * it, only. The rule matches the events of that one bucket. The bucket has to publish
1027
+ * to EventBridge for it to receive anything: for a bucket in your app, that's
1028
+ * `notify({ eventBridge: true })`; for any other bucket, turn it on there.
1029
+ *
1030
+ * @param name The name of the subscription.
1031
+ * @param bucketName The name of the S3 bucket to subscribe to.
1032
+ * @param subscriber The function that'll be notified.
1033
+ * @param args Configure the subscription.
1034
+ *
1035
+ * @example
1036
+ * ```js title="sst.config.ts"
1037
+ * sst.aws.Bucket.subscribeEventBridge("Uploads", "my-bucket", "src/subscriber.handler", {
1038
+ * pattern: {
1039
+ * detailType: ["Object Created"],
1040
+ * detail: {
1041
+ * object: {
1042
+ * key: [{ prefix: "uploads/" }]
1043
+ * }
1044
+ * }
1045
+ * }
1046
+ * });
1047
+ * ```
1048
+ */
1049
+ static subscribeEventBridge(name: string, bucketName: Input<string>, subscriber: Input<string | Workflow | Function | FunctionArgs | FunctionArn>, args?: BucketEventBridgeSubscriberArgs): Output<BusLambdaSubscriber>;
1050
+ /**
1051
+ * Subscribe to events from this bucket.
1052
+ *
1053
+ * @deprecated The `notify` function is now the recommended way to subscribe to events
1054
+ * from this bucket. It allows you to configure multiple subscribers at once. To migrate,
1055
+ * remove the current subscriber, deploy the changes, and then add the subscriber
1056
+ * back using the new `notify` function.
1057
+ *
1058
+ * @param subscriber The function that'll be notified.
1059
+ * @param args Configure the subscription.
1060
+ *
1061
+ * @example
1062
+ *
1063
+ * ```js title="sst.config.ts"
1064
+ * bucket.subscribe("src/subscriber.handler");
1065
+ * ```
1066
+ *
1067
+ * Subscribe to specific S3 events. The `link` ensures the subscriber can access the bucket.
1068
+ *
1069
+ * ```js title="sst.config.ts" "link: [bucket]"
1070
+ * bucket.subscribe({
1071
+ * handler: "src/subscriber.handler",
1072
+ * link: [bucket]
1073
+ * }, {
1074
+ * events: ["s3:ObjectCreated:*", "s3:ObjectRemoved:*"]
1075
+ * });
1076
+ * ```
1077
+ *
1078
+ * Subscribe to specific S3 events from a specific folder.
1079
+ *
1080
+ * ```js title="sst.config.ts" {2}
1081
+ * bucket.subscribe("src/subscriber.handler", {
1082
+ * filterPrefix: "images/",
1083
+ * events: ["s3:ObjectCreated:*", "s3:ObjectRemoved:*"]
1084
+ * });
1085
+ * ```
1086
+ *
1087
+ * Customize the subscriber function.
1088
+ *
1089
+ * ```js title="sst.config.ts"
1090
+ * bucket.subscribe({
1091
+ * handler: "src/subscriber.handler",
1092
+ * timeout: "60 seconds",
1093
+ * });
1094
+ * ```
1095
+ *
1096
+ * Or pass in the ARN of an existing Lambda function.
1097
+ *
1098
+ * ```js title="sst.config.ts"
1099
+ * bucket.subscribe("arn:aws:lambda:us-east-1:123456789012:function:my-function");
1100
+ * ```
1101
+ */
1102
+ subscribe(subscriber: Input<string | FunctionArgs | FunctionArn>, args?: BucketSubscriberArgs): Output<BucketLambdaSubscriber>;
1103
+ /**
1104
+ * Subscribe to events of an S3 bucket that was not created in your app.
1105
+ *
1106
+ * @deprecated The `notify` function is now the recommended way to subscribe to events
1107
+ * from this bucket. It allows you to configure multiple subscribers at once. To migrate,
1108
+ * remove the current subscriber, deploy the changes, and then add the subscriber
1109
+ * back using the new `notify` function.
1110
+ *
1111
+ * @param bucketArn The ARN of the S3 bucket to subscribe to.
1112
+ * @param subscriber The function that'll be notified.
1113
+ * @param args Configure the subscription.
1114
+ *
1115
+ * @example
1116
+ *
1117
+ * For example, let's say you have an existing S3 bucket with the following ARN.
1118
+ *
1119
+ * ```js title="sst.config.ts"
1120
+ * const bucketArn = "arn:aws:s3:::my-bucket";
1121
+ * ```
1122
+ *
1123
+ * You can subscribe to it by passing in the ARN.
1124
+ *
1125
+ * ```js title="sst.config.ts"
1126
+ * sst.aws.Bucket.subscribe(bucketArn, "src/subscriber.handler");
1127
+ * ```
1128
+ *
1129
+ * Subscribe to specific S3 events.
1130
+ *
1131
+ * ```js title="sst.config.ts"
1132
+ * sst.aws.Bucket.subscribe(bucketArn, "src/subscriber.handler", {
1133
+ * events: ["s3:ObjectCreated:*", "s3:ObjectRemoved:*"]
1134
+ * });
1135
+ * ```
1136
+ *
1137
+ * Subscribe to specific S3 events from a specific folder.
1138
+ *
1139
+ * ```js title="sst.config.ts" {2}
1140
+ * sst.aws.Bucket.subscribe(bucketArn, "src/subscriber.handler", {
1141
+ * filterPrefix: "images/",
1142
+ * events: ["s3:ObjectCreated:*", "s3:ObjectRemoved:*"]
1143
+ * });
1144
+ * ```
1145
+ *
1146
+ * Customize the subscriber function.
1147
+ *
1148
+ * ```js title="sst.config.ts"
1149
+ * sst.aws.Bucket.subscribe(bucketArn, {
1150
+ * handler: "src/subscriber.handler",
1151
+ * timeout: "60 seconds",
1152
+ * });
1153
+ * ```
1154
+ */
1155
+ static subscribe(bucketArn: Input<string>, subscriber: Input<string | FunctionArgs | FunctionArn>, args?: BucketSubscriberArgs): Output<BucketLambdaSubscriber>;
1156
+ private static _subscribeFunction;
1157
+ /**
1158
+ * Subscribe to events from this bucket with an SQS Queue.
1159
+ *
1160
+ * @deprecated The `notify` function is now the recommended way to subscribe to events
1161
+ * from this bucket. It allows you to configure multiple subscribers at once. To migrate,
1162
+ * remove the current subscriber, deploy the changes, and then add the subscriber
1163
+ * back using the new `notify` function.
1164
+ *
1165
+ * @param queueArn The ARN of the queue that'll be notified.
1166
+ * @param args Configure the subscription.
1167
+ *
1168
+ * @example
1169
+ *
1170
+ * For example, let's say you have a queue.
1171
+ *
1172
+ * ```js title="sst.config.ts"
1173
+ * const queue = new sst.aws.Queue("MyQueue");
1174
+ * ```
1175
+ *
1176
+ * You can subscribe to this bucket with it.
1177
+ *
1178
+ * ```js title="sst.config.ts"
1179
+ * bucket.subscribe(queue.arn);
1180
+ * ```
1181
+ *
1182
+ * Subscribe to specific S3 events.
1183
+ *
1184
+ * ```js title="sst.config.ts"
1185
+ * bucket.subscribe(queue.arn, {
1186
+ * events: ["s3:ObjectCreated:*", "s3:ObjectRemoved:*"]
1187
+ * });
1188
+ * ```
1189
+ *
1190
+ * Subscribe to specific S3 events from a specific folder.
1191
+ *
1192
+ * ```js title="sst.config.ts" {2}
1193
+ * bucket.subscribe(queue.arn, {
1194
+ * filterPrefix: "images/",
1195
+ * events: ["s3:ObjectCreated:*", "s3:ObjectRemoved:*"]
1196
+ * });
1197
+ * ```
1198
+ */
1199
+ subscribeQueue(queueArn: Input<string>, args?: BucketSubscriberArgs): Output<BucketQueueSubscriber>;
1200
+ /**
1201
+ * Subscribe to events of an S3 bucket that was not created in your app with an SQS Queue.
1202
+ *
1203
+ * @deprecated The `notify` function is now the recommended way to subscribe to events
1204
+ * from this bucket. It allows you to configure multiple subscribers at once. To migrate,
1205
+ * remove the current subscriber, deploy the changes, and then add the subscriber
1206
+ * back using the new `notify` function.
1207
+ *
1208
+ * @param bucketArn The ARN of the S3 bucket to subscribe to.
1209
+ * @param queueArn The ARN of the queue that'll be notified.
1210
+ * @param args Configure the subscription.
1211
+ *
1212
+ * @example
1213
+ *
1214
+ * For example, let's say you have an existing S3 bucket and SQS queue with the following ARNs.
1215
+ *
1216
+ * ```js title="sst.config.ts"
1217
+ * const bucketArn = "arn:aws:s3:::my-bucket";
1218
+ * const queueArn = "arn:aws:sqs:us-east-1:123456789012:MyQueue";
1219
+ * ```
1220
+ *
1221
+ * You can subscribe to the bucket with the queue.
1222
+ *
1223
+ * ```js title="sst.config.ts"
1224
+ * sst.aws.Bucket.subscribeQueue(bucketArn, queueArn);
1225
+ * ```
1226
+ *
1227
+ * Subscribe to specific S3 events.
1228
+ *
1229
+ * ```js title="sst.config.ts"
1230
+ * sst.aws.Bucket.subscribeQueue(bucketArn, queueArn, {
1231
+ * events: ["s3:ObjectCreated:*", "s3:ObjectRemoved:*"]
1232
+ * });
1233
+ * ```
1234
+ *
1235
+ * Subscribe to specific S3 events from a specific folder.
1236
+ *
1237
+ * ```js title="sst.config.ts" {2}
1238
+ * sst.aws.Bucket.subscribeQueue(bucketArn, queueArn, {
1239
+ * filterPrefix: "images/",
1240
+ * events: ["s3:ObjectCreated:*", "s3:ObjectRemoved:*"]
1241
+ * });
1242
+ * ```
1243
+ */
1244
+ static subscribeQueue(bucketArn: Input<string>, queueArn: Input<string>, args?: BucketSubscriberArgs): Output<BucketQueueSubscriber>;
1245
+ private static _subscribeQueue;
1246
+ /**
1247
+ * Subscribe to events from this bucket with an SNS Topic.
1248
+ *
1249
+ * @deprecated The `notify` function is now the recommended way to subscribe to events
1250
+ * from this bucket. It allows you to configure multiple subscribers at once. To migrate,
1251
+ * remove the current subscriber, deploy the changes, and then add the subscriber
1252
+ * back using the new `notify` function.
1253
+ *
1254
+ * @param topicArn The ARN of the topic that'll be notified.
1255
+ * @param args Configure the subscription.
1256
+ *
1257
+ * @example
1258
+ *
1259
+ * For example, let's say you have a topic.
1260
+ *
1261
+ * ```js title="sst.config.ts"
1262
+ * const topic = new sst.aws.SnsTopic("MyTopic");
1263
+ * ```
1264
+ *
1265
+ * You can subscribe to this bucket with it.
1266
+ *
1267
+ * ```js title="sst.config.ts"
1268
+ * bucket.subscribe(topic.arn);
1269
+ * ```
1270
+ *
1271
+ * Subscribe to specific S3 events.
1272
+ *
1273
+ * ```js title="sst.config.ts"
1274
+ * bucket.subscribe(topic.arn, {
1275
+ * events: ["s3:ObjectCreated:*", "s3:ObjectRemoved:*"]
1276
+ * });
1277
+ * ```
1278
+ *
1279
+ * Subscribe to specific S3 events from a specific folder.
1280
+ *
1281
+ * ```js title="sst.config.ts" {2}
1282
+ * bucket.subscribe(topic.arn, {
1283
+ * filterPrefix: "images/",
1284
+ * events: ["s3:ObjectCreated:*", "s3:ObjectRemoved:*"]
1285
+ * });
1286
+ * ```
1287
+ */
1288
+ subscribeTopic(topicArn: Input<string>, args?: BucketSubscriberArgs): Output<BucketTopicSubscriber>;
1289
+ /**
1290
+ * Subscribe to events of an S3 bucket that was not created in your app with an SNS Topic.
1291
+ *
1292
+ * @deprecated The `notify` function is now the recommended way to subscribe to events
1293
+ * from this bucket. It allows you to configure multiple subscribers at once. To migrate,
1294
+ * remove the current subscriber, deploy the changes, and then add the subscriber
1295
+ * back using the new `notify` function.
1296
+ *
1297
+ * @param bucketArn The ARN of the S3 bucket to subscribe to.
1298
+ * @param topicArn The ARN of the topic that'll be notified.
1299
+ * @param args Configure the subscription.
1300
+ *
1301
+ * @example
1302
+ *
1303
+ * For example, let's say you have an existing S3 bucket and SNS topic with the following ARNs.
1304
+ *
1305
+ * ```js title="sst.config.ts"
1306
+ * const bucketArn = "arn:aws:s3:::my-bucket";
1307
+ * const topicArn = "arn:aws:sns:us-east-1:123456789012:MyTopic";
1308
+ * ```
1309
+ *
1310
+ * You can subscribe to the bucket with the topic.
1311
+ *
1312
+ * ```js title="sst.config.ts"
1313
+ * sst.aws.Bucket.subscribe(bucketArn, topicArn);
1314
+ * ```
1315
+ *
1316
+ * Subscribe to specific S3 events.
1317
+ *
1318
+ * ```js title="sst.config.ts"
1319
+ * sst.aws.Bucket.subscribe(bucketArn, topicArn, {
1320
+ * events: ["s3:ObjectCreated:*", "s3:ObjectRemoved:*"]
1321
+ * });
1322
+ * ```
1323
+ *
1324
+ * Subscribe to specific S3 events from a specific folder.
1325
+ *
1326
+ * ```js title="sst.config.ts" {2}
1327
+ * sst.aws.Bucket.subscribe(bucketArn, topicArn, {
1328
+ * filterPrefix: "images/",
1329
+ * events: ["s3:ObjectCreated:*", "s3:ObjectRemoved:*"]
1330
+ * });
1331
+ * ```
1332
+ */
1333
+ static subscribeTopic(bucketArn: Input<string>, topicArn: Input<string>, args?: BucketSubscriberArgs): Output<BucketTopicSubscriber>;
1334
+ private static _subscribeTopic;
1335
+ private static buildSubscriberId;
1336
+ private ensureNotSubscribed;
1337
+ /** @internal */
1338
+ getSSTLink(): {
1339
+ properties: {
1340
+ name: Output<string>;
1341
+ };
1342
+ include: {
1343
+ effect?: "allow" | "deny" | undefined;
1344
+ actions: string[];
1345
+ resources: Input<Input<string>[]>;
1346
+ conditions?: Input<Input<{
1347
+ test: Input<string>;
1348
+ variable: Input<string>;
1349
+ values: Input<Input<string>[]>;
1350
+ }>[]> | undefined;
1351
+ type: "aws.permission";
1352
+ }[];
1353
+ };
1354
+ }
1355
+ export {};
1356
+ //# sourceMappingURL=bucket.d.ts.map