sst 3.0.0 → 3.0.1-10

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 (460) hide show
  1. package/dist/index.d.ts +2 -0
  2. package/dist/index.js +2 -0
  3. package/dist/resource.d.ts +4 -0
  4. package/dist/resource.js +15 -0
  5. package/dist/vector-client.d.ts +126 -0
  6. package/dist/vector-client.js +38 -0
  7. package/package.json +16 -137
  8. package/LICENSE +0 -21
  9. package/README.md +0 -43
  10. package/bootstrap.d.ts +0 -5
  11. package/bootstrap.js +0 -318
  12. package/bus.d.ts +0 -20
  13. package/bus.js +0 -52
  14. package/cache.d.ts +0 -4
  15. package/cache.js +0 -31
  16. package/cdk/deploy-stack.d.ts +0 -223
  17. package/cdk/deploy-stack.js +0 -562
  18. package/cdk/deployments-wrapper.d.ts +0 -3
  19. package/cdk/deployments-wrapper.js +0 -135
  20. package/cdk/deployments.d.ts +0 -327
  21. package/cdk/deployments.js +0 -360
  22. package/cdk/util.d.ts +0 -1
  23. package/cdk/util.js +0 -17
  24. package/cli/ci-info.d.ts +0 -4
  25. package/cli/ci-info.js +0 -8
  26. package/cli/colors.d.ts +0 -17
  27. package/cli/colors.js +0 -27
  28. package/cli/commands/bind.d.ts +0 -19
  29. package/cli/commands/bind.js +0 -360
  30. package/cli/commands/bootstrap.d.ts +0 -15
  31. package/cli/commands/bootstrap.js +0 -11
  32. package/cli/commands/build.d.ts +0 -17
  33. package/cli/commands/build.js +0 -25
  34. package/cli/commands/connect.d.ts +0 -17
  35. package/cli/commands/connect.js +0 -55
  36. package/cli/commands/console.d.ts +0 -15
  37. package/cli/commands/console.js +0 -22
  38. package/cli/commands/deploy.d.ts +0 -19
  39. package/cli/commands/deploy.js +0 -112
  40. package/cli/commands/dev.d.ts +0 -25
  41. package/cli/commands/dev.js +0 -351
  42. package/cli/commands/diff.d.ts +0 -19
  43. package/cli/commands/diff.js +0 -89
  44. package/cli/commands/plugins/kysely.d.ts +0 -1
  45. package/cli/commands/plugins/kysely.js +0 -87
  46. package/cli/commands/plugins/pothos.d.ts +0 -1
  47. package/cli/commands/plugins/pothos.js +0 -58
  48. package/cli/commands/plugins/warmer.d.ts +0 -1
  49. package/cli/commands/plugins/warmer.js +0 -33
  50. package/cli/commands/remove.d.ts +0 -19
  51. package/cli/commands/remove.js +0 -62
  52. package/cli/commands/secrets/get.d.ts +0 -19
  53. package/cli/commands/secrets/get.js +0 -27
  54. package/cli/commands/secrets/list.d.ts +0 -19
  55. package/cli/commands/secrets/list.js +0 -69
  56. package/cli/commands/secrets/load.d.ts +0 -17
  57. package/cli/commands/secrets/load.js +0 -47
  58. package/cli/commands/secrets/remove.d.ts +0 -19
  59. package/cli/commands/secrets/remove.js +0 -27
  60. package/cli/commands/secrets/secrets.d.ts +0 -2
  61. package/cli/commands/secrets/secrets.js +0 -16
  62. package/cli/commands/secrets/set.d.ts +0 -21
  63. package/cli/commands/secrets/set.js +0 -54
  64. package/cli/commands/telemetry.d.ts +0 -17
  65. package/cli/commands/telemetry.js +0 -24
  66. package/cli/commands/transform.d.ts +0 -17
  67. package/cli/commands/transform.js +0 -62
  68. package/cli/commands/types.d.ts +0 -15
  69. package/cli/commands/types.js +0 -25
  70. package/cli/commands/update.d.ts +0 -17
  71. package/cli/commands/update.js +0 -116
  72. package/cli/commands/version.d.ts +0 -15
  73. package/cli/commands/version.js +0 -15
  74. package/cli/local/router.d.ts +0 -44
  75. package/cli/local/router.js +0 -43
  76. package/cli/local/server.d.ts +0 -22
  77. package/cli/local/server.js +0 -319
  78. package/cli/program.d.ts +0 -19
  79. package/cli/program.js +0 -87
  80. package/cli/spinner.d.ts +0 -3
  81. package/cli/spinner.js +0 -14
  82. package/cli/sst.d.ts +0 -2
  83. package/cli/sst.js +0 -74
  84. package/cli/telemetry/environment.d.ts +0 -15
  85. package/cli/telemetry/environment.js +0 -27
  86. package/cli/telemetry/post-payload.d.ts +0 -1
  87. package/cli/telemetry/post-payload.js +0 -27
  88. package/cli/telemetry/project-id.d.ts +0 -2
  89. package/cli/telemetry/project-id.js +0 -47
  90. package/cli/telemetry/telemetry.d.ts +0 -19
  91. package/cli/telemetry/telemetry.js +0 -103
  92. package/cli/terminal.d.ts +0 -1
  93. package/cli/terminal.js +0 -8
  94. package/cli/ui/deploy.d.ts +0 -10
  95. package/cli/ui/deploy.js +0 -172
  96. package/cli/ui/functions.d.ts +0 -2
  97. package/cli/ui/functions.js +0 -130
  98. package/cli/ui/header.d.ts +0 -5
  99. package/cli/ui/header.js +0 -16
  100. package/cli/ui/stack.d.ts +0 -1
  101. package/cli/ui/stack.js +0 -6
  102. package/config.d.ts +0 -56
  103. package/config.js +0 -244
  104. package/constructs/Api.d.ts +0 -814
  105. package/constructs/Api.js +0 -743
  106. package/constructs/ApiGatewayV1Api.d.ts +0 -642
  107. package/constructs/ApiGatewayV1Api.js +0 -767
  108. package/constructs/App.d.ts +0 -168
  109. package/constructs/App.js +0 -493
  110. package/constructs/AppSyncApi.d.ts +0 -550
  111. package/constructs/AppSyncApi.js +0 -493
  112. package/constructs/AstroSite.d.ts +0 -39
  113. package/constructs/AstroSite.js +0 -78
  114. package/constructs/AstroSite.tsdoc.d.ts +0 -2
  115. package/constructs/AstroSite.tsdoc.js +0 -2
  116. package/constructs/Auth.d.ts +0 -100
  117. package/constructs/Auth.js +0 -177
  118. package/constructs/BaseSite.d.ts +0 -29
  119. package/constructs/BaseSite.js +0 -43
  120. package/constructs/Bucket.d.ts +0 -364
  121. package/constructs/Bucket.js +0 -327
  122. package/constructs/Cognito.d.ts +0 -232
  123. package/constructs/Cognito.js +0 -370
  124. package/constructs/Config.d.ts +0 -3
  125. package/constructs/Config.js +0 -3
  126. package/constructs/Construct.d.ts +0 -23
  127. package/constructs/Construct.js +0 -46
  128. package/constructs/Cron.d.ts +0 -164
  129. package/constructs/Cron.js +0 -114
  130. package/constructs/Distribution.d.ts +0 -143
  131. package/constructs/Distribution.js +0 -260
  132. package/constructs/EdgeFunction.d.ts +0 -49
  133. package/constructs/EdgeFunction.js +0 -442
  134. package/constructs/EventBus.d.ts +0 -444
  135. package/constructs/EventBus.js +0 -440
  136. package/constructs/Function.d.ts +0 -690
  137. package/constructs/Function.js +0 -583
  138. package/constructs/FunctionalStack.d.ts +0 -13
  139. package/constructs/FunctionalStack.js +0 -62
  140. package/constructs/Job.d.ts +0 -337
  141. package/constructs/Job.js +0 -404
  142. package/constructs/KinesisStream.d.ts +0 -224
  143. package/constructs/KinesisStream.js +0 -207
  144. package/constructs/Metadata.d.ts +0 -60
  145. package/constructs/Metadata.js +0 -1
  146. package/constructs/NextjsSite.d.ts +0 -104
  147. package/constructs/NextjsSite.js +0 -308
  148. package/constructs/Parameter.d.ts +0 -37
  149. package/constructs/Parameter.js +0 -53
  150. package/constructs/Queue.d.ts +0 -194
  151. package/constructs/Queue.js +0 -204
  152. package/constructs/RDS.d.ts +0 -221
  153. package/constructs/RDS.js +0 -363
  154. package/constructs/RemixSite.d.ts +0 -42
  155. package/constructs/RemixSite.js +0 -158
  156. package/constructs/RemixSite.tsdoc.d.ts +0 -2
  157. package/constructs/RemixSite.tsdoc.js +0 -2
  158. package/constructs/Script.d.ts +0 -160
  159. package/constructs/Script.js +0 -179
  160. package/constructs/Secret.d.ts +0 -30
  161. package/constructs/Secret.js +0 -59
  162. package/constructs/Service.d.ts +0 -487
  163. package/constructs/Service.js +0 -655
  164. package/constructs/SolidStartSite.d.ts +0 -37
  165. package/constructs/SolidStartSite.js +0 -66
  166. package/constructs/SolidStartSite.tsdoc.d.ts +0 -2
  167. package/constructs/SolidStartSite.tsdoc.js +0 -2
  168. package/constructs/SsrFunction.d.ts +0 -60
  169. package/constructs/SsrFunction.js +0 -226
  170. package/constructs/SsrSite.d.ts +0 -407
  171. package/constructs/SsrSite.js +0 -850
  172. package/constructs/Stack.d.ts +0 -127
  173. package/constructs/Stack.js +0 -243
  174. package/constructs/StaticSite.d.ts +0 -348
  175. package/constructs/StaticSite.js +0 -468
  176. package/constructs/SvelteKitSite.d.ts +0 -40
  177. package/constructs/SvelteKitSite.js +0 -106
  178. package/constructs/SvelteKitSite.tsdoc.d.ts +0 -2
  179. package/constructs/SvelteKitSite.tsdoc.js +0 -2
  180. package/constructs/Table.d.ts +0 -410
  181. package/constructs/Table.js +0 -425
  182. package/constructs/Topic.d.ts +0 -257
  183. package/constructs/Topic.js +0 -273
  184. package/constructs/WebSocketApi.d.ts +0 -355
  185. package/constructs/WebSocketApi.js +0 -404
  186. package/constructs/cdk/HttpAwsIntegration.d.ts +0 -32
  187. package/constructs/cdk/HttpAwsIntegration.js +0 -24
  188. package/constructs/cdk/certificate-base.d.ts +0 -18
  189. package/constructs/cdk/certificate-base.js +0 -26
  190. package/constructs/cdk/dns-validated-certificate.d.ts +0 -77
  191. package/constructs/cdk/dns-validated-certificate.js +0 -125
  192. package/constructs/cdk/website-redirect.d.ts +0 -53
  193. package/constructs/cdk/website-redirect.js +0 -77
  194. package/constructs/context.d.ts +0 -3
  195. package/constructs/context.js +0 -27
  196. package/constructs/deferred_task.d.ts +0 -6
  197. package/constructs/deferred_task.js +0 -45
  198. package/constructs/deprecated/NextjsSite.d.ts +0 -309
  199. package/constructs/deprecated/NextjsSite.js +0 -1074
  200. package/constructs/deprecated/cross-region-helper.d.ts +0 -7
  201. package/constructs/deprecated/cross-region-helper.js +0 -152
  202. package/constructs/deprecated/index.d.ts +0 -1
  203. package/constructs/deprecated/index.js +0 -1
  204. package/constructs/future/Auth.d.ts +0 -80
  205. package/constructs/future/Auth.js +0 -122
  206. package/constructs/future/index.d.ts +0 -1
  207. package/constructs/future/index.js +0 -1
  208. package/constructs/index.d.ts +0 -32
  209. package/constructs/index.js +0 -32
  210. package/constructs/static-file-list.d.ts +0 -1
  211. package/constructs/static-file-list.js +0 -51
  212. package/constructs/util/apiGatewayV1AccessLog.d.ts +0 -15
  213. package/constructs/util/apiGatewayV1AccessLog.js +0 -76
  214. package/constructs/util/apiGatewayV2AccessLog.d.ts +0 -10
  215. package/constructs/util/apiGatewayV2AccessLog.js +0 -107
  216. package/constructs/util/apiGatewayV2Cors.d.ts +0 -67
  217. package/constructs/util/apiGatewayV2Cors.js +0 -21
  218. package/constructs/util/apiGatewayV2Domain.d.ts +0 -47
  219. package/constructs/util/apiGatewayV2Domain.js +0 -208
  220. package/constructs/util/appSyncApiDomain.d.ts +0 -41
  221. package/constructs/util/appSyncApiDomain.js +0 -176
  222. package/constructs/util/builder.d.ts +0 -3
  223. package/constructs/util/builder.js +0 -9
  224. package/constructs/util/duration.d.ts +0 -3
  225. package/constructs/util/duration.js +0 -19
  226. package/constructs/util/functionBinding.d.ts +0 -31
  227. package/constructs/util/functionBinding.js +0 -104
  228. package/constructs/util/functionUrlCors.d.ts +0 -67
  229. package/constructs/util/functionUrlCors.js +0 -23
  230. package/constructs/util/permission.d.ts +0 -8
  231. package/constructs/util/permission.js +0 -228
  232. package/constructs/util/size.d.ts +0 -3
  233. package/constructs/util/size.js +0 -12
  234. package/constructs/util/warning.d.ts +0 -11
  235. package/constructs/util/warning.js +0 -21
  236. package/context/context.d.ts +0 -13
  237. package/context/context.js +0 -69
  238. package/context/context2.d.ts +0 -16
  239. package/context/context2.js +0 -108
  240. package/context/handler.d.ts +0 -25
  241. package/context/handler.js +0 -21
  242. package/context/index.d.ts +0 -2
  243. package/context/index.js +0 -2
  244. package/credentials.d.ts +0 -9
  245. package/credentials.js +0 -145
  246. package/error.d.ts +0 -6
  247. package/error.js +0 -10
  248. package/index.d.ts +0 -1
  249. package/index.js +0 -1
  250. package/iot.d.ts +0 -6
  251. package/iot.js +0 -163
  252. package/logger.d.ts +0 -3
  253. package/logger.js +0 -32
  254. package/node/actor/index.d.ts +0 -29
  255. package/node/actor/index.js +0 -17
  256. package/node/api/index.d.ts +0 -64
  257. package/node/api/index.js +0 -179
  258. package/node/auth/adapter/adapter.d.ts +0 -3
  259. package/node/auth/adapter/adapter.js +0 -3
  260. package/node/auth/adapter/facebook.d.ts +0 -2
  261. package/node/auth/adapter/facebook.js +0 -26
  262. package/node/auth/adapter/github.d.ts +0 -2
  263. package/node/auth/adapter/github.js +0 -21
  264. package/node/auth/adapter/google.d.ts +0 -9
  265. package/node/auth/adapter/google.js +0 -18
  266. package/node/auth/adapter/link.d.ts +0 -8
  267. package/node/auth/adapter/link.js +0 -39
  268. package/node/auth/adapter/oauth.d.ts +0 -25
  269. package/node/auth/adapter/oauth.js +0 -52
  270. package/node/auth/adapter/oidc.d.ts +0 -17
  271. package/node/auth/adapter/oidc.js +0 -50
  272. package/node/auth/adapter/twitch.d.ts +0 -2
  273. package/node/auth/adapter/twitch.js +0 -11
  274. package/node/auth/auth.d.ts +0 -24
  275. package/node/auth/auth.js +0 -74
  276. package/node/auth/index.d.ts +0 -13
  277. package/node/auth/index.js +0 -12
  278. package/node/auth/session.d.ts +0 -76
  279. package/node/auth/session.js +0 -121
  280. package/node/bucket/index.d.ts +0 -3
  281. package/node/bucket/index.js +0 -2
  282. package/node/config/index.d.ts +0 -13
  283. package/node/config/index.js +0 -22
  284. package/node/event-bus/index.d.ts +0 -51
  285. package/node/event-bus/index.js +0 -76
  286. package/node/function/index.d.ts +0 -3
  287. package/node/function/index.js +0 -3
  288. package/node/future/auth/adapter/adapter.d.ts +0 -10
  289. package/node/future/auth/adapter/adapter.js +0 -1
  290. package/node/future/auth/adapter/code.d.ts +0 -17
  291. package/node/future/auth/adapter/code.js +0 -68
  292. package/node/future/auth/adapter/facebook.d.ts +0 -16
  293. package/node/future/auth/adapter/facebook.js +0 -27
  294. package/node/future/auth/adapter/github.d.ts +0 -23
  295. package/node/future/auth/adapter/github.js +0 -23
  296. package/node/future/auth/adapter/google.d.ts +0 -28
  297. package/node/future/auth/adapter/google.js +0 -22
  298. package/node/future/auth/adapter/link.d.ts +0 -13
  299. package/node/future/auth/adapter/link.js +0 -47
  300. package/node/future/auth/adapter/microsoft.d.ts +0 -22
  301. package/node/future/auth/adapter/microsoft.js +0 -16
  302. package/node/future/auth/adapter/oauth.d.ts +0 -41
  303. package/node/future/auth/adapter/oauth.js +0 -67
  304. package/node/future/auth/adapter/oidc.d.ts +0 -30
  305. package/node/future/auth/adapter/oidc.js +0 -63
  306. package/node/future/auth/adapter/spotify.d.ts +0 -23
  307. package/node/future/auth/adapter/spotify.js +0 -22
  308. package/node/future/auth/encryption.d.ts +0 -2
  309. package/node/future/auth/encryption.js +0 -30
  310. package/node/future/auth/handler.d.ts +0 -46
  311. package/node/future/auth/handler.js +0 -280
  312. package/node/future/auth/index.d.ts +0 -17
  313. package/node/future/auth/index.js +0 -15
  314. package/node/future/auth/session.d.ts +0 -71
  315. package/node/future/auth/session.js +0 -146
  316. package/node/graphql/index.d.ts +0 -15
  317. package/node/graphql/index.js +0 -32
  318. package/node/job/index.d.ts +0 -37
  319. package/node/job/index.js +0 -64
  320. package/node/kinesis-stream/index.d.ts +0 -3
  321. package/node/kinesis-stream/index.js +0 -3
  322. package/node/queue/index.d.ts +0 -3
  323. package/node/queue/index.js +0 -2
  324. package/node/rds/index.d.ts +0 -3
  325. package/node/rds/index.js +0 -2
  326. package/node/service/index.d.ts +0 -3
  327. package/node/service/index.js +0 -4
  328. package/node/site/index.d.ts +0 -18
  329. package/node/site/index.js +0 -18
  330. package/node/table/index.d.ts +0 -3
  331. package/node/table/index.js +0 -4
  332. package/node/topic/index.d.ts +0 -3
  333. package/node/topic/index.js +0 -4
  334. package/node/util/index.d.ts +0 -2
  335. package/node/util/index.js +0 -196
  336. package/node/util/loader.d.ts +0 -2
  337. package/node/util/loader.js +0 -51
  338. package/node/websocket-api/index.d.ts +0 -23
  339. package/node/websocket-api/index.js +0 -48
  340. package/pothos.d.ts +0 -7
  341. package/pothos.js +0 -160
  342. package/project.d.ts +0 -75
  343. package/project.js +0 -188
  344. package/runtime/handlers/container.d.ts +0 -2
  345. package/runtime/handlers/container.js +0 -263
  346. package/runtime/handlers/dotnet.d.ts +0 -2
  347. package/runtime/handlers/dotnet.js +0 -115
  348. package/runtime/handlers/go.d.ts +0 -2
  349. package/runtime/handlers/go.js +0 -126
  350. package/runtime/handlers/java.d.ts +0 -2
  351. package/runtime/handlers/java.js +0 -103
  352. package/runtime/handlers/node.d.ts +0 -2
  353. package/runtime/handlers/node.js +0 -269
  354. package/runtime/handlers/python.d.ts +0 -2
  355. package/runtime/handlers/python.js +0 -141
  356. package/runtime/handlers/pythonBundling.d.ts +0 -82
  357. package/runtime/handlers/pythonBundling.js +0 -80
  358. package/runtime/handlers/rust.d.ts +0 -2
  359. package/runtime/handlers/rust.js +0 -110
  360. package/runtime/handlers.d.ts +0 -74
  361. package/runtime/handlers.js +0 -151
  362. package/runtime/iot.d.ts +0 -1
  363. package/runtime/iot.js +0 -17
  364. package/runtime/runtime.d.ts +0 -32
  365. package/runtime/runtime.js +0 -1
  366. package/runtime/server.d.ts +0 -6
  367. package/runtime/server.js +0 -150
  368. package/runtime/workers.d.ts +0 -37
  369. package/runtime/workers.js +0 -85
  370. package/stacks/app-metadata.d.ts +0 -7
  371. package/stacks/app-metadata.js +0 -75
  372. package/stacks/assembly.d.ts +0 -1
  373. package/stacks/assembly.js +0 -4
  374. package/stacks/build.d.ts +0 -9
  375. package/stacks/build.js +0 -110
  376. package/stacks/deploy.d.ts +0 -9
  377. package/stacks/deploy.js +0 -240
  378. package/stacks/diff.d.ts +0 -8
  379. package/stacks/diff.js +0 -62
  380. package/stacks/index.d.ts +0 -10
  381. package/stacks/index.js +0 -10
  382. package/stacks/metadata.d.ts +0 -11
  383. package/stacks/metadata.js +0 -83
  384. package/stacks/monitor.d.ts +0 -32
  385. package/stacks/monitor.js +0 -151
  386. package/stacks/remove.d.ts +0 -8
  387. package/stacks/remove.js +0 -76
  388. package/stacks/synth.d.ts +0 -12
  389. package/stacks/synth.js +0 -94
  390. package/support/base-site-archiver.mjs +0 -99
  391. package/support/base-site-custom-resource/s3-handler.py +0 -195
  392. package/support/base-site-custom-resource/s3-upload.py +0 -89
  393. package/support/bootstrap-metadata-function/index.mjs +0 -58011
  394. package/support/bridge/Dockerfile +0 -3
  395. package/support/bridge/bridge.mjs +0 -146
  396. package/support/certificate-requestor/index.js +0 -549
  397. package/support/custom-resources/index.mjs +0 -180627
  398. package/support/dotnet31-bootstrap/Program.cs +0 -17
  399. package/support/dotnet31-bootstrap/dotnet-bootstrap.csproj +0 -12
  400. package/support/dotnet31-bootstrap/release/Amazon.Lambda.Core.dll +0 -0
  401. package/support/dotnet31-bootstrap/release/Amazon.Lambda.RuntimeSupport.dll +0 -0
  402. package/support/dotnet31-bootstrap/release/System.Runtime.CompilerServices.Unsafe.dll +0 -0
  403. package/support/dotnet31-bootstrap/release/System.Text.Encodings.Web.dll +0 -0
  404. package/support/dotnet31-bootstrap/release/System.Text.Json.dll +0 -0
  405. package/support/dotnet31-bootstrap/release/dotnet-bootstrap +0 -0
  406. package/support/dotnet31-bootstrap/release/dotnet-bootstrap.deps.json +0 -230
  407. package/support/dotnet31-bootstrap/release/dotnet-bootstrap.dll +0 -0
  408. package/support/dotnet31-bootstrap/release/dotnet-bootstrap.pdb +0 -0
  409. package/support/dotnet31-bootstrap/release/dotnet-bootstrap.runtimeconfig.json +0 -9
  410. package/support/dotnet6-bootstrap/Program.cs +0 -17
  411. package/support/dotnet6-bootstrap/dotnet-bootstrap.csproj +0 -12
  412. package/support/dotnet6-bootstrap/release/Amazon.Lambda.Core.dll +0 -0
  413. package/support/dotnet6-bootstrap/release/Amazon.Lambda.RuntimeSupport.dll +0 -0
  414. package/support/dotnet6-bootstrap/release/dotnet-bootstrap +0 -0
  415. package/support/dotnet6-bootstrap/release/dotnet-bootstrap.deps.json +0 -59
  416. package/support/dotnet6-bootstrap/release/dotnet-bootstrap.dll +0 -0
  417. package/support/dotnet6-bootstrap/release/dotnet-bootstrap.pdb +0 -0
  418. package/support/dotnet6-bootstrap/release/dotnet-bootstrap.runtimeconfig.json +0 -12
  419. package/support/edge-function/edge-lambda-version.mjs +0 -3
  420. package/support/edge-function/edge-lambda.mjs +0 -3
  421. package/support/edge-function/s3-bucket.mjs +0 -3
  422. package/support/event-bus-retrier/index.mjs +0 -75
  423. package/support/java-runtime/install.sh +0 -25
  424. package/support/java-runtime/pom.xml +0 -39
  425. package/support/java-runtime/release/aws-lambda-java-core-1.2.0.jar +0 -0
  426. package/support/java-runtime/release/aws-lambda-java-runtime-interface-client-1.1.0.jar +0 -0
  427. package/support/java-runtime/release/aws-lambda-java-serialization-1.0.0.jar +0 -0
  428. package/support/job-manager/index.mjs +0 -57679
  429. package/support/nixpacks/Dockerfile +0 -6
  430. package/support/nodejs-runtime/index.mjs +0 -169
  431. package/support/python-runtime/Dockerfile +0 -9
  432. package/support/python-runtime/Dockerfile.custom +0 -21
  433. package/support/python-runtime/Dockerfile.dependencies +0 -26
  434. package/support/python-runtime/runtime.py +0 -127
  435. package/support/rds-migrator/index.mjs +0 -49
  436. package/support/remix-site-function/edge-server.js +0 -161
  437. package/support/remix-site-function/polyfill.js +0 -24
  438. package/support/remix-site-function/regional-server.js +0 -164
  439. package/support/script-function/index.mjs +0 -48760
  440. package/support/service-dev-function/index.js +0 -1
  441. package/support/signing-function/index.mjs +0 -3769
  442. package/support/sls-nextjs-site-build-helper/build.cjs +0 -91
  443. package/support/sls-nextjs-site-build-helper/index-wrapper.js +0 -19
  444. package/support/sls-nextjs-site-function-code-replacer/lambda-code-updater.py +0 -156
  445. package/support/sls-nextjs-site-stub/index.html +0 -99
  446. package/support/ssr-site-function-archiver.mjs +0 -96
  447. package/support/ssr-site-function-stub/index.js +0 -5
  448. package/support/ssr-warmer/index.mjs +0 -34235
  449. package/util/error.d.ts +0 -3
  450. package/util/error.js +0 -6
  451. package/util/fs.d.ts +0 -4
  452. package/util/fs.js +0 -46
  453. package/util/lazy.d.ts +0 -1
  454. package/util/lazy.js +0 -11
  455. package/util/module.d.ts +0 -1
  456. package/util/module.js +0 -5
  457. package/util/process.d.ts +0 -2
  458. package/util/process.js +0 -3
  459. package/watcher.d.ts +0 -14
  460. package/watcher.js +0 -35
@@ -1,164 +0,0 @@
1
- import { Construct } from "constructs";
2
- import * as events from "aws-cdk-lib/aws-events";
3
- import * as eventsTargets from "aws-cdk-lib/aws-events-targets";
4
- import { SSTConstruct } from "./Construct.js";
5
- import { Function as Func, FunctionInlineDefinition, FunctionDefinition } from "./Function.js";
6
- import { Permissions } from "./util/permission.js";
7
- export interface CronJobProps {
8
- /**
9
- * The function that will be executed when the job runs.
10
- *
11
- * @example
12
- * ```js
13
- * new Cron(stack, "Cron", {
14
- * job: {
15
- * function: "src/lambda.main",
16
- * },
17
- * });
18
- * ```
19
- */
20
- function: FunctionDefinition;
21
- cdk?: {
22
- /**
23
- * Override the default settings this construct uses internally to create the events rule.
24
- */
25
- target?: eventsTargets.LambdaFunctionProps;
26
- };
27
- }
28
- export interface CronProps {
29
- /**
30
- * The definition of the function to be executed.
31
- *
32
- * @example
33
- * ```js
34
- * new Cron(stack, "Cron", {
35
- * job : "src/lambda.main",
36
- * schedule: "rate(5 minutes)",
37
- * })
38
- * ```
39
- */
40
- job: FunctionInlineDefinition | CronJobProps;
41
- /**
42
- * The schedule for the cron job.
43
- *
44
- * The string format takes a [rate expression](https://docs.aws.amazon.com/lambda/latest/dg/services-cloudwatchevents-expressions.html).
45
- *
46
- * ```txt
47
- * rate(1 minute)
48
- * rate(5 minutes)
49
- * rate(1 hour)
50
- * rate(5 hours)
51
- * rate(1 day)
52
- * rate(5 days)
53
- * ```
54
- * Or as a [cron expression](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule-schedule.html#eb-cron-expressions).
55
- *
56
- * ```txt
57
- * cron(15 10 * * ? *) // 10:15 AM (UTC) every day.
58
- * ```
59
- *
60
- * @example
61
- * ```js
62
- * new Cron(stack, "Cron", {
63
- * job: "src/lambda.main",
64
- * schedule: "rate(5 minutes)",
65
- * });
66
- * ```
67
- * ```js
68
- * new Cron(stack, "Cron", {
69
- * job: "src/lambda.main",
70
- * schedule: "cron(15 10 * * ? *)",
71
- * });
72
- * ```
73
- */
74
- schedule?: `rate(${string})` | `cron(${string})`;
75
- /**
76
- * Indicates whether the cron job is enabled.
77
- * @default true
78
- * @example
79
- * ```js
80
- * new Cron(stack, "Cron", {
81
- * job: "src/lambda.main",
82
- * schedule: "rate(5 minutes)",
83
- * enabled: app.mode === "dev",
84
- * })
85
- * ```
86
- */
87
- enabled?: boolean;
88
- cdk?: {
89
- /**
90
- * Allows you to override default id for this construct.
91
- */
92
- id?: string;
93
- /**
94
- * Override the default settings this construct uses internally to create the events rule.
95
- */
96
- rule?: events.RuleProps;
97
- };
98
- }
99
- /**
100
- * The `Cron` construct is a higher level CDK construct that makes it easy to create a cron job.
101
- *
102
- * @example
103
- *
104
- * ```js
105
- * import { Cron } from "sst/constructs";
106
- *
107
- * new Cron(stack, "Cron", {
108
- * schedule: "rate(1 minute)",
109
- * job: "src/lambda.main",
110
- * });
111
- * ```
112
- */
113
- export declare class Cron extends Construct implements SSTConstruct {
114
- readonly id: string;
115
- readonly cdk: {
116
- /**
117
- * The internally created CDK EventBridge Rule instance.
118
- */
119
- rule: events.Rule;
120
- };
121
- /**
122
- * The internally created Function instance that'll be run on schedule.
123
- */
124
- readonly jobFunction: Func;
125
- private props;
126
- constructor(scope: Construct, id: string, props: CronProps);
127
- /**
128
- * Binds the given list of resources to the cron job.
129
- *
130
- * @example
131
- *
132
- * ```js
133
- * cron.bind([STRIPE_KEY, bucket]);
134
- * ```
135
- *
136
- */
137
- bind(constructs: SSTConstruct[]): void;
138
- /**
139
- * Attaches the given list of permissions to the cron job. This allows the function to access other AWS resources.
140
- *
141
- * @example
142
- *
143
- * ```js
144
- * cron.attachPermissions(["s3"]);
145
- * ```
146
- *
147
- */
148
- attachPermissions(permissions: Permissions): void;
149
- getConstructMetadata(): {
150
- type: "Cron";
151
- data: {
152
- schedule: string | undefined;
153
- ruleName: string;
154
- job: {
155
- node: string;
156
- stack: string;
157
- } | undefined;
158
- };
159
- };
160
- /** @internal */
161
- getFunctionBinding(): undefined;
162
- private createEventsRule;
163
- private createRuleTarget;
164
- }
@@ -1,114 +0,0 @@
1
- import { Construct } from "constructs";
2
- import * as events from "aws-cdk-lib/aws-events";
3
- import * as eventsTargets from "aws-cdk-lib/aws-events-targets";
4
- import { getFunctionRef } from "./Construct.js";
5
- import { Function as Func, } from "./Function.js";
6
- /////////////////////
7
- // Construct
8
- /////////////////////
9
- /**
10
- * The `Cron` construct is a higher level CDK construct that makes it easy to create a cron job.
11
- *
12
- * @example
13
- *
14
- * ```js
15
- * import { Cron } from "sst/constructs";
16
- *
17
- * new Cron(stack, "Cron", {
18
- * schedule: "rate(1 minute)",
19
- * job: "src/lambda.main",
20
- * });
21
- * ```
22
- */
23
- export class Cron extends Construct {
24
- id;
25
- cdk;
26
- /**
27
- * The internally created Function instance that'll be run on schedule.
28
- */
29
- jobFunction;
30
- props;
31
- constructor(scope, id, props) {
32
- super(scope, props.cdk?.id || id);
33
- this.id = id;
34
- this.props = props;
35
- this.cdk = {};
36
- this.createEventsRule();
37
- this.jobFunction = this.createRuleTarget();
38
- }
39
- /**
40
- * Binds the given list of resources to the cron job.
41
- *
42
- * @example
43
- *
44
- * ```js
45
- * cron.bind([STRIPE_KEY, bucket]);
46
- * ```
47
- *
48
- */
49
- bind(constructs) {
50
- this.jobFunction.bind(constructs);
51
- }
52
- /**
53
- * Attaches the given list of permissions to the cron job. This allows the function to access other AWS resources.
54
- *
55
- * @example
56
- *
57
- * ```js
58
- * cron.attachPermissions(["s3"]);
59
- * ```
60
- *
61
- */
62
- attachPermissions(permissions) {
63
- this.jobFunction.attachPermissions(permissions);
64
- }
65
- getConstructMetadata() {
66
- const cfnRule = this.cdk.rule.node.defaultChild;
67
- return {
68
- type: "Cron",
69
- data: {
70
- schedule: cfnRule.scheduleExpression,
71
- ruleName: this.cdk.rule.ruleName,
72
- job: getFunctionRef(this.jobFunction),
73
- },
74
- };
75
- }
76
- /** @internal */
77
- getFunctionBinding() {
78
- return undefined;
79
- }
80
- createEventsRule() {
81
- const { cdk, schedule, enabled } = this.props;
82
- const id = this.node.id;
83
- // Configure Schedule
84
- if (!schedule && !cdk?.rule?.schedule) {
85
- throw new Error(`No schedule defined for the "${id}" Cron`);
86
- }
87
- this.cdk.rule = new events.Rule(this, "Rule", {
88
- schedule: schedule && events.Schedule.expression(schedule),
89
- enabled: enabled === false ? false : true,
90
- ...cdk?.rule,
91
- });
92
- }
93
- createRuleTarget() {
94
- const { job } = this.props;
95
- const id = this.node.id;
96
- if (!job) {
97
- throw new Error(`No job defined for the "${id}" Cron`);
98
- }
99
- // normalize job
100
- let jobFunction, jobProps;
101
- if (job.function) {
102
- jobFunction = job.function;
103
- jobProps = job.cdk?.target;
104
- }
105
- else {
106
- jobFunction = job;
107
- jobProps = {};
108
- }
109
- // create function
110
- const fn = Func.fromDefinition(this, `Job_${this.node.id}`, jobFunction);
111
- this.cdk.rule.addTarget(new eventsTargets.LambdaFunction(fn, jobProps));
112
- return fn;
113
- }
114
- }
@@ -1,143 +0,0 @@
1
- import { Construct, IConstruct } from "constructs";
2
- import { CustomResource } from "aws-cdk-lib/core";
3
- import { IHostedZone } from "aws-cdk-lib/aws-route53";
4
- import { DistributionProps as CdkDistributionProps, IDistribution } from "aws-cdk-lib/aws-cloudfront";
5
- import { ICertificate } from "aws-cdk-lib/aws-certificatemanager";
6
- /**
7
- * The customDomain for this website. SST supports domains that are hosted either on [Route 53](https://aws.amazon.com/route53/) or externally.
8
- *
9
- * Note that you can also migrate externally hosted domains to Route 53 by [following this guide](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/MigratingDNS.html).
10
- *
11
- * @example
12
- * ```js
13
- * new StaticSite(this, "Site", {
14
- * path: "path/to/src",
15
- * customDomain: "domain.com",
16
- * });
17
- * ```
18
- *
19
- * @example
20
- * ```js
21
- * new StaticSite(this, "Site", {
22
- * path: "path/to/src",
23
- * customDomain: {
24
- * domainName: "domain.com",
25
- * domainAlias: "www.domain.com",
26
- * hostedZone: "domain.com",
27
- * }
28
- * });
29
- * ```
30
- */
31
- export interface DistributionDomainProps {
32
- /**
33
- * The domain to be assigned to the website URL (ie. domain.com).
34
- *
35
- * Supports domains that are hosted either on [Route 53](https://aws.amazon.com/route53/) or externally.
36
- */
37
- domainName: string;
38
- /**
39
- * An alternative domain to be assigned to the website URL. Visitors to the alias will be redirected to the main domain. (ie. `www.domain.com`).
40
- *
41
- * Use this to create a `www.` version of your domain and redirect visitors to the root domain.
42
- * @default no alias configured
43
- */
44
- domainAlias?: string;
45
- /**
46
- * The hosted zone in Route 53 that contains the domain. By default, SST will look for a hosted zone matching the domainName that's passed in.
47
- *
48
- * Set this option if SST cannot find the hosted zone in Route 53.
49
- * @default same as the `domainName`
50
- */
51
- hostedZone?: string;
52
- /**
53
- * Specify additional names that should route to the Cloudfront Distribution. Note, certificates for these names will not be automatically generated so the `certificate` option must be specified.
54
- * @default `[]`
55
- */
56
- alternateNames?: string[];
57
- /**
58
- * Set this option if the domain is not hosted on Amazon Route 53.
59
- * @default `false`
60
- */
61
- isExternalDomain?: boolean;
62
- cdk?: {
63
- /**
64
- * Import the underlying Route 53 hosted zone.
65
- */
66
- hostedZone?: IHostedZone;
67
- /**
68
- * Import the certificate for the domain. By default, SST will create a certificate with the domain name. The certificate will be created in the `us-east-1`(N. Virginia) region as required by AWS CloudFront.
69
- *
70
- * Set this option if you have an existing certificate in the `us-east-1` region in AWS Certificate Manager you want to use.
71
- */
72
- certificate?: ICertificate;
73
- };
74
- }
75
- export interface DistributionProps {
76
- /**
77
- * The customDomain for this website. SST supports domains that are hosted
78
- * either on [Route 53](https://aws.amazon.com/route53/) or externally.
79
- *
80
- * Note that you can also migrate externally hosted domains to Route 53 by
81
- * [following this guide](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/MigratingDNS.html).
82
- *
83
- * @example
84
- * ```js
85
- * customDomain: "domain.com",
86
- * ```
87
- *
88
- * ```js
89
- * customDomain: {
90
- * domainName: "domain.com",
91
- * domainAlias: "www.domain.com",
92
- * hostedZone: "domain.com"
93
- * },
94
- * ```
95
- */
96
- customDomain?: string | DistributionDomainProps;
97
- /**
98
- * The SSR function is deployed to Lambda in a single region. Alternatively, you can enable this option to deploy to Lambda@Edge.
99
- * @default false
100
- */
101
- /**
102
- * While deploying, SST waits for the CloudFront cache invalidation process to finish. This ensures that the new content will be served once the deploy command finishes. However, this process can sometimes take more than 5 mins. For non-prod environments it might make sense to pass in `false`. That'll skip waiting for the cache to invalidate and speed up the deploy process.
103
- * @default false
104
- */
105
- waitForInvalidation?: boolean;
106
- scopeOverride?: IConstruct;
107
- cdk: {
108
- distribution: CdkDistributionProps | IDistribution;
109
- };
110
- }
111
- export declare class Distribution extends Construct {
112
- private scope;
113
- private props;
114
- private distribution;
115
- private hostedZone?;
116
- private certificate?;
117
- constructor(scope: Construct, id: string, props: DistributionProps);
118
- /**
119
- * The CloudFront URL of the website.
120
- */
121
- get url(): string;
122
- /**
123
- * If the custom domain is enabled, this is the URL of the website with the
124
- * custom domain.
125
- */
126
- get customDomainUrl(): string | undefined;
127
- /**
128
- * The internally created CDK resources.
129
- */
130
- get cdk(): {
131
- distribution: IDistribution;
132
- hostedZone: IHostedZone | undefined;
133
- certificate: ICertificate | undefined;
134
- };
135
- createInvalidation(buildId?: string): CustomResource;
136
- private validateCloudFrontDistributionSettings;
137
- private validateCustomDomainSettings;
138
- private lookupHostedZone;
139
- private createCertificate;
140
- private createDistribution;
141
- private buildDistributionDomainNames;
142
- private createRoute53Records;
143
- }
@@ -1,260 +0,0 @@
1
- import { Construct } from "constructs";
2
- import { CustomResource } from "aws-cdk-lib/core";
3
- import { Effect, Policy, PolicyStatement } from "aws-cdk-lib/aws-iam";
4
- import { HostedZone, ARecord, AaaaRecord, RecordTarget, } from "aws-cdk-lib/aws-route53";
5
- import { Distribution as CdkDistribution, } from "aws-cdk-lib/aws-cloudfront";
6
- import { CloudFrontTarget } from "aws-cdk-lib/aws-route53-targets";
7
- import { Stack } from "./Stack.js";
8
- import { isCDKConstruct } from "./Construct.js";
9
- import { HttpsRedirect } from "./cdk/website-redirect.js";
10
- import { DnsValidatedCertificate } from "./cdk/dns-validated-certificate.js";
11
- export class Distribution extends Construct {
12
- scope;
13
- props;
14
- distribution;
15
- hostedZone;
16
- certificate;
17
- constructor(scope, id, props) {
18
- super(scope, id);
19
- // Override scope
20
- // note: this is intended to be used internally by SST to make constructs
21
- // backwards compatible when the hirechical structure of the constructs
22
- // changes. When the hirerchical structure changes, the child AWS
23
- // resources' logical ID will change. And CloudFormation will recreate
24
- // them.
25
- this.scope = props.scopeOverride || this;
26
- this.props = props;
27
- const isImportedCloudFrontDistribution = (distribution) => {
28
- return distribution !== undefined && isCDKConstruct(distribution);
29
- };
30
- // cdk.distribution is an imported construct
31
- if (isImportedCloudFrontDistribution(props.cdk?.distribution)) {
32
- this.distribution = props.cdk?.distribution;
33
- return;
34
- }
35
- this.validateCustomDomainSettings();
36
- this.validateCloudFrontDistributionSettings();
37
- this.hostedZone = this.lookupHostedZone();
38
- this.certificate = this.createCertificate();
39
- this.distribution = this.createDistribution();
40
- this.createRoute53Records();
41
- }
42
- /**
43
- * The CloudFront URL of the website.
44
- */
45
- get url() {
46
- return `https://${this.distribution.distributionDomainName}`;
47
- }
48
- /**
49
- * If the custom domain is enabled, this is the URL of the website with the
50
- * custom domain.
51
- */
52
- get customDomainUrl() {
53
- const { customDomain } = this.props;
54
- if (!customDomain)
55
- return;
56
- if (typeof customDomain === "string") {
57
- return `https://${customDomain}`;
58
- }
59
- else {
60
- return `https://${customDomain.domainName}`;
61
- }
62
- }
63
- /**
64
- * The internally created CDK resources.
65
- */
66
- get cdk() {
67
- return {
68
- distribution: this.distribution,
69
- hostedZone: this.hostedZone,
70
- certificate: this.certificate,
71
- };
72
- }
73
- createInvalidation(buildId) {
74
- const stack = Stack.of(this);
75
- const policy = new Policy(this.scope, "CloudFrontInvalidatorPolicy", {
76
- statements: [
77
- new PolicyStatement({
78
- effect: Effect.ALLOW,
79
- actions: [
80
- "cloudfront:GetInvalidation",
81
- "cloudfront:CreateInvalidation",
82
- ],
83
- resources: [
84
- `arn:${stack.partition}:cloudfront::${stack.account}:distribution/${this.distribution.distributionId}`,
85
- ],
86
- }),
87
- ],
88
- });
89
- stack.customResourceHandler.role?.attachInlinePolicy(policy);
90
- const resource = new CustomResource(this.scope, "CloudFrontInvalidator", {
91
- serviceToken: stack.customResourceHandler.functionArn,
92
- resourceType: "Custom::CloudFrontInvalidator",
93
- properties: {
94
- buildId: buildId || Date.now().toString(),
95
- distributionId: this.distribution.distributionId,
96
- paths: ["/*"],
97
- waitForInvalidation: this.props.waitForInvalidation,
98
- },
99
- });
100
- resource.node.addDependency(policy);
101
- return resource;
102
- }
103
- validateCloudFrontDistributionSettings() {
104
- const { cdk } = this.props;
105
- if (!cdk?.distribution)
106
- return;
107
- if (cdk.distribution.certificate) {
108
- throw new Error(`Do not configure the "cfDistribution.certificate". Use the "customDomain" to configure the domain certificate.`);
109
- }
110
- if (cdk.distribution.domainNames) {
111
- throw new Error(`Do not configure the "cfDistribution.domainNames". Use the "customDomain" to configure the domain name.`);
112
- }
113
- }
114
- validateCustomDomainSettings() {
115
- const { customDomain } = this.props;
116
- if (!customDomain) {
117
- return;
118
- }
119
- if (typeof customDomain === "string") {
120
- return;
121
- }
122
- if (customDomain.isExternalDomain === true) {
123
- if (!customDomain.cdk?.certificate) {
124
- throw new Error(`A valid certificate is required when "isExternalDomain" is set to "true".`);
125
- }
126
- if (customDomain.domainAlias) {
127
- throw new Error(`Domain alias is only supported for domains hosted on Amazon Route 53. Do not set the "customDomain.domainAlias" when "isExternalDomain" is enabled.`);
128
- }
129
- if (customDomain.hostedZone) {
130
- throw new Error(`Hosted zones can only be configured for domains hosted on Amazon Route 53. Do not set the "customDomain.hostedZone" when "isExternalDomain" is enabled.`);
131
- }
132
- }
133
- }
134
- lookupHostedZone() {
135
- const { customDomain } = this.props;
136
- // Skip if customDomain is not configured
137
- if (!customDomain) {
138
- return;
139
- }
140
- let hostedZone;
141
- if (typeof customDomain === "string") {
142
- hostedZone = HostedZone.fromLookup(this.scope, "HostedZone", {
143
- domainName: customDomain,
144
- });
145
- }
146
- else if (customDomain.cdk?.hostedZone) {
147
- hostedZone = customDomain.cdk.hostedZone;
148
- }
149
- else if (typeof customDomain.hostedZone === "string") {
150
- hostedZone = HostedZone.fromLookup(this.scope, "HostedZone", {
151
- domainName: customDomain.hostedZone,
152
- });
153
- }
154
- else if (typeof customDomain.domainName === "string") {
155
- // Skip if domain is not a Route53 domain
156
- if (customDomain.isExternalDomain === true) {
157
- return;
158
- }
159
- hostedZone = HostedZone.fromLookup(this.scope, "HostedZone", {
160
- domainName: customDomain.domainName,
161
- });
162
- }
163
- else {
164
- hostedZone = customDomain.hostedZone;
165
- }
166
- return hostedZone;
167
- }
168
- createCertificate() {
169
- const { customDomain } = this.props;
170
- if (!customDomain) {
171
- return;
172
- }
173
- let acmCertificate;
174
- // HostedZone is set for Route 53 domains
175
- if (this.hostedZone) {
176
- if (typeof customDomain === "string") {
177
- acmCertificate = new DnsValidatedCertificate(this.scope, "Certificate", {
178
- domainName: customDomain,
179
- hostedZone: this.hostedZone,
180
- region: "us-east-1",
181
- });
182
- }
183
- else if (customDomain.cdk?.certificate) {
184
- acmCertificate = customDomain.cdk.certificate;
185
- }
186
- else {
187
- acmCertificate = new DnsValidatedCertificate(this.scope, "Certificate", {
188
- domainName: customDomain.domainName,
189
- hostedZone: this.hostedZone,
190
- region: "us-east-1",
191
- });
192
- }
193
- }
194
- // HostedZone is NOT set for non-Route 53 domains
195
- else {
196
- if (typeof customDomain !== "string") {
197
- acmCertificate = customDomain.cdk?.certificate;
198
- }
199
- }
200
- return acmCertificate;
201
- }
202
- createDistribution() {
203
- const { cdk } = this.props;
204
- return new CdkDistribution(this.scope, "Distribution", {
205
- ...cdk?.distribution,
206
- domainNames: this.buildDistributionDomainNames(),
207
- certificate: this.certificate,
208
- });
209
- }
210
- buildDistributionDomainNames() {
211
- const { customDomain } = this.props;
212
- const domainNames = [];
213
- if (!customDomain) {
214
- // no domain
215
- }
216
- else if (typeof customDomain === "string") {
217
- domainNames.push(customDomain);
218
- }
219
- else {
220
- domainNames.push(customDomain.domainName);
221
- if (customDomain.alternateNames) {
222
- if (!customDomain.cdk?.certificate)
223
- throw new Error("Certificates for alternate domains cannot be automatically created. Please specify certificate to use");
224
- domainNames.push(...customDomain.alternateNames);
225
- }
226
- }
227
- return domainNames;
228
- }
229
- createRoute53Records() {
230
- const { customDomain } = this.props;
231
- if (!customDomain || !this.hostedZone) {
232
- return;
233
- }
234
- let recordName;
235
- let domainAlias;
236
- if (typeof customDomain === "string") {
237
- recordName = customDomain;
238
- }
239
- else {
240
- recordName = customDomain.domainName;
241
- domainAlias = customDomain.domainAlias;
242
- }
243
- // Create DNS record
244
- const recordProps = {
245
- recordName,
246
- zone: this.hostedZone,
247
- target: RecordTarget.fromAlias(new CloudFrontTarget(this.distribution)),
248
- };
249
- new ARecord(this.scope, "AliasRecord", recordProps);
250
- new AaaaRecord(this.scope, "AliasRecordAAAA", recordProps);
251
- // Create Alias redirect record
252
- if (domainAlias) {
253
- new HttpsRedirect(this.scope, "Redirect", {
254
- zone: this.hostedZone,
255
- recordNames: [domainAlias],
256
- targetDomain: recordName,
257
- });
258
- }
259
- }
260
- }