@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,1756 @@
1
+ import { ComponentResourceOptions, Output } from "@pulumi/pulumi";
2
+ import { Component, Prettify, Transform } from "../component.js";
3
+ import { Link } from "../link.js";
4
+ import { appautoscaling, ec2, ecs, lb } from "@pulumi/aws";
5
+ import { DurationMinutes } from "../duration.js";
6
+ import { Input } from "../input.js";
7
+ import { FargateBaseArgs, FargateContainerArgs } from "./fargate.js";
8
+ import { Dns } from "../dns.js";
9
+ import { Alb } from "./alb.js";
10
+ type Port = `${number}/${"http" | "https" | "tcp" | "udp" | "tcp_udp" | "tls"}`;
11
+ interface ServiceRules {
12
+ /**
13
+ * The port and protocol the service listens on. Uses the format `{port}/{protocol}`.
14
+ *
15
+ * @example
16
+ * ```js
17
+ * {
18
+ * listen: "80/http"
19
+ * }
20
+ * ```
21
+ */
22
+ listen: Input<Port>;
23
+ /**
24
+ * The port and protocol of the container the service forwards the traffic to. Uses the
25
+ * format `{port}/{protocol}`.
26
+ *
27
+ * @example
28
+ * ```js
29
+ * {
30
+ * forward: "80/http"
31
+ * }
32
+ * ```
33
+ * @default The same port and protocol as `listen`.
34
+ */
35
+ forward?: Input<Port>;
36
+ /**
37
+ * The name of the container to forward the traffic to. This maps to the `name` defined in the
38
+ * `container` prop.
39
+ *
40
+ * You only need this if there's more than one container. If there's only one container, the
41
+ * traffic is automatically forwarded there.
42
+ */
43
+ container?: Input<string>;
44
+ /**
45
+ * The port and protocol to redirect the traffic to. Uses the format `{port}/{protocol}`.
46
+ *
47
+ * @example
48
+ * ```js
49
+ * {
50
+ * redirect: "80/http"
51
+ * }
52
+ * ```
53
+ */
54
+ redirect?: Input<Port>;
55
+ /**
56
+ * @deprecated Use `conditions.path` instead.
57
+ */
58
+ path?: Input<string>;
59
+ /**
60
+ * The conditions for the redirect. Only applicable to `http` and `https` protocols.
61
+ */
62
+ conditions?: Input<{
63
+ /**
64
+ * Configure path-based routing. Only requests matching the path are forwarded to
65
+ * the container.
66
+ *
67
+ * ```js
68
+ * {
69
+ * path: "/api/*"
70
+ * }
71
+ * ```
72
+ *
73
+ * The path pattern is case-sensitive, supports wildcards, and can be up to 128
74
+ * characters.
75
+ * - `*` matches 0 or more characters. For example, `/api/*` matches `/api/` or
76
+ * `/api/orders`.
77
+ * - `?` matches exactly 1 character. For example, `/api/?.png` matches `/api/a.png`.
78
+ *
79
+ * @default Requests to all paths are forwarded.
80
+ */
81
+ path?: Input<string>;
82
+ /**
83
+ * Configure query string based routing. Only requests matching one of the query
84
+ * string conditions are forwarded to the container.
85
+ *
86
+ * Takes a list of `key`, the name of the query string parameter, and `value` pairs.
87
+ * Where `value` is the value of the query string parameter. But it can be a pattern as well.
88
+ *
89
+ * If multiple `key` and `value` pairs are provided, it'll match requests with **any** of the
90
+ * query string parameters.
91
+ *
92
+ * @default Query string is not checked when forwarding requests.
93
+ *
94
+ * @example
95
+ *
96
+ * For example, to match requests with query string `version=v1`.
97
+ *
98
+ * ```js
99
+ * {
100
+ * query: [
101
+ * { key: "version", value: "v1" }
102
+ * ]
103
+ * }
104
+ * ```
105
+ *
106
+ * Or match requests with query string matching `env=test*`.
107
+ *
108
+ * ```js
109
+ * {
110
+ * query: [
111
+ * { key: "env", value: "test*" }
112
+ * ]
113
+ * }
114
+ * ```
115
+ *
116
+ * Match requests with query string `version=v1` **or** `env=test*`.
117
+ *
118
+ * ```js
119
+ * {
120
+ * query: [
121
+ * { key: "version", value: "v1" },
122
+ * { key: "env", value: "test*" }
123
+ * ]
124
+ * }
125
+ * ```
126
+ *
127
+ * Match requests with any query string key with value `example`.
128
+ *
129
+ * ```js
130
+ * {
131
+ * query: [
132
+ * { value: "example" }
133
+ * ]
134
+ * }
135
+ * ```
136
+ */
137
+ query?: Input<Input<{
138
+ /**
139
+ * The name of the query string parameter.
140
+ */
141
+ key?: Input<string>;
142
+ /**
143
+ * The value of the query string parameter.
144
+ *
145
+ * If no `key` is provided, it'll match any request where a query string parameter with
146
+ * the given value exists.
147
+ */
148
+ value: Input<string>;
149
+ }>[]>;
150
+ /**
151
+ * Configure header based routing. Only requests matching the header
152
+ * name and values are forwarded to the container.
153
+ *
154
+ * Both the header name and values are case insensitive.
155
+ *
156
+ * @default Header is not checked when forwarding requests.
157
+ *
158
+ * @example
159
+ *
160
+ * For example, if you specify `X-Custom-Header` as the name and `Value1`
161
+ * as a value, it will match requests with the header
162
+ * `x-custom-header: value1` as well.
163
+ *
164
+ * ```js
165
+ * {
166
+ * header: {
167
+ * name: "X-Custom-Header",
168
+ * values: ["Value1", "Value2", "Prefix*"]
169
+ * }
170
+ * }
171
+ * ```
172
+ */
173
+ header?: Input<{
174
+ /**
175
+ * The name of the HTTP header field to check. This is case-insensitive.
176
+ */
177
+ name: Input<string>;
178
+ /**
179
+ * The values to match against the header value. The rule matches if the
180
+ * request header matches any of these values. Values are case-insensitive
181
+ * and support wildcards (`*` and `?`) for pattern matching.
182
+ */
183
+ values: Input<Input<string>>[];
184
+ }>;
185
+ }>;
186
+ }
187
+ type AlbPort = `${number}/${"http" | "https"}`;
188
+ export interface ServiceAlbRule {
189
+ /**
190
+ * The port and protocol to listen on, in `{port}/{protocol}` format. Must match a listener on the ALB.
191
+ *
192
+ * @example
193
+ * ```js
194
+ * {
195
+ * listen: "443/https"
196
+ * }
197
+ * ```
198
+ */
199
+ listen: AlbPort;
200
+ /**
201
+ * The container port and protocol to forward traffic to. Uses the format `{port}/{protocol}`.
202
+ *
203
+ * The protocol must match what the container actually speaks — using `"3000/https"` when
204
+ * the container speaks HTTP will cause health check failures.
205
+ *
206
+ * @example
207
+ * ```js
208
+ * {
209
+ * forward: "8080/http"
210
+ * }
211
+ * ```
212
+ */
213
+ forward: AlbPort;
214
+ /**
215
+ * The name of the container to forward the traffic to. Required when multiple containers
216
+ * are configured.
217
+ */
218
+ container?: string;
219
+ /**
220
+ * The conditions for the listener rule. At least one condition (path, query, or header)
221
+ * must be specified. The ALB owns the default action — services only add conditional rules.
222
+ *
223
+ * @example
224
+ * ```js
225
+ * {
226
+ * conditions: {
227
+ * path: "/api/*"
228
+ * }
229
+ * }
230
+ * ```
231
+ */
232
+ conditions: {
233
+ /**
234
+ * Path pattern to match. Supports wildcards (`*` and `?`).
235
+ */
236
+ path?: Input<string>;
237
+ /**
238
+ * Query string conditions.
239
+ */
240
+ query?: Input<Input<{
241
+ key?: Input<string>;
242
+ value: Input<string>;
243
+ }>[]>;
244
+ /**
245
+ * HTTP header condition.
246
+ */
247
+ header?: Input<{
248
+ name: Input<string>;
249
+ values: Input<Input<string>>[];
250
+ }>;
251
+ };
252
+ /**
253
+ * Explicit priority for the listener rule (1–50000).
254
+ * Must be unique per listener across ALL services sharing the ALB.
255
+ * Use non-overlapping ranges per service (e.g., Service A: 100-199, Service B: 200-299).
256
+ *
257
+ * @example
258
+ * ```js
259
+ * {
260
+ * priority: 100
261
+ * }
262
+ * ```
263
+ */
264
+ priority: number;
265
+ }
266
+ interface ServiceContainerArgs extends FargateContainerArgs {
267
+ /**
268
+ * Configure the health check for the container. Same as the top-level
269
+ * [`health`](#health).
270
+ */
271
+ health?: ServiceArgs["health"];
272
+ /**
273
+ * Configure how this container works in `sst dev`. Same as the top-level
274
+ * [`dev`](#dev).
275
+ */
276
+ dev?: {
277
+ /**
278
+ * The command that `sst dev` runs to start this in dev mode. Same as the top-level
279
+ * [`dev.command`](#dev-command).
280
+ */
281
+ command: Input<string>;
282
+ /**
283
+ * Configure if you want to automatically start this when `sst dev` starts. Same as the
284
+ * top-level [`dev.autostart`](#dev-autostart).
285
+ */
286
+ autostart?: Input<boolean>;
287
+ /**
288
+ * Change the directory from where the `command` is run. Same as the top-level
289
+ * [`dev.directory`](#dev-directory).
290
+ */
291
+ directory?: Input<string>;
292
+ };
293
+ }
294
+ export interface ServiceArgs extends FargateBaseArgs {
295
+ /**
296
+ * Configure how this component works in `sst dev`.
297
+ *
298
+ * :::note
299
+ * In `sst dev` your service is not deployed.
300
+ * :::
301
+ *
302
+ * By default, your service in not deployed in `sst dev`. Instead, you can set the
303
+ * `dev.command` and it'll be started locally in a separate tab in the
304
+ * `sst dev` multiplexer. Read more about [`sst dev`](/docs/reference/cli/#dev).
305
+ *
306
+ * This makes it so that the container doesn't have to be redeployed on every change. To
307
+ * disable this and deploy your service in `sst dev`, pass in `false`.
308
+ */
309
+ dev?: false | {
310
+ /**
311
+ * The `url` when this is running in dev mode.
312
+ *
313
+ * Since this component is not deployed in `sst dev`, there is no real URL. But if you are
314
+ * using this component's `url` or linking to this component's `url`, it can be useful to
315
+ * have a placeholder URL. It avoids having to handle it being `undefined`.
316
+ * @default `"http://url-unavailable-in-dev.mode"`
317
+ */
318
+ url?: Input<string>;
319
+ /**
320
+ * The command that `sst dev` runs to start this in dev mode. This is the command you run
321
+ * when you want to run your service locally.
322
+ */
323
+ command?: Input<string>;
324
+ /**
325
+ * Configure if you want to automatically start this when `sst dev` starts. You can still
326
+ * start it manually later.
327
+ * @default `true`
328
+ */
329
+ autostart?: Input<boolean>;
330
+ /**
331
+ * Change the directory from where the `command` is run.
332
+ * @default Uses the `image.dockerfile` path
333
+ */
334
+ directory?: Input<string>;
335
+ };
336
+ /**
337
+ * Configure a public endpoint for the service. When configured, a load balancer
338
+ * will be created to route traffic to the containers. By default, the endpoint is an
339
+ * auto-generated load balancer URL.
340
+ *
341
+ * You can also add a custom domain for the public endpoint.
342
+ * @deprecated Use `loadBalancer` instead.
343
+ * @example
344
+ *
345
+ * ```js
346
+ * {
347
+ * public: {
348
+ * domain: "example.com",
349
+ * rules: [
350
+ * { listen: "80/http" },
351
+ * { listen: "443/https", forward: "80/http" }
352
+ * ]
353
+ * }
354
+ * }
355
+ * ```
356
+ */
357
+ public?: Input<{
358
+ /**
359
+ * Set a custom domain for your public endpoint.
360
+ *
361
+ * Automatically manages domains hosted on AWS Route 53, Cloudflare, and Vercel. For other
362
+ * providers, you'll need to pass in a `cert` that validates domain ownership and add the
363
+ * DNS records.
364
+ *
365
+ * When SST creates the certificate, the load balancer is created after the certificate
366
+ * is validated, and removed before the certificate.
367
+ *
368
+ * :::tip
369
+ * Built-in support for AWS Route 53, Cloudflare, and Vercel. And manual setup for other
370
+ * providers.
371
+ * :::
372
+ *
373
+ * @example
374
+ *
375
+ * By default this assumes the domain is hosted on Route 53.
376
+ *
377
+ * ```js
378
+ * {
379
+ * domain: "example.com"
380
+ * }
381
+ * ```
382
+ *
383
+ * For domains hosted on Cloudflare.
384
+ *
385
+ * ```js
386
+ * {
387
+ * domain: {
388
+ * name: "example.com",
389
+ * dns: sst.cloudflare.dns()
390
+ * }
391
+ * }
392
+ * ```
393
+ */
394
+ domain?: Input<string | {
395
+ /**
396
+ * The custom domain you want to use.
397
+ *
398
+ * @example
399
+ * ```js
400
+ * {
401
+ * domain: {
402
+ * name: "example.com"
403
+ * }
404
+ * }
405
+ * ```
406
+ *
407
+ * Can also include subdomains based on the current stage.
408
+ *
409
+ * ```js
410
+ * {
411
+ * domain: {
412
+ * name: `${$app.stage}.example.com`
413
+ * }
414
+ * }
415
+ * ```
416
+ */
417
+ name: Input<string>;
418
+ /**
419
+ * Alias domains that should be used.
420
+ *
421
+ * @example
422
+ * ```js {4}
423
+ * {
424
+ * domain: {
425
+ * name: "app1.example.com",
426
+ * aliases: ["app2.example.com"]
427
+ * }
428
+ * }
429
+ * ```
430
+ */
431
+ aliases?: Input<string[]>;
432
+ /**
433
+ * The ARN of an ACM (AWS Certificate Manager) certificate that proves ownership of the
434
+ * domain. By default, a certificate is created and validated automatically.
435
+ *
436
+ * :::tip
437
+ * You need to pass in a `cert` for domains that are not hosted on supported `dns` providers.
438
+ * :::
439
+ *
440
+ * To manually set up a domain on an unsupported provider, you'll need to:
441
+ *
442
+ * 1. [Validate that you own the domain](https://docs.aws.amazon.com/acm/latest/userguide/domain-ownership-validation.html) by creating an ACM certificate. You can either validate it by setting a DNS record or by verifying an email sent to the domain owner.
443
+ * 2. Once validated, set the certificate ARN as the `cert` and set `dns` to `false`.
444
+ * 3. Add the DNS records in your provider to point to the load balancer endpoint.
445
+ *
446
+ * @example
447
+ * ```js
448
+ * {
449
+ * domain: {
450
+ * name: "example.com",
451
+ * dns: false,
452
+ * cert: "arn:aws:acm:us-east-1:112233445566:certificate/3a958790-8878-4cdc-a396-06d95064cf63"
453
+ * }
454
+ * }
455
+ * ```
456
+ */
457
+ cert?: Input<string>;
458
+ /**
459
+ * The DNS provider to use for the domain. Defaults to the AWS.
460
+ *
461
+ * Takes an adapter that can create the DNS records on the provider. This can automate
462
+ * validating the domain and setting up the DNS routing.
463
+ *
464
+ * Supports Route 53, Cloudflare, and Vercel adapters. For other providers, you'll need
465
+ * to set `dns` to `false` and pass in a certificate validating ownership via `cert`.
466
+ *
467
+ * @default `sst.aws.dns`
468
+ *
469
+ * @example
470
+ *
471
+ * Specify the hosted zone ID for the Route 53 domain.
472
+ *
473
+ * ```js
474
+ * {
475
+ * domain: {
476
+ * name: "example.com",
477
+ * dns: sst.aws.dns({
478
+ * zone: "Z2FDTNDATAQYW2"
479
+ * })
480
+ * }
481
+ * }
482
+ * ```
483
+ *
484
+ * Use a domain hosted on Cloudflare, needs the Cloudflare provider.
485
+ *
486
+ * ```js
487
+ * {
488
+ * domain: {
489
+ * name: "example.com",
490
+ * dns: sst.cloudflare.dns()
491
+ * }
492
+ * }
493
+ * ```
494
+ *
495
+ * Use a domain hosted on Vercel, needs the Vercel provider.
496
+ *
497
+ * ```js
498
+ * {
499
+ * domain: {
500
+ * name: "example.com",
501
+ * dns: sst.vercel.dns()
502
+ * }
503
+ * }
504
+ * ```
505
+ */
506
+ dns?: Input<false | (Dns & {})>;
507
+ }>;
508
+ /** @deprecated Use `rules` instead. */
509
+ ports?: Input<Prettify<ServiceRules>[]>;
510
+ /**
511
+ * Configure the mapping for the ports the public endpoint listens to and forwards to
512
+ * the service.
513
+ * This supports two types of protocols:
514
+ *
515
+ * 1. Application Layer Protocols: `http` and `https`. This'll create an [Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html).
516
+ * 2. Network Layer Protocols: `tcp`, `udp`, `tcp_udp`, and `tls`. This'll create a [Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html).
517
+ *
518
+ * :::note
519
+ * If you are listening on `https` or `tls`, you need to specify a custom `public.domain`.
520
+ * :::
521
+ *
522
+ * You can **not** configure both application and network layer protocols for the same
523
+ * service.
524
+ *
525
+ * @example
526
+ * Here we are listening on port `80` and forwarding it to the service on port `8080`.
527
+ * ```js
528
+ * {
529
+ * public: {
530
+ * rules: [
531
+ * { listen: "80/http", forward: "8080/http" }
532
+ * ]
533
+ * }
534
+ * }
535
+ * ```
536
+ *
537
+ * The `forward` port and protocol defaults to the `listen` port and protocol. So in this
538
+ * case both are `80/http`.
539
+ *
540
+ * ```js
541
+ * {
542
+ * public: {
543
+ * rules: [
544
+ * { listen: "80/http" }
545
+ * ]
546
+ * }
547
+ * }
548
+ * ```
549
+ *
550
+ * If multiple containers are configured via the `containers` argument, you need to
551
+ * specify which container the traffic should be forwarded to.
552
+ *
553
+ * ```js
554
+ * {
555
+ * public: {
556
+ * rules: [
557
+ * { listen: "80/http", container: "app" },
558
+ * { listen: "8000/http", container: "admin" },
559
+ * ]
560
+ * }
561
+ * }
562
+ * ```
563
+ */
564
+ rules?: Input<Prettify<ServiceRules>[]>;
565
+ }>;
566
+ /**
567
+ * Configure a load balancer to route traffic to the containers.
568
+ *
569
+ * While you can expose a service through API Gateway, it's better to use a load balancer
570
+ * for most traditional web applications. It is more expensive to start but at higher
571
+ * levels of traffic it ends up being more cost effective.
572
+ *
573
+ * Also, if you need to listen on network layer protocols like `tcp` or `udp`, you have to
574
+ * expose it through a load balancer.
575
+ *
576
+ * By default, the endpoint is an auto-generated load balancer URL. You can also add a
577
+ * custom domain for the endpoint.
578
+ *
579
+ * @default Load balancer is not created
580
+ * @example
581
+ *
582
+ * ```js
583
+ * {
584
+ * loadBalancer: {
585
+ * domain: "example.com",
586
+ * rules: [
587
+ * { listen: "80/http", redirect: "443/https" },
588
+ * { listen: "443/https", forward: "80/http" }
589
+ * ]
590
+ * }
591
+ * }
592
+ * ```
593
+ */
594
+ loadBalancer?: Input<{
595
+ /**
596
+ * Configure if the load balancer should be public or private.
597
+ *
598
+ * When set to `false`, the load balancer endpoint will only be accessible within the
599
+ * VPC.
600
+ *
601
+ * @default `true`
602
+ */
603
+ public?: Input<boolean>;
604
+ /**
605
+ * Set a custom domain for your load balancer endpoint.
606
+ *
607
+ * Automatically manages domains hosted on AWS Route 53, Cloudflare, and Vercel. For other
608
+ * providers, you'll need to pass in a `cert` that validates domain ownership and add the
609
+ * DNS records.
610
+ *
611
+ * When SST creates the certificate, the load balancer is created after the certificate
612
+ * is validated, and removed before the certificate.
613
+ *
614
+ * :::tip
615
+ * Built-in support for AWS Route 53, Cloudflare, and Vercel. And manual setup for other
616
+ * providers.
617
+ * :::
618
+ *
619
+ * @example
620
+ *
621
+ * By default this assumes the domain is hosted on Route 53.
622
+ *
623
+ * ```js
624
+ * {
625
+ * domain: "example.com"
626
+ * }
627
+ * ```
628
+ *
629
+ * For domains hosted on Cloudflare.
630
+ *
631
+ * ```js
632
+ * {
633
+ * domain: {
634
+ * name: "example.com",
635
+ * dns: sst.cloudflare.dns()
636
+ * }
637
+ * }
638
+ * ```
639
+ */
640
+ domain?: Input<string | {
641
+ /**
642
+ * The custom domain you want to use.
643
+ *
644
+ * @example
645
+ * ```js
646
+ * {
647
+ * domain: {
648
+ * name: "example.com"
649
+ * }
650
+ * }
651
+ * ```
652
+ *
653
+ * Can also include subdomains based on the current stage.
654
+ *
655
+ * ```js
656
+ * {
657
+ * domain: {
658
+ * name: `${$app.stage}.example.com`
659
+ * }
660
+ * }
661
+ * ```
662
+ *
663
+ * Wildcard domains are supported.
664
+ *
665
+ * ```js
666
+ * {
667
+ * domain: {
668
+ * name: "*.example.com"
669
+ * }
670
+ * }
671
+ * ```
672
+ */
673
+ name: Input<string>;
674
+ /**
675
+ * Alias domains that should be used.
676
+ *
677
+ * @example
678
+ * ```js {4}
679
+ * {
680
+ * domain: {
681
+ * name: "app1.example.com",
682
+ * aliases: ["app2.example.com"]
683
+ * }
684
+ * }
685
+ * ```
686
+ */
687
+ aliases?: Input<string[]>;
688
+ /**
689
+ * The ARN of an ACM (AWS Certificate Manager) certificate that proves ownership of the
690
+ * domain. By default, a certificate is created and validated automatically.
691
+ *
692
+ * :::tip
693
+ * You need to pass in a `cert` for domains that are not hosted on supported `dns` providers.
694
+ * :::
695
+ *
696
+ * To manually set up a domain on an unsupported provider, you'll need to:
697
+ *
698
+ * 1. [Validate that you own the domain](https://docs.aws.amazon.com/acm/latest/userguide/domain-ownership-validation.html) by creating an ACM certificate. You can either validate it by setting a DNS record or by verifying an email sent to the domain owner.
699
+ * 2. Once validated, set the certificate ARN as the `cert` and set `dns` to `false`.
700
+ * 3. Add the DNS records in your provider to point to the load balancer endpoint.
701
+ *
702
+ * @example
703
+ * ```js
704
+ * {
705
+ * domain: {
706
+ * name: "example.com",
707
+ * dns: false,
708
+ * cert: "arn:aws:acm:us-east-1:112233445566:certificate/3a958790-8878-4cdc-a396-06d95064cf63"
709
+ * }
710
+ * }
711
+ * ```
712
+ */
713
+ cert?: Input<string>;
714
+ /**
715
+ * The DNS provider to use for the domain. Defaults to the AWS.
716
+ *
717
+ * Takes an adapter that can create the DNS records on the provider. This can automate
718
+ * validating the domain and setting up the DNS routing.
719
+ *
720
+ * Supports Route 53, Cloudflare, and Vercel adapters. For other providers, you'll need
721
+ * to set `dns` to `false` and pass in a certificate validating ownership via `cert`.
722
+ *
723
+ * @default `sst.aws.dns`
724
+ *
725
+ * @example
726
+ *
727
+ * Specify the hosted zone ID for the Route 53 domain.
728
+ *
729
+ * ```js
730
+ * {
731
+ * domain: {
732
+ * name: "example.com",
733
+ * dns: sst.aws.dns({
734
+ * zone: "Z2FDTNDATAQYW2"
735
+ * })
736
+ * }
737
+ * }
738
+ * ```
739
+ *
740
+ * Use a domain hosted on Cloudflare, needs the Cloudflare provider.
741
+ *
742
+ * ```js
743
+ * {
744
+ * domain: {
745
+ * name: "example.com",
746
+ * dns: sst.cloudflare.dns()
747
+ * }
748
+ * }
749
+ * ```
750
+ *
751
+ * Use a domain hosted on Vercel, needs the Vercel provider.
752
+ *
753
+ * ```js
754
+ * {
755
+ * domain: {
756
+ * name: "example.com",
757
+ * dns: sst.vercel.dns()
758
+ * }
759
+ * }
760
+ * ```
761
+ */
762
+ dns?: Input<false | (Dns & {})>;
763
+ }>;
764
+ /** @deprecated Use `rules` instead. */
765
+ ports?: Input<Prettify<ServiceRules>[]>;
766
+ /**
767
+ * Configure the mapping for the ports the load balancer listens to, forwards, or redirects to
768
+ * the service.
769
+ * This supports two types of protocols:
770
+ *
771
+ * 1. Application Layer Protocols: `http` and `https`. This'll create an [Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html).
772
+ * 2. Network Layer Protocols: `tcp`, `udp`, `tcp_udp`, and `tls`. This'll create a [Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html).
773
+ *
774
+ * :::note
775
+ * If you want to listen on `https` or `tls`, you need to specify a custom
776
+ * `loadBalancer.domain`.
777
+ * :::
778
+ *
779
+ * You **can not configure** both application and network layer protocols for the same
780
+ * service.
781
+ *
782
+ * @example
783
+ * Here we are listening on port `80` and forwarding it to the service on port `8080`.
784
+ * ```js
785
+ * {
786
+ * rules: [
787
+ * { listen: "80/http", forward: "8080/http" }
788
+ * ]
789
+ * }
790
+ * ```
791
+ *
792
+ * The `forward` port and protocol defaults to the `listen` port and protocol. So in this
793
+ * case both are `80/http`.
794
+ *
795
+ * ```js
796
+ * {
797
+ * rules: [
798
+ * { listen: "80/http" }
799
+ * ]
800
+ * }
801
+ * ```
802
+ *
803
+ * If multiple containers are configured via the `containers` argument, you need to
804
+ * specify which container the traffic should be forwarded to.
805
+ *
806
+ * ```js
807
+ * {
808
+ * rules: [
809
+ * { listen: "80/http", container: "app" },
810
+ * { listen: "8000/http", container: "admin" }
811
+ * ]
812
+ * }
813
+ * ```
814
+ *
815
+ * You can also route the same port to multiple containers via path-based routing.
816
+ *
817
+ * ```js
818
+ * {
819
+ * rules: [
820
+ * {
821
+ * listen: "80/http",
822
+ * container: "app",
823
+ * conditions: { path: "/api/*" }
824
+ * },
825
+ * {
826
+ * listen: "80/http",
827
+ * container: "admin",
828
+ * conditions: { path: "/admin/*" }
829
+ * }
830
+ * ]
831
+ * }
832
+ * ```
833
+ *
834
+ * Additionally, you can redirect traffic from one port to another. This is
835
+ * commonly used to redirect http to https.
836
+ *
837
+ * ```js
838
+ * {
839
+ * rules: [
840
+ * { listen: "80/http", redirect: "443/https" },
841
+ * { listen: "443/https", forward: "80/http" }
842
+ * ]
843
+ * }
844
+ * ```
845
+ */
846
+ rules?: Input<Prettify<ServiceRules>[]>;
847
+ /**
848
+ * Configure the health check that the load balancer runs on your containers.
849
+ *
850
+ * :::tip
851
+ * This health check is different from the [`health`](#health) check.
852
+ * :::
853
+ *
854
+ * This health check is run by the load balancer. While, `health` is run by ECS. This
855
+ * cannot be disabled if you are using a load balancer. While the other is off by default.
856
+ *
857
+ * Since this cannot be disabled, here are some tips on how to debug an unhealthy
858
+ * health check.
859
+ *
860
+ * <details>
861
+ * <summary>How to debug a load balancer health check</summary>
862
+ *
863
+ * If you notice a `Unhealthy: Health checks failed` error, it's because the health
864
+ * check has failed. When it fails, the load balancer will terminate the containers,
865
+ * causing any requests to fail.
866
+ *
867
+ * Here's how to debug it:
868
+ *
869
+ * 1. Verify the health check path.
870
+ *
871
+ * By default, the load balancer checks the `/` path. Ensure it's accessible in your
872
+ * containers. If your application runs on a different path, then update the path in
873
+ * the health check config accordingly.
874
+ *
875
+ * 2. Confirm the containers are operational.
876
+ *
877
+ * Navigate to **ECS console** > select the **cluster** > go to the **Tasks tab** >
878
+ * choose **Any desired status** under the **Filter desired status** dropdown > select
879
+ * a task and check for errors under the **Logs tab**. If it has error that means that
880
+ * the container failed to start.
881
+ *
882
+ * 3. If the container was terminated by the load balancer while still starting up, try
883
+ * increasing the health check interval and timeout.
884
+ * </details>
885
+ *
886
+ * For `http` and `https` the default is:
887
+ *
888
+ * ```js
889
+ * {
890
+ * path: "/",
891
+ * healthyThreshold: 5,
892
+ * successCodes: "200",
893
+ * timeout: "5 seconds",
894
+ * unhealthyThreshold: 2,
895
+ * interval: "30 seconds"
896
+ * }
897
+ * ```
898
+ *
899
+ * For `tcp` and `udp` the default is:
900
+ *
901
+ * ```js
902
+ * {
903
+ * healthyThreshold: 5,
904
+ * timeout: "6 seconds",
905
+ * unhealthyThreshold: 2,
906
+ * interval: "30 seconds"
907
+ * }
908
+ * ```
909
+ *
910
+ * @example
911
+ *
912
+ * To configure the health check, we use the _port/protocol_ format. Here we are
913
+ * configuring a health check that pings the `/health` path on port `8080`
914
+ * every 10 seconds.
915
+ *
916
+ * ```js
917
+ * {
918
+ * rules: [
919
+ * { listen: "80/http", forward: "8080/http" }
920
+ * ],
921
+ * health: {
922
+ * "8080/http": {
923
+ * path: "/health",
924
+ * interval: "10 seconds"
925
+ * }
926
+ * }
927
+ * }
928
+ * ```
929
+ *
930
+ */
931
+ health?: Input<Record<Port, Input<{
932
+ /**
933
+ * The URL path to ping on the service for health checks. Only applicable to
934
+ * `http` and `https` protocols.
935
+ * @default `"/"`
936
+ */
937
+ path?: Input<string>;
938
+ /**
939
+ * The time period between each health check request. Must be between `5 seconds`
940
+ * and `300 seconds`.
941
+ * @default `"30 seconds"`
942
+ */
943
+ interval?: Input<DurationMinutes>;
944
+ /**
945
+ * The timeout for each health check request. If no response is received within this
946
+ * time, it is considered failed. Must be between `2 seconds` and `120 seconds`.
947
+ * @default `"5 seconds"`
948
+ */
949
+ timeout?: Input<DurationMinutes>;
950
+ /**
951
+ * The number of consecutive successful health check requests required to consider the
952
+ * target healthy. Must be between 2 and 10.
953
+ * @default `5`
954
+ */
955
+ healthyThreshold?: Input<number>;
956
+ /**
957
+ * The number of consecutive failed health check requests required to consider the
958
+ * target unhealthy. Must be between 2 and 10.
959
+ * @default `2`
960
+ */
961
+ unhealthyThreshold?: Input<number>;
962
+ /**
963
+ * One or more HTTP response codes the health check treats as successful. Only
964
+ * applicable to `http` and `https` protocols.
965
+ *
966
+ * @default `"200"`
967
+ * @example
968
+ * ```js
969
+ * {
970
+ * successCodes: "200-299"
971
+ * }
972
+ * ```
973
+ */
974
+ successCodes?: Input<string>;
975
+ }>>>;
976
+ } | {
977
+ /**
978
+ * The `Alb` instance to attach this service to. When provided, the service creates
979
+ * target groups and listener rules on the shared ALB instead of creating its own
980
+ * load balancer.
981
+ *
982
+ * ECS tasks use the VPC's default security group, which allows all traffic within the
983
+ * VPC CIDR. For tighter security, add an explicit security group ingress rule from the
984
+ * ALB's security group using `transform`.
985
+ *
986
+ * @example
987
+ * ```js
988
+ * {
989
+ * loadBalancer: {
990
+ * instance: alb,
991
+ * rules: [
992
+ * { listen: "443/https", forward: "8080/http", conditions: { path: "/api/*" }, priority: 100 }
993
+ * ]
994
+ * }
995
+ * }
996
+ * ```
997
+ */
998
+ instance: Alb;
999
+ /**
1000
+ * The rules for routing traffic from the ALB to this service's containers.
1001
+ * Each rule must have explicit conditions and priority.
1002
+ */
1003
+ rules: Prettify<ServiceAlbRule>[];
1004
+ /**
1005
+ * Configure health checks for the target groups. Uses the same format as the inline
1006
+ * health check config, keyed by `{port}/{protocol}`.
1007
+ */
1008
+ health?: Record<AlbPort, Input<{
1009
+ path?: Input<string>;
1010
+ interval?: Input<DurationMinutes>;
1011
+ timeout?: Input<DurationMinutes>;
1012
+ healthyThreshold?: Input<number>;
1013
+ unhealthyThreshold?: Input<number>;
1014
+ successCodes?: Input<string>;
1015
+ }>>;
1016
+ }>;
1017
+ /**
1018
+ * Configure the CloudMap service registry for the service.
1019
+ *
1020
+ * This creates an `srv` record in the CloudMap service. This is needed if you want to connect
1021
+ * an `ApiGatewayV2` VPC link to the service.
1022
+ *
1023
+ * API Gateway will forward requests to the given port on the service.
1024
+ *
1025
+ * @example
1026
+ * ```js
1027
+ * {
1028
+ * serviceRegistry: {
1029
+ * port: 80
1030
+ * }
1031
+ * }
1032
+ * ```
1033
+ */
1034
+ serviceRegistry?: Input<{
1035
+ /**
1036
+ * The port in the service to forward requests to.
1037
+ */
1038
+ port: number;
1039
+ }>;
1040
+ /**
1041
+ * Configure the service to automatically scale up or down based on the CPU or memory
1042
+ * utilization of a container. By default, scaling is disabled and the service will run
1043
+ * in a single container.
1044
+ *
1045
+ * @default `{ min: 1, max: 1 }`
1046
+ *
1047
+ * @example
1048
+ * ```js
1049
+ * {
1050
+ * scaling: {
1051
+ * min: 4,
1052
+ * max: 16,
1053
+ * cpuUtilization: 50,
1054
+ * memoryUtilization: 50
1055
+ * }
1056
+ * }
1057
+ * ```
1058
+ */
1059
+ scaling?: Input<{
1060
+ /**
1061
+ * The minimum number of containers to scale down to.
1062
+ * @default `1`
1063
+ * @example
1064
+ * ```js
1065
+ * {
1066
+ * scaling: {
1067
+ * min: 4
1068
+ * }
1069
+ * }
1070
+ * ```
1071
+ */
1072
+ min?: Input<number>;
1073
+ /**
1074
+ * The maximum number of containers to scale up to.
1075
+ * @default `1`
1076
+ * @example
1077
+ * ```js
1078
+ * {
1079
+ * scaling: {
1080
+ * max: 16
1081
+ * }
1082
+ * }
1083
+ * ```
1084
+ */
1085
+ max?: Input<number>;
1086
+ /**
1087
+ * The target CPU utilization percentage to scale up or down. It'll scale up
1088
+ * when the CPU utilization is above the target and scale down when it's below the target.
1089
+ * @default `70`
1090
+ * @example
1091
+ * ```js
1092
+ * {
1093
+ * scaling: {
1094
+ * cpuUtilization: 50
1095
+ * }
1096
+ * }
1097
+ * ```
1098
+ */
1099
+ cpuUtilization?: Input<false | number>;
1100
+ /**
1101
+ * The target memory utilization percentage to scale up or down. It'll scale up
1102
+ * when the memory utilization is above the target and scale down when it's below the target.
1103
+ * @default `70`
1104
+ * @example
1105
+ * ```js
1106
+ * {
1107
+ * scaling: {
1108
+ * memoryUtilization: 50
1109
+ * }
1110
+ * }
1111
+ * ```
1112
+ */
1113
+ memoryUtilization?: Input<false | number>;
1114
+ /**
1115
+ * The target request count to scale up or down. It'll scale up when the request count is
1116
+ * above the target and scale down when it's below the target.
1117
+ * @default `false`
1118
+ * @example
1119
+ * ```js
1120
+ * {
1121
+ * scaling: {
1122
+ * requestCount: 1500
1123
+ * }
1124
+ * }
1125
+ * ```
1126
+ */
1127
+ requestCount?: Input<false | number>;
1128
+ /**
1129
+ * The amount of time, in seconds, after a scale-in activity completes before another scale-in activity can start.
1130
+ * This prevents the auto scaler from removing too many tasks too quickly.
1131
+ * @example
1132
+ * ```js
1133
+ * {
1134
+ * scaling: {
1135
+ * scaleInCooldown: "60 seconds"
1136
+ * }
1137
+ * }
1138
+ * ```
1139
+ */
1140
+ scaleInCooldown?: Input<DurationMinutes>;
1141
+ /**
1142
+ * The amount of time, in seconds, after a scale-out activity completes before another scale-out activity can start.
1143
+ * This prevents the auto scaler from adding too many tasks too quickly.
1144
+ * @example
1145
+ * ```js
1146
+ * {
1147
+ * scaling: {
1148
+ * scaleOutCooldown: "60 seconds"
1149
+ * }
1150
+ * }
1151
+ * ```
1152
+ */
1153
+ scaleOutCooldown?: Input<DurationMinutes>;
1154
+ }>;
1155
+ /**
1156
+ * Configure the capacity provider; regular Fargate or Fargate Spot, for this service.
1157
+ *
1158
+ * :::tip
1159
+ * Fargate Spot is a good option for dev or PR environments.
1160
+ * :::
1161
+ *
1162
+ * Fargate Spot allows you to run containers on spare AWS capacity at around 50% discount
1163
+ * compared to regular Fargate. [Learn more about Fargate
1164
+ * pricing](https://aws.amazon.com/fargate/pricing/).
1165
+ *
1166
+ * :::note
1167
+ * AWS might shut down Fargate Spot instances to reclaim capacity.
1168
+ * :::
1169
+ *
1170
+ * There are a couple of caveats:
1171
+ *
1172
+ * 1. AWS may reclaim this capacity and **turn off your service** after a two-minute warning.
1173
+ * This is rare, but it can happen.
1174
+ * 2. If there's no spare capacity, you'll **get an error**.
1175
+ *
1176
+ * This makes Fargate Spot a good option for dev or PR environments. You can set this using.
1177
+ *
1178
+ * ```js
1179
+ * {
1180
+ * capacity: "spot"
1181
+ * }
1182
+ * ```
1183
+ *
1184
+ * You can also configure the % of regular vs spot capacity you want through the `weight` prop.
1185
+ * And optionally set the `base` or first X number of tasks that'll be started using a given
1186
+ * capacity.
1187
+ *
1188
+ * For example, the `base: 1` says that the first task uses regular Fargate, and from that
1189
+ * point on there will be an even split between the capacity providers.
1190
+ *
1191
+ * ```js
1192
+ * {
1193
+ * capacity: {
1194
+ * fargate: { weight: 1, base: 1 },
1195
+ * spot: { weight: 1 }
1196
+ * }
1197
+ * }
1198
+ * ```
1199
+ *
1200
+ * The `base` works in tandem with the `scaling` prop. So setting `base` to X doesn't mean
1201
+ * it'll start those tasks right away. It means that as your service scales up, according to
1202
+ * the `scaling` prop, it'll ensure that the first X tasks will be with the given capacity.
1203
+ *
1204
+ * :::caution
1205
+ * Changing `capacity` requires taking down and recreating the ECS service.
1206
+ * :::
1207
+ *
1208
+ * And this is why you can only set the `base` for only one capacity provider. So you
1209
+ * are not allowed to do the following.
1210
+ *
1211
+ * ```js
1212
+ * {
1213
+ * capacity: {
1214
+ * fargate: { weight: 1, base: 1 },
1215
+ * // This will give you an error
1216
+ * spot: { weight: 1, base: 1 }
1217
+ * }
1218
+ * }
1219
+ * ```
1220
+ *
1221
+ * When you change the `capacity`, the ECS service is terminated and recreated. This will
1222
+ * cause some temporary downtime.
1223
+ *
1224
+ * @default Regular Fargate
1225
+ *
1226
+ * @example
1227
+ *
1228
+ * Here are some examples settings.
1229
+ *
1230
+ * - Use only Fargate Spot.
1231
+ *
1232
+ * ```js
1233
+ * {
1234
+ * capacity: "spot"
1235
+ * }
1236
+ * ```
1237
+ * - Use 50% regular Fargate and 50% Fargate Spot.
1238
+ *
1239
+ * ```js
1240
+ * {
1241
+ * capacity: {
1242
+ * fargate: { weight: 1 },
1243
+ * spot: { weight: 1 }
1244
+ * }
1245
+ * }
1246
+ * ```
1247
+ * - Use 50% regular Fargate and 50% Fargate Spot. And ensure that the first 2 tasks use
1248
+ * regular Fargate.
1249
+ *
1250
+ * ```js
1251
+ * {
1252
+ * capacity: {
1253
+ * fargate: { weight: 1, base: 2 },
1254
+ * spot: { weight: 1 }
1255
+ * }
1256
+ * }
1257
+ * ```
1258
+ */
1259
+ capacity?: Input<"spot" | {
1260
+ /**
1261
+ * Configure how the regular Fargate capacity is allocated.
1262
+ */
1263
+ fargate?: Input<{
1264
+ /**
1265
+ * Start the first `base` number of tasks with the given capacity.
1266
+ *
1267
+ * :::caution
1268
+ * You can only specify `base` for one capacity provider.
1269
+ * :::
1270
+ */
1271
+ base?: Input<number>;
1272
+ /**
1273
+ * Ensure the given ratio of tasks are started for this capacity.
1274
+ */
1275
+ weight: Input<number>;
1276
+ }>;
1277
+ /**
1278
+ * Configure how the Fargate spot capacity is allocated.
1279
+ */
1280
+ spot?: Input<{
1281
+ /**
1282
+ * Start the first `base` number of tasks with the given capacity.
1283
+ *
1284
+ * :::caution
1285
+ * You can only specify `base` for one capacity provider.
1286
+ * :::
1287
+ */
1288
+ base?: Input<number>;
1289
+ /**
1290
+ * Ensure the given ratio of tasks are started for this capacity.
1291
+ */
1292
+ weight: Input<number>;
1293
+ }>;
1294
+ }>;
1295
+ /**
1296
+ * Configure the health check that ECS runs on your containers.
1297
+ *
1298
+ * :::tip
1299
+ * This health check is different from the [`loadBalancer.health`](#loadbalancer-health) check.
1300
+ * :::
1301
+ *
1302
+ * This health check is run by ECS. While, `loadBalancer.health` is run by the load balancer,
1303
+ * if you are using one. This is off by default. While the load balancer one
1304
+ * cannot be disabled.
1305
+ *
1306
+ * This config maps to the `HEALTHCHECK` parameter of the `docker run` command. Learn
1307
+ * more about [container health checks](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_HealthCheck.html).
1308
+ *
1309
+ * @default Health check is disabled
1310
+ * @example
1311
+ * ```js
1312
+ * {
1313
+ * health: {
1314
+ * command: ["CMD-SHELL", "curl -f http://localhost:3000/ || exit 1"],
1315
+ * startPeriod: "60 seconds",
1316
+ * timeout: "5 seconds",
1317
+ * interval: "30 seconds",
1318
+ * retries: 3
1319
+ * }
1320
+ * }
1321
+ * ```
1322
+ */
1323
+ health?: Input<{
1324
+ /**
1325
+ * A string array representing the command that the container runs to determine if it is
1326
+ * healthy.
1327
+ *
1328
+ * It must start with `CMD` to run the command arguments directly. Or `CMD-SHELL` to run
1329
+ * the command with the container's default shell.
1330
+ *
1331
+ * @example
1332
+ * ```js
1333
+ * {
1334
+ * command: ["CMD-SHELL", "curl -f http://localhost:3000/ || exit 1"]
1335
+ * }
1336
+ * ```
1337
+ */
1338
+ command: Input<string[]>;
1339
+ /**
1340
+ * The grace period to provide containers time to bootstrap before failed health checks
1341
+ * count towards the maximum number of retries. Must be between `0 seconds` and
1342
+ * `300 seconds`.
1343
+ * @default `"0 seconds"`
1344
+ */
1345
+ startPeriod?: Input<DurationMinutes>;
1346
+ /**
1347
+ * The maximum time to allow one command to run. Must be between `2 seconds` and
1348
+ * `60 seconds`.
1349
+ * @default `"5 seconds"`
1350
+ */
1351
+ timeout?: Input<DurationMinutes>;
1352
+ /**
1353
+ * The time between running the command for the health check. Must be between `5 seconds`
1354
+ * and `300 seconds`.
1355
+ * @default `"30 seconds"`
1356
+ */
1357
+ interval?: Input<DurationMinutes>;
1358
+ /**
1359
+ * The number of consecutive failures required to consider the check to have failed. Must
1360
+ * be between `1` and `10`.
1361
+ * @default `3`
1362
+ */
1363
+ retries?: Input<number>;
1364
+ }>;
1365
+ /**
1366
+ * The containers to run in the service.
1367
+ *
1368
+ * :::tip
1369
+ * You can optionally run multiple containers in a service.
1370
+ * :::
1371
+ *
1372
+ * By default this starts a single container. To add multiple containers in the service, pass
1373
+ * in an array of containers args.
1374
+ *
1375
+ * ```ts
1376
+ * {
1377
+ * containers: [
1378
+ * {
1379
+ * name: "app",
1380
+ * image: "nginxdemos/hello:plain-text"
1381
+ * },
1382
+ * {
1383
+ * name: "admin",
1384
+ * image: {
1385
+ * context: "./admin",
1386
+ * dockerfile: "Dockerfile"
1387
+ * }
1388
+ * }
1389
+ * ]
1390
+ * }
1391
+ * ```
1392
+ *
1393
+ * If you specify `containers`, you cannot list the above args at the top-level. For example,
1394
+ * you **cannot** pass in `image` at the top level.
1395
+ *
1396
+ * ```diff lang="ts"
1397
+ * {
1398
+ * - image: "nginxdemos/hello:plain-text",
1399
+ * containers: [
1400
+ * {
1401
+ * name: "app",
1402
+ * image: "nginxdemos/hello:plain-text"
1403
+ * },
1404
+ * {
1405
+ * name: "admin",
1406
+ * image: "nginxdemos/hello:plain-text"
1407
+ * }
1408
+ * ]
1409
+ * }
1410
+ * ```
1411
+ *
1412
+ * You will need to pass in `image` as a part of the `containers`.
1413
+ */
1414
+ containers?: Input<Prettify<ServiceContainerArgs>>[];
1415
+ /**
1416
+ * Configure if `sst deploy` should wait for the service to be stable.
1417
+ *
1418
+ * :::tip
1419
+ * For non-prod environments it might make sense to pass in `false`.
1420
+ * :::
1421
+ *
1422
+ * Waiting for this process to finish ensures that new content will be available after
1423
+ * the deploy finishes. However, this process can sometimes take more than 5 mins.
1424
+ * @default `false`
1425
+ * @example
1426
+ * ```js
1427
+ * {
1428
+ * wait: true
1429
+ * }
1430
+ * ```
1431
+ */
1432
+ wait?: Input<boolean>;
1433
+ /**
1434
+ * [Transform](/docs/components#transform) how this component creates its underlying
1435
+ * resources.
1436
+ */
1437
+ transform?: Prettify<FargateBaseArgs["transform"] & {
1438
+ /**
1439
+ * Transform the ECS Service resource.
1440
+ */
1441
+ service?: Transform<ecs.ServiceArgs>;
1442
+ /**
1443
+ * Transform the AWS Load Balancer resource.
1444
+ */
1445
+ loadBalancer?: Transform<lb.LoadBalancerArgs>;
1446
+ /**
1447
+ * Transform the AWS Security Group resource for the Load Balancer.
1448
+ */
1449
+ loadBalancerSecurityGroup?: Transform<ec2.SecurityGroupArgs>;
1450
+ /**
1451
+ * Transform the AWS Load Balancer listener resource.
1452
+ */
1453
+ listener?: Transform<lb.ListenerArgs>;
1454
+ /**
1455
+ * Transform the AWS Load Balancer target group resource.
1456
+ */
1457
+ target?: Transform<lb.TargetGroupArgs>;
1458
+ /**
1459
+ * Transform the AWS Application Auto Scaling target resource.
1460
+ */
1461
+ autoScalingTarget?: Transform<appautoscaling.TargetArgs>;
1462
+ /**
1463
+ * Transform the AWS Load Balancer listener rule resource. Only applies when
1464
+ * attaching to an external ALB via the `loadBalancer.instance` prop.
1465
+ */
1466
+ listenerRule?: Transform<lb.ListenerRuleArgs>;
1467
+ }>;
1468
+ }
1469
+ /**
1470
+ * The `Service` component lets you create containers that are always running, like web or
1471
+ * application servers. It uses [Amazon ECS](https://aws.amazon.com/ecs/) on [AWS Fargate](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Fargate.html).
1472
+ *
1473
+ * @example
1474
+ *
1475
+ * #### Create a Service
1476
+ *
1477
+ * Services are run inside an ECS Cluster. If you haven't already, create one.
1478
+ *
1479
+ * ```ts title="sst.config.ts"
1480
+ * const vpc = new sst.aws.Vpc("MyVpc");
1481
+ * const cluster = new sst.aws.Cluster("MyCluster", { vpc });
1482
+ * ```
1483
+ *
1484
+ * Add the service to it.
1485
+ *
1486
+ * ```ts title="sst.config.ts"
1487
+ * const service = new sst.aws.Service("MyService", { cluster });
1488
+ * ```
1489
+ *
1490
+ * #### Configure the container image
1491
+ *
1492
+ * By default, the service will look for a Dockerfile in the root directory. Optionally
1493
+ * configure the image context and dockerfile.
1494
+ *
1495
+ * ```ts title="sst.config.ts"
1496
+ * new sst.aws.Service("MyService", {
1497
+ * cluster,
1498
+ * image: {
1499
+ * context: "./app",
1500
+ * dockerfile: "Dockerfile"
1501
+ * }
1502
+ * });
1503
+ * ```
1504
+ *
1505
+ * To add multiple containers in the service, pass in an array of containers args.
1506
+ *
1507
+ * ```ts title="sst.config.ts"
1508
+ * new sst.aws.Service("MyService", {
1509
+ * cluster,
1510
+ * containers: [
1511
+ * {
1512
+ * name: "app",
1513
+ * image: "nginxdemos/hello:plain-text"
1514
+ * },
1515
+ * {
1516
+ * name: "admin",
1517
+ * image: {
1518
+ * context: "./admin",
1519
+ * dockerfile: "Dockerfile"
1520
+ * }
1521
+ * }
1522
+ * ]
1523
+ * });
1524
+ * ```
1525
+ *
1526
+ * This is useful for running sidecar containers.
1527
+ *
1528
+ * #### Enable auto-scaling
1529
+ *
1530
+ * ```ts title="sst.config.ts"
1531
+ * new sst.aws.Service("MyService", {
1532
+ * cluster,
1533
+ * scaling: {
1534
+ * min: 4,
1535
+ * max: 16,
1536
+ * cpuUtilization: 50,
1537
+ * memoryUtilization: 50
1538
+ * }
1539
+ * });
1540
+ * ```
1541
+ *
1542
+ * #### Expose through API Gateway
1543
+ *
1544
+ * You can give your service a public URL by exposing it through API Gateway HTTP API. You can
1545
+ * also optionally give it a custom domain.
1546
+ *
1547
+ * ```ts title="sst.config.ts"
1548
+ * const service = new sst.aws.Service("MyService", {
1549
+ * cluster,
1550
+ * serviceRegistry: {
1551
+ * port: 80
1552
+ * }
1553
+ * });
1554
+ *
1555
+ * const api = new sst.aws.ApiGatewayV2("MyApi", {
1556
+ * vpc,
1557
+ * domain: "example.com"
1558
+ * });
1559
+ * api.routePrivate("$default", service.nodes.cloudmapService.arn);
1560
+ * ```
1561
+ *
1562
+ * #### Add a load balancer
1563
+ *
1564
+ * You can also expose your service by adding a load balancer to it and optionally
1565
+ * adding a custom domain.
1566
+ *
1567
+ * ```ts title="sst.config.ts"
1568
+ * new sst.aws.Service("MyService", {
1569
+ * cluster,
1570
+ * loadBalancer: {
1571
+ * domain: "example.com",
1572
+ * rules: [
1573
+ * { listen: "80/http" },
1574
+ * { listen: "443/https", forward: "80/http" }
1575
+ * ]
1576
+ * }
1577
+ * });
1578
+ * ```
1579
+ *
1580
+ * #### Link resources
1581
+ *
1582
+ * [Link resources](/docs/linking/) to your service. This will grant permissions
1583
+ * to the resources and allow you to access it in your app.
1584
+ *
1585
+ * ```ts {5} title="sst.config.ts"
1586
+ * const bucket = new sst.aws.Bucket("MyBucket");
1587
+ *
1588
+ * new sst.aws.Service("MyService", {
1589
+ * cluster,
1590
+ * link: [bucket]
1591
+ * });
1592
+ * ```
1593
+ *
1594
+ * You can use the [SDK](/docs/reference/sdk/) to access the linked resources in your service.
1595
+ *
1596
+ * ```ts title="app.ts"
1597
+ * import { Resource } from "sst";
1598
+ *
1599
+ * console.log(Resource.MyBucket.name);
1600
+ * ```
1601
+ *
1602
+ * #### Service discovery
1603
+ *
1604
+ * This component automatically creates a Cloud Map service host name for the
1605
+ * service. So anything in the same VPC can access it using the service's host name.
1606
+ *
1607
+ * For example, if you link the service to a Lambda function that's in the same VPC.
1608
+ *
1609
+ * ```ts title="sst.config.ts" {2,4}
1610
+ * new sst.aws.Function("MyFunction", {
1611
+ * vpc,
1612
+ * url: true,
1613
+ * link: [service],
1614
+ * handler: "lambda.handler"
1615
+ * });
1616
+ * ```
1617
+ *
1618
+ * You can access the service by its host name using the [SDK](/docs/reference/sdk/).
1619
+ *
1620
+ * ```ts title="lambda.ts"
1621
+ * import { Resource } from "sst";
1622
+ *
1623
+ * await fetch(`http://${Resource.MyService.service}`);
1624
+ * ```
1625
+ *
1626
+ * [Check out an example](/docs/examples/#aws-cluster-service-discovery).
1627
+ *
1628
+ * ---
1629
+ *
1630
+ * ### Cost
1631
+ *
1632
+ * By default, this uses a _Linux/X86_ _Fargate_ container with 0.25 vCPUs at $0.04048 per
1633
+ * vCPU per hour and 0.5 GB of memory at $0.004445 per GB per hour. It includes 20GB of
1634
+ * _Ephemeral Storage_ for free with additional storage at $0.000111 per GB per hour. Each
1635
+ * container also gets a public IPv4 address at $0.005 per hour.
1636
+ *
1637
+ * It works out to $0.04048 x 0.25 x 24 x 30 + $0.004445 x 0.5 x 24 x 30 + $0.005
1638
+ * x 24 x 30 or **$12 per month**.
1639
+ *
1640
+ * If you are using all Fargate Spot instances with `capacity: "spot"`, it's $0.01218784 x 0.25
1641
+ * x 24 x 30 + $0.00133831 x 0.5 x 24 x 30 + $0.005 x 24 x 30 or **$6 per month**
1642
+ *
1643
+ * Adjust this for the `cpu`, `memory` and `storage` you are using. And
1644
+ * check the prices for _Linux/ARM_ if you are using `arm64` as your `architecture`.
1645
+ *
1646
+ * The above are rough estimates for _us-east-1_, check out the
1647
+ * [Fargate pricing](https://aws.amazon.com/fargate/pricing/) and the
1648
+ * [Public IPv4 Address pricing](https://aws.amazon.com/vpc/pricing/) for more details.
1649
+ *
1650
+ * #### Scaling
1651
+ *
1652
+ * By default, `scaling` is disabled. If enabled, adjust the above for the number of containers.
1653
+ *
1654
+ * #### API Gateway
1655
+ *
1656
+ * If you expose your service through API Gateway, you'll need to add the cost of
1657
+ * [API Gateway HTTP API](https://aws.amazon.com/api-gateway/pricing/#HTTP_APIs) as well.
1658
+ * For services that don't get a lot of traffic, this ends up being a lot cheaper since API
1659
+ * Gateway is pay per request.
1660
+ *
1661
+ * Learn more about using
1662
+ * [Cluster with API Gateway](/docs/examples/#aws-cluster-with-api-gateway).
1663
+ *
1664
+ * #### Application Load Balancer
1665
+ *
1666
+ * If you add `loadBalancer` _HTTP_ or _HTTPS_ `rules`, an ALB is created at $0.0225 per hour,
1667
+ * $0.008 per LCU-hour, and $0.005 per hour if HTTPS with a custom domain is used. Where LCU
1668
+ * is a measure of how much traffic is processed.
1669
+ *
1670
+ * That works out to $0.0225 x 24 x 30 or **$16 per month**. Add $0.005 x 24 x 30 or **$4 per
1671
+ * month** for HTTPS. Also add the LCU-hour used.
1672
+ *
1673
+ * The above are rough estimates for _us-east-1_, check out the
1674
+ * [Application Load Balancer pricing](https://aws.amazon.com/elasticloadbalancing/pricing/)
1675
+ * for more details.
1676
+ *
1677
+ * #### Network Load Balancer
1678
+ *
1679
+ * If you add `loadBalancer` _TCP_, _UDP_, or _TLS_ `rules`, an NLB is created at $0.0225 per hour and
1680
+ * $0.006 per NLCU-hour. Where NCLU is a measure of how much traffic is processed.
1681
+ *
1682
+ * That works out to $0.0225 x 24 x 30 or **$16 per month**. Also add the NLCU-hour used.
1683
+ *
1684
+ * The above are rough estimates for _us-east-1_, check out the
1685
+ * [Network Load Balancer pricing](https://aws.amazon.com/elasticloadbalancing/pricing/)
1686
+ * for more details.
1687
+ */
1688
+ export declare class Service extends Component implements Link.Linkable {
1689
+ private readonly _name;
1690
+ private readonly _service?;
1691
+ private readonly cloudmapNamespace?;
1692
+ private readonly cloudmapService?;
1693
+ private readonly executionRole?;
1694
+ private readonly taskRole;
1695
+ private readonly taskDefinition?;
1696
+ private readonly loadBalancer?;
1697
+ private readonly autoScalingTarget?;
1698
+ private readonly domain?;
1699
+ private readonly _url?;
1700
+ private readonly devUrl?;
1701
+ private readonly dev;
1702
+ constructor(name: string, args: ServiceArgs, opts?: ComponentResourceOptions);
1703
+ /**
1704
+ * The URL of the service.
1705
+ *
1706
+ * If `public.domain` is set, this is the URL with the custom domain.
1707
+ * Otherwise, it's the auto-generated load balancer URL.
1708
+ */
1709
+ get url(): Output<string>;
1710
+ /**
1711
+ * The name of the Cloud Map service. This is useful for service discovery.
1712
+ */
1713
+ get service(): Output<string>;
1714
+ /**
1715
+ * The underlying [resources](/docs/components/#nodes) this component creates.
1716
+ */
1717
+ get nodes(): {
1718
+ /**
1719
+ * The Amazon ECS Service.
1720
+ */
1721
+ readonly service: Output<import("@pulumi/aws/ecs/service.js").Service>;
1722
+ /**
1723
+ * The Amazon ECS Execution Role.
1724
+ */
1725
+ executionRole: import("@pulumi/aws/iam/role.js").Role | undefined;
1726
+ /**
1727
+ * The Amazon ECS Task Role.
1728
+ */
1729
+ taskRole: import("@pulumi/aws/iam/role.js").Role;
1730
+ /**
1731
+ * The Amazon ECS Task Definition.
1732
+ */
1733
+ readonly taskDefinition: Output<import("@pulumi/aws/ecs/taskDefinition.js").TaskDefinition>;
1734
+ /**
1735
+ * The Amazon Elastic Load Balancer.
1736
+ */
1737
+ readonly loadBalancer: import("@pulumi/aws/lb/loadBalancer.js").LoadBalancer;
1738
+ /**
1739
+ * The Amazon Application Auto Scaling target.
1740
+ */
1741
+ readonly autoScalingTarget: import("@pulumi/aws/appautoscaling/target.js").Target;
1742
+ /**
1743
+ * The Amazon Cloud Map service.
1744
+ */
1745
+ readonly cloudmapService: Output<import("@pulumi/aws/servicediscovery/service.js").Service>;
1746
+ };
1747
+ /** @internal */
1748
+ getSSTLink(): {
1749
+ properties: {
1750
+ url: Output<string> | undefined;
1751
+ service: Output<Output<string> | undefined>;
1752
+ };
1753
+ };
1754
+ }
1755
+ export {};
1756
+ //# sourceMappingURL=service.d.ts.map