@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,1047 @@
1
+ import {
2
+ all,
3
+ ComponentResourceOptions,
4
+ interpolate,
5
+ jsonStringify,
6
+ Output,
7
+ output,
8
+ } from "@pulumi/pulumi";
9
+ import { Component, Transform, transform } from "../component";
10
+ import { Link } from "../link";
11
+ import { Input } from "../input.js";
12
+ import { iam, rds, secretsmanager } from "@pulumi/aws";
13
+ import { RandomPassword } from "@pulumi/random";
14
+ import { Vpc } from "./vpc";
15
+ import { Vpc as VpcV1 } from "./vpc-v1";
16
+ import { VisibleError } from "../error";
17
+ import { SizeGbTb, toGBs } from "../size";
18
+ import { DevCommand } from "../experimental/dev-command.js";
19
+ import { RdsRoleLookup } from "./providers/rds-role-lookup";
20
+
21
+ export interface MysqlArgs {
22
+ /**
23
+ * The MySQL engine version. Check out the [available versions in your region](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Concepts.VersionMgmt.html).
24
+ *
25
+ * :::caution
26
+ * Changing the version will cause the database to restart on the next `sst deploy`,
27
+ * causing downtime. Learn more about [upgrading databases](/docs/upgrade-aws-databases/).
28
+ * :::
29
+ *
30
+ * @default `"8.0.40"`
31
+ * @example
32
+ * ```js
33
+ * {
34
+ * version: "8.4.4"
35
+ * }
36
+ * ```
37
+ */
38
+ version?: Input<string>;
39
+ /**
40
+ * The username of the master user.
41
+ *
42
+ * :::danger
43
+ * Changing the username will cause the database to be destroyed and recreated.
44
+ * :::
45
+ *
46
+ * @default `"root"`
47
+ * @example
48
+ * ```js
49
+ * {
50
+ * username: "admin"
51
+ * }
52
+ * ```
53
+ */
54
+ username?: Input<string>;
55
+ /**
56
+ * The password of the master user.
57
+ * @default A random password is generated.
58
+ * @example
59
+ * ```js
60
+ * {
61
+ * password: "Passw0rd!"
62
+ * }
63
+ * ```
64
+ *
65
+ * You can use a `Secret` to manage the password.
66
+ *
67
+ * ```js
68
+ * {
69
+ * password: new sst.Secret("MyDBPassword").value
70
+ * }
71
+ * ```
72
+ */
73
+ password?: Input<string>;
74
+ /**
75
+ * Name of a database that is automatically created.
76
+ *
77
+ * The name must begin with a letter and contain only lowercase letters, numbers, or
78
+ * underscores. By default, it takes the name of the app, and replaces the hyphens with
79
+ * underscores.
80
+ *
81
+ * :::danger
82
+ * Changing the database name will cause the database to be destroyed and recreated.
83
+ * :::
84
+ *
85
+ * @default Based on the name of the current app
86
+ * @example
87
+ * ```js
88
+ * {
89
+ * database: "acme"
90
+ * }
91
+ * ```
92
+ */
93
+ database?: Input<string>;
94
+ /**
95
+ * The type of instance to use for the database. Check out the [supported instance types](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.Types.html).
96
+ *
97
+ * :::caution
98
+ * Changing the instance type will cause the database to restart on the next `sst deploy`,
99
+ * causing downtime. Learn more about [upgrading databases](/docs/upgrade-aws-databases/).
100
+ * :::
101
+ *
102
+ * @default `"t4g.micro"`
103
+ * @example
104
+ * ```js
105
+ * {
106
+ * instance: "m7g.xlarge"
107
+ * }
108
+ * ```
109
+ */
110
+ instance?: Input<string>;
111
+ /**
112
+ * The maximum storage limit for the database.
113
+ *
114
+ * RDS will autoscale your storage to match your usage up to the given limit.
115
+ * You are not billed for the maximum storage limit, You are only billed for the storage you use.
116
+ *
117
+ * :::note
118
+ * You are only billed for the storage you use, not the maximum limit.
119
+ * :::
120
+ *
121
+ * By default, [gp3 storage volumes](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#Concepts.Storage.GeneralSSD)
122
+ * are used without additional provisioned IOPS. This provides good baseline
123
+ * performance for most use cases.
124
+ *
125
+ * The minimum storage size is 20 GB. And the maximum storage size is 64 TB.
126
+ *
127
+ * @default `"20 GB"`
128
+ * @example
129
+ * ```js
130
+ * {
131
+ * storage: "100 GB"
132
+ * }
133
+ * ```
134
+ */
135
+ storage?: Input<SizeGbTb>;
136
+ /**
137
+ * Enable [RDS Proxy](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-proxy.html) for the database.
138
+ * @default `false`
139
+ * @example
140
+ * ```js
141
+ * {
142
+ * proxy: true
143
+ * }
144
+ * ```
145
+ */
146
+ proxy?: Input<
147
+ | boolean
148
+ | {
149
+ /**
150
+ * Additional credentials the proxy can use to connect to the database. You don't
151
+ * need to specify the master user credentials as they are always added by default.
152
+ *
153
+ * :::note
154
+ * This component will not create the MySQL users listed here. You need to
155
+ * create them manually in the database.
156
+ * :::
157
+ *
158
+ * @example
159
+ * ```js
160
+ * {
161
+ * credentials: [
162
+ * {
163
+ * username: "metabase",
164
+ * password: "Passw0rd!"
165
+ * }
166
+ * ]
167
+ * }
168
+ * ```
169
+ *
170
+ * You can use a `Secret` to manage the password.
171
+ *
172
+ * ```js
173
+ * {
174
+ * credentials: [
175
+ * {
176
+ * username: "metabase",
177
+ * password: new sst.Secret("MyDBPassword").value
178
+ * }
179
+ * ]
180
+ * }
181
+ * ```
182
+ */
183
+ credentials?: Input<
184
+ Input<{
185
+ /**
186
+ * The username of the user.
187
+ */
188
+ username: Input<string>;
189
+ /**
190
+ * The password of the user.
191
+ */
192
+ password: Input<string>;
193
+ }>[]
194
+ >;
195
+ }
196
+ >;
197
+ /**
198
+ * Enable [Multi-AZ](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.MultiAZ.html)
199
+ * deployment for the database.
200
+ *
201
+ * This creates a standby replica for the database in another availability zone (AZ). The
202
+ * standby database provides automatic failover in case the primary database fails. However,
203
+ * when the primary database is healthy, the standby database is not used for serving read
204
+ * traffic.
205
+ *
206
+ * :::caution
207
+ * Using Multi-AZ will approximately double the cost of the database since it will be
208
+ * deployed in two AZs.
209
+ * :::
210
+ *
211
+ * @default `false`
212
+ * @example
213
+ * ```js
214
+ * {
215
+ * multiAz: true
216
+ * }
217
+ * ```
218
+ */
219
+ multiAz?: Input<boolean>;
220
+ /**
221
+ * Enable [Blue/Green deployments](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/blue-green-deployments.html)
222
+ * for version, instance type, and parameter group upgrades.
223
+ * Learn more about [upgrading databases](/docs/upgrade-aws-databases/).
224
+ *
225
+ * When enabled, a staging (green) instance is created, updated,
226
+ * verified, then promoted to replace the production (blue) instance.
227
+ * This minimizes downtime during upgrades.
228
+ *
229
+ * @default `false`
230
+ * @example
231
+ * ```js
232
+ * {
233
+ * blueGreen: true
234
+ * }
235
+ * ```
236
+ */
237
+ blueGreen?: Input<boolean>;
238
+ /**
239
+ * @internal
240
+ */
241
+ replicas?: Input<number>;
242
+ /**
243
+ * The VPC subnets to use for the database.
244
+ *
245
+ * @example
246
+ * ```js
247
+ * {
248
+ * vpc: {
249
+ * subnets: ["subnet-0db7376a7ad4db5fd ", "subnet-06fc7ee8319b2c0ce"]
250
+ * }
251
+ * }
252
+ * ```
253
+ *
254
+ * Or create a `Vpc` component.
255
+ *
256
+ * ```ts title="sst.config.ts"
257
+ * const myVpc = new sst.aws.Vpc("MyVpc");
258
+ * ```
259
+ *
260
+ * And pass it in. The database will be placed in the private subnets.
261
+ *
262
+ * ```js
263
+ * {
264
+ * vpc: myVpc
265
+ * }
266
+ * ```
267
+ */
268
+ vpc:
269
+ | Vpc
270
+ | Input<{
271
+ /**
272
+ * A list of subnet IDs in the VPC.
273
+ */
274
+ subnets: Input<Input<string>[]>;
275
+ }>;
276
+ /**
277
+ * Configure how this component works in `sst dev`.
278
+ *
279
+ * By default, your MySQL database is deployed in `sst dev`. But if you want to instead
280
+ * connect to a locally running MySQL database, you can configure the `dev` prop.
281
+ *
282
+ * :::note
283
+ * This will not create an RDS database in `sst dev`.
284
+ * :::
285
+ *
286
+ * This will skip deploying an RDS database and link to the locally running MySQL database
287
+ * instead.
288
+ *
289
+ * @example
290
+ *
291
+ * Setting the `dev` prop also means that any linked resources will connect to the right
292
+ * database both in `sst dev` and `sst deploy`.
293
+ *
294
+ * ```ts
295
+ * {
296
+ * dev: {
297
+ * username: "root",
298
+ * password: "password",
299
+ * database: "mysql",
300
+ * host: "localhost",
301
+ * port: 3306
302
+ * }
303
+ * }
304
+ * ```
305
+ */
306
+ dev?: {
307
+ /**
308
+ * The host of the local MySQL to connect to when running in dev.
309
+ * @default `"localhost"`
310
+ */
311
+ host?: Input<string>;
312
+ /**
313
+ * The port of the local MySQL to connect to when running in dev.
314
+ * @default `3306`
315
+ */
316
+ port?: Input<number>;
317
+ /**
318
+ * The database of the local MySQL to connect to when running in dev.
319
+ * @default Inherit from the top-level [`database`](#database).
320
+ */
321
+ database?: Input<string>;
322
+ /**
323
+ * The username of the local MySQL to connect to when running in dev.
324
+ * @default Inherit from the top-level [`username`](#username).
325
+ */
326
+ username?: Input<string>;
327
+ /**
328
+ * The password of the local MySQL to connect to when running in dev.
329
+ * @default Inherit from the top-level [`password`](#password).
330
+ */
331
+ password?: Input<string>;
332
+ };
333
+ /**
334
+ * [Transform](/docs/components#transform) how this component creates its underlying
335
+ * resources.
336
+ */
337
+ transform?: {
338
+ /**
339
+ * Transform the RDS subnet group.
340
+ */
341
+ subnetGroup?: Transform<rds.SubnetGroupArgs>;
342
+ /**
343
+ * Transform the RDS parameter group.
344
+ */
345
+ parameterGroup?: Transform<rds.ParameterGroupArgs>;
346
+ /**
347
+ * Transform the database instance in the RDS Cluster.
348
+ */
349
+ instance?: Transform<rds.InstanceArgs>;
350
+ /**
351
+ * Transform the RDS Proxy.
352
+ */
353
+ proxy?: Transform<rds.ProxyArgs>;
354
+ };
355
+ }
356
+
357
+ export interface MysqlGetArgs {
358
+ /**
359
+ * The ID of the database.
360
+ */
361
+ id: Input<string>;
362
+ /**
363
+ * The ID of the proxy.
364
+ */
365
+ proxyId?: Input<string>;
366
+ }
367
+
368
+ interface MysqlRef {
369
+ ref: boolean;
370
+ id: Input<string>;
371
+ proxyId?: Input<string>;
372
+ }
373
+
374
+ /**
375
+ * The `Mysql` component lets you add a MySQL database to your app using
376
+ * [Amazon RDS MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html).
377
+ *
378
+ * @example
379
+ *
380
+ * #### Create the database
381
+ *
382
+ * ```js title="sst.config.ts"
383
+ * const vpc = new sst.aws.Vpc("MyVpc");
384
+ * const database = new sst.aws.Mysql("MyDatabase", { vpc });
385
+ * ```
386
+ *
387
+ * #### Link to a resource
388
+ *
389
+ * You can link your database to other resources, like a function or your Next.js app.
390
+ *
391
+ * ```ts title="sst.config.ts"
392
+ * new sst.aws.Nextjs("MyWeb", {
393
+ * link: [database],
394
+ * vpc
395
+ * });
396
+ * ```
397
+ *
398
+ * Once linked, you can connect to it from your function code.
399
+ *
400
+ * ```ts title="app/page.tsx" {1,5-9}
401
+ * import { Resource } from "sst";
402
+ * import mysql from "mysql2/promise";
403
+ *
404
+ * const connection = await mysql.createConnection({
405
+ * user: Resource.MyDatabase.username,
406
+ * password: Resource.MyDatabase.password,
407
+ * database: Resource.MyDatabase.database,
408
+ * host: Resource.MyDatabase.host,
409
+ * port: Resource.MyDatabase.port,
410
+ * });
411
+ * await connection.execute("SELECT NOW()");
412
+ * ```
413
+ *
414
+ * #### Running locally
415
+ *
416
+ * By default, your RDS MySQL database is deployed in `sst dev`. But let's say you are
417
+ * running MySQL locally.
418
+ *
419
+ * ```bash
420
+ * docker run \
421
+ * --rm \
422
+ * -p 3306:3306 \
423
+ * -v $(pwd)/.sst/storage/mysql:/var/lib/mysql/data \
424
+ * -e MYSQL_DATABASE=local \
425
+ * -e MYSQL_ROOT_PASSWORD=password \
426
+ * mysql:8.0
427
+ * ```
428
+ *
429
+ * You can connect to it in `sst dev` by configuring the `dev` prop.
430
+ *
431
+ * ```ts title="sst.config.ts" {3-8}
432
+ * const mysql = new sst.aws.Mysql("MyMysql", {
433
+ * vpc,
434
+ * dev: {
435
+ * username: "root",
436
+ * password: "password",
437
+ * database: "local",
438
+ * port: 3306
439
+ * }
440
+ * });
441
+ * ```
442
+ *
443
+ * This will skip deploying an RDS database and link to the locally running MySQL database
444
+ * instead.
445
+ *
446
+ * ---
447
+ *
448
+ * ### Cost
449
+ *
450
+ * By default this component uses a _Single-AZ Deployment_, _On-Demand DB Instances_ of a
451
+ * `db.t4g.micro` at $0.016 per hour. And 20GB of _General Purpose gp3 Storage_
452
+ * at $0.115 per GB per month.
453
+ *
454
+ * That works out to $0.016 x 24 x 30 + $0.115 x 20 or **$14 per month**. Adjust this for the
455
+ * `instance` type and the `storage` you are using.
456
+ *
457
+ * The above are rough estimates for _us-east-1_, check out the
458
+ * [RDS for MySQL pricing](https://aws.amazon.com/rds/mysql/pricing/#On-Demand_DB_Instances_costs) for more details.
459
+ *
460
+ * #### RDS Proxy
461
+ *
462
+ * If you enable the `proxy`, it uses _Provisioned instances_ with 2 vCPUs at $0.015 per hour.
463
+ *
464
+ * That works out to an **additional** $0.015 x 2 x 24 x 30 or **$22 per month**.
465
+ *
466
+ * This is a rough estimate for _us-east-1_, check out the
467
+ * [RDS Proxy pricing](https://aws.amazon.com/rds/proxy/pricing/) for more details.
468
+ */
469
+ export class Mysql extends Component implements Link.Linkable {
470
+ private instance?: rds.Instance;
471
+ private _password?: Output<string>;
472
+ private proxy?: Output<rds.Proxy | undefined>;
473
+ private dev?: {
474
+ enabled: boolean;
475
+ host: Output<string>;
476
+ port: Output<number>;
477
+ username: Output<string>;
478
+ password: Output<string>;
479
+ database: Output<string>;
480
+ };
481
+
482
+ constructor(name: string, args: MysqlArgs, opts?: ComponentResourceOptions) {
483
+ super(__pulumiType, name, args, opts);
484
+ const _version = 1;
485
+ const self = this;
486
+
487
+ if (args && "ref" in args) {
488
+ const ref = reference();
489
+ this.instance = ref.instance;
490
+ this._password = ref.password;
491
+ this.proxy = output(ref.proxy);
492
+ return;
493
+ }
494
+
495
+ const multiAz = output(args.multiAz).apply((v) => v ?? false);
496
+ const engineVersion = output(args.version).apply((v) => v ?? "8.0.40");
497
+ const instanceType = output(args.instance).apply((v) => v ?? "t4g.micro");
498
+ const username = output(args.username).apply((v) => v ?? "root");
499
+ const storage = normalizeStorage();
500
+ const blueGreen = output(args.blueGreen).apply((v) => v ?? false);
501
+ const dbName = output(args.database).apply(
502
+ (v) => v ?? $app.name.replaceAll("-", "_"),
503
+ );
504
+ const vpc = normalizeVpc();
505
+
506
+ const dev = registerDev();
507
+ if (dev?.enabled) {
508
+ this.dev = dev;
509
+ return;
510
+ }
511
+
512
+ const password = createPassword();
513
+ const secret = createSecret();
514
+ const subnetGroup = createSubnetGroup();
515
+ const parameterGroup = createParameterGroup();
516
+ const instance = createInstance();
517
+ createReplicas();
518
+ const proxy = createProxy();
519
+
520
+ this.instance = instance;
521
+ this._password = password;
522
+ this.proxy = proxy;
523
+
524
+ function reference() {
525
+ const ref = args as unknown as MysqlRef;
526
+ const instance = rds.Instance.get(`${name}Instance`, ref.id, undefined, {
527
+ parent: self,
528
+ });
529
+
530
+ const input = instance.tagsAll.apply((tags) => {
531
+ return {
532
+ proxyId: output(ref.proxyId),
533
+ passwordTag: tags?.["sst:ref:password"],
534
+ };
535
+ });
536
+
537
+ const proxy = input.proxyId.apply((proxyId) =>
538
+ proxyId
539
+ ? rds.Proxy.get(`${name}Proxy`, proxyId, undefined, {
540
+ parent: self,
541
+ })
542
+ : undefined,
543
+ );
544
+
545
+ const password = input.passwordTag.apply((passwordTag) => {
546
+ if (!passwordTag)
547
+ throw new VisibleError(`Failed to get password for MySQL ${name}.`);
548
+
549
+ const secret = secretsmanager.getSecretVersionOutput(
550
+ { secretId: passwordTag },
551
+ { parent: self },
552
+ );
553
+ return $jsonParse(secret.secretString).apply(
554
+ (v) => v.password as string,
555
+ );
556
+ });
557
+
558
+ return { instance, proxy, password };
559
+ }
560
+
561
+ function normalizeStorage() {
562
+ return output(args.storage ?? "20 GB").apply((v) => {
563
+ const size = toGBs(v);
564
+ if (size < 20) {
565
+ throw new VisibleError(
566
+ `Storage must be at least 20 GB for the ${name} MySQL database.`,
567
+ );
568
+ }
569
+ if (size > 65536) {
570
+ throw new VisibleError(
571
+ `Storage cannot be greater than 65536 GB (64 TB) for the ${name} MySQL database.`,
572
+ );
573
+ }
574
+ return size;
575
+ });
576
+ }
577
+
578
+ function normalizeVpc() {
579
+ // "vpc" is a Vpc.v1 component
580
+ if (args.vpc instanceof VpcV1) {
581
+ throw new VisibleError(
582
+ `You are using the "Vpc.v1" component. Please migrate to the latest "Vpc" component.`,
583
+ );
584
+ }
585
+
586
+ // "vpc" is a Vpc component
587
+ if (args.vpc instanceof Vpc) {
588
+ return {
589
+ subnets: args.vpc.privateSubnets,
590
+ };
591
+ }
592
+
593
+ // "vpc" is object
594
+ return output(args.vpc);
595
+ }
596
+
597
+ function registerDev() {
598
+ if (!args.dev) return undefined;
599
+
600
+ if (
601
+ $dev &&
602
+ args.dev.password === undefined &&
603
+ args.password === undefined
604
+ ) {
605
+ throw new VisibleError(
606
+ `You must provide the password to connect to your locally running MySQL database either by setting the "dev.password" or by setting the top-level "password" property.`,
607
+ );
608
+ }
609
+
610
+ const dev = {
611
+ enabled: $dev,
612
+ host: output(args.dev.host ?? "localhost"),
613
+ port: output(args.dev.port ?? 3306),
614
+ username: args.dev.username ? output(args.dev.username) : username,
615
+ password: output(args.dev.password ?? args.password ?? ""),
616
+ database: args.dev.database ? output(args.dev.database) : dbName,
617
+ };
618
+
619
+ new DevCommand(`${name}Dev`, {
620
+ dev: {
621
+ title: name,
622
+ autostart: true,
623
+ command: `sst print-and-not-quit`,
624
+ },
625
+ environment: {
626
+ SST_DEV_COMMAND_MESSAGE: interpolate`Make sure your local MySQL server is using:
627
+
628
+ username: "${dev.username}"
629
+ password: "${dev.password}"
630
+ database: "${dev.database}"
631
+
632
+ Listening on "${dev.host}:${dev.port}"...`,
633
+ },
634
+ });
635
+
636
+ return dev;
637
+ }
638
+
639
+ function createPassword() {
640
+ return args.password
641
+ ? output(args.password)
642
+ : new RandomPassword(
643
+ `${name}Password`,
644
+ {
645
+ length: 32,
646
+ special: false,
647
+ },
648
+ { parent: self },
649
+ ).result;
650
+ }
651
+
652
+ function createSubnetGroup() {
653
+ return new rds.SubnetGroup(
654
+ ...transform(
655
+ args.transform?.subnetGroup,
656
+ `${name}SubnetGroup`,
657
+ {
658
+ subnetIds: vpc.subnets,
659
+ },
660
+ { parent: self },
661
+ ),
662
+ );
663
+ }
664
+
665
+ function createParameterGroup() {
666
+ return new rds.ParameterGroup(
667
+ ...transform(
668
+ args.transform?.parameterGroup,
669
+ `${name}ParameterGroup`,
670
+ {
671
+ family: engineVersion.apply((v) => {
672
+ const [major, minor, _patch] = v.split(".");
673
+ return `mysql${major}.${minor}`;
674
+ }),
675
+ parameters: [
676
+ {
677
+ name: "require_secure_transport",
678
+ value: "OFF",
679
+ },
680
+ ],
681
+ },
682
+ {
683
+ parent: self,
684
+ ignoreChanges: args.version ? [] : ["family"],
685
+ // Necessary for the parameter group to be deleted AFTER upgrading the instance.
686
+ // This is either a Pulumi bug or an undocumented feature.
687
+ deleteBeforeReplace: false,
688
+ },
689
+ ),
690
+ );
691
+ }
692
+
693
+ function createSecret() {
694
+ const secret = new secretsmanager.Secret(
695
+ `${name}ProxySecret`,
696
+ {
697
+ recoveryWindowInDays: 0,
698
+ },
699
+ { parent: self },
700
+ );
701
+
702
+ new secretsmanager.SecretVersion(
703
+ `${name}ProxySecretVersion`,
704
+ {
705
+ secretId: secret.id,
706
+ secretString: jsonStringify({
707
+ username,
708
+ password,
709
+ }),
710
+ },
711
+ { parent: self },
712
+ );
713
+
714
+ return secret;
715
+ }
716
+
717
+ function createInstance() {
718
+ return new rds.Instance(
719
+ ...transform(
720
+ args.transform?.instance,
721
+ `${name}Instance`,
722
+ {
723
+ dbName,
724
+ dbSubnetGroupName: subnetGroup.name,
725
+ engine: "mysql",
726
+ engineVersion,
727
+ instanceClass: interpolate`db.${instanceType}`,
728
+ username,
729
+ password,
730
+ parameterGroupName: parameterGroup.name,
731
+ applyImmediately: true,
732
+ allowMajorVersionUpgrade: true,
733
+ autoMinorVersionUpgrade: false,
734
+ skipFinalSnapshot: true,
735
+ storageEncrypted: true,
736
+ storageType: "gp3",
737
+ allocatedStorage: 20,
738
+ // Blue/green deployments require maxAllocatedStorage to be at least
739
+ // 10% higher than allocatedStorage for autoscaling headroom.
740
+ maxAllocatedStorage: all([storage, blueGreen]).apply(([s, bg]) =>
741
+ bg ? Math.max(s, 22) : s,
742
+ ),
743
+ multiAz,
744
+ backupRetentionPeriod: 7,
745
+ // performance insights is only supported on .micro and .small MySQL instances
746
+ // https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.Overview.Engines.html
747
+ performanceInsightsEnabled: instanceType.apply(
748
+ (v) => !v.endsWith(".micro") && !v.endsWith(".small"),
749
+ ),
750
+ blueGreenUpdate: blueGreen.apply((bg) => ({ enabled: bg })),
751
+ tags: {
752
+ "sst:component-version": _version.toString(),
753
+ "sst:ref:password": secret.id,
754
+ },
755
+ },
756
+ {
757
+ parent: self,
758
+ deleteBeforeReplace: true,
759
+ ignoreChanges: args.version ? [] : ["engineVersion"],
760
+ },
761
+ ),
762
+ );
763
+ }
764
+
765
+ function createReplicas() {
766
+ return output(args.replicas ?? 0).apply((replicas) =>
767
+ Array.from({ length: replicas }).map(
768
+ (_, i) =>
769
+ new rds.Instance(
770
+ `${name}Replica${i}`,
771
+ {
772
+ replicateSourceDb: instance.identifier,
773
+ dbName: interpolate`${instance.dbName}_replica${i}`,
774
+ dbSubnetGroupName: instance.dbSubnetGroupName,
775
+ availabilityZone: instance.availabilityZone,
776
+ engine: instance.engine,
777
+ engineVersion: instance.engineVersion,
778
+ instanceClass: instance.instanceClass,
779
+ username: instance.username,
780
+ password: instance.password.apply((v) => v!),
781
+ parameterGroupName: instance.parameterGroupName,
782
+ applyImmediately: true,
783
+ skipFinalSnapshot: true,
784
+ storageEncrypted: instance.storageEncrypted.apply((v) => v!),
785
+ storageType: instance.storageType,
786
+ allocatedStorage: instance.allocatedStorage,
787
+ maxAllocatedStorage: instance.maxAllocatedStorage.apply(
788
+ (v) => v!,
789
+ ),
790
+ },
791
+ {
792
+ parent: self,
793
+ ignoreChanges: args.version ? [] : ["engineVersion"],
794
+ },
795
+ ),
796
+ ),
797
+ );
798
+ }
799
+
800
+ function createProxy() {
801
+ return output(args.proxy).apply((proxy) => {
802
+ if (!proxy) return;
803
+
804
+ const credentials = proxy === true ? [] : proxy.credentials ?? [];
805
+
806
+ // Create secrets
807
+ const secrets = credentials.map((credential) => {
808
+ const secret = new secretsmanager.Secret(
809
+ `${name}ProxySecret${credential.username}`,
810
+ {
811
+ recoveryWindowInDays: 0,
812
+ },
813
+ { parent: self },
814
+ );
815
+
816
+ new secretsmanager.SecretVersion(
817
+ `${name}ProxySecretVersion${credential.username}`,
818
+ {
819
+ secretId: secret.id,
820
+ secretString: jsonStringify({
821
+ username: credential.username,
822
+ password: credential.password,
823
+ }),
824
+ },
825
+ { parent: self },
826
+ );
827
+ return secret;
828
+ });
829
+
830
+ const role = new iam.Role(
831
+ `${name}ProxyRole`,
832
+ {
833
+ assumeRolePolicy: iam.assumeRolePolicyForPrincipal({
834
+ Service: "rds.amazonaws.com",
835
+ }),
836
+ inlinePolicies: [
837
+ {
838
+ name: "inline",
839
+ policy: iam.getPolicyDocumentOutput({
840
+ statements: [
841
+ {
842
+ actions: ["secretsmanager:GetSecretValue"],
843
+ resources: [secret.arn, ...secrets.map((s) => s.arn)],
844
+ },
845
+ ],
846
+ }).json,
847
+ },
848
+ ],
849
+ },
850
+ { parent: self },
851
+ );
852
+
853
+ const lookup = new RdsRoleLookup(
854
+ `${name}ProxyRoleLookup`,
855
+ { name: "AWSServiceRoleForRDS" },
856
+ { parent: self },
857
+ );
858
+
859
+ const rdsProxy = new rds.Proxy(
860
+ ...transform(
861
+ args.transform?.proxy,
862
+ `${name}Proxy`,
863
+ {
864
+ engineFamily: "MYSQL",
865
+ auths: [
866
+ {
867
+ authScheme: "SECRETS",
868
+ iamAuth: "DISABLED",
869
+ secretArn: secret.arn,
870
+ },
871
+ ...secrets.map((s) => ({
872
+ authScheme: "SECRETS",
873
+ iamAuth: "DISABLED",
874
+ secretArn: s.arn,
875
+ })),
876
+ ],
877
+ roleArn: role.arn,
878
+ vpcSubnetIds: vpc.subnets,
879
+ },
880
+ { parent: self, dependsOn: [lookup] },
881
+ ),
882
+ );
883
+
884
+ const targetGroup = new rds.ProxyDefaultTargetGroup(
885
+ `${name}ProxyTargetGroup`,
886
+ {
887
+ dbProxyName: rdsProxy.name,
888
+ },
889
+ { parent: self },
890
+ );
891
+
892
+ new rds.ProxyTarget(
893
+ `${name}ProxyTarget`,
894
+ {
895
+ dbProxyName: rdsProxy.name,
896
+ targetGroupName: targetGroup.name,
897
+ dbInstanceIdentifier: instance.identifier,
898
+ },
899
+ { parent: self },
900
+ );
901
+
902
+ return rdsProxy;
903
+ });
904
+ }
905
+ }
906
+
907
+ /**
908
+ * The identifier of the MySQL instance.
909
+ */
910
+ public get id() {
911
+ if (this.dev?.enabled) return output("placeholder");
912
+ return this.instance!.identifier;
913
+ }
914
+
915
+ /**
916
+ * The name of the MySQL proxy.
917
+ */
918
+ public get proxyId() {
919
+ if (this.dev?.enabled) return output("placeholder");
920
+
921
+ return this.proxy!.apply((v) => {
922
+ if (!v) {
923
+ throw new VisibleError(
924
+ `Proxy is not enabled. Enable it with "proxy: true".`,
925
+ );
926
+ }
927
+ return v.id;
928
+ });
929
+ }
930
+
931
+ /** The username of the master user. */
932
+ public get username() {
933
+ if (this.dev?.enabled) return this.dev.username;
934
+ return this.instance!.username;
935
+ }
936
+
937
+ /** The password of the master user. */
938
+ public get password() {
939
+ if (this.dev?.enabled) return this.dev.password;
940
+ return this._password!;
941
+ }
942
+
943
+ /**
944
+ * The name of the database.
945
+ */
946
+ public get database() {
947
+ if (this.dev?.enabled) return this.dev.database;
948
+ return this.instance!.dbName;
949
+ }
950
+
951
+ /**
952
+ * The port of the database.
953
+ */
954
+ public get port() {
955
+ if (this.dev?.enabled) return this.dev.port;
956
+ return this.instance!.port;
957
+ }
958
+
959
+ /**
960
+ * The host of the database.
961
+ */
962
+ public get host() {
963
+ if (this.dev?.enabled) return this.dev.host;
964
+
965
+ return all([this.instance!.endpoint, this.proxy!]).apply(
966
+ ([endpoint, proxy]) => proxy?.endpoint ?? output(endpoint.split(":")[0]),
967
+ );
968
+ }
969
+
970
+ public get nodes() {
971
+ return {
972
+ instance: this.instance,
973
+ };
974
+ }
975
+
976
+ /** @internal */
977
+ public getSSTLink() {
978
+ return {
979
+ properties: {
980
+ database: this.database,
981
+ username: this.username,
982
+ password: this.password,
983
+ port: this.port,
984
+ host: this.host,
985
+ },
986
+ };
987
+ }
988
+
989
+ /**
990
+ * Reference an existing MySQL database with the given name. This is useful when you
991
+ * create a MySQL database in one stage and want to share it in another. It avoids
992
+ * having to create a new MySQL database in the other stage.
993
+ *
994
+ * :::tip
995
+ * You can use the `static get` method to share MySQL databases across stages.
996
+ * :::
997
+ *
998
+ * @param name The name of the component.
999
+ * @param args The arguments to get the MySQL database.
1000
+ * @param opts Resource options.
1001
+ *
1002
+ * @example
1003
+ * Imagine you create a database in the `dev` stage. And in your personal stage `frank`,
1004
+ * instead of creating a new database, you want to share the same database from `dev`.
1005
+ *
1006
+ * ```ts title="sst.config.ts"
1007
+ * const database = $app.stage === "frank"
1008
+ * ? sst.aws.Mysql.get("MyDatabase", {
1009
+ * id: "app-dev-mydatabase",
1010
+ * proxyId: "app-dev-mydatabase-proxy"
1011
+ * })
1012
+ * : new sst.aws.Mysql("MyDatabase", {
1013
+ * proxy: true
1014
+ * });
1015
+ * ```
1016
+ *
1017
+ * Here `app-dev-mydatabase` is the ID of the database, and `app-dev-mydatabase-proxy`
1018
+ * is the ID of the proxy created in the `dev` stage. You can find these by outputting
1019
+ * the database ID and proxy ID in the `dev` stage.
1020
+ *
1021
+ * ```ts title="sst.config.ts"
1022
+ * return {
1023
+ * id: database.id,
1024
+ * proxyId: database.proxyId
1025
+ * };
1026
+ * ```
1027
+ */
1028
+ public static get(
1029
+ name: string,
1030
+ args: MysqlGetArgs,
1031
+ opts?: ComponentResourceOptions,
1032
+ ) {
1033
+ return new Mysql(
1034
+ name,
1035
+ {
1036
+ ref: true,
1037
+ id: args.id,
1038
+ proxyId: args.proxyId,
1039
+ } as unknown as MysqlArgs,
1040
+ opts,
1041
+ );
1042
+ }
1043
+ }
1044
+
1045
+ const __pulumiType = "sst:aws:Mysql";
1046
+ // @ts-expect-error
1047
+ Mysql.__pulumiType = __pulumiType;