@sst-community/sst 4.19.0 → 5.0.0-alpha.1

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 +92 -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-ONNI4XNK.js +367 -0
  8. package/platform/js/chunks/chunk-ONNI4XNK.js.map +6 -0
  9. package/platform/js/chunks/chunk-VIFHC73J.js +108 -0
  10. package/platform/js/chunks/chunk-VIFHC73J.js.map +6 -0
  11. package/platform/js/chunks/chunk-WJ6BVA46.js +10 -0
  12. package/platform/js/chunks/chunk-WJ6BVA46.js.map +6 -0
  13. package/platform/js/chunks/chunk-ZOXXXME5.js +472 -0
  14. package/platform/js/chunks/chunk-ZOXXXME5.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-DMGMTLNB.js +10 -0
  18. package/platform/js/chunks/config-DMGMTLNB.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 +35362 -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 +3227 -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 +202 -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 +1047 -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 +3281 -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 +1527 -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 +1460 -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 +1755 -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 +525 -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 +1754 -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 +582 -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 +241 -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 +1437 -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,855 @@
1
+ import {
2
+ all,
3
+ ComponentResourceOptions,
4
+ interpolate,
5
+ jsonStringify,
6
+ Output,
7
+ output,
8
+ } from "@pulumi/pulumi";
9
+ import { RandomPassword } from "@pulumi/random";
10
+ import { iam, rds, secretsmanager } from "@pulumi/aws";
11
+ import {
12
+ type LinkInclude,
13
+ V5Args,
14
+ component,
15
+ many,
16
+ optional,
17
+ } from "../../parts-component";
18
+ import { plain, withDefault } from "../../args";
19
+ import type { Input } from "../../input";
20
+ import { VisibleError } from "../../error";
21
+ import { toSeconds } from "../../duration";
22
+ import { transformPart } from "../../transform";
23
+ import { DevCommand } from "../../experimental/dev-command";
24
+ import {
25
+ credentialsSecretOf,
26
+ proxyArgs,
27
+ type ProxyArgs,
28
+ proxyCredentials,
29
+ proxyRoleArgs,
30
+ storedPassword,
31
+ } from "../helpers/rds";
32
+ import { permission } from "../permission";
33
+ import { RdsRoleLookup } from "../providers/rds-role-lookup";
34
+ import { type TakesVpc, isVpc } from "../helpers/vpc";
35
+ import type { AuroraArgs as OriginalAuroraArgs } from "../aurora";
36
+
37
+ const parts = {
38
+ /**
39
+ * The random password of the master user. It's created when you don't set a `password`.
40
+ */
41
+ password: optional(RandomPassword),
42
+ /**
43
+ * The Secrets Manager secret that stores the master user's username and password.
44
+ */
45
+ secret: secretsmanager.Secret,
46
+ /**
47
+ * The version of the secret holding the current username and password.
48
+ */
49
+ secretVersion: secretsmanager.SecretVersion,
50
+ /**
51
+ * The RDS subnet group.
52
+ */
53
+ subnetGroup: rds.SubnetGroup,
54
+ /**
55
+ * The RDS instance parameter group.
56
+ */
57
+ instanceParameterGroup: rds.ParameterGroup,
58
+ /**
59
+ * The RDS cluster parameter group.
60
+ */
61
+ clusterParameterGroup: rds.ClusterParameterGroup,
62
+ /**
63
+ * The RDS Cluster.
64
+ */
65
+ cluster: rds.Cluster,
66
+ /**
67
+ * The primary database instance in the RDS Cluster.
68
+ */
69
+ instance: rds.ClusterInstance,
70
+ /**
71
+ * The read-only replicas in the RDS Cluster, by number, from `0`.
72
+ */
73
+ replica: many(rds.ClusterInstance),
74
+ /**
75
+ * The secrets that store the additional credentials the proxy can use, by username.
76
+ */
77
+ proxySecret: many(secretsmanager.Secret),
78
+ /**
79
+ * The versions of the secrets holding the additional credentials, by username.
80
+ */
81
+ proxySecretVersion: many(secretsmanager.SecretVersion),
82
+ /**
83
+ * The IAM role that lets the proxy read the secrets.
84
+ */
85
+ proxyRole: optional(iam.Role),
86
+ /**
87
+ * Waits for the service-linked role RDS needs before the proxy is created.
88
+ */
89
+ proxyRoleLookup: optional(RdsRoleLookup),
90
+ /**
91
+ * The RDS Proxy. For a cluster referenced with `get`, it's added once the
92
+ * cluster's tags are read.
93
+ */
94
+ proxy: optional(rds.Proxy),
95
+ /**
96
+ * The proxy's default target group.
97
+ */
98
+ proxyTargetGroup: optional(rds.ProxyDefaultTargetGroup),
99
+ /**
100
+ * The proxy's target: the cluster.
101
+ */
102
+ proxyTarget: optional(rds.ProxyTarget),
103
+ };
104
+
105
+ export interface AuroraArgs
106
+ extends V5Args<
107
+ TakesVpc<Omit<OriginalAuroraArgs, "proxy" | "replicas">>,
108
+ typeof parts
109
+ > {
110
+ /**
111
+ * The number of read-only Aurora replicas to create.
112
+ *
113
+ * By default, the cluster has one primary DB instance that is used for both writes and
114
+ * reads. You can add up to 15 read-only replicas to offload the read traffic from the
115
+ * primary instance.
116
+ *
117
+ * This has to be a plain value.
118
+ *
119
+ * @default `0`
120
+ * @example
121
+ * ```js
122
+ * {
123
+ * replicas: 2
124
+ * }
125
+ * ```
126
+ */
127
+ replicas?: number;
128
+ /**
129
+ * Enable [RDS Proxy](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-proxy.html)
130
+ * for the database.
131
+ *
132
+ * Amazon RDS Proxy sits between your application and the database and manages connections to
133
+ * it. It's useful for serverless applications, or Lambda functions where each invocation
134
+ * might create a new connection.
135
+ *
136
+ * There's an [extra cost](#cost) attached to enabling this. Check out the [RDS Proxy
137
+ * pricing](https://aws.amazon.com/rds/proxy/pricing/) for more details.
138
+ *
139
+ * Whether there is a proxy has to be a plain value.
140
+ *
141
+ * @default `false`
142
+ * @example
143
+ * ```js
144
+ * {
145
+ * proxy: true
146
+ * }
147
+ * ```
148
+ */
149
+ proxy?: boolean | ProxyArgs;
150
+ }
151
+
152
+ /** What the rest of the app reads from the database, deployed or local. */
153
+ interface Connection {
154
+ id: Output<string>;
155
+ clusterArn: Output<string>;
156
+ secretArn: Output<string>;
157
+ host: Output<string>;
158
+ /** Where read-only connections go. */
159
+ reader: Output<string>;
160
+ port: Output<number>;
161
+ username: Output<string>;
162
+ password: Output<string>;
163
+ database: Output<string>;
164
+ /** The proxy connections go through, when there's one to deploy or look up. */
165
+ proxy?: Output<rds.Proxy | undefined>;
166
+ /** What a linked resource is allowed to do with the database. */
167
+ include: LinkInclude[];
168
+ }
169
+
170
+ const acus = (acu: string) => parseFloat(acu.split(" ")[0]);
171
+
172
+ /**
173
+ * The `Aurora` component lets you add a Aurora Postgres or MySQL cluster to your app
174
+ * using [Amazon Aurora Serverless v2](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.html).
175
+ *
176
+ * It takes the same args as [`sst.aws.Aurora`](/docs/component/aws/aurora) and creates the same
177
+ * resources. It's built from parts, so every resource it creates can be transformed, is
178
+ * available in `nodes`, and can be swapped for one you already have.
179
+ *
180
+ * @example
181
+ *
182
+ * #### Create an Aurora Postgres cluster
183
+ *
184
+ * ```js title="sst.config.ts"
185
+ * const vpc = new sst.aws.Vpc("MyVpc");
186
+ * const database = new sst.aws.v5.Aurora("MyDatabase", {
187
+ * engine: "postgres",
188
+ * vpc
189
+ * });
190
+ * ```
191
+ *
192
+ * #### Create an Aurora MySQL cluster
193
+ *
194
+ * ```js title="sst.config.ts"
195
+ * const vpc = new sst.aws.Vpc("MyVpc");
196
+ * const database = new sst.aws.v5.Aurora("MyDatabase", {
197
+ * engine: "mysql",
198
+ * vpc
199
+ * });
200
+ * ```
201
+ *
202
+ * #### Change the scaling config
203
+ *
204
+ * ```js title="sst.config.ts"
205
+ * new sst.aws.v5.Aurora("MyDatabase", {
206
+ * engine: "postgres",
207
+ * scaling: {
208
+ * min: "2 ACU",
209
+ * max: "128 ACU"
210
+ * },
211
+ * vpc
212
+ * });
213
+ * ```
214
+ *
215
+ * #### Link to a resource
216
+ *
217
+ * You can link your database to other resources, like a function or your Next.js app.
218
+ *
219
+ * ```ts title="sst.config.ts"
220
+ * new sst.aws.Nextjs("MyWeb", {
221
+ * link: [database],
222
+ * vpc
223
+ * });
224
+ * ```
225
+ *
226
+ * Once linked, you can connect to it from your function code.
227
+ *
228
+ * ```ts title="app/page.tsx" {1,5-9}
229
+ * import { Resource } from "sst";
230
+ * import postgres from "postgres";
231
+ *
232
+ * const sql = postgres({
233
+ * username: Resource.MyDatabase.username,
234
+ * password: Resource.MyDatabase.password,
235
+ * database: Resource.MyDatabase.database,
236
+ * host: Resource.MyDatabase.host,
237
+ * port: Resource.MyDatabase.port
238
+ * });
239
+ * ```
240
+ *
241
+ * #### Enable the RDS Data API
242
+ *
243
+ * ```ts title="sst.config.ts"
244
+ * new sst.aws.v5.Aurora("MyDatabase", {
245
+ * engine: "postgres",
246
+ * dataApi: true,
247
+ * vpc
248
+ * });
249
+ * ```
250
+ *
251
+ * When using the Data API, connecting to the database does not require a persistent
252
+ * connection, and works over HTTP. You also don't need the `sst tunnel` or a VPN to connect
253
+ * to it from your local machine.
254
+ *
255
+ * ```ts title="app/page.tsx" {1,6,7,8}
256
+ * import { Resource } from "sst";
257
+ * import { drizzle } from "drizzle-orm/aws-data-api/pg";
258
+ * import { RDSDataClient } from "@aws-sdk/client-rds-data";
259
+ *
260
+ * drizzle(new RDSDataClient({}), {
261
+ * database: Resource.MyDatabase.database,
262
+ * secretArn: Resource.MyDatabase.secretArn,
263
+ * resourceArn: Resource.MyDatabase.clusterArn
264
+ * });
265
+ * ```
266
+ *
267
+ * #### Running locally
268
+ *
269
+ * By default, your Aurora database is deployed in `sst dev`. But let's say you are running
270
+ * Postgres locally.
271
+ *
272
+ * ```bash
273
+ * docker run \
274
+ * --rm \
275
+ * -p 5432:5432 \
276
+ * -v $(pwd)/.sst/storage/postgres:/var/lib/postgresql/data \
277
+ * -e POSTGRES_USER=postgres \
278
+ * -e POSTGRES_PASSWORD=password \
279
+ * -e POSTGRES_DB=local \
280
+ * postgres:17
281
+ * ```
282
+ *
283
+ * You can connect to it in `sst dev` by configuring the `dev` prop.
284
+ *
285
+ * ```ts title="sst.config.ts" {4-9}
286
+ * new sst.aws.v5.Aurora("MyDatabase", {
287
+ * engine: "postgres",
288
+ * vpc,
289
+ * dev: {
290
+ * username: "postgres",
291
+ * password: "password",
292
+ * database: "local",
293
+ * port: 5432
294
+ * }
295
+ * });
296
+ * ```
297
+ *
298
+ * This will skip deploying the database and link to the locally running Postgres database
299
+ * instead.
300
+ *
301
+ * #### Switch from `sst.aws.Aurora`
302
+ *
303
+ * Change `sst.aws.Aurora` to `sst.aws.v5.Aurora` and keep the name. The cluster you've
304
+ * deployed is kept, and so is everything around it: its instances, password, secrets,
305
+ * parameter groups and proxy.
306
+ *
307
+ * ```ts title="sst.config.ts" del={1} ins={2}
308
+ * const database = new sst.aws.Aurora("MyDatabase", { engine: "postgres", vpc });
309
+ * const database = new sst.aws.v5.Aurora("MyDatabase", { engine: "postgres", vpc });
310
+ * ```
311
+ *
312
+ * A few things are written differently:
313
+ *
314
+ * - `replicas`, `proxy`, its list of `credentials`, and each credential's `username` are
315
+ * plain values, not outputs. They decide which resources are created.
316
+ * - `nodes` has every resource, not only the cluster and the instance. The secret that
317
+ * stores the master user's credentials is `nodes.secret`.
318
+ * - `transform.instance` still applies to the primary instance and to each replica. To
319
+ * change only the replicas, use `transform.replica`, which is applied after it.
320
+ * - If you set `tags` on the cluster with an object in `transform`, it keeps the tags SST
321
+ * sets next to yours. They're added back when you switch.
322
+ *
323
+ * ---
324
+ *
325
+ * ### Cost
326
+ *
327
+ * This component has one DB instance that is used for both writes and reads. The
328
+ * instance can scale from the minimum number of ACUs to the maximum number of ACUs. By default,
329
+ * this uses a `min` of 0 ACUs and a `max` of 4 ACUs.
330
+ *
331
+ * When the database is paused, you are not charged for the ACUs.
332
+ *
333
+ * Each ACU costs $0.12 per hour for both `postgres` and `mysql` engine. The storage costs
334
+ * $0.01 per GB per month for standard storage.
335
+ *
336
+ * So if your database is constantly using 1GB of memory or 0.5 ACUs, then you are charged
337
+ * $0.12 x 0.5 x 24 x 30 or **$43 per month**. And add the storage costs to this as well.
338
+ *
339
+ * The above are rough estimates for _us-east-1_, check out the
340
+ * [Amazon Aurora pricing](https://aws.amazon.com/rds/aurora/pricing) for more details.
341
+ *
342
+ * #### RDS Proxy
343
+ *
344
+ * If you enable the `proxy`, it uses _Aurora Capacity Units_ with a minumum of 8 ACUs at
345
+ * $0.015 per ACU hour.
346
+ *
347
+ * That works out to an **additional** $0.015 x 8 x 24 x 30 or **$86 per month**. Adjust
348
+ * this if you end up using more than 8 ACUs.
349
+ *
350
+ * The above are rough estimates for _us-east-1_, check out the
351
+ * [RDS Proxy pricing](https://aws.amazon.com/rds/proxy/pricing/) for more details.
352
+ *
353
+ * #### RDS Data API
354
+ *
355
+ * If you enable `dataApi`, you get charged an **additional** $0.35 per million requests for
356
+ * the first billion requests. After that, it's $0.20 per million requests.
357
+ *
358
+ * Check out the [RDS Data API pricing](https://aws.amazon.com/rds/aurora/pricing/#Data_API_costs)
359
+ * for more details.
360
+ */
361
+ export class Aurora extends component("sst:aws:Aurora", parts) {
362
+ private connection: Connection;
363
+
364
+ constructor(name: string, args: AuroraArgs, opts?: ComponentResourceOptions) {
365
+ super(name, args, opts);
366
+
367
+ const self = this;
368
+
369
+ // A cluster that's already deployed
370
+ const existing = this.existingPart("cluster");
371
+ if (existing) {
372
+ this.connection = reference(existing);
373
+ return;
374
+ }
375
+
376
+ const proxy = plain(args.proxy, `The "proxy" of the "${name}" database`);
377
+ const replicas =
378
+ plain(args.replicas, `The "replicas" of the "${name}" database`) ?? 0;
379
+ if (replicas > 15)
380
+ throw new VisibleError(
381
+ `Cannot create more than 15 read-only replicas for the "${name}" Aurora database.`,
382
+ );
383
+
384
+ const engine = output(args.engine);
385
+ const username = all([args.username, engine]).apply(
386
+ ([username, engine]) =>
387
+ username ?? { postgres: "postgres", mysql: "root" }[engine],
388
+ );
389
+ const dbName = withDefault(args.database, $app.name.replaceAll("-", "_"));
390
+
391
+ // In `sst dev`, a database on the user's machine stands in for the
392
+ // cluster. This is the only place the component handles dev mode.
393
+ const local = args.dev ? runLocally(args.dev) : undefined;
394
+ if (local && $dev) {
395
+ this.runsLocally();
396
+ this.connection = local;
397
+ return;
398
+ }
399
+
400
+ const version = all([args.version, engine]).apply(
401
+ ([version, engine]) =>
402
+ version ?? { postgres: "17", mysql: "3.08.0" }[engine],
403
+ );
404
+ const family = all([engine, version]).apply(([engine, version]) => {
405
+ if (engine === "postgres")
406
+ return `aurora-postgresql${version.split(".")[0]}`;
407
+ return version.startsWith("2") ? `aurora-mysql5.7` : `aurora-mysql8.0`;
408
+ });
409
+ const scaling = output(args.scaling).apply((scaling) => {
410
+ const max = scaling?.max ?? "4 ACU";
411
+ const min = scaling?.min ?? "0 ACU";
412
+ // A cluster that scales down to nothing is paused when it's idle
413
+ const pauses = acus(min) === 0;
414
+ if (scaling?.pauseAfter && !pauses)
415
+ throw new VisibleError(
416
+ `Cannot configure "pauseAfter" when the minimum ACU is not 0 for the "${name}" Aurora database.`,
417
+ );
418
+ return {
419
+ max,
420
+ min,
421
+ pauseAfter: pauses ? scaling?.pauseAfter ?? "5 minutes" : undefined,
422
+ };
423
+ });
424
+ const vpc = isVpc(args.vpc)
425
+ ? output({
426
+ subnets: args.vpc.privateSubnets,
427
+ securityGroups: args.vpc.securityGroups,
428
+ })
429
+ : output(args.vpc);
430
+ // An engine version the user didn't choose isn't moved once it's deployed
431
+ const pinned = (field: string) => (args.version ? [] : [field]);
432
+ const parameterGroupOpts = {
433
+ ignoreChanges: pinned("family"),
434
+ // Necessary for the subnet to be deleted after the instance.
435
+ // This is either a Pulumi bug or an undocumented feature.
436
+ deleteBeforeReplace: false,
437
+ };
438
+
439
+ const password = args.password
440
+ ? output(args.password)
441
+ : this.part("password", { length: 32, special: false }).result;
442
+
443
+ const secret = this.part("secret", { recoveryWindowInDays: 0 });
444
+ this.part("secretVersion", {
445
+ secretId: secret.id,
446
+ secretString: jsonStringify({ username, password }),
447
+ });
448
+
449
+ const subnetGroup = this.part("subnetGroup", { subnetIds: vpc.subnets });
450
+
451
+ const instanceParameterGroup = this.part(
452
+ "instanceParameterGroup",
453
+ { family, parameters: [] },
454
+ parameterGroupOpts,
455
+ );
456
+ const clusterParameterGroup = this.part(
457
+ "clusterParameterGroup",
458
+ { family, parameters: [] },
459
+ parameterGroupOpts,
460
+ );
461
+
462
+ // The cluster is tagged with its proxy, so the proxy comes first
463
+ const rdsProxy = proxy
464
+ ? createProxy(proxy === true ? {} : proxy)
465
+ : undefined;
466
+
467
+ const cluster = this.part(
468
+ "cluster",
469
+ {
470
+ engine: engine.apply((engine) =>
471
+ engine === "postgres"
472
+ ? rds.EngineType.AuroraPostgresql
473
+ : rds.EngineType.AuroraMysql,
474
+ ),
475
+ engineMode: "provisioned",
476
+ engineVersion: all([engine, version]).apply(([engine, version]) => {
477
+ if (engine === "postgres") return version;
478
+ return version.startsWith("2")
479
+ ? `5.7.mysql_aurora.${version}`
480
+ : `8.0.mysql_aurora.${version}`;
481
+ }),
482
+ databaseName: dbName,
483
+ masterUsername: username,
484
+ masterPassword: password,
485
+ dbClusterParameterGroupName: clusterParameterGroup.name,
486
+ dbInstanceParameterGroupName: instanceParameterGroup.name,
487
+ serverlessv2ScalingConfiguration: scaling.apply((scaling) => ({
488
+ maxCapacity: acus(scaling.max),
489
+ minCapacity: acus(scaling.min),
490
+ secondsUntilAutoPause: scaling.pauseAfter
491
+ ? toSeconds(scaling.pauseAfter)
492
+ : undefined,
493
+ })),
494
+ applyImmediately: true,
495
+ allowMajorVersionUpgrade: true,
496
+ skipFinalSnapshot: true,
497
+ storageEncrypted: true,
498
+ enableHttpEndpoint: withDefault(args.dataApi, false),
499
+ dbSubnetGroupName: subnetGroup.name,
500
+ vpcSecurityGroupIds: vpc.securityGroups,
501
+ // What a component that references this cluster looks up
502
+ tags: {
503
+ "sst:ref:password": secret.id,
504
+ ...(rdsProxy ? { "sst:ref:proxy": rdsProxy.id } : {}),
505
+ },
506
+ },
507
+ { ignoreChanges: pinned("engineVersion") },
508
+ );
509
+
510
+ const instanceArgs = {
511
+ clusterIdentifier: cluster.id,
512
+ instanceClass: "db.serverless",
513
+ engine: cluster.engine.apply((v) => v as rds.EngineType),
514
+ engineVersion: cluster.engineVersion,
515
+ dbSubnetGroupName: cluster.dbSubnetGroupName,
516
+ dbParameterGroupName: instanceParameterGroup.name,
517
+ autoMinorVersionUpgrade: false,
518
+ };
519
+ const instance = this.part("instance", instanceArgs);
520
+
521
+ for (let i = 0; i < replicas; i++) {
522
+ // The instance's transform applies to each replica too, as it does in
523
+ // `Aurora`. The replica's own transform is applied after it.
524
+ const [, replicaArgs, replicaOpts] = transformPart(
525
+ args.transform?.instance,
526
+ `${name}Replica${i}`,
527
+ { ...instanceArgs, promotionTier: 15 },
528
+ { ignoreChanges: pinned("engineVersion") },
529
+ );
530
+ this.part("replica", `${i}`, replicaArgs, replicaOpts);
531
+ }
532
+
533
+ if (rdsProxy) {
534
+ const targetGroup = this.part("proxyTargetGroup", {
535
+ dbProxyName: rdsProxy.name,
536
+ });
537
+ this.part("proxyTarget", {
538
+ dbProxyName: rdsProxy.name,
539
+ targetGroupName: targetGroup.name,
540
+ dbClusterIdentifier: cluster.clusterIdentifier,
541
+ });
542
+ }
543
+
544
+ this.connection = connectTo(
545
+ cluster,
546
+ instance,
547
+ secret,
548
+ password,
549
+ output(rdsProxy),
550
+ );
551
+
552
+ function createProxy(proxy: ProxyArgs) {
553
+ // A secret for each additional user the proxy can connect as
554
+ const secrets = proxyCredentials(proxy.credentials, name).map(
555
+ ({ username, password }) => {
556
+ const secret = self.part("proxySecret", username, {
557
+ recoveryWindowInDays: 0,
558
+ });
559
+ self.part("proxySecretVersion", username, {
560
+ secretId: secret.id,
561
+ secretString: jsonStringify({ username, password }),
562
+ });
563
+ return secret;
564
+ },
565
+ );
566
+ // The proxy can connect as the master user and as each of those
567
+ const logins = [secret, ...secrets];
568
+
569
+ const role = self.part("proxyRole", proxyRoleArgs(logins));
570
+ const lookup = self.part("proxyRoleLookup", {
571
+ name: "AWSServiceRoleForRDS",
572
+ });
573
+ return self.part(
574
+ "proxy",
575
+ proxyArgs(
576
+ engine.apply((engine) =>
577
+ engine === "postgres" ? "POSTGRESQL" : "MYSQL",
578
+ ),
579
+ logins,
580
+ role,
581
+ vpc.subnets,
582
+ ),
583
+ { dependsOn: [lookup] },
584
+ );
585
+ }
586
+
587
+ // A cluster created by this component, or by the 4.x one, is tagged with
588
+ // the secret that holds its credentials, and with its proxy when it has
589
+ // one. The rest is found from those.
590
+ function reference(cluster: rds.Cluster) {
591
+ const instance =
592
+ self.existingPart("instance") ??
593
+ self.lookupPart(
594
+ "instance",
595
+ all([
596
+ cluster.id,
597
+ rds.getInstancesOutput(
598
+ { filters: [{ name: "db-cluster-id", values: [cluster.id] }] },
599
+ { parent: self },
600
+ ).instanceIdentifiers,
601
+ ]).apply(([id, instances]) => {
602
+ if (!instances.length)
603
+ throw new VisibleError(
604
+ `Database instance not found in cluster ${id}`,
605
+ );
606
+ return instances[0];
607
+ }),
608
+ );
609
+
610
+ const secret =
611
+ self.existingPart("secret") ??
612
+ self.lookupPart(
613
+ "secret",
614
+ credentialsSecretOf(
615
+ cluster,
616
+ "sst:ref:password",
617
+ `Failed to get password for Aurora ${name}.`,
618
+ ),
619
+ );
620
+
621
+ const proxy = self.existingPart("proxy");
622
+
623
+ return connectTo(
624
+ cluster,
625
+ instance,
626
+ secret,
627
+ args.password ? output(args.password) : storedPassword(secret.id, self),
628
+ proxy
629
+ ? output(proxy)
630
+ : cluster.tagsAll.apply((tags) =>
631
+ tags?.["sst:ref:proxy"]
632
+ ? self.lookupPart("proxy", tags["sst:ref:proxy"])
633
+ : undefined,
634
+ ),
635
+ );
636
+ }
637
+
638
+ function connectTo(
639
+ cluster: rds.Cluster,
640
+ instance: rds.ClusterInstance,
641
+ secret: secretsmanager.Secret,
642
+ password: Output<string>,
643
+ proxy: Output<rds.Proxy | undefined>,
644
+ ): Connection {
645
+ return {
646
+ id: cluster.id,
647
+ clusterArn: cluster.arn,
648
+ secretArn: secret.arn,
649
+ // Connections go through the proxy when there is one
650
+ host: all([cluster.endpoint, proxy]).apply(
651
+ ([endpoint, proxy]) =>
652
+ proxy?.endpoint ?? output(endpoint.split(":")[0]),
653
+ ),
654
+ reader: cluster.readerEndpoint.apply(
655
+ (endpoint) => endpoint.split(":")[0],
656
+ ),
657
+ port: instance.port,
658
+ username: cluster.masterUsername,
659
+ password,
660
+ database: cluster.databaseName,
661
+ proxy,
662
+ include: [
663
+ permission({
664
+ actions: ["secretsmanager:GetSecretValue"],
665
+ resources: [secret.arn],
666
+ }),
667
+ permission({
668
+ actions: [
669
+ "rds-data:BatchExecuteStatement",
670
+ "rds-data:BeginTransaction",
671
+ "rds-data:CommitTransaction",
672
+ "rds-data:ExecuteStatement",
673
+ "rds-data:RollbackTransaction",
674
+ ],
675
+ resources: [cluster.arn],
676
+ }),
677
+ ],
678
+ };
679
+ }
680
+
681
+ function runLocally(dev: NonNullable<AuroraArgs["dev"]>): Connection {
682
+ if ($dev && dev.password === undefined && args.password === undefined)
683
+ throw new VisibleError(
684
+ `You must provide the password to connect to your locally running database either by setting the "dev.password" or by setting the top-level "password" property.`,
685
+ );
686
+
687
+ const host = output(dev.host ?? "localhost");
688
+ const local = {
689
+ id: output("placeholder"),
690
+ clusterArn: output("placeholder"),
691
+ secretArn: output("placeholder"),
692
+ host,
693
+ reader: host,
694
+ port: all([dev.port, engine]).apply(
695
+ ([port, engine]) => port ?? { postgres: 5432, mysql: 3306 }[engine],
696
+ ),
697
+ username: dev.username ? output(dev.username) : username,
698
+ password: output(dev.password ?? args.password ?? ""),
699
+ database: dev.database ? output(dev.database) : dbName,
700
+ include: [],
701
+ };
702
+
703
+ new DevCommand(`${name}Dev`, {
704
+ dev: {
705
+ title: name,
706
+ autostart: true,
707
+ command: `sst print-and-not-quit`,
708
+ },
709
+ environment: {
710
+ SST_DEV_COMMAND_MESSAGE: interpolate`Make sure your local database is using:
711
+
712
+ username: "${local.username}"
713
+ password: "${local.password}"
714
+ database: "${local.database}"
715
+
716
+ Listening on "${local.host}:${local.port}"...`,
717
+ },
718
+ });
719
+
720
+ return local;
721
+ }
722
+ }
723
+
724
+ /**
725
+ * The ID of the RDS Cluster.
726
+ */
727
+ public get id() {
728
+ return this.connection.id;
729
+ }
730
+
731
+ /**
732
+ * The ARN of the RDS Cluster.
733
+ */
734
+ public get clusterArn() {
735
+ return this.connection.clusterArn;
736
+ }
737
+
738
+ /**
739
+ * The ARN of the master user secret.
740
+ */
741
+ public get secretArn() {
742
+ return this.connection.secretArn;
743
+ }
744
+
745
+ /** The username of the master user. */
746
+ public get username() {
747
+ return this.connection.username;
748
+ }
749
+
750
+ /** The password of the master user. */
751
+ public get password() {
752
+ return this.connection.password;
753
+ }
754
+
755
+ /**
756
+ * The name of the database.
757
+ */
758
+ public get database() {
759
+ return this.connection.database;
760
+ }
761
+
762
+ /**
763
+ * The port of the database.
764
+ */
765
+ public get port() {
766
+ return this.connection.port;
767
+ }
768
+
769
+ /**
770
+ * The host of the database.
771
+ */
772
+ public get host() {
773
+ return this.connection.host;
774
+ }
775
+
776
+ /**
777
+ * The reader endpoint of the database.
778
+ */
779
+ public get reader() {
780
+ const { reader, proxy } = this.connection;
781
+ if (!proxy) return reader;
782
+ return all([reader, proxy]).apply(([reader, proxy]) => {
783
+ if (proxy)
784
+ throw new VisibleError(
785
+ "Reader endpoint is not currently supported for RDS Proxy. Please contact us on Discord or open a GitHub issue.",
786
+ );
787
+ return reader;
788
+ });
789
+ }
790
+
791
+ /**
792
+ * Linking a database gives the linked resource what it needs to connect:
793
+ * the host, port, database, username and password, and the ARNs of the
794
+ * cluster and its secret for the RDS Data API.
795
+ */
796
+ public link() {
797
+ const { reader, proxy } = this.connection;
798
+ return {
799
+ properties: {
800
+ clusterArn: this.clusterArn,
801
+ secretArn: this.secretArn,
802
+ database: this.database,
803
+ username: this.username,
804
+ password: this.password,
805
+ port: this.port,
806
+ host: this.host,
807
+ // A proxy has no reader endpoint
808
+ reader: proxy
809
+ ? all([reader, proxy]).apply(([reader, proxy]) =>
810
+ proxy ? undefined : reader,
811
+ )
812
+ : reader,
813
+ },
814
+ include: this.connection.include,
815
+ };
816
+ }
817
+
818
+ /**
819
+ * Reference an existing Aurora cluster with its RDS cluster ID. This is useful when you
820
+ * create a Aurora cluster in one stage and want to share it in another. It avoids having to
821
+ * create a new Aurora cluster in the other stage.
822
+ *
823
+ * :::tip
824
+ * You can use the `static get` method to share Aurora clusters across stages.
825
+ * :::
826
+ *
827
+ * @param name The name of the component.
828
+ * @param id The ID of the existing Aurora cluster.
829
+ * @param opts Resource options.
830
+ *
831
+ * @example
832
+ * Imagine you create a cluster in the `dev` stage. And in your personal stage `frank`,
833
+ * instead of creating a new cluster, you want to share the same cluster from `dev`.
834
+ *
835
+ * ```ts title="sst.config.ts"
836
+ * const database = $app.stage === "frank"
837
+ * ? sst.aws.v5.Aurora.get("MyDatabase", "app-dev-mydatabase")
838
+ * : new sst.aws.v5.Aurora("MyDatabase", { engine: "postgres", vpc });
839
+ * ```
840
+ *
841
+ * Here `app-dev-mydatabase` is the ID of the cluster created in the `dev` stage.
842
+ * You can find this by outputting the cluster ID in the `dev` stage.
843
+ *
844
+ * ```ts title="sst.config.ts"
845
+ * return database.id;
846
+ * ```
847
+ */
848
+ public static get(
849
+ name: string,
850
+ id: Input<string>,
851
+ opts?: ComponentResourceOptions,
852
+ ) {
853
+ return new Aurora(name, { existing: { cluster: id } } as AuroraArgs, opts);
854
+ }
855
+ }