@sst-community/sst 4.21.1 → 5.0.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (832) hide show
  1. package/README.md +86 -52
  2. package/package.json +35 -11
  3. package/platform/js/chunks/chunk-HIZZCEDS.js +328 -0
  4. package/platform/js/chunks/chunk-HIZZCEDS.js.map +6 -0
  5. package/platform/js/chunks/chunk-KOKHGKJ2.js +639 -0
  6. package/platform/js/chunks/chunk-KOKHGKJ2.js.map +6 -0
  7. package/platform/js/chunks/chunk-MR4XM5XA.js +473 -0
  8. package/platform/js/chunks/chunk-MR4XM5XA.js.map +6 -0
  9. package/platform/js/chunks/chunk-ONNI4XNK.js +367 -0
  10. package/platform/js/chunks/chunk-ONNI4XNK.js.map +6 -0
  11. package/platform/js/chunks/chunk-VIFHC73J.js +108 -0
  12. package/platform/js/chunks/chunk-VIFHC73J.js.map +6 -0
  13. package/platform/js/chunks/chunk-WJ6BVA46.js +10 -0
  14. package/platform/js/chunks/chunk-WJ6BVA46.js.map +6 -0
  15. package/platform/js/chunks/component-32FCLIRK.js +26 -0
  16. package/platform/js/chunks/component-32FCLIRK.js.map +6 -0
  17. package/platform/js/chunks/config-CRGKEDQW.js +10 -0
  18. package/platform/js/chunks/config-CRGKEDQW.js.map +6 -0
  19. package/platform/js/chunks/link-OJ3RNGQ3.js +9 -0
  20. package/platform/js/chunks/link-OJ3RNGQ3.js.map +6 -0
  21. package/platform/js/components/aws/index.js +35399 -0
  22. package/platform/js/components/aws/index.js.map +6 -0
  23. package/platform/js/components/cloudflare/index.js +3246 -0
  24. package/platform/js/components/cloudflare/index.js.map +6 -0
  25. package/platform/js/components/core.js +114 -0
  26. package/platform/js/components/core.js.map +6 -0
  27. package/platform/js/components/vercel/index.js +120 -0
  28. package/platform/js/components/vercel/index.js.map +6 -0
  29. package/platform/js/testing/index.js +569 -0
  30. package/platform/js/testing/index.js.map +6 -0
  31. package/platform/package.json +25 -0
  32. package/platform/src/ast/add.mjs +190 -0
  33. package/platform/src/auto/run.ts +109 -0
  34. package/platform/src/components/README.md +652 -0
  35. package/platform/src/components/args.ts +133 -0
  36. package/platform/src/components/aws/alb.ts +577 -0
  37. package/platform/src/components/aws/analog.ts +462 -0
  38. package/platform/src/components/aws/apigateway-websocket-route.ts +206 -0
  39. package/platform/src/components/aws/apigateway-websocket.ts +894 -0
  40. package/platform/src/components/aws/apigatewayv1-api-key.ts +90 -0
  41. package/platform/src/components/aws/apigatewayv1-authorizer.ts +178 -0
  42. package/platform/src/components/aws/apigatewayv1-base-route.ts +78 -0
  43. package/platform/src/components/aws/apigatewayv1-integration-route.ts +92 -0
  44. package/platform/src/components/aws/apigatewayv1-lambda-route.ts +152 -0
  45. package/platform/src/components/aws/apigatewayv1-usage-plan.ts +109 -0
  46. package/platform/src/components/aws/apigatewayv1.ts +1691 -0
  47. package/platform/src/components/aws/apigatewayv2-authorizer.ts +199 -0
  48. package/platform/src/components/aws/apigatewayv2-base-route.ts +69 -0
  49. package/platform/src/components/aws/apigatewayv2-lambda-route.ts +141 -0
  50. package/platform/src/components/aws/apigatewayv2-private-route.ts +101 -0
  51. package/platform/src/components/aws/apigatewayv2-url-route.ts +90 -0
  52. package/platform/src/components/aws/apigatewayv2.ts +1439 -0
  53. package/platform/src/components/aws/app-sync-data-source.ts +264 -0
  54. package/platform/src/components/aws/app-sync-function.ts +79 -0
  55. package/platform/src/components/aws/app-sync-resolver.ts +110 -0
  56. package/platform/src/components/aws/app-sync.ts +849 -0
  57. package/platform/src/components/aws/astro.ts +580 -0
  58. package/platform/src/components/aws/aurora.ts +1356 -0
  59. package/platform/src/components/aws/auth-v1.ts +69 -0
  60. package/platform/src/components/aws/auth.ts +417 -0
  61. package/platform/src/components/aws/bucket-lambda-subscriber.ts +162 -0
  62. package/platform/src/components/aws/bucket-notification.ts +254 -0
  63. package/platform/src/components/aws/bucket-queue-subscriber.ts +122 -0
  64. package/platform/src/components/aws/bucket-topic-subscriber.ts +144 -0
  65. package/platform/src/components/aws/bucket.ts +2046 -0
  66. package/platform/src/components/aws/bus-base-subscriber.ts +52 -0
  67. package/platform/src/components/aws/bus-lambda-subscriber.ts +125 -0
  68. package/platform/src/components/aws/bus-queue-subscriber.ts +88 -0
  69. package/platform/src/components/aws/bus.ts +630 -0
  70. package/platform/src/components/aws/cdn.ts +561 -0
  71. package/platform/src/components/aws/cluster-v1.ts +932 -0
  72. package/platform/src/components/aws/cluster.ts +584 -0
  73. package/platform/src/components/aws/cognito-identity-pool.ts +433 -0
  74. package/platform/src/components/aws/cognito-identity-provider.ts +96 -0
  75. package/platform/src/components/aws/cognito-user-pool-client.ts +114 -0
  76. package/platform/src/components/aws/cognito-user-pool.ts +1089 -0
  77. package/platform/src/components/aws/cron-v2.ts +555 -0
  78. package/platform/src/components/aws/cron.ts +435 -0
  79. package/platform/src/components/aws/dns-validated-certificate.ts +108 -0
  80. package/platform/src/components/aws/dns.ts +221 -0
  81. package/platform/src/components/aws/dsql.ts +741 -0
  82. package/platform/src/components/aws/dynamo-lambda-subscriber.ts +124 -0
  83. package/platform/src/components/aws/dynamo.ts +929 -0
  84. package/platform/src/components/aws/efs.ts +410 -0
  85. package/platform/src/components/aws/email.ts +673 -0
  86. package/platform/src/components/aws/fargate.ts +1279 -0
  87. package/platform/src/components/aws/function.ts +3280 -0
  88. package/platform/src/components/aws/helpers/apigateway-account.ts +78 -0
  89. package/platform/src/components/aws/helpers/apigatewayv2-domain.ts +144 -0
  90. package/platform/src/components/aws/helpers/arn.ts +182 -0
  91. package/platform/src/components/aws/helpers/bootstrap.ts +16 -0
  92. package/platform/src/components/aws/helpers/client.ts +76 -0
  93. package/platform/src/components/aws/helpers/container-builder.ts +33 -0
  94. package/platform/src/components/aws/helpers/custom-domain.ts +128 -0
  95. package/platform/src/components/aws/helpers/event-source.ts +41 -0
  96. package/platform/src/components/aws/helpers/fargate.ts +727 -0
  97. package/platform/src/components/aws/helpers/function-builder.ts +133 -0
  98. package/platform/src/components/aws/helpers/function-code.ts +224 -0
  99. package/platform/src/components/aws/helpers/function-part.ts +212 -0
  100. package/platform/src/components/aws/helpers/function-permission.ts +29 -0
  101. package/platform/src/components/aws/helpers/load-balancer-args.ts +88 -0
  102. package/platform/src/components/aws/helpers/load-balancer.ts +17 -0
  103. package/platform/src/components/aws/helpers/provider.ts +36 -0
  104. package/platform/src/components/aws/helpers/queue-policy.ts +33 -0
  105. package/platform/src/components/aws/helpers/rds.ts +212 -0
  106. package/platform/src/components/aws/helpers/site-builder.ts +41 -0
  107. package/platform/src/components/aws/helpers/subscriber.ts +23 -0
  108. package/platform/src/components/aws/helpers/vpc.ts +27 -0
  109. package/platform/src/components/aws/https-redirect.ts +216 -0
  110. package/platform/src/components/aws/iam-edit.ts +50 -0
  111. package/platform/src/components/aws/index.ts +61 -0
  112. package/platform/src/components/aws/kinesis-stream-lambda-subscriber.ts +122 -0
  113. package/platform/src/components/aws/kinesis-stream.ts +416 -0
  114. package/platform/src/components/aws/linkable.ts +32 -0
  115. package/platform/src/components/aws/logging.ts +25 -0
  116. package/platform/src/components/aws/microvm.ts +988 -0
  117. package/platform/src/components/aws/mysql.ts +1050 -0
  118. package/platform/src/components/aws/nextjs.ts +1052 -0
  119. package/platform/src/components/aws/nuxt.ts +527 -0
  120. package/platform/src/components/aws/open-search.ts +603 -0
  121. package/platform/src/components/aws/opencontrol.ts +235 -0
  122. package/platform/src/components/aws/permission.ts +80 -0
  123. package/platform/src/components/aws/postgres-v1.ts +537 -0
  124. package/platform/src/components/aws/postgres.ts +1074 -0
  125. package/platform/src/components/aws/providers/bucket-files.ts +32 -0
  126. package/platform/src/components/aws/providers/distribution-deployment-waiter.ts +27 -0
  127. package/platform/src/components/aws/providers/distribution-invalidation.ts +24 -0
  128. package/platform/src/components/aws/providers/function-environment-update.ts +46 -0
  129. package/platform/src/components/aws/providers/hosted-zone-lookup.ts +25 -0
  130. package/platform/src/components/aws/providers/kv-keys.ts +15 -0
  131. package/platform/src/components/aws/providers/kv-routes-update.ts +24 -0
  132. package/platform/src/components/aws/providers/microvm-image-prune.ts +48 -0
  133. package/platform/src/components/aws/providers/origin-access-control.ts +21 -0
  134. package/platform/src/components/aws/providers/rds-role-lookup.ts +21 -0
  135. package/platform/src/components/aws/providers/vector-table.ts +25 -0
  136. package/platform/src/components/aws/queue-lambda-subscriber.ts +135 -0
  137. package/platform/src/components/aws/queue.ts +712 -0
  138. package/platform/src/components/aws/react.ts +510 -0
  139. package/platform/src/components/aws/realtime-lambda-subscriber.ts +129 -0
  140. package/platform/src/components/aws/realtime.ts +345 -0
  141. package/platform/src/components/aws/redis-v1.ts +595 -0
  142. package/platform/src/components/aws/redis.ts +1078 -0
  143. package/platform/src/components/aws/remix.ts +576 -0
  144. package/platform/src/components/aws/router-base-route.ts +83 -0
  145. package/platform/src/components/aws/router-bucket-route.ts +63 -0
  146. package/platform/src/components/aws/router-url-route.ts +75 -0
  147. package/platform/src/components/aws/router.ts +3294 -0
  148. package/platform/src/components/aws/service-v1.ts +876 -0
  149. package/platform/src/components/aws/service.ts +2994 -0
  150. package/platform/src/components/aws/sns-topic-lambda-subscriber.ts +127 -0
  151. package/platform/src/components/aws/sns-topic-queue-subscriber.ts +105 -0
  152. package/platform/src/components/aws/sns-topic.ts +700 -0
  153. package/platform/src/components/aws/solid-start.ts +467 -0
  154. package/platform/src/components/aws/ssr-site.ts +2204 -0
  155. package/platform/src/components/aws/static-site.ts +1389 -0
  156. package/platform/src/components/aws/step-functions/choice.ts +123 -0
  157. package/platform/src/components/aws/step-functions/fail.ts +69 -0
  158. package/platform/src/components/aws/step-functions/map.ts +264 -0
  159. package/platform/src/components/aws/step-functions/parallel.ts +170 -0
  160. package/platform/src/components/aws/step-functions/pass.ts +48 -0
  161. package/platform/src/components/aws/step-functions/state.ts +376 -0
  162. package/platform/src/components/aws/step-functions/succeed.ts +31 -0
  163. package/platform/src/components/aws/step-functions/task.ts +538 -0
  164. package/platform/src/components/aws/step-functions/wait.ts +105 -0
  165. package/platform/src/components/aws/step-functions.ts +804 -0
  166. package/platform/src/components/aws/svelte-kit.ts +563 -0
  167. package/platform/src/components/aws/takeover/alb.ts +9 -0
  168. package/platform/src/components/aws/takeover/apigatewayv2.ts +43 -0
  169. package/platform/src/components/aws/takeover/app-sync.ts +45 -0
  170. package/platform/src/components/aws/takeover/aurora.ts +19 -0
  171. package/platform/src/components/aws/takeover/bucket.ts +94 -0
  172. package/platform/src/components/aws/takeover/bus.ts +43 -0
  173. package/platform/src/components/aws/takeover/cognito-user-pool.ts +21 -0
  174. package/platform/src/components/aws/takeover/cron-v2.ts +9 -0
  175. package/platform/src/components/aws/takeover/dsql.ts +12 -0
  176. package/platform/src/components/aws/takeover/dynamo.ts +31 -0
  177. package/platform/src/components/aws/takeover/efs.ts +9 -0
  178. package/platform/src/components/aws/takeover/function.ts +21 -0
  179. package/platform/src/components/aws/takeover/helpers.ts +26 -0
  180. package/platform/src/components/aws/takeover/index.ts +27 -0
  181. package/platform/src/components/aws/takeover/mysql.ts +17 -0
  182. package/platform/src/components/aws/takeover/postgres.ts +17 -0
  183. package/platform/src/components/aws/takeover/queue.ts +21 -0
  184. package/platform/src/components/aws/takeover/redis.ts +10 -0
  185. package/platform/src/components/aws/takeover/service.ts +22 -0
  186. package/platform/src/components/aws/takeover/sns-topic.ts +27 -0
  187. package/platform/src/components/aws/takeover/task.ts +13 -0
  188. package/platform/src/components/aws/tan-stack-start.ts +479 -0
  189. package/platform/src/components/aws/task.ts +571 -0
  190. package/platform/src/components/aws/v5/alb.ts +310 -0
  191. package/platform/src/components/aws/v5/apigatewayv2.ts +845 -0
  192. package/platform/src/components/aws/v5/app-sync.ts +673 -0
  193. package/platform/src/components/aws/v5/aurora.ts +855 -0
  194. package/platform/src/components/aws/v5/bucket.ts +1001 -0
  195. package/platform/src/components/aws/v5/bus.ts +321 -0
  196. package/platform/src/components/aws/v5/cluster.ts +230 -0
  197. package/platform/src/components/aws/v5/cognito-user-pool-client.ts +100 -0
  198. package/platform/src/components/aws/v5/cognito-user-pool.ts +693 -0
  199. package/platform/src/components/aws/v5/cron-v2.ts +316 -0
  200. package/platform/src/components/aws/v5/dsql.ts +665 -0
  201. package/platform/src/components/aws/v5/dynamo.ts +477 -0
  202. package/platform/src/components/aws/v5/efs.ts +311 -0
  203. package/platform/src/components/aws/v5/function.ts +1546 -0
  204. package/platform/src/components/aws/v5/index.ts +26 -0
  205. package/platform/src/components/aws/v5/mysql.ts +604 -0
  206. package/platform/src/components/aws/v5/postgres.ts +612 -0
  207. package/platform/src/components/aws/v5/queue.ts +271 -0
  208. package/platform/src/components/aws/v5/redis.ts +550 -0
  209. package/platform/src/components/aws/v5/service.ts +2209 -0
  210. package/platform/src/components/aws/v5/sns-topic.ts +284 -0
  211. package/platform/src/components/aws/v5/task.ts +549 -0
  212. package/platform/src/components/aws/vector.ts +316 -0
  213. package/platform/src/components/aws/vpc-v1.ts +580 -0
  214. package/platform/src/components/aws/vpc.ts +1641 -0
  215. package/platform/src/components/aws/workflow.ts +421 -0
  216. package/platform/src/components/base/base-site.ts +101 -0
  217. package/platform/src/components/base/base-ssr-site.ts +120 -0
  218. package/platform/src/components/base/base-static-site.ts +314 -0
  219. package/platform/src/components/cloudflare/account-id.ts +1 -0
  220. package/platform/src/components/cloudflare/ai.ts +77 -0
  221. package/platform/src/components/cloudflare/astro.ts +355 -0
  222. package/platform/src/components/cloudflare/auth.ts +69 -0
  223. package/platform/src/components/cloudflare/binding.ts +132 -0
  224. package/platform/src/components/cloudflare/bucket.ts +142 -0
  225. package/platform/src/components/cloudflare/cron.ts +207 -0
  226. package/platform/src/components/cloudflare/d1.ts +230 -0
  227. package/platform/src/components/cloudflare/dns.ts +253 -0
  228. package/platform/src/components/cloudflare/durable-object.ts +144 -0
  229. package/platform/src/components/cloudflare/experimental/index.ts +3 -0
  230. package/platform/src/components/cloudflare/experimental/solid-start.ts +288 -0
  231. package/platform/src/components/cloudflare/experimental/static-site.ts +4 -0
  232. package/platform/src/components/cloudflare/helpers/compatibility.ts +44 -0
  233. package/platform/src/components/cloudflare/helpers/fetch.ts +81 -0
  234. package/platform/src/components/cloudflare/helpers/validation.ts +74 -0
  235. package/platform/src/components/cloudflare/helpers/worker-builder.ts +57 -0
  236. package/platform/src/components/cloudflare/helpers/wrangler.ts +222 -0
  237. package/platform/src/components/cloudflare/hyperdrive.ts +402 -0
  238. package/platform/src/components/cloudflare/index.ts +25 -0
  239. package/platform/src/components/cloudflare/kv.ts +218 -0
  240. package/platform/src/components/cloudflare/providers/dns-record.ts +43 -0
  241. package/platform/src/components/cloudflare/providers/kv-data.ts +107 -0
  242. package/platform/src/components/cloudflare/providers/worker-assets.ts +41 -0
  243. package/platform/src/components/cloudflare/providers/worker-placement.ts +93 -0
  244. package/platform/src/components/cloudflare/providers/worker-script.ts +47 -0
  245. package/platform/src/components/cloudflare/providers/worker-url.ts +109 -0
  246. package/platform/src/components/cloudflare/providers/zone-lookup.ts +85 -0
  247. package/platform/src/components/cloudflare/queue-worker-subscriber.ts +192 -0
  248. package/platform/src/components/cloudflare/queue.ts +310 -0
  249. package/platform/src/components/cloudflare/rate-limit.ts +178 -0
  250. package/platform/src/components/cloudflare/react-router.ts +322 -0
  251. package/platform/src/components/cloudflare/ssr-site.ts +293 -0
  252. package/platform/src/components/cloudflare/static-site-v2.ts +428 -0
  253. package/platform/src/components/cloudflare/static-site.ts +470 -0
  254. package/platform/src/components/cloudflare/tan-stack-start.ts +408 -0
  255. package/platform/src/components/cloudflare/worker.ts +1080 -0
  256. package/platform/src/components/cloudflare/workflow.ts +319 -0
  257. package/platform/src/components/component.ts +242 -0
  258. package/platform/src/components/core.ts +43 -0
  259. package/platform/src/components/cpu.ts +10 -0
  260. package/platform/src/components/dns.ts +82 -0
  261. package/platform/src/components/duration.ts +67 -0
  262. package/platform/src/components/error.ts +5 -0
  263. package/platform/src/components/esbuild.ts +15 -0
  264. package/platform/src/components/experimental/dev-command.ts +127 -0
  265. package/platform/src/components/experimental/index.ts +1 -0
  266. package/platform/src/components/groups.ts +9 -0
  267. package/platform/src/components/index.ts +9 -0
  268. package/platform/src/components/input.ts +2 -0
  269. package/platform/src/components/link.ts +201 -0
  270. package/platform/src/components/linkable.ts +360 -0
  271. package/platform/src/components/naming-rules.ts +299 -0
  272. package/platform/src/components/naming.ts +189 -0
  273. package/platform/src/components/parts-component.ts +662 -0
  274. package/platform/src/components/parts.ts +299 -0
  275. package/platform/src/components/path.ts +5 -0
  276. package/platform/src/components/rpc/rpc.ts +110 -0
  277. package/platform/src/components/secret.ts +159 -0
  278. package/platform/src/components/size.ts +28 -0
  279. package/platform/src/components/takeover.ts +131 -0
  280. package/platform/src/components/transform.ts +107 -0
  281. package/platform/src/components/vercel/account-id.ts +1 -0
  282. package/platform/src/components/vercel/dns.ts +171 -0
  283. package/platform/src/components/vercel/index.ts +2 -0
  284. package/platform/src/components/vercel/providers/dns-record.ts +34 -0
  285. package/platform/src/config.ts +1463 -0
  286. package/platform/src/global-aliases.d.ts +37 -0
  287. package/platform/src/global.d.ts +374 -0
  288. package/platform/src/internal.d.ts +18 -0
  289. package/platform/src/runtime/worker/unenv.d.ts +14 -0
  290. package/platform/src/runtime/worker/unenv.mjs +26 -0
  291. package/platform/src/shim/run.js +25 -0
  292. package/platform/src/testing/global.ts +83 -0
  293. package/platform/src/testing/index.ts +103 -0
  294. package/platform/src/testing/mock.ts +646 -0
  295. package/platform/src/testing/vitest.ts +36 -0
  296. package/platform/src/util/compare-semver.ts +23 -0
  297. package/platform/src/util/fs.ts +49 -0
  298. package/platform/src/util/lazy.ts +12 -0
  299. package/platform/src/util/minify.ts +10 -0
  300. package/platform/src/util/package.ts +29 -0
  301. package/platform/src/util/semaphore.ts +29 -0
  302. package/platform/src/util/warn.ts +7 -0
  303. package/platform/types/auto/run.d.ts +9 -0
  304. package/platform/types/auto/run.d.ts.map +1 -0
  305. package/platform/types/components/args.d.ts +77 -0
  306. package/platform/types/components/args.d.ts.map +1 -0
  307. package/platform/types/components/aws/alb.d.ts +283 -0
  308. package/platform/types/components/aws/alb.d.ts.map +1 -0
  309. package/platform/types/components/aws/analog.d.ts +408 -0
  310. package/platform/types/components/aws/analog.d.ts.map +1 -0
  311. package/platform/types/components/aws/apigateway-websocket-route.d.ts +74 -0
  312. package/platform/types/components/aws/apigateway-websocket-route.d.ts.map +1 -0
  313. package/platform/types/components/aws/apigateway-websocket.d.ts +560 -0
  314. package/platform/types/components/aws/apigateway-websocket.d.ts.map +1 -0
  315. package/platform/types/components/aws/apigatewayv1-api-key.d.ts +48 -0
  316. package/platform/types/components/aws/apigatewayv1-api-key.d.ts.map +1 -0
  317. package/platform/types/components/aws/apigatewayv1-authorizer.d.ts +55 -0
  318. package/platform/types/components/aws/apigatewayv1-authorizer.d.ts.map +1 -0
  319. package/platform/types/components/aws/apigatewayv1-base-route.d.ts +36 -0
  320. package/platform/types/components/aws/apigatewayv1-base-route.d.ts.map +1 -0
  321. package/platform/types/components/aws/apigatewayv1-integration-route.d.ts +39 -0
  322. package/platform/types/components/aws/apigatewayv1-integration-route.d.ts.map +1 -0
  323. package/platform/types/components/aws/apigatewayv1-lambda-route.d.ts +53 -0
  324. package/platform/types/components/aws/apigatewayv1-lambda-route.d.ts.map +1 -0
  325. package/platform/types/components/aws/apigatewayv1-usage-plan.d.ts +53 -0
  326. package/platform/types/components/aws/apigatewayv1-usage-plan.d.ts.map +1 -0
  327. package/platform/types/components/aws/apigatewayv1.d.ts +1028 -0
  328. package/platform/types/components/aws/apigatewayv1.d.ts.map +1 -0
  329. package/platform/types/components/aws/apigatewayv2-authorizer.d.ts +54 -0
  330. package/platform/types/components/aws/apigatewayv2-authorizer.d.ts.map +1 -0
  331. package/platform/types/components/aws/apigatewayv2-base-route.d.ts +28 -0
  332. package/platform/types/components/aws/apigatewayv2-base-route.d.ts.map +1 -0
  333. package/platform/types/components/aws/apigatewayv2-lambda-route.d.ts +59 -0
  334. package/platform/types/components/aws/apigatewayv2-lambda-route.d.ts.map +1 -0
  335. package/platform/types/components/aws/apigatewayv2-private-route.d.ts +54 -0
  336. package/platform/types/components/aws/apigatewayv2-private-route.d.ts.map +1 -0
  337. package/platform/types/components/aws/apigatewayv2-url-route.d.ts +44 -0
  338. package/platform/types/components/aws/apigatewayv2-url-route.d.ts.map +1 -0
  339. package/platform/types/components/aws/apigatewayv2.d.ts +955 -0
  340. package/platform/types/components/aws/apigatewayv2.d.ts.map +1 -0
  341. package/platform/types/components/aws/app-sync-data-source.d.ts +52 -0
  342. package/platform/types/components/aws/app-sync-data-source.d.ts.map +1 -0
  343. package/platform/types/components/aws/app-sync-function.d.ts +33 -0
  344. package/platform/types/components/aws/app-sync-function.d.ts.map +1 -0
  345. package/platform/types/components/aws/app-sync-resolver.d.ts +41 -0
  346. package/platform/types/components/aws/app-sync-resolver.d.ts.map +1 -0
  347. package/platform/types/components/aws/app-sync.d.ts +638 -0
  348. package/platform/types/components/aws/app-sync.d.ts.map +1 -0
  349. package/platform/types/components/aws/astro.d.ts +409 -0
  350. package/platform/types/components/aws/astro.d.ts.map +1 -0
  351. package/platform/types/components/aws/aurora.d.ts +720 -0
  352. package/platform/types/components/aws/aurora.d.ts.map +1 -0
  353. package/platform/types/components/aws/auth-v1.d.ts +26 -0
  354. package/platform/types/components/aws/auth-v1.d.ts.map +1 -0
  355. package/platform/types/components/aws/auth.d.ts +295 -0
  356. package/platform/types/components/aws/auth.d.ts.map +1 -0
  357. package/platform/types/components/aws/bucket-lambda-subscriber.d.ts +61 -0
  358. package/platform/types/components/aws/bucket-lambda-subscriber.d.ts.map +1 -0
  359. package/platform/types/components/aws/bucket-notification.d.ts +47 -0
  360. package/platform/types/components/aws/bucket-notification.d.ts.map +1 -0
  361. package/platform/types/components/aws/bucket-queue-subscriber.d.ts +55 -0
  362. package/platform/types/components/aws/bucket-queue-subscriber.d.ts.map +1 -0
  363. package/platform/types/components/aws/bucket-topic-subscriber.d.ts +55 -0
  364. package/platform/types/components/aws/bucket-topic-subscriber.d.ts.map +1 -0
  365. package/platform/types/components/aws/bucket.d.ts +1356 -0
  366. package/platform/types/components/aws/bucket.d.ts.map +1 -0
  367. package/platform/types/components/aws/bus-base-subscriber.d.ts +20 -0
  368. package/platform/types/components/aws/bus-base-subscriber.d.ts.map +1 -0
  369. package/platform/types/components/aws/bus-lambda-subscriber.d.ts +50 -0
  370. package/platform/types/components/aws/bus-lambda-subscriber.d.ts.map +1 -0
  371. package/platform/types/components/aws/bus-queue-subscriber.d.ts +44 -0
  372. package/platform/types/components/aws/bus-queue-subscriber.d.ts.map +1 -0
  373. package/platform/types/components/aws/bus.d.ts +447 -0
  374. package/platform/types/components/aws/bus.d.ts.map +1 -0
  375. package/platform/types/components/aws/cdn.d.ts +310 -0
  376. package/platform/types/components/aws/cdn.d.ts.map +1 -0
  377. package/platform/types/components/aws/cluster-v1.d.ts +885 -0
  378. package/platform/types/components/aws/cluster-v1.d.ts.map +1 -0
  379. package/platform/types/components/aws/cluster.d.ts +364 -0
  380. package/platform/types/components/aws/cluster.d.ts.map +1 -0
  381. package/platform/types/components/aws/cognito-identity-pool.d.ts +199 -0
  382. package/platform/types/components/aws/cognito-identity-pool.d.ts.map +1 -0
  383. package/platform/types/components/aws/cognito-identity-provider.d.ts +38 -0
  384. package/platform/types/components/aws/cognito-identity-provider.d.ts.map +1 -0
  385. package/platform/types/components/aws/cognito-user-pool-client.d.ts +50 -0
  386. package/platform/types/components/aws/cognito-user-pool-client.d.ts.map +1 -0
  387. package/platform/types/components/aws/cognito-user-pool.d.ts +703 -0
  388. package/platform/types/components/aws/cognito-user-pool.d.ts.map +1 -0
  389. package/platform/types/components/aws/cron-v2.d.ts +325 -0
  390. package/platform/types/components/aws/cron-v2.d.ts.map +1 -0
  391. package/platform/types/components/aws/cron.d.ts +259 -0
  392. package/platform/types/components/aws/cron.d.ts.map +1 -0
  393. package/platform/types/components/aws/dns-validated-certificate.d.ts +27 -0
  394. package/platform/types/components/aws/dns-validated-certificate.d.ts.map +1 -0
  395. package/platform/types/components/aws/dns.d.ts +94 -0
  396. package/platform/types/components/aws/dns.d.ts.map +1 -0
  397. package/platform/types/components/aws/dsql.d.ts +369 -0
  398. package/platform/types/components/aws/dsql.d.ts.map +1 -0
  399. package/platform/types/components/aws/dynamo-lambda-subscriber.d.ts +55 -0
  400. package/platform/types/components/aws/dynamo-lambda-subscriber.d.ts.map +1 -0
  401. package/platform/types/components/aws/dynamo.d.ts +628 -0
  402. package/platform/types/components/aws/dynamo.d.ts.map +1 -0
  403. package/platform/types/components/aws/efs.d.ts +217 -0
  404. package/platform/types/components/aws/efs.d.ts.map +1 -0
  405. package/platform/types/components/aws/email.d.ts +370 -0
  406. package/platform/types/components/aws/email.d.ts.map +1 -0
  407. package/platform/types/components/aws/fargate.d.ts +894 -0
  408. package/platform/types/components/aws/fargate.d.ts.map +1 -0
  409. package/platform/types/components/aws/function.d.ts +1780 -0
  410. package/platform/types/components/aws/function.d.ts.map +1 -0
  411. package/platform/types/components/aws/helpers/apigateway-account.d.ts +3 -0
  412. package/platform/types/components/aws/helpers/apigateway-account.d.ts.map +1 -0
  413. package/platform/types/components/aws/helpers/apigatewayv2-domain.d.ts +144 -0
  414. package/platform/types/components/aws/helpers/apigatewayv2-domain.d.ts.map +1 -0
  415. package/platform/types/components/aws/helpers/arn.d.ts +51 -0
  416. package/platform/types/components/aws/helpers/arn.d.ts.map +1 -0
  417. package/platform/types/components/aws/helpers/bootstrap.d.ts +13 -0
  418. package/platform/types/components/aws/helpers/bootstrap.d.ts.map +1 -0
  419. package/platform/types/components/aws/helpers/client.d.ts +7 -0
  420. package/platform/types/components/aws/helpers/client.d.ts.map +1 -0
  421. package/platform/types/components/aws/helpers/container-builder.d.ts +4 -0
  422. package/platform/types/components/aws/helpers/container-builder.d.ts.map +1 -0
  423. package/platform/types/components/aws/helpers/custom-domain.d.ts +111 -0
  424. package/platform/types/components/aws/helpers/custom-domain.d.ts.map +1 -0
  425. package/platform/types/components/aws/helpers/event-source.d.ts +26 -0
  426. package/platform/types/components/aws/helpers/event-source.d.ts.map +1 -0
  427. package/platform/types/components/aws/helpers/fargate.d.ts +225 -0
  428. package/platform/types/components/aws/helpers/fargate.d.ts.map +1 -0
  429. package/platform/types/components/aws/helpers/function-builder.d.ts +14 -0
  430. package/platform/types/components/aws/helpers/function-builder.d.ts.map +1 -0
  431. package/platform/types/components/aws/helpers/function-code.d.ts +80 -0
  432. package/platform/types/components/aws/helpers/function-code.d.ts.map +1 -0
  433. package/platform/types/components/aws/helpers/function-part.d.ts +61 -0
  434. package/platform/types/components/aws/helpers/function-part.d.ts.map +1 -0
  435. package/platform/types/components/aws/helpers/function-permission.d.ts +17 -0
  436. package/platform/types/components/aws/helpers/function-permission.d.ts.map +1 -0
  437. package/platform/types/components/aws/helpers/load-balancer-args.d.ts +40 -0
  438. package/platform/types/components/aws/helpers/load-balancer-args.d.ts.map +1 -0
  439. package/platform/types/components/aws/helpers/load-balancer.d.ts +9 -0
  440. package/platform/types/components/aws/helpers/load-balancer.d.ts.map +1 -0
  441. package/platform/types/components/aws/helpers/provider.d.ts +3 -0
  442. package/platform/types/components/aws/helpers/provider.d.ts.map +1 -0
  443. package/platform/types/components/aws/helpers/queue-policy.d.ts +11 -0
  444. package/platform/types/components/aws/helpers/queue-policy.d.ts.map +1 -0
  445. package/platform/types/components/aws/helpers/rds.d.ts +98 -0
  446. package/platform/types/components/aws/helpers/rds.d.ts.map +1 -0
  447. package/platform/types/components/aws/helpers/site-builder.d.ts +4 -0
  448. package/platform/types/components/aws/helpers/site-builder.d.ts.map +1 -0
  449. package/platform/types/components/aws/helpers/subscriber.d.ts +6 -0
  450. package/platform/types/components/aws/helpers/subscriber.d.ts.map +1 -0
  451. package/platform/types/components/aws/helpers/vpc.d.ts +14 -0
  452. package/platform/types/components/aws/helpers/vpc.d.ts.map +1 -0
  453. package/platform/types/components/aws/https-redirect.d.ts +38 -0
  454. package/platform/types/components/aws/https-redirect.d.ts.map +1 -0
  455. package/platform/types/components/aws/iam-edit.d.ts +39 -0
  456. package/platform/types/components/aws/iam-edit.d.ts.map +1 -0
  457. package/platform/types/components/aws/index.d.ts +56 -0
  458. package/platform/types/components/aws/index.d.ts.map +1 -0
  459. package/platform/types/components/aws/kinesis-stream-lambda-subscriber.d.ts +49 -0
  460. package/platform/types/components/aws/kinesis-stream-lambda-subscriber.d.ts.map +1 -0
  461. package/platform/types/components/aws/kinesis-stream.d.ts +254 -0
  462. package/platform/types/components/aws/kinesis-stream.d.ts.map +1 -0
  463. package/platform/types/components/aws/linkable.d.ts +17 -0
  464. package/platform/types/components/aws/linkable.d.ts.map +1 -0
  465. package/platform/types/components/aws/logging.d.ts +26 -0
  466. package/platform/types/components/aws/logging.d.ts.map +1 -0
  467. package/platform/types/components/aws/microvm.d.ts +439 -0
  468. package/platform/types/components/aws/microvm.d.ts.map +1 -0
  469. package/platform/types/components/aws/mysql.d.ts +528 -0
  470. package/platform/types/components/aws/mysql.d.ts.map +1 -0
  471. package/platform/types/components/aws/nextjs.d.ts +534 -0
  472. package/platform/types/components/aws/nextjs.d.ts.map +1 -0
  473. package/platform/types/components/aws/nuxt.d.ts +480 -0
  474. package/platform/types/components/aws/nuxt.d.ts.map +1 -0
  475. package/platform/types/components/aws/open-search.d.ts +306 -0
  476. package/platform/types/components/aws/open-search.d.ts.map +1 -0
  477. package/platform/types/components/aws/opencontrol.d.ts +169 -0
  478. package/platform/types/components/aws/opencontrol.d.ts.map +1 -0
  479. package/platform/types/components/aws/permission.d.ts +80 -0
  480. package/platform/types/components/aws/permission.d.ts.map +1 -0
  481. package/platform/types/components/aws/postgres-v1.d.ts +328 -0
  482. package/platform/types/components/aws/postgres-v1.d.ts.map +1 -0
  483. package/platform/types/components/aws/postgres.d.ts +529 -0
  484. package/platform/types/components/aws/postgres.d.ts.map +1 -0
  485. package/platform/types/components/aws/providers/bucket-files.d.ts +18 -0
  486. package/platform/types/components/aws/providers/bucket-files.d.ts.map +1 -0
  487. package/platform/types/components/aws/providers/distribution-deployment-waiter.d.ts +13 -0
  488. package/platform/types/components/aws/providers/distribution-deployment-waiter.d.ts.map +1 -0
  489. package/platform/types/components/aws/providers/distribution-invalidation.d.ts +11 -0
  490. package/platform/types/components/aws/providers/distribution-invalidation.d.ts.map +1 -0
  491. package/platform/types/components/aws/providers/function-environment-update.d.ts +33 -0
  492. package/platform/types/components/aws/providers/function-environment-update.d.ts.map +1 -0
  493. package/platform/types/components/aws/providers/hosted-zone-lookup.d.ts +11 -0
  494. package/platform/types/components/aws/providers/hosted-zone-lookup.d.ts.map +1 -0
  495. package/platform/types/components/aws/providers/kv-keys.d.ts +11 -0
  496. package/platform/types/components/aws/providers/kv-keys.d.ts.map +1 -0
  497. package/platform/types/components/aws/providers/kv-routes-update.d.ts +11 -0
  498. package/platform/types/components/aws/providers/kv-routes-update.d.ts.map +1 -0
  499. package/platform/types/components/aws/providers/microvm-image-prune.d.ts +35 -0
  500. package/platform/types/components/aws/providers/microvm-image-prune.d.ts.map +1 -0
  501. package/platform/types/components/aws/providers/origin-access-control.d.ts +8 -0
  502. package/platform/types/components/aws/providers/origin-access-control.d.ts.map +1 -0
  503. package/platform/types/components/aws/providers/rds-role-lookup.d.ts +8 -0
  504. package/platform/types/components/aws/providers/rds-role-lookup.d.ts.map +1 -0
  505. package/platform/types/components/aws/providers/vector-table.d.ts +12 -0
  506. package/platform/types/components/aws/providers/vector-table.d.ts.map +1 -0
  507. package/platform/types/components/aws/queue-lambda-subscriber.d.ts +53 -0
  508. package/platform/types/components/aws/queue-lambda-subscriber.d.ts.map +1 -0
  509. package/platform/types/components/aws/queue.d.ts +494 -0
  510. package/platform/types/components/aws/queue.d.ts.map +1 -0
  511. package/platform/types/components/aws/react.d.ts +407 -0
  512. package/platform/types/components/aws/react.d.ts.map +1 -0
  513. package/platform/types/components/aws/realtime-lambda-subscriber.d.ts +53 -0
  514. package/platform/types/components/aws/realtime-lambda-subscriber.d.ts.map +1 -0
  515. package/platform/types/components/aws/realtime.d.ts +237 -0
  516. package/platform/types/components/aws/realtime.d.ts.map +1 -0
  517. package/platform/types/components/aws/redis-v1.d.ts +348 -0
  518. package/platform/types/components/aws/redis-v1.d.ts.map +1 -0
  519. package/platform/types/components/aws/redis.d.ts +545 -0
  520. package/platform/types/components/aws/redis.d.ts.map +1 -0
  521. package/platform/types/components/aws/remix.d.ts +408 -0
  522. package/platform/types/components/aws/remix.d.ts.map +1 -0
  523. package/platform/types/components/aws/router-base-route.d.ts +28 -0
  524. package/platform/types/components/aws/router-base-route.d.ts.map +1 -0
  525. package/platform/types/components/aws/router-bucket-route.d.ts +29 -0
  526. package/platform/types/components/aws/router-bucket-route.d.ts.map +1 -0
  527. package/platform/types/components/aws/router-url-route.d.ts +28 -0
  528. package/platform/types/components/aws/router-url-route.d.ts.map +1 -0
  529. package/platform/types/components/aws/router.d.ts +1767 -0
  530. package/platform/types/components/aws/router.d.ts.map +1 -0
  531. package/platform/types/components/aws/service-v1.d.ts +78 -0
  532. package/platform/types/components/aws/service-v1.d.ts.map +1 -0
  533. package/platform/types/components/aws/service.d.ts +1756 -0
  534. package/platform/types/components/aws/service.d.ts.map +1 -0
  535. package/platform/types/components/aws/sns-topic-lambda-subscriber.d.ts +53 -0
  536. package/platform/types/components/aws/sns-topic-lambda-subscriber.d.ts.map +1 -0
  537. package/platform/types/components/aws/sns-topic-queue-subscriber.d.ts +55 -0
  538. package/platform/types/components/aws/sns-topic-queue-subscriber.d.ts.map +1 -0
  539. package/platform/types/components/aws/sns-topic.d.ts +394 -0
  540. package/platform/types/components/aws/sns-topic.d.ts.map +1 -0
  541. package/platform/types/components/aws/solid-start.d.ts +399 -0
  542. package/platform/types/components/aws/solid-start.d.ts.map +1 -0
  543. package/platform/types/components/aws/ssr-site.d.ts +895 -0
  544. package/platform/types/components/aws/ssr-site.d.ts.map +1 -0
  545. package/platform/types/components/aws/static-site.d.ts +744 -0
  546. package/platform/types/components/aws/static-site.d.ts.map +1 -0
  547. package/platform/types/components/aws/step-functions/choice.d.ts +73 -0
  548. package/platform/types/components/aws/step-functions/choice.d.ts.map +1 -0
  549. package/platform/types/components/aws/step-functions/fail.d.ts +63 -0
  550. package/platform/types/components/aws/step-functions/fail.d.ts.map +1 -0
  551. package/platform/types/components/aws/step-functions/map.d.ts +236 -0
  552. package/platform/types/components/aws/step-functions/map.d.ts.map +1 -0
  553. package/platform/types/components/aws/step-functions/parallel.d.ts +127 -0
  554. package/platform/types/components/aws/step-functions/parallel.d.ts.map +1 -0
  555. package/platform/types/components/aws/step-functions/pass.d.ts +39 -0
  556. package/platform/types/components/aws/step-functions/pass.d.ts.map +1 -0
  557. package/platform/types/components/aws/step-functions/state.d.ts +231 -0
  558. package/platform/types/components/aws/step-functions/state.d.ts.map +1 -0
  559. package/platform/types/components/aws/step-functions/succeed.d.ts +26 -0
  560. package/platform/types/components/aws/step-functions/succeed.d.ts.map +1 -0
  561. package/platform/types/components/aws/step-functions/task.d.ts +485 -0
  562. package/platform/types/components/aws/step-functions/task.d.ts.map +1 -0
  563. package/platform/types/components/aws/step-functions/wait.d.ts +91 -0
  564. package/platform/types/components/aws/step-functions/wait.d.ts.map +1 -0
  565. package/platform/types/components/aws/step-functions.d.ts +478 -0
  566. package/platform/types/components/aws/step-functions.d.ts.map +1 -0
  567. package/platform/types/components/aws/svelte-kit.d.ts +456 -0
  568. package/platform/types/components/aws/svelte-kit.d.ts.map +1 -0
  569. package/platform/types/components/aws/takeover/alb.d.ts +2 -0
  570. package/platform/types/components/aws/takeover/alb.d.ts.map +1 -0
  571. package/platform/types/components/aws/takeover/apigatewayv2.d.ts +2 -0
  572. package/platform/types/components/aws/takeover/apigatewayv2.d.ts.map +1 -0
  573. package/platform/types/components/aws/takeover/app-sync.d.ts +2 -0
  574. package/platform/types/components/aws/takeover/app-sync.d.ts.map +1 -0
  575. package/platform/types/components/aws/takeover/aurora.d.ts +2 -0
  576. package/platform/types/components/aws/takeover/aurora.d.ts.map +1 -0
  577. package/platform/types/components/aws/takeover/bucket.d.ts +2 -0
  578. package/platform/types/components/aws/takeover/bucket.d.ts.map +1 -0
  579. package/platform/types/components/aws/takeover/bus.d.ts +2 -0
  580. package/platform/types/components/aws/takeover/bus.d.ts.map +1 -0
  581. package/platform/types/components/aws/takeover/cognito-user-pool.d.ts +2 -0
  582. package/platform/types/components/aws/takeover/cognito-user-pool.d.ts.map +1 -0
  583. package/platform/types/components/aws/takeover/cron-v2.d.ts +2 -0
  584. package/platform/types/components/aws/takeover/cron-v2.d.ts.map +1 -0
  585. package/platform/types/components/aws/takeover/dsql.d.ts +2 -0
  586. package/platform/types/components/aws/takeover/dsql.d.ts.map +1 -0
  587. package/platform/types/components/aws/takeover/dynamo.d.ts +2 -0
  588. package/platform/types/components/aws/takeover/dynamo.d.ts.map +1 -0
  589. package/platform/types/components/aws/takeover/efs.d.ts +2 -0
  590. package/platform/types/components/aws/takeover/efs.d.ts.map +1 -0
  591. package/platform/types/components/aws/takeover/function.d.ts +2 -0
  592. package/platform/types/components/aws/takeover/function.d.ts.map +1 -0
  593. package/platform/types/components/aws/takeover/helpers.d.ts +16 -0
  594. package/platform/types/components/aws/takeover/helpers.d.ts.map +1 -0
  595. package/platform/types/components/aws/takeover/index.d.ts +28 -0
  596. package/platform/types/components/aws/takeover/index.d.ts.map +1 -0
  597. package/platform/types/components/aws/takeover/mysql.d.ts +2 -0
  598. package/platform/types/components/aws/takeover/mysql.d.ts.map +1 -0
  599. package/platform/types/components/aws/takeover/postgres.d.ts +2 -0
  600. package/platform/types/components/aws/takeover/postgres.d.ts.map +1 -0
  601. package/platform/types/components/aws/takeover/queue.d.ts +2 -0
  602. package/platform/types/components/aws/takeover/queue.d.ts.map +1 -0
  603. package/platform/types/components/aws/takeover/redis.d.ts +2 -0
  604. package/platform/types/components/aws/takeover/redis.d.ts.map +1 -0
  605. package/platform/types/components/aws/takeover/service.d.ts +2 -0
  606. package/platform/types/components/aws/takeover/service.d.ts.map +1 -0
  607. package/platform/types/components/aws/takeover/sns-topic.d.ts +2 -0
  608. package/platform/types/components/aws/takeover/sns-topic.d.ts.map +1 -0
  609. package/platform/types/components/aws/takeover/task.d.ts +2 -0
  610. package/platform/types/components/aws/takeover/task.d.ts.map +1 -0
  611. package/platform/types/components/aws/tan-stack-start.d.ts +359 -0
  612. package/platform/types/components/aws/tan-stack-start.d.ts.map +1 -0
  613. package/platform/types/components/aws/task.d.ts +342 -0
  614. package/platform/types/components/aws/task.d.ts.map +1 -0
  615. package/platform/types/components/aws/v5/alb.d.ts +177 -0
  616. package/platform/types/components/aws/v5/alb.d.ts.map +1 -0
  617. package/platform/types/components/aws/v5/apigatewayv2.d.ts +482 -0
  618. package/platform/types/components/aws/v5/apigatewayv2.d.ts.map +1 -0
  619. package/platform/types/components/aws/v5/app-sync.d.ts +424 -0
  620. package/platform/types/components/aws/v5/app-sync.d.ts.map +1 -0
  621. package/platform/types/components/aws/v5/aurora.d.ts +459 -0
  622. package/platform/types/components/aws/v5/aurora.d.ts.map +1 -0
  623. package/platform/types/components/aws/v5/bucket.d.ts +578 -0
  624. package/platform/types/components/aws/v5/bucket.d.ts.map +1 -0
  625. package/platform/types/components/aws/v5/bus.d.ts +255 -0
  626. package/platform/types/components/aws/v5/bus.d.ts.map +1 -0
  627. package/platform/types/components/aws/v5/cluster.d.ts +167 -0
  628. package/platform/types/components/aws/v5/cluster.d.ts.map +1 -0
  629. package/platform/types/components/aws/v5/cognito-user-pool-client.d.ts +69 -0
  630. package/platform/types/components/aws/v5/cognito-user-pool-client.d.ts.map +1 -0
  631. package/platform/types/components/aws/v5/cognito-user-pool.d.ts +396 -0
  632. package/platform/types/components/aws/v5/cognito-user-pool.d.ts.map +1 -0
  633. package/platform/types/components/aws/v5/cron-v2.d.ts +206 -0
  634. package/platform/types/components/aws/v5/cron-v2.d.ts.map +1 -0
  635. package/platform/types/components/aws/v5/dsql.d.ts +453 -0
  636. package/platform/types/components/aws/v5/dsql.d.ts.map +1 -0
  637. package/platform/types/components/aws/v5/dynamo.d.ts +328 -0
  638. package/platform/types/components/aws/v5/dynamo.d.ts.map +1 -0
  639. package/platform/types/components/aws/v5/efs.d.ts +178 -0
  640. package/platform/types/components/aws/v5/efs.d.ts.map +1 -0
  641. package/platform/types/components/aws/v5/function.d.ts +586 -0
  642. package/platform/types/components/aws/v5/function.d.ts.map +1 -0
  643. package/platform/types/components/aws/v5/index.d.ts +27 -0
  644. package/platform/types/components/aws/v5/index.d.ts.map +1 -0
  645. package/platform/types/components/aws/v5/mysql.d.ts +347 -0
  646. package/platform/types/components/aws/v5/mysql.d.ts.map +1 -0
  647. package/platform/types/components/aws/v5/postgres.d.ts +348 -0
  648. package/platform/types/components/aws/v5/postgres.d.ts.map +1 -0
  649. package/platform/types/components/aws/v5/queue.d.ts +190 -0
  650. package/platform/types/components/aws/v5/queue.d.ts.map +1 -0
  651. package/platform/types/components/aws/v5/redis.d.ts +214 -0
  652. package/platform/types/components/aws/v5/redis.d.ts.map +1 -0
  653. package/platform/types/components/aws/v5/service.d.ts +1347 -0
  654. package/platform/types/components/aws/v5/service.d.ts.map +1 -0
  655. package/platform/types/components/aws/v5/sns-topic.d.ts +226 -0
  656. package/platform/types/components/aws/v5/sns-topic.d.ts.map +1 -0
  657. package/platform/types/components/aws/v5/task.d.ts +346 -0
  658. package/platform/types/components/aws/v5/task.d.ts.map +1 -0
  659. package/platform/types/components/aws/vector.d.ts +163 -0
  660. package/platform/types/components/aws/vector.d.ts.map +1 -0
  661. package/platform/types/components/aws/vpc-v1.d.ts +208 -0
  662. package/platform/types/components/aws/vpc-v1.d.ts.map +1 -0
  663. package/platform/types/components/aws/vpc.d.ts +491 -0
  664. package/platform/types/components/aws/vpc.d.ts.map +1 -0
  665. package/platform/types/components/aws/workflow.d.ts +331 -0
  666. package/platform/types/components/aws/workflow.d.ts.map +1 -0
  667. package/platform/types/components/base/base-site.d.ts +53 -0
  668. package/platform/types/components/base/base-site.d.ts.map +1 -0
  669. package/platform/types/components/base/base-ssr-site.d.ts +13 -0
  670. package/platform/types/components/base/base-ssr-site.d.ts.map +1 -0
  671. package/platform/types/components/base/base-static-site.d.ts +199 -0
  672. package/platform/types/components/base/base-static-site.d.ts.map +1 -0
  673. package/platform/types/components/cloudflare/account-id.d.ts +2 -0
  674. package/platform/types/components/cloudflare/account-id.d.ts.map +1 -0
  675. package/platform/types/components/cloudflare/ai.d.ts +68 -0
  676. package/platform/types/components/cloudflare/ai.d.ts.map +1 -0
  677. package/platform/types/components/cloudflare/astro.d.ts +249 -0
  678. package/platform/types/components/cloudflare/astro.d.ts.map +1 -0
  679. package/platform/types/components/cloudflare/auth.d.ts +22 -0
  680. package/platform/types/components/cloudflare/auth.d.ts.map +1 -0
  681. package/platform/types/components/cloudflare/binding.d.ts +109 -0
  682. package/platform/types/components/cloudflare/binding.d.ts.map +1 -0
  683. package/platform/types/components/cloudflare/bucket.d.ts +98 -0
  684. package/platform/types/components/cloudflare/bucket.d.ts.map +1 -0
  685. package/platform/types/components/cloudflare/cron.d.ts +151 -0
  686. package/platform/types/components/cloudflare/cron.d.ts.map +1 -0
  687. package/platform/types/components/cloudflare/d1.d.ts +142 -0
  688. package/platform/types/components/cloudflare/d1.d.ts.map +1 -0
  689. package/platform/types/components/cloudflare/dns.d.ts +100 -0
  690. package/platform/types/components/cloudflare/dns.d.ts.map +1 -0
  691. package/platform/types/components/cloudflare/durable-object.d.ts +125 -0
  692. package/platform/types/components/cloudflare/durable-object.d.ts.map +1 -0
  693. package/platform/types/components/cloudflare/experimental/index.d.ts +4 -0
  694. package/platform/types/components/cloudflare/experimental/index.d.ts.map +1 -0
  695. package/platform/types/components/cloudflare/experimental/solid-start.d.ts +219 -0
  696. package/platform/types/components/cloudflare/experimental/solid-start.d.ts.map +1 -0
  697. package/platform/types/components/cloudflare/experimental/static-site.d.ts +3 -0
  698. package/platform/types/components/cloudflare/experimental/static-site.d.ts.map +1 -0
  699. package/platform/types/components/cloudflare/helpers/compatibility.d.ts +21 -0
  700. package/platform/types/components/cloudflare/helpers/compatibility.d.ts.map +1 -0
  701. package/platform/types/components/cloudflare/helpers/fetch.d.ts +19 -0
  702. package/platform/types/components/cloudflare/helpers/fetch.d.ts.map +1 -0
  703. package/platform/types/components/cloudflare/helpers/validation.d.ts +15 -0
  704. package/platform/types/components/cloudflare/helpers/validation.d.ts.map +1 -0
  705. package/platform/types/components/cloudflare/helpers/worker-builder.d.ts +10 -0
  706. package/platform/types/components/cloudflare/helpers/worker-builder.d.ts.map +1 -0
  707. package/platform/types/components/cloudflare/helpers/wrangler.d.ts +31 -0
  708. package/platform/types/components/cloudflare/helpers/wrangler.d.ts.map +1 -0
  709. package/platform/types/components/cloudflare/hyperdrive.d.ts +302 -0
  710. package/platform/types/components/cloudflare/hyperdrive.d.ts.map +1 -0
  711. package/platform/types/components/cloudflare/index.d.ts +25 -0
  712. package/platform/types/components/cloudflare/index.d.ts.map +1 -0
  713. package/platform/types/components/cloudflare/kv.d.ts +140 -0
  714. package/platform/types/components/cloudflare/kv.d.ts.map +1 -0
  715. package/platform/types/components/cloudflare/providers/dns-record.d.ts +21 -0
  716. package/platform/types/components/cloudflare/providers/dns-record.d.ts.map +1 -0
  717. package/platform/types/components/cloudflare/providers/kv-data.d.ts +23 -0
  718. package/platform/types/components/cloudflare/providers/kv-data.d.ts.map +1 -0
  719. package/platform/types/components/cloudflare/providers/worker-assets.d.ts +19 -0
  720. package/platform/types/components/cloudflare/providers/worker-assets.d.ts.map +1 -0
  721. package/platform/types/components/cloudflare/providers/worker-placement.d.ts +27 -0
  722. package/platform/types/components/cloudflare/providers/worker-placement.d.ts.map +1 -0
  723. package/platform/types/components/cloudflare/providers/worker-script.d.ts +23 -0
  724. package/platform/types/components/cloudflare/providers/worker-script.d.ts.map +1 -0
  725. package/platform/types/components/cloudflare/providers/worker-url.d.ts +24 -0
  726. package/platform/types/components/cloudflare/providers/worker-url.d.ts.map +1 -0
  727. package/platform/types/components/cloudflare/providers/zone-lookup.d.ts +22 -0
  728. package/platform/types/components/cloudflare/providers/zone-lookup.d.ts.map +1 -0
  729. package/platform/types/components/cloudflare/queue-worker-subscriber.d.ts +122 -0
  730. package/platform/types/components/cloudflare/queue-worker-subscriber.d.ts.map +1 -0
  731. package/platform/types/components/cloudflare/queue.d.ts +235 -0
  732. package/platform/types/components/cloudflare/queue.d.ts.map +1 -0
  733. package/platform/types/components/cloudflare/rate-limit.d.ts +117 -0
  734. package/platform/types/components/cloudflare/rate-limit.d.ts.map +1 -0
  735. package/platform/types/components/cloudflare/react-router.d.ts +262 -0
  736. package/platform/types/components/cloudflare/react-router.d.ts.map +1 -0
  737. package/platform/types/components/cloudflare/ssr-site.d.ts +60 -0
  738. package/platform/types/components/cloudflare/ssr-site.d.ts.map +1 -0
  739. package/platform/types/components/cloudflare/static-site-v2.d.ts +302 -0
  740. package/platform/types/components/cloudflare/static-site-v2.d.ts.map +1 -0
  741. package/platform/types/components/cloudflare/static-site.d.ts +270 -0
  742. package/platform/types/components/cloudflare/static-site.d.ts.map +1 -0
  743. package/platform/types/components/cloudflare/tan-stack-start.d.ts +259 -0
  744. package/platform/types/components/cloudflare/tan-stack-start.d.ts.map +1 -0
  745. package/platform/types/components/cloudflare/worker.d.ts +483 -0
  746. package/platform/types/components/cloudflare/worker.d.ts.map +1 -0
  747. package/platform/types/components/cloudflare/workflow.d.ts +248 -0
  748. package/platform/types/components/cloudflare/workflow.d.ts.map +1 -0
  749. package/platform/types/components/component.d.ts +67 -0
  750. package/platform/types/components/component.d.ts.map +1 -0
  751. package/platform/types/components/core.d.ts +16 -0
  752. package/platform/types/components/core.d.ts.map +1 -0
  753. package/platform/types/components/cpu.d.ts +3 -0
  754. package/platform/types/components/cpu.d.ts.map +1 -0
  755. package/platform/types/components/dns.d.ts +63 -0
  756. package/platform/types/components/dns.d.ts.map +1 -0
  757. package/platform/types/components/duration.d.ts +9 -0
  758. package/platform/types/components/duration.d.ts.map +1 -0
  759. package/platform/types/components/error.d.ts +4 -0
  760. package/platform/types/components/error.d.ts.map +1 -0
  761. package/platform/types/components/esbuild.d.ts +3 -0
  762. package/platform/types/components/esbuild.d.ts.map +1 -0
  763. package/platform/types/components/experimental/dev-command.d.ts +99 -0
  764. package/platform/types/components/experimental/dev-command.d.ts.map +1 -0
  765. package/platform/types/components/experimental/index.d.ts +2 -0
  766. package/platform/types/components/experimental/index.d.ts.map +1 -0
  767. package/platform/types/components/groups.d.ts +6 -0
  768. package/platform/types/components/groups.d.ts.map +1 -0
  769. package/platform/types/components/index.d.ts +5 -0
  770. package/platform/types/components/index.d.ts.map +1 -0
  771. package/platform/types/components/input.d.ts +3 -0
  772. package/platform/types/components/input.d.ts.map +1 -0
  773. package/platform/types/components/link.d.ts +41 -0
  774. package/platform/types/components/link.d.ts.map +1 -0
  775. package/platform/types/components/linkable.d.ts +301 -0
  776. package/platform/types/components/linkable.d.ts.map +1 -0
  777. package/platform/types/components/naming-rules.d.ts +32 -0
  778. package/platform/types/components/naming-rules.d.ts.map +1 -0
  779. package/platform/types/components/naming.d.ts +21 -0
  780. package/platform/types/components/naming.d.ts.map +1 -0
  781. package/platform/types/components/parts-component.d.ts +242 -0
  782. package/platform/types/components/parts-component.d.ts.map +1 -0
  783. package/platform/types/components/parts.d.ts +194 -0
  784. package/platform/types/components/parts.d.ts.map +1 -0
  785. package/platform/types/components/path.d.ts +2 -0
  786. package/platform/types/components/path.d.ts.map +1 -0
  787. package/platform/types/components/rpc/rpc.d.ts +19 -0
  788. package/platform/types/components/rpc/rpc.d.ts.map +1 -0
  789. package/platform/types/components/secret.d.ts +123 -0
  790. package/platform/types/components/secret.d.ts.map +1 -0
  791. package/platform/types/components/size.d.ts +5 -0
  792. package/platform/types/components/size.d.ts.map +1 -0
  793. package/platform/types/components/takeover.d.ts +88 -0
  794. package/platform/types/components/takeover.d.ts.map +1 -0
  795. package/platform/types/components/transform.d.ts +34 -0
  796. package/platform/types/components/transform.d.ts.map +1 -0
  797. package/platform/types/components/vercel/account-id.d.ts +2 -0
  798. package/platform/types/components/vercel/account-id.d.ts.map +1 -0
  799. package/platform/types/components/vercel/dns.d.ts +73 -0
  800. package/platform/types/components/vercel/dns.d.ts.map +1 -0
  801. package/platform/types/components/vercel/index.d.ts +3 -0
  802. package/platform/types/components/vercel/index.d.ts.map +1 -0
  803. package/platform/types/components/vercel/providers/dns-record.d.ts +15 -0
  804. package/platform/types/components/vercel/providers/dns-record.d.ts.map +1 -0
  805. package/platform/types/config.d.ts +1440 -0
  806. package/platform/types/config.d.ts.map +1 -0
  807. package/platform/types/global-aliases.d.ts +37 -0
  808. package/platform/types/global.d.ts +374 -0
  809. package/platform/types/internal.d.ts +18 -0
  810. package/platform/types/runtime/worker/unenv.d.ts +14 -0
  811. package/platform/types/testing/global.d.ts +11 -0
  812. package/platform/types/testing/global.d.ts.map +1 -0
  813. package/platform/types/testing/index.d.ts +80 -0
  814. package/platform/types/testing/index.d.ts.map +1 -0
  815. package/platform/types/testing/mock.d.ts +136 -0
  816. package/platform/types/testing/mock.d.ts.map +1 -0
  817. package/platform/types/testing/vitest.d.ts +19 -0
  818. package/platform/types/testing/vitest.d.ts.map +1 -0
  819. package/platform/types/util/compare-semver.d.ts +4 -0
  820. package/platform/types/util/compare-semver.d.ts.map +1 -0
  821. package/platform/types/util/fs.d.ts +5 -0
  822. package/platform/types/util/fs.d.ts.map +1 -0
  823. package/platform/types/util/lazy.d.ts +2 -0
  824. package/platform/types/util/lazy.d.ts.map +1 -0
  825. package/platform/types/util/minify.d.ts +2 -0
  826. package/platform/types/util/minify.d.ts.map +1 -0
  827. package/platform/types/util/package.d.ts +10 -0
  828. package/platform/types/util/package.d.ts.map +1 -0
  829. package/platform/types/util/semaphore.d.ts +9 -0
  830. package/platform/types/util/semaphore.d.ts.map +1 -0
  831. package/platform/types/util/warn.d.ts +2 -0
  832. package/platform/types/util/warn.d.ts.map +1 -0
@@ -0,0 +1,1089 @@
1
+ import {
2
+ ComponentResourceOptions,
3
+ Output,
4
+ all,
5
+ interpolate,
6
+ output,
7
+ } from "@pulumi/pulumi";
8
+ import { Component, Prettify, Transform, transform } from "../component";
9
+ import { Input } from "../input";
10
+ import { Link } from "../link";
11
+ import { Dns } from "../dns";
12
+ import { CognitoIdentityProvider } from "./cognito-identity-provider";
13
+ import { CognitoUserPoolClient } from "./cognito-user-pool-client";
14
+ import { Function, FunctionArgs, FunctionArn } from "./function.js";
15
+ import { VisibleError } from "../error";
16
+ import { cognito, getRegionOutput, lambda } from "@pulumi/aws";
17
+ import { dns as awsDns } from "./dns.js";
18
+ import { DnsValidatedCertificate } from "./dns-validated-certificate.js";
19
+ import { useProvider } from "./helpers/provider.js";
20
+ import { permission } from "./permission";
21
+ import { functionBuilder } from "./helpers/function-builder";
22
+
23
+ interface Triggers {
24
+ /**
25
+ * The ARN of the AWS KMS key used for encryption.
26
+ *
27
+ * When `customEmailSender` or `customSmsSender` are configured, Cognito encrypts the
28
+ * verification code and temporary passwords before sending them to your Lambda functions.
29
+ */
30
+ kmsKey?: Input<string>;
31
+ /**
32
+ * Triggered after the user successfully responds to the previous challenge, and a new
33
+ * challenge needs to be created.
34
+ *
35
+ * Takes the handler path, the function args, or a function ARN.
36
+ */
37
+ createAuthChallenge?: Input<string | FunctionArgs | FunctionArn>;
38
+ /**
39
+ * Triggered during events like user sign-up, password recovery, email/phone number
40
+ * verification, and when an admin creates a user. Use this trigger to customize the
41
+ * email provider.
42
+ *
43
+ * Takes the handler path, the function args, or a function ARN.
44
+ */
45
+ customEmailSender?: Input<string | FunctionArgs | FunctionArn>;
46
+ /**
47
+ * Triggered during events like user sign-up, password recovery, email/phone number
48
+ * verification, and when an admin creates a user. Use this trigger to customize the
49
+ * message that is sent to your users.
50
+ *
51
+ * Takes the handler path, the function args, or a function ARN.
52
+ */
53
+ customMessage?: Input<string | FunctionArgs | FunctionArn>;
54
+ /**
55
+ * Triggered when an SMS message needs to be sent, such as for MFA or verification codes.
56
+ * Use this trigger to customize the SMS provider.
57
+ *
58
+ * Takes the handler path, the function args, or a function ARN.
59
+ */
60
+ customSmsSender?: Input<string | FunctionArgs | FunctionArn>;
61
+ /**
62
+ * Triggered after each challenge response to determine the next action. Evaluates whether the
63
+ * user has completed the authentication process or if additional challenges are needed.
64
+ * ARN of the lambda function to name a custom challenge.
65
+ *
66
+ * Takes the handler path, the function args, or a function ARN.
67
+ */
68
+ defineAuthChallenge?: Input<string | FunctionArgs | FunctionArn>;
69
+ /**
70
+ * Triggered after a successful authentication event. Use this to perform custom actions,
71
+ * such as logging or modifying user attributes, after the user is authenticated.
72
+ *
73
+ * Takes the handler path, the function args, or a function ARN.
74
+ */
75
+ postAuthentication?: Input<string | FunctionArgs | FunctionArn>;
76
+ /**
77
+ * Triggered after a user is successfully confirmed; sign-up or email/phone number
78
+ * verification. Use this to perform additional actions, like sending a welcome email or
79
+ * initializing user data, after user confirmation.
80
+ *
81
+ * Takes the handler path, the function args, or a function ARN.
82
+ */
83
+ postConfirmation?: Input<string | FunctionArgs | FunctionArn>;
84
+ /**
85
+ * Triggered before the authentication process begins. Use this to implement custom
86
+ * validation or checks (like checking if the user is banned) before continuing
87
+ * authentication.
88
+ *
89
+ * Takes the handler path, the function args, or a function ARN.
90
+ */
91
+ preAuthentication?: Input<string | FunctionArgs | FunctionArn>;
92
+ /**
93
+ * Triggered before the user sign-up process completes. Use this to perform custom
94
+ * validation, auto-confirm users, or auto-verify attributes based on custom logic.
95
+ *
96
+ * Takes the handler path, the function args, or a function ARN.
97
+ */
98
+ preSignUp?: Input<string | FunctionArgs | FunctionArn>;
99
+ /**
100
+ * Triggered before tokens are generated in the authentication process. Use this to
101
+ * customize or add claims to the tokens that will be generated and returned to the user.
102
+ *
103
+ * Takes the handler path, the function args, or a function ARN.
104
+ */
105
+ preTokenGeneration?: Input<string | FunctionArgs | FunctionArn>;
106
+ /**
107
+ * The version of the preTokenGeneration trigger to use. Higher versions have access to
108
+ * more information that support new features.
109
+ * @default `"v1"`
110
+ */
111
+ preTokenGenerationVersion?: "v1" | "v2";
112
+ /**
113
+ * Triggered when a user attempts to sign in but does not exist in the current user pool.
114
+ * Use this to import and validate users from an existing user directory into the
115
+ * Cognito User Pool during sign-in.
116
+ *
117
+ * Takes the handler path, the function args, or a function ARN.
118
+ */
119
+ userMigration?: Input<string | FunctionArgs | FunctionArn>;
120
+ /**
121
+ * Triggered after the user responds to a custom authentication challenge. Use this to
122
+ * verify the user's response to the challenge and determine whether to continue
123
+ * authenticating the user.
124
+ *
125
+ * Takes the handler path, the function args, or a function ARN.
126
+ */
127
+ verifyAuthChallengeResponse?: Input<string | FunctionArgs | FunctionArn>;
128
+ }
129
+
130
+ export interface CognitoUserPoolArgs {
131
+ /**
132
+ * Configure the different ways a user can sign in besides using their username.
133
+ *
134
+ * :::note
135
+ * You cannot change the aliases property once the User Pool has been created.
136
+ * Learn more about [aliases](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-attributes.html#user-pool-settings-aliases).
137
+ * :::
138
+ *
139
+ * @default User can only sign in with their username.
140
+ * @example
141
+ *
142
+ * ```ts
143
+ * {
144
+ * aliases: ["email"]
145
+ * }
146
+ * ```
147
+ */
148
+ aliases?: Input<Input<"email" | "phone" | "preferred_username">[]>;
149
+ /**
150
+ * Allow users to be able to sign up and sign in with an email addresses or phone number
151
+ * as their username.
152
+ *
153
+ * :::note
154
+ * You cannot change the usernames property once the User Pool has been created.
155
+ * Learn more about [aliases](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-attributes.html#user-pool-settings-aliases).
156
+ * :::
157
+ *
158
+ * @default User can only sign in with their username.
159
+ * @example
160
+ *
161
+ * ```ts
162
+ * {
163
+ * usernames: ["email"]
164
+ * }
165
+ * ```
166
+ */
167
+ usernames?: Input<Input<"email" | "phone">[]>;
168
+ /**
169
+ * Enable advanced security features.
170
+ *
171
+ * Learn more about [advanced security](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html).
172
+ *
173
+ * @default Advanced security is disabled.
174
+ * @example
175
+ *
176
+ * ```ts
177
+ * {
178
+ * advancedSecurity: "enforced"
179
+ * }
180
+ * ```
181
+ */
182
+ advancedSecurity?: Input<"audit" | "enforced">;
183
+ /**
184
+ * Configure the multi-factor authentication (MFA) settings for the User Pool.
185
+ *
186
+ * If you enable MFA using `on` or `optional`, you need to configure either `sms` or
187
+ * `softwareToken` as well.
188
+ *
189
+ * @default MFA is disabled.
190
+ * @example
191
+ *
192
+ * ```ts
193
+ * {
194
+ * mfa: "on"
195
+ * }
196
+ * ```
197
+ */
198
+ mfa?: Input<"on" | "optional">;
199
+ /**
200
+ * Configure the SMS settings for the User Pool.
201
+ *
202
+ * @default No SMS settings.
203
+ * @example
204
+ *
205
+ * ```ts
206
+ * {
207
+ * sms: {
208
+ * externalId: "1234567890",
209
+ * snsCallerArn: "arn:aws:iam::1234567890:role/CognitoSnsCaller",
210
+ * snsRegion: "us-east-1",
211
+ * }
212
+ * }
213
+ * ```
214
+ */
215
+ sms?: Input<{
216
+ /**
217
+ * The external ID used in IAM role trust relationships.
218
+ *
219
+ * Learn more about [external IDs](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html).
220
+ */
221
+ externalId: Input<string>;
222
+ /**
223
+ * The ARN of the IAM role that Amazon Cognito can assume to access the Amazon SNS
224
+ *
225
+ */
226
+ snsCallerArn: Input<string>;
227
+ /**
228
+ * The AWS Region that Amazon Cognito uses to send SMS messages.
229
+ */
230
+ snsRegion?: Input<string>;
231
+ }>;
232
+ /**
233
+ * The message template for SMS messages sent to users who are being authenticated.
234
+ *
235
+ * The template must include the `{####}` placeholder, which will be replaced with the
236
+ * verification code.
237
+ *
238
+ * @default The default message template.
239
+ * @example
240
+ *
241
+ * ```ts
242
+ * {
243
+ * smsAuthenticationMessage: "Your authentication code is {####}"
244
+ * }
245
+ * ```
246
+ */
247
+ smsAuthenticationMessage?: Input<string>;
248
+ /**
249
+ * Configure the verification message sent to users who are being authenticated.
250
+ */
251
+ verify?: Input<{
252
+ /**
253
+ * Subject line for Email messages sent to users who are being authenticated.
254
+ *
255
+ * @default `"Verify your new account"`
256
+ * @example
257
+ *
258
+ * ```ts
259
+ * {
260
+ * verify: {
261
+ * emailSubject: "Verify your new Awesome account"
262
+ * }
263
+ * }
264
+ * ```
265
+ */
266
+ emailSubject?: Input<string>;
267
+ /**
268
+ * The template for email messages sent to users who are being authenticated.
269
+ *
270
+ * The template must include the `{####}` placeholder, which will be replaced with the
271
+ * verification code.
272
+ *
273
+ * @default `"The verification code to your new account is {####}"`
274
+ * @example
275
+ *
276
+ * ```ts
277
+ * {
278
+ * verify: {
279
+ * emailMessage: "The verification code to your new Awesome account is {####}"
280
+ * }
281
+ * }
282
+ * ```
283
+ */
284
+ emailMessage?: Input<string>;
285
+ /**
286
+ * The template for SMS messages sent to users who are being authenticated.
287
+ *
288
+ * The template must include the `{####}` placeholder, which will be replaced with the
289
+ * verification code.
290
+ *
291
+ * @default `"The verification code to your new account is {####}"`
292
+ * @example
293
+ *
294
+ * ```ts
295
+ * {
296
+ * verify: {
297
+ * smsMessage: "The verification code to your new Awesome account is {####}"
298
+ * }
299
+ * }
300
+ * ```
301
+ */
302
+ smsMessage?: Input<string>;
303
+ }>;
304
+ /**
305
+ * Enable software token MFA for the User Pool.
306
+ *
307
+ * @default `false`
308
+ * @example
309
+ *
310
+ * ```ts
311
+ * {
312
+ * softwareToken: true
313
+ * }
314
+ * ```
315
+ */
316
+ softwareToken?: Input<boolean>;
317
+ /**
318
+ * Configure triggers for this User Pool
319
+ * @default No triggers
320
+ * @example
321
+ *
322
+ * ```js
323
+ * {
324
+ * triggers: {
325
+ * preAuthentication: "src/preAuthentication.handler",
326
+ * postAuthentication: "src/postAuthentication.handler"
327
+ * }
328
+ * }
329
+ * ```
330
+ */
331
+ triggers?: Input<Prettify<Triggers>>;
332
+ /**
333
+ * Configure a domain for the User Pool's hosted UI.
334
+ *
335
+ * You can use either a Cognito-provided prefix domain or your own custom domain.
336
+ *
337
+ * @example
338
+ *
339
+ * Add a Cognito prefix domain.
340
+ *
341
+ * ```ts
342
+ * {
343
+ * domain: {
344
+ * prefix: "my-app-dev"
345
+ * }
346
+ * }
347
+ * ```
348
+ *
349
+ * This creates a domain at `my-app-dev.auth.{region}.amazoncognito.com`.
350
+ *
351
+ * Add a custom domain. By default, creates an ACM certificate and configures
352
+ * DNS records using Route 53.
353
+ *
354
+ * ```ts
355
+ * {
356
+ * domain: "auth.example.com"
357
+ * }
358
+ * ```
359
+ *
360
+ * Use a domain hosted on Cloudflare.
361
+ *
362
+ * ```ts
363
+ * {
364
+ * domain: {
365
+ * name: "auth.example.com",
366
+ * dns: sst.cloudflare.dns()
367
+ * }
368
+ * }
369
+ * ```
370
+ */
371
+ domain?: Input<
372
+ | string
373
+ | {
374
+ /**
375
+ * Use an Amazon Cognito prefix domain. Creates a domain at
376
+ * `{prefix}.auth.{region}.amazoncognito.com`.
377
+ *
378
+ * Cannot contain "aws", "amazon", or "cognito".
379
+ */
380
+ prefix: Input<string>;
381
+ }
382
+ | {
383
+ /**
384
+ * The custom domain name. Must be a subdomain (e.g., `auth.example.com`).
385
+ */
386
+ name: Input<string>;
387
+ /**
388
+ * The DNS provider for automatic certificate validation and record creation.
389
+ * Set to `false` for manual DNS setup.
390
+ *
391
+ * @default `sst.aws.dns`
392
+ */
393
+ dns?: Input<false | (Dns & {})>;
394
+ /**
395
+ * ARN of an existing ACM certificate in `us-east-1`. By default, a certificate
396
+ * is created and validated automatically.
397
+ */
398
+ cert?: Input<string>;
399
+ }
400
+ >;
401
+ /**
402
+ * [Transform](/docs/components#transform) how this component creates its underlying
403
+ * resources.
404
+ */
405
+ transform?: {
406
+ /**
407
+ * Transform the Cognito User Pool resource.
408
+ */
409
+ userPool?: Transform<cognito.UserPoolArgs>;
410
+ /**
411
+ * Transform the Cognito User Pool domain resource.
412
+ */
413
+ domain?: Transform<cognito.UserPoolDomainArgs>;
414
+ };
415
+ }
416
+
417
+ export interface CognitoIdentityProviderArgs {
418
+ /**
419
+ * The type of identity provider.
420
+ */
421
+ type: Input<"oidc" | "saml" | "google" | "facebook" | "apple" | "amazon">;
422
+ /**
423
+ * Configure the identity provider details, including the scopes, URLs, and identifiers.
424
+ *
425
+ * ```ts
426
+ * {
427
+ * authorize_scopes: "email profile",
428
+ * client_id: "your-client-id",
429
+ * client_secret: "your-client-secret"
430
+ * }
431
+ * ```
432
+ */
433
+ details: Input<Record<string, Input<string>>>;
434
+ /**
435
+ * Define a mapping between identity provider attributes and user pool attributes.
436
+ *
437
+ * ```ts
438
+ * {
439
+ * email: "email",
440
+ * username: "sub"
441
+ * }
442
+ * ```
443
+ */
444
+ attributes?: Input<Record<string, Input<string>>>;
445
+ /**
446
+ * [Transform](/docs/components#transform) how this component creates its underlying
447
+ * resources.
448
+ */
449
+ transform?: {
450
+ /**
451
+ * Transform the Cognito identity provider resource.
452
+ */
453
+ identityProvider?: Transform<cognito.IdentityProviderArgs>;
454
+ };
455
+ }
456
+
457
+ export interface CognitoUserPoolClientArgs {
458
+ /**
459
+ * A list of identity providers that are supported for this client.
460
+ * @default `["COGNITO"]`
461
+ * @example
462
+ *
463
+ * :::tip
464
+ * Reference federated identity providers using their `providerName` property.
465
+ * :::
466
+ *
467
+ * If you are using a federated identity provider.
468
+ *
469
+ * ```js title="sst.config.ts"
470
+ * const provider = userPool.addIdentityProvider("MyProvider", {
471
+ * type: "oidc",
472
+ * details: {
473
+ * authorize_scopes: "email profile",
474
+ * client_id: "your-client-id",
475
+ * client_secret: "your-client-secret"
476
+ * },
477
+ * });
478
+ * ```
479
+ *
480
+ * Make sure to pass in `provider.providerName` instead of hardcoding it to `"MyProvider"`.
481
+ *
482
+ * ```ts title="sst.config.ts" {2}
483
+ * userPool.addClient("Web", {
484
+ * providers: [provider.providerName]
485
+ * });
486
+ * ```
487
+ *
488
+ * This ensures the client is created after the provider.
489
+ */
490
+ providers?: Input<Input<string>[]>;
491
+ /**
492
+ * List of allowed callback URLs for the identity providers.
493
+ */
494
+ callbackUrls?: Input<Input<string>[]>;
495
+ /**
496
+ * [Transform](/docs/components#transform) how this component creates its underlying
497
+ * resources.
498
+ */
499
+ transform?: {
500
+ /**
501
+ * Transform the Cognito User Pool client resource.
502
+ */
503
+ client?: Transform<cognito.UserPoolClientArgs>;
504
+ };
505
+ }
506
+
507
+ interface CognitoUserPoolRef {
508
+ ref: boolean;
509
+ userPool: cognito.UserPool;
510
+ }
511
+
512
+ /**
513
+ * The `CognitoUserPool` component lets you add a [Amazon Cognito User Pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools.html) to your app.
514
+ *
515
+ * #### Create the user pool
516
+ *
517
+ * ```ts title="sst.config.ts"
518
+ * const userPool = new sst.aws.CognitoUserPool("MyUserPool");
519
+ * ```
520
+ *
521
+ * #### Login using email
522
+ *
523
+ * ```ts title="sst.config.ts"
524
+ * new sst.aws.CognitoUserPool("MyUserPool", {
525
+ * usernames: ["email"]
526
+ * });
527
+ * ```
528
+ *
529
+ * #### Add a hosted UI domain
530
+ *
531
+ * Use a Cognito prefix domain for the hosted UI.
532
+ *
533
+ * ```ts title="sst.config.ts"
534
+ * new sst.aws.CognitoUserPool("MyUserPool", {
535
+ * domain: {
536
+ * prefix: "my-app-dev"
537
+ * }
538
+ * });
539
+ * ```
540
+ *
541
+ * Or use your own custom domain.
542
+ *
543
+ * ```ts title="sst.config.ts"
544
+ * new sst.aws.CognitoUserPool("MyUserPool", {
545
+ * domain: "auth.example.com"
546
+ * });
547
+ * ```
548
+ *
549
+ * #### Configure triggers
550
+ *
551
+ * ```ts title="sst.config.ts"
552
+ * new sst.aws.CognitoUserPool("MyUserPool", {
553
+ * triggers: {
554
+ * preAuthentication: "src/preAuthentication.handler",
555
+ * postAuthentication: "src/postAuthentication.handler",
556
+ * },
557
+ * });
558
+ * ```
559
+ *
560
+ * #### Add Google identity provider
561
+ *
562
+ * ```ts title="sst.config.ts"
563
+ * const GoogleClientId = new sst.Secret("GOOGLE_CLIENT_ID");
564
+ * const GoogleClientSecret = new sst.Secret("GOOGLE_CLIENT_SECRET");
565
+ *
566
+ * userPool.addIdentityProvider({
567
+ * type: "google",
568
+ * details: {
569
+ * authorize_scopes: "email profile",
570
+ * client_id: GoogleClientId.value,
571
+ * client_secret: GoogleClientSecret.value,
572
+ * },
573
+ * attributes: {
574
+ * email: "email",
575
+ * name: "name",
576
+ * username: "sub",
577
+ * },
578
+ * });
579
+ * ```
580
+ *
581
+ * #### Add a client
582
+ *
583
+ * ```ts title="sst.config.ts"
584
+ * userPool.addClient("Web");
585
+ * ```
586
+ */
587
+ export class CognitoUserPool extends Component implements Link.Linkable {
588
+ private constructorOpts: ComponentResourceOptions;
589
+ private userPool: Output<cognito.UserPool>;
590
+ private _domainUrl?: Output<string>;
591
+
592
+ constructor(
593
+ name: string,
594
+ args: CognitoUserPoolArgs = {},
595
+ opts: ComponentResourceOptions = {},
596
+ ) {
597
+ super(__pulumiType, name, args, opts);
598
+
599
+ if (args && "ref" in args) {
600
+ const ref = args as unknown as CognitoUserPoolRef;
601
+ this.constructorOpts = opts;
602
+ this.userPool = output(ref.userPool);
603
+ return;
604
+ }
605
+
606
+ const parent = this;
607
+ const region = getRegionOutput(undefined, { parent }).region;
608
+
609
+ normalizeAliasesAndUsernames();
610
+ const triggers = normalizeTriggers();
611
+ const verify = normalizeVerify();
612
+ const userPool = createUserPool();
613
+
614
+ const domain = normalizeDomain();
615
+ const certificateArn = createSsl();
616
+ const cognitoDomain = createCognitoDomain();
617
+ createDnsRecords();
618
+
619
+ this.constructorOpts = opts;
620
+ this.userPool = userPool;
621
+ this._domainUrl = domain?.apply((d) =>
622
+ d.prefix
623
+ ? interpolate`https://${d.prefix}.auth.${region}.amazoncognito.com`
624
+ : interpolate`https://${d.name}`,
625
+ );
626
+
627
+ function normalizeAliasesAndUsernames() {
628
+ all([args.aliases, args.usernames]).apply(([aliases, usernames]) => {
629
+ if (aliases && usernames)
630
+ throw new VisibleError(
631
+ "You cannot set both aliases and usernames. Learn more about customizing sign-in attributes at https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-attributes.html#user-pool-settings-aliases",
632
+ );
633
+ });
634
+ }
635
+
636
+ function normalizeTriggers() {
637
+ if (!args.triggers) return;
638
+
639
+ return output(args.triggers).apply((triggers) => {
640
+ if (
641
+ (triggers.customEmailSender || triggers.customSmsSender) &&
642
+ !triggers.kmsKey
643
+ )
644
+ throw new VisibleError(
645
+ "You must provide a KMS key via `kmsKey` when configuring `customEmailSender` or `customSmsSender`.",
646
+ );
647
+
648
+ return {
649
+ ...triggers,
650
+ preTokenGenerationVersion:
651
+ triggers.preTokenGenerationVersion === "v2" ? "V2_0" : "V1_0",
652
+ };
653
+ });
654
+ }
655
+
656
+ function normalizeVerify() {
657
+ if (!args.verify) return;
658
+
659
+ return output(args.verify).apply((verify) => {
660
+ return {
661
+ defaultEmailOption: "CONFIRM_WITH_CODE",
662
+ emailMessage:
663
+ verify.emailMessage ??
664
+ "The verification code to your new account is {####}",
665
+ emailSubject: verify.emailSubject ?? "Verify your new account",
666
+ smsMessage:
667
+ verify.smsMessage ??
668
+ "The verification code to your new account is {####}",
669
+ };
670
+ });
671
+ }
672
+
673
+ function createUserPool() {
674
+ return output(args.softwareToken).apply(
675
+ (softwareToken) =>
676
+ new cognito.UserPool(
677
+ ...transform(
678
+ args.transform?.userPool,
679
+ `${name}UserPool`,
680
+ {
681
+ aliasAttributes:
682
+ args.aliases &&
683
+ output(args.aliases).apply((aliases) => [
684
+ ...(aliases.includes("email") ? ["email"] : []),
685
+ ...(aliases.includes("phone") ? ["phone_number"] : []),
686
+ ...(aliases.includes("preferred_username")
687
+ ? ["preferred_username"]
688
+ : []),
689
+ ]),
690
+ usernameAttributes:
691
+ args.usernames &&
692
+ output(args.usernames).apply((usernames) => [
693
+ ...(usernames.includes("email") ? ["email"] : []),
694
+ ...(usernames.includes("phone") ? ["phone_number"] : []),
695
+ ]),
696
+ accountRecoverySetting: {
697
+ recoveryMechanisms: [
698
+ {
699
+ name: "verified_phone_number",
700
+ priority: 1,
701
+ },
702
+ {
703
+ name: "verified_email",
704
+ priority: 2,
705
+ },
706
+ ],
707
+ },
708
+ adminCreateUserConfig: {
709
+ allowAdminCreateUserOnly: false,
710
+ },
711
+ usernameConfiguration: {
712
+ caseSensitive: false,
713
+ },
714
+ autoVerifiedAttributes: all([
715
+ args.aliases || [],
716
+ args.usernames || [],
717
+ ]).apply(([aliases, usernames]) => {
718
+ const attributes = [...aliases, ...usernames];
719
+ return [
720
+ ...(attributes.includes("email") ? ["email"] : []),
721
+ ...(attributes.includes("phone") ? ["phone_number"] : []),
722
+ ];
723
+ }),
724
+ emailConfiguration: {
725
+ emailSendingAccount: "COGNITO_DEFAULT",
726
+ },
727
+ verificationMessageTemplate: verify,
728
+ userPoolAddOns: {
729
+ advancedSecurityMode: output(args.advancedSecurity).apply(
730
+ (v) => (v ?? "off").toUpperCase(),
731
+ ),
732
+ },
733
+ mfaConfiguration: output(args.mfa).apply((v) =>
734
+ (v ?? "off").toUpperCase(),
735
+ ),
736
+ smsAuthenticationMessage: args.smsAuthenticationMessage,
737
+ smsConfiguration: args.sms,
738
+ softwareTokenMfaConfiguration: softwareToken
739
+ ? { enabled: true }
740
+ : undefined,
741
+ lambdaConfig:
742
+ triggers &&
743
+ triggers.apply((triggers) => {
744
+ return {
745
+ kmsKeyId: triggers.kmsKey,
746
+ createAuthChallenge: createTrigger("createAuthChallenge"),
747
+ customEmailSender:
748
+ triggers.customEmailSender === undefined
749
+ ? undefined
750
+ : {
751
+ lambdaArn: createTrigger("customEmailSender")!,
752
+ lambdaVersion: "V1_0",
753
+ },
754
+ customMessage: createTrigger("customMessage"),
755
+ customSmsSender:
756
+ triggers.customSmsSender === undefined
757
+ ? undefined
758
+ : {
759
+ lambdaArn: createTrigger("customSmsSender")!,
760
+ lambdaVersion: "V1_0",
761
+ },
762
+ defineAuthChallenge: createTrigger("defineAuthChallenge"),
763
+ postAuthentication: createTrigger("postAuthentication"),
764
+ postConfirmation: createTrigger("postConfirmation"),
765
+ preAuthentication: createTrigger("preAuthentication"),
766
+ preSignUp: createTrigger("preSignUp"),
767
+ preTokenGenerationConfig:
768
+ triggers.preTokenGeneration === undefined
769
+ ? undefined
770
+ : {
771
+ lambdaArn: createTrigger("preTokenGeneration")!,
772
+ lambdaVersion: triggers.preTokenGenerationVersion,
773
+ },
774
+ userMigration: createTrigger("userMigration"),
775
+ verifyAuthChallengeResponse: createTrigger(
776
+ "verifyAuthChallengeResponse",
777
+ ),
778
+ };
779
+
780
+ function createTrigger(key: keyof Triggers) {
781
+ if (!triggers[key]) return;
782
+
783
+ const fn = functionBuilder(
784
+ `${name}Trigger${key}`,
785
+ triggers[key]!,
786
+ {
787
+ description: `Subscribed to ${key} from ${name}`,
788
+ },
789
+ undefined,
790
+ { parent },
791
+ );
792
+
793
+ new lambda.Permission(
794
+ `${name}Permission${key}`,
795
+ {
796
+ action: "lambda:InvokeFunction",
797
+ function: fn.arn,
798
+ qualifier: fn.qualifier.apply((qualifier) => qualifier!),
799
+ principal: "cognito-idp.amazonaws.com",
800
+ sourceArn: userPool.arn,
801
+ },
802
+ { parent },
803
+ );
804
+ return fn.targetArn;
805
+ }
806
+ }),
807
+ },
808
+ { parent },
809
+ ),
810
+ ),
811
+ );
812
+ }
813
+
814
+ function normalizeDomain() {
815
+ if (!args.domain) return;
816
+
817
+ return output(args.domain).apply((domain) => {
818
+ if (typeof domain === "string") domain = { name: domain };
819
+
820
+ if ("prefix" in domain) {
821
+ return {
822
+ prefix: domain.prefix,
823
+ name: undefined,
824
+ dns: undefined,
825
+ cert: undefined,
826
+ };
827
+ }
828
+
829
+ if (domain.dns === false && !domain.cert) {
830
+ throw new VisibleError(
831
+ `Need to provide a validated certificate via "cert" when DNS is disabled.`,
832
+ );
833
+ }
834
+
835
+ return {
836
+ prefix: undefined,
837
+ name: domain.name,
838
+ dns: domain.dns === false ? undefined : (domain.dns ?? awsDns()),
839
+ cert: domain.cert,
840
+ };
841
+ });
842
+ }
843
+
844
+ function createSsl() {
845
+ if (!domain) return output(undefined);
846
+
847
+ return domain.apply((domain) => {
848
+ if (domain.prefix) return output(undefined);
849
+ if (domain.cert) return output(domain.cert);
850
+
851
+ return new DnsValidatedCertificate(
852
+ `${name}Ssl`,
853
+ {
854
+ domainName: domain.name!,
855
+ dns: output(domain.dns!),
856
+ },
857
+ { parent, provider: useProvider("us-east-1") },
858
+ ).arn;
859
+ });
860
+ }
861
+
862
+ function createCognitoDomain() {
863
+ if (!domain) return;
864
+
865
+ return new cognito.UserPoolDomain(
866
+ ...transform(
867
+ args.transform?.domain,
868
+ `${name}Domain`,
869
+ {
870
+ userPoolId: userPool.id,
871
+ domain: domain.apply((d) => (d.prefix ?? d.name)!),
872
+ certificateArn: certificateArn as Output<string>,
873
+ },
874
+ { parent, deleteBeforeReplace: true },
875
+ ),
876
+ );
877
+ }
878
+
879
+ function createDnsRecords() {
880
+ if (!domain || !cognitoDomain) return;
881
+
882
+ domain.apply((domain) => {
883
+ if (!domain.name || !domain.dns) return;
884
+
885
+ domain.dns.createAlias(
886
+ name,
887
+ {
888
+ name: domain.name,
889
+ aliasName: cognitoDomain.cloudfrontDistribution,
890
+ aliasZone: cognitoDomain.cloudfrontDistributionZoneId,
891
+ },
892
+ { parent },
893
+ );
894
+ });
895
+ }
896
+ }
897
+
898
+ /**
899
+ * The Cognito User Pool ID.
900
+ */
901
+ public get id() {
902
+ return this.userPool.id;
903
+ }
904
+
905
+ /**
906
+ * The Cognito User Pool ARN.
907
+ */
908
+ public get arn() {
909
+ return this.userPool.arn;
910
+ }
911
+
912
+ /**
913
+ * If a `domain` is configured, this is the full URL of the hosted UI.
914
+ */
915
+ public get domainUrl() {
916
+ return this._domainUrl;
917
+ }
918
+
919
+ /**
920
+ * The underlying [resources](/docs/components/#nodes) this component creates.
921
+ */
922
+ public get nodes() {
923
+ return {
924
+ /**
925
+ * The Amazon Cognito User Pool.
926
+ */
927
+ userPool: this.userPool,
928
+ };
929
+ }
930
+
931
+ /**
932
+ * Add a client to the User Pool.
933
+ *
934
+ * @param name Name of the client.
935
+ * @param args Configure the client.
936
+ * @param opts Resource options.
937
+ *
938
+ * @example
939
+ *
940
+ * ```ts
941
+ * userPool.addClient("Web");
942
+ * ```
943
+ */
944
+ public addClient(
945
+ name: string,
946
+ args?: CognitoUserPoolClientArgs,
947
+ opts?: ComponentResourceOptions,
948
+ ) {
949
+ // Note: Referencing an existing client will be implemented in the future:
950
+ // sst.aws.UserPool.getClient("pool", { userPooldID, clientID });
951
+
952
+ return new CognitoUserPoolClient(
953
+ name,
954
+ {
955
+ userPool: this.id,
956
+ ...args,
957
+ },
958
+ { provider: this.constructorOpts.provider, ...opts },
959
+ );
960
+ }
961
+
962
+ /**
963
+ * Add a federated identity provider to the User Pool.
964
+ *
965
+ * @param name Name of the identity provider.
966
+ * @param args Configure the identity provider.
967
+ *
968
+ * @example
969
+ *
970
+ * For example, add a GitHub (OIDC) identity provider.
971
+ *
972
+ * ```ts title="sst.config.ts"
973
+ * const GithubClientId = new sst.Secret("GITHUB_CLIENT_ID");
974
+ * const GithubClientSecret = new sst.Secret("GITHUB_CLIENT_SECRET");
975
+ *
976
+ * userPool.addIdentityProvider("GitHub", {
977
+ * type: "oidc",
978
+ * details: {
979
+ * authorize_scopes: "read:user user:email",
980
+ * client_id: GithubClientId.value,
981
+ * client_secret: GithubClientSecret.value,
982
+ * oidc_issuer: "https://github.com/",
983
+ * },
984
+ * attributes: {
985
+ * email: "email",
986
+ * username: "sub",
987
+ * },
988
+ * });
989
+ * ```
990
+ *
991
+ * Or add a Google identity provider.
992
+ *
993
+ * ```ts title="sst.config.ts"
994
+ * const GoogleClientId = new sst.Secret("GOOGLE_CLIENT_ID");
995
+ * const GoogleClientSecret = new sst.Secret("GOOGLE_CLIENT_SECRET");
996
+ *
997
+ * userPool.addIdentityProvider("Google", {
998
+ * type: "google",
999
+ * details: {
1000
+ * authorize_scopes: "email profile",
1001
+ * client_id: GoogleClientId.value,
1002
+ * client_secret: GoogleClientSecret.value,
1003
+ * },
1004
+ * attributes: {
1005
+ * email: "email",
1006
+ * name: "name",
1007
+ * username: "sub",
1008
+ * },
1009
+ * });
1010
+ * ```
1011
+ */
1012
+ public addIdentityProvider(name: string, args: CognitoIdentityProviderArgs) {
1013
+ return new CognitoIdentityProvider(
1014
+ name,
1015
+ {
1016
+ userPool: this.id,
1017
+ ...args,
1018
+ },
1019
+ { provider: this.constructorOpts.provider },
1020
+ );
1021
+ }
1022
+
1023
+ /** @internal */
1024
+ public getSSTLink() {
1025
+ return {
1026
+ properties: {
1027
+ id: this.id,
1028
+ },
1029
+ include: [
1030
+ permission({
1031
+ actions: ["cognito-idp:*"],
1032
+ resources: [this.userPool.arn],
1033
+ }),
1034
+ ],
1035
+ };
1036
+ }
1037
+
1038
+ /**
1039
+ * Reference an existing User Pool with the given ID. This is useful when you
1040
+ * create a User Pool in one stage and want to share it in another. It avoids having to
1041
+ * create a new User Pool in the other stage.
1042
+ *
1043
+ * :::tip
1044
+ * You can use the `static get` method to share User Pools across stages.
1045
+ * :::
1046
+ *
1047
+ * @param name The name of the component.
1048
+ * @param userPoolID The ID of the existing User Pool.
1049
+ *
1050
+ * @example
1051
+ * Imagine you create a User Pool in the `dev` stage. And in your personal stage `frank`,
1052
+ * instead of creating a new pool, you want to share the same pool from `dev`.
1053
+ *
1054
+ * ```ts title="sst.config.ts"
1055
+ * const userPool = $app.stage === "frank"
1056
+ * ? sst.aws.CognitoUserPool.get("MyUserPool", "us-east-1_gcF5PjhQK")
1057
+ * : new sst.aws.CognitoUserPool("MyUserPool");
1058
+ * ```
1059
+ *
1060
+ * Here `us-east-1_gcF5PjhQK` is the ID of the User Pool created in the `dev` stage.
1061
+ * You can find this by outputting the User Pool ID in the `dev` stage.
1062
+ *
1063
+ * ```ts title="sst.config.ts"
1064
+ * return {
1065
+ * userPool: userPool.id
1066
+ * };
1067
+ * ```
1068
+ */
1069
+ public static get(
1070
+ name: string,
1071
+ userPoolID: Input<string>,
1072
+ opts?: ComponentResourceOptions,
1073
+ ) {
1074
+ const userPool = cognito.UserPool.get(
1075
+ `${name}UserPool`,
1076
+ userPoolID,
1077
+ undefined,
1078
+ opts,
1079
+ );
1080
+ return new CognitoUserPool(name, {
1081
+ ref: true,
1082
+ userPool,
1083
+ } as unknown as CognitoUserPoolArgs);
1084
+ }
1085
+ }
1086
+
1087
+ const __pulumiType = "sst:aws:CognitoUserPool";
1088
+ // @ts-expect-error
1089
+ CognitoUserPool.__pulumiType = __pulumiType;