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,562 +0,0 @@
1
- import * as cxapi from "@aws-cdk/cx-api";
2
- import fs from "fs/promises";
3
- import * as uuid from "uuid";
4
- import { addMetadataAssetsToManifest } from "sst-aws-cdk/lib/assets.js";
5
- import { debug, error, print } from "sst-aws-cdk/lib/logging.js";
6
- import { toYAML } from "sst-aws-cdk/lib/serialize.js";
7
- import { AssetManifestBuilder } from "sst-aws-cdk/lib/util/asset-manifest-builder.js";
8
- import { publishAssets } from "sst-aws-cdk/lib/util/asset-publishing.js";
9
- import { contentHash } from "sst-aws-cdk/lib/util/content-hash.js";
10
- import { CfnEvaluationException } from "sst-aws-cdk/lib/api/evaluate-cloudformation-template.js";
11
- import { HotswapMode } from "sst-aws-cdk/lib/api/hotswap/common.js";
12
- import { tryHotswapDeployment } from "sst-aws-cdk/lib/api/hotswap-deployments.js";
13
- import { changeSetHasNoChanges, CloudFormationStack, TemplateParameters, waitForChangeSet, waitForStackDeploy, waitForStackDelete, } from "sst-aws-cdk/lib/api/util/cloudformation.js";
14
- import { blue } from "colorette";
15
- import { callWithRetry } from "./util.js";
16
- const LARGE_TEMPLATE_SIZE_KB = 50;
17
- export async function deployStack(options) {
18
- const stackArtifact = options.stack;
19
- const stackEnv = options.resolvedEnvironment;
20
- options.sdk.appendCustomUserAgent(options.extraUserAgent);
21
- const cfn = options.sdk.cloudFormation();
22
- const deployName = options.deployName || stackArtifact.stackName;
23
- let cloudFormationStack = await callWithRetry(() => CloudFormationStack.lookup(cfn, deployName));
24
- if (cloudFormationStack.stackStatus.isCreationFailure) {
25
- debug(`Found existing stack ${deployName} that had previously failed creation. Deleting it before attempting to re-create it.`);
26
- await cfn.deleteStack({ StackName: deployName }).promise();
27
- const deletedStack = await waitForStackDelete(cfn, deployName);
28
- if (deletedStack && deletedStack.stackStatus.name !== "DELETE_COMPLETE") {
29
- throw new Error(`Failed deleting stack ${deployName} that had previously failed creation (current state: ${deletedStack.stackStatus})`);
30
- }
31
- // Update variable to mark that the stack does not exist anymore, but avoid
32
- // doing an actual lookup in CloudFormation (which would be silly to do if
33
- // we just deleted it).
34
- cloudFormationStack = CloudFormationStack.doesNotExist(cfn, deployName);
35
- }
36
- // Detect "legacy" assets (which remain in the metadata) and publish them via
37
- // an ad-hoc asset manifest, while passing their locations via template
38
- // parameters.
39
- const legacyAssets = new AssetManifestBuilder();
40
- const assetParams = await addMetadataAssetsToManifest(stackArtifact, legacyAssets, options.toolkitInfo, options.reuseAssets);
41
- const finalParameterValues = { ...options.parameters, ...assetParams };
42
- const templateParams = TemplateParameters.fromTemplate(stackArtifact.template);
43
- const stackParams = options.usePreviousParameters
44
- ? templateParams.updateExisting(finalParameterValues, cloudFormationStack.parameters)
45
- : templateParams.supplyAll(finalParameterValues);
46
- if (await canSkipDeploy(options, cloudFormationStack, stackParams.hasChanges(cloudFormationStack.parameters))) {
47
- debug(`${deployName}: skipping deployment (use --force to override)`);
48
- // if we can skip deployment and we are performing a hotswap, let the user know
49
- // that no hotswap deployment happened
50
- if (options.hotswap) {
51
- }
52
- return {
53
- noOp: true,
54
- outputs: cloudFormationStack.outputs,
55
- stackArn: cloudFormationStack.stackId,
56
- };
57
- }
58
- else {
59
- debug(`${deployName}: deploying...`);
60
- }
61
- const bodyParameter = await makeBodyParameter(stackArtifact, options.resolvedEnvironment, legacyAssets, options.toolkitInfo, options.sdk, options.overrideTemplate);
62
- await publishAssets(legacyAssets.toManifest(stackArtifact.assembly.directory), options.sdkProvider, stackEnv, {
63
- parallel: options.assetParallelism,
64
- });
65
- const hotswapMode = options.hotswap;
66
- if (hotswapMode && hotswapMode !== HotswapMode.FULL_DEPLOYMENT) {
67
- // attempt to short-circuit the deployment if possible
68
- try {
69
- const hotswapDeploymentResult = await tryHotswapDeployment(options.sdkProvider, stackParams.values, cloudFormationStack, stackArtifact, hotswapMode);
70
- if (hotswapDeploymentResult) {
71
- return hotswapDeploymentResult;
72
- }
73
- print("Could not perform a hotswap deployment, as the stack %s contains non-Asset changes", stackArtifact.displayName);
74
- }
75
- catch (e) {
76
- if (!(e instanceof CfnEvaluationException)) {
77
- throw e;
78
- }
79
- print("Could not perform a hotswap deployment, because the CloudFormation template could not be resolved: %s", e.message);
80
- }
81
- if (hotswapMode === HotswapMode.FALL_BACK) {
82
- print("Falling back to doing a full deployment");
83
- options.sdk.appendCustomUserAgent("cdk-hotswap/fallback");
84
- }
85
- else {
86
- return {
87
- noOp: true,
88
- stackArn: cloudFormationStack.stackId,
89
- outputs: cloudFormationStack.outputs,
90
- };
91
- }
92
- }
93
- // could not short-circuit the deployment, perform a full CFN deploy instead
94
- const fullDeployment = new FullCloudFormationDeployment(options, cloudFormationStack, stackArtifact, stackParams, bodyParameter);
95
- return fullDeployment.performDeployment();
96
- }
97
- /**
98
- * This class shares state and functionality between the different full deployment modes
99
- */
100
- class FullCloudFormationDeployment {
101
- options;
102
- cloudFormationStack;
103
- stackArtifact;
104
- stackParams;
105
- bodyParameter;
106
- cfn;
107
- stackName;
108
- update;
109
- verb;
110
- uuid;
111
- constructor(options, cloudFormationStack, stackArtifact, stackParams, bodyParameter) {
112
- this.options = options;
113
- this.cloudFormationStack = cloudFormationStack;
114
- this.stackArtifact = stackArtifact;
115
- this.stackParams = stackParams;
116
- this.bodyParameter = bodyParameter;
117
- this.cfn = options.sdk.cloudFormation();
118
- this.stackName = options.deployName ?? stackArtifact.stackName;
119
- this.update =
120
- cloudFormationStack.exists &&
121
- cloudFormationStack.stackStatus.name !== "REVIEW_IN_PROGRESS";
122
- this.verb = this.update ? "update" : "create";
123
- this.uuid = uuid.v4();
124
- }
125
- async performDeployment() {
126
- const deploymentMethod = this.options.deploymentMethod ?? {
127
- method: "change-set",
128
- };
129
- if (deploymentMethod.method === "direct" &&
130
- this.options.resourcesToImport) {
131
- throw new Error("Importing resources requires a changeset deployment");
132
- }
133
- switch (deploymentMethod.method) {
134
- case "change-set":
135
- return this.changeSetDeployment(deploymentMethod);
136
- case "direct":
137
- return this.directDeployment();
138
- }
139
- }
140
- async changeSetDeployment(deploymentMethod) {
141
- const changeSetName = deploymentMethod.changeSetName ?? "cdk-deploy-change-set";
142
- const execute = deploymentMethod.execute ?? true;
143
- const changeSetDescription = await this.createChangeSet(changeSetName, execute);
144
- await this.updateTerminationProtection();
145
- if (changeSetHasNoChanges(changeSetDescription)) {
146
- debug("No changes are to be performed on %s.", this.stackName);
147
- if (execute) {
148
- debug("Deleting empty change set %s", changeSetDescription.ChangeSetId);
149
- await this.cfn
150
- .deleteChangeSet({
151
- StackName: this.stackName,
152
- ChangeSetName: changeSetName,
153
- })
154
- .promise();
155
- }
156
- return {
157
- noOp: true,
158
- outputs: this.cloudFormationStack.outputs,
159
- stackArn: changeSetDescription.StackId,
160
- };
161
- }
162
- if (!execute) {
163
- print("Changeset %s created and waiting in review for manual execution (--no-execute)", changeSetDescription.ChangeSetId);
164
- return {
165
- noOp: false,
166
- outputs: this.cloudFormationStack.outputs,
167
- stackArn: changeSetDescription.StackId,
168
- };
169
- }
170
- return this.executeChangeSet(changeSetDescription);
171
- }
172
- async createChangeSet(changeSetName, willExecute) {
173
- await this.cleanupOldChangeset(changeSetName);
174
- debug(`Attempting to create ChangeSet with name ${changeSetName} to ${this.verb} stack ${this.stackName}`);
175
- const changeSet = await this.cfn
176
- .createChangeSet({
177
- StackName: this.stackName,
178
- ChangeSetName: changeSetName,
179
- ChangeSetType: this.options.resourcesToImport
180
- ? "IMPORT"
181
- : this.update
182
- ? "UPDATE"
183
- : "CREATE",
184
- ResourcesToImport: this.options.resourcesToImport,
185
- Description: `CDK Changeset for execution ${this.uuid}`,
186
- ClientToken: `create${this.uuid}`,
187
- ...this.commonPrepareOptions(),
188
- })
189
- .promise();
190
- debug("Initiated creation of changeset: %s; waiting for it to finish creating...", changeSet.Id);
191
- // Fetching all pages if we'll execute, so we can have the correct change count when monitoring.
192
- return waitForChangeSet(this.cfn, this.stackName, changeSetName, {
193
- fetchAll: willExecute,
194
- });
195
- }
196
- async executeChangeSet(changeSet) {
197
- debug("Initiating execution of changeset %s on stack %s", changeSet.ChangeSetId, this.stackName);
198
- await this.cfn
199
- .executeChangeSet({
200
- StackName: this.stackName,
201
- ChangeSetName: changeSet.ChangeSetName,
202
- ClientRequestToken: `exec${this.uuid}`,
203
- ...this.commonExecuteOptions(),
204
- })
205
- .promise();
206
- debug("Execution of changeset %s on stack %s has started; waiting for the update to complete...", changeSet.ChangeSetId, this.stackName);
207
- // +1 for the extra event emitted from updates.
208
- const changeSetLength = (changeSet.Changes ?? []).length + (this.update ? 1 : 0);
209
- return this.monitorDeployment(changeSet.CreationTime, changeSetLength);
210
- }
211
- async cleanupOldChangeset(changeSetName) {
212
- if (this.cloudFormationStack.exists) {
213
- // Delete any existing change sets generated by CDK since change set names must be unique.
214
- // The delete request is successful as long as the stack exists (even if the change set does not exist).
215
- debug(`Removing existing change set with name ${changeSetName} if it exists`);
216
- await this.cfn
217
- .deleteChangeSet({
218
- StackName: this.stackName,
219
- ChangeSetName: changeSetName,
220
- })
221
- .promise();
222
- }
223
- }
224
- async updateTerminationProtection() {
225
- // Update termination protection only if it has changed.
226
- const terminationProtection = this.stackArtifact.terminationProtection ?? false;
227
- if (!!this.cloudFormationStack.terminationProtection !== terminationProtection) {
228
- debug("Updating termination protection from %s to %s for stack %s", this.cloudFormationStack.terminationProtection, terminationProtection, this.stackName);
229
- await this.cfn
230
- .updateTerminationProtection({
231
- StackName: this.stackName,
232
- EnableTerminationProtection: terminationProtection,
233
- })
234
- .promise();
235
- debug("Termination protection updated to %s for stack %s", terminationProtection, this.stackName);
236
- }
237
- }
238
- async directDeployment() {
239
- const startTime = new Date();
240
- if (this.update) {
241
- await this.cfn
242
- .updateStack({
243
- StackName: this.stackName,
244
- ClientRequestToken: `update${this.uuid}`,
245
- ...this.commonPrepareOptions(),
246
- ...this.commonExecuteOptions(),
247
- })
248
- .promise();
249
- if (this.options.noMonitor)
250
- return;
251
- const ret = await this.monitorDeployment(startTime, undefined);
252
- await this.updateTerminationProtection();
253
- return ret;
254
- }
255
- else {
256
- // Take advantage of the fact that we can set termination protection during create
257
- const terminationProtection = this.stackArtifact.terminationProtection ?? false;
258
- await this.cfn
259
- .createStack({
260
- StackName: this.stackName,
261
- ClientRequestToken: `create${this.uuid}`,
262
- ...(terminationProtection
263
- ? { EnableTerminationProtection: true }
264
- : undefined),
265
- ...this.commonPrepareOptions(),
266
- ...this.commonExecuteOptions(),
267
- })
268
- .promise();
269
- if (this.options.noMonitor)
270
- return;
271
- return this.monitorDeployment(startTime, undefined);
272
- }
273
- }
274
- async monitorDeployment(startTime, expectedChanges) {
275
- // const monitor = this.options.quiet
276
- // ? undefined
277
- // : StackActivityMonitor.withDefaultPrinter(
278
- // this.cfn,
279
- // this.stackName,
280
- // this.stackArtifact,
281
- // {
282
- // resourcesTotal: expectedChanges,
283
- // progress: this.options.progress,
284
- // changeSetCreationTime: startTime,
285
- // ci: this.options.ci,
286
- // }
287
- // ).start();
288
- let finalState = this.cloudFormationStack;
289
- try {
290
- const successStack = await waitForStackDeploy(this.cfn, this.stackName);
291
- // This shouldn't really happen, but catch it anyway. You never know.
292
- if (!successStack) {
293
- throw new Error("Stack deploy failed (the stack disappeared while we were deploying it)");
294
- }
295
- finalState = successStack;
296
- }
297
- catch (e) {
298
- throw new Error(suffixWithErrors(e.message /*, monitor?.errors*/));
299
- }
300
- finally {
301
- // await monitor?.stop();
302
- }
303
- debug("Stack %s has completed updating", this.stackName);
304
- return {
305
- noOp: false,
306
- outputs: finalState.outputs,
307
- stackArn: finalState.stackId,
308
- };
309
- }
310
- /**
311
- * Return the options that are shared between CreateStack, UpdateStack and CreateChangeSet
312
- */
313
- commonPrepareOptions() {
314
- return {
315
- Capabilities: [
316
- "CAPABILITY_IAM",
317
- "CAPABILITY_NAMED_IAM",
318
- "CAPABILITY_AUTO_EXPAND",
319
- ],
320
- NotificationARNs: this.options.notificationArns,
321
- Parameters: this.stackParams.apiParameters,
322
- RoleARN: this.options.roleArn,
323
- TemplateBody: this.bodyParameter.TemplateBody,
324
- TemplateURL: this.bodyParameter.TemplateURL,
325
- Tags: this.options.tags,
326
- };
327
- }
328
- /**
329
- * Return the options that are shared between UpdateStack and CreateChangeSet
330
- *
331
- * Be careful not to add in keys for options that aren't used, as the features may not have been
332
- * deployed everywhere yet.
333
- */
334
- commonExecuteOptions() {
335
- const shouldDisableRollback = this.options.rollback === false;
336
- return {
337
- StackName: this.stackName,
338
- ...(shouldDisableRollback ? { DisableRollback: true } : undefined),
339
- };
340
- }
341
- }
342
- /**
343
- * Prepares the body parameter for +CreateChangeSet+.
344
- *
345
- * If the template is small enough to be inlined into the API call, just return
346
- * it immediately.
347
- *
348
- * Otherwise, add it to the asset manifest to get uploaded to the staging
349
- * bucket and return its coordinates. If there is no staging bucket, an error
350
- * is thrown.
351
- *
352
- * @param stack the synthesized stack that provides the CloudFormation template
353
- * @param toolkitInfo information about the toolkit stack
354
- */
355
- export async function makeBodyParameter(stack, resolvedEnvironment, assetManifest, toolkitInfo, sdk, overrideTemplate) {
356
- // If the template has already been uploaded to S3, just use it from there.
357
- if (stack.stackTemplateAssetObjectUrl && !overrideTemplate) {
358
- return {
359
- TemplateURL: restUrlFromManifest(stack.stackTemplateAssetObjectUrl, resolvedEnvironment, sdk),
360
- };
361
- }
362
- // Otherwise, pass via API call (if small) or upload here (if large)
363
- const templateJson = toYAML(overrideTemplate ?? stack.template);
364
- if (templateJson.length <= LARGE_TEMPLATE_SIZE_KB * 1024) {
365
- return { TemplateBody: templateJson };
366
- }
367
- if (!toolkitInfo.found) {
368
- error(`The template for stack "${stack.displayName}" is ${Math.round(templateJson.length / 1024)}KiB. ` +
369
- `Templates larger than ${LARGE_TEMPLATE_SIZE_KB}KiB must be uploaded to S3.\n` +
370
- "Run the following command in order to setup an S3 bucket in this environment, and then re-deploy:\n\n", blue(`\t$ cdk bootstrap ${resolvedEnvironment.name}\n`));
371
- throw new Error('Template too large to deploy ("cdk bootstrap" is required)');
372
- }
373
- const templateHash = contentHash(templateJson);
374
- const key = `cdk/${stack.id}/${templateHash}.yml`;
375
- let templateFile = stack.templateFile;
376
- if (overrideTemplate) {
377
- // Add a variant of this template
378
- templateFile = `${stack.templateFile}-${templateHash}.yaml`;
379
- await fs.writeFile(templateFile, templateJson, { encoding: "utf-8" });
380
- }
381
- assetManifest.addFileAsset(templateHash, {
382
- path: templateFile,
383
- }, {
384
- bucketName: toolkitInfo.bucketName,
385
- objectKey: key,
386
- });
387
- const templateURL = `${toolkitInfo.bucketUrl}/${key}`;
388
- debug("Storing template in S3 at:", templateURL);
389
- return { TemplateURL: templateURL };
390
- }
391
- /**
392
- * Prepare a body parameter for CFN, performing the upload
393
- *
394
- * Return it as-is if it is small enough to pass in the API call,
395
- * upload to S3 and return the coordinates if it is not.
396
- */
397
- export async function makeBodyParameterAndUpload(stack, resolvedEnvironment, toolkitInfo, sdkProvider, sdk, overrideTemplate) {
398
- // We don't have access to the actual asset manifest here, so pretend that the
399
- // stack doesn't have a pre-published URL.
400
- const forceUploadStack = Object.create(stack, {
401
- stackTemplateAssetObjectUrl: { value: undefined },
402
- });
403
- const builder = new AssetManifestBuilder();
404
- const bodyparam = await makeBodyParameter(forceUploadStack, resolvedEnvironment, builder, toolkitInfo, sdk, overrideTemplate);
405
- const manifest = builder.toManifest(stack.assembly.directory);
406
- await publishAssets(manifest, sdkProvider, resolvedEnvironment, {
407
- quiet: true,
408
- });
409
- return bodyparam;
410
- }
411
- export async function destroyStack(options) {
412
- const deployName = options.deployName || options.stack.stackName;
413
- const cfn = options.sdk.cloudFormation();
414
- const currentStack = await CloudFormationStack.lookup(cfn, deployName);
415
- if (!currentStack.exists) {
416
- return;
417
- }
418
- /*
419
- const monitor = options.quiet
420
- ? undefined
421
- : StackActivityMonitor.withDefaultPrinter(cfn, deployName, options.stack, {
422
- ci: options.ci,
423
- }).start();
424
- */
425
- try {
426
- await cfn
427
- .deleteStack({ StackName: deployName, RoleARN: options.roleArn })
428
- .promise();
429
- const destroyedStack = await waitForStackDelete(cfn, deployName);
430
- if (destroyedStack &&
431
- destroyedStack.stackStatus.name !== "DELETE_COMPLETE") {
432
- throw new Error(`Failed to destroy ${deployName}: ${destroyedStack.stackStatus}`);
433
- }
434
- }
435
- catch (e) {
436
- throw new Error(suffixWithErrors(e.message /* , monitor?.errors */));
437
- }
438
- finally {
439
- /*
440
- if (monitor) {
441
- await monitor.stop();
442
- }
443
- */
444
- }
445
- }
446
- /**
447
- * Checks whether we can skip deployment
448
- *
449
- * We do this in a complicated way by preprocessing (instead of just
450
- * looking at the changeset), because if there are nested stacks involved
451
- * the changeset will always show the nested stacks as needing to be
452
- * updated, and the deployment will take a long time to in effect not
453
- * do anything.
454
- */
455
- async function canSkipDeploy(deployStackOptions, cloudFormationStack, parameterChanges) {
456
- const deployName = deployStackOptions.deployName || deployStackOptions.stack.stackName;
457
- debug(`${deployName}: checking if we can skip deploy`);
458
- // Forced deploy
459
- if (deployStackOptions.force) {
460
- debug(`${deployName}: forced deployment`);
461
- return false;
462
- }
463
- // Creating changeset only (default true), never skip
464
- if (deployStackOptions.deploymentMethod?.method === "change-set" &&
465
- deployStackOptions.deploymentMethod.execute === false) {
466
- debug(`${deployName}: --no-execute, always creating change set`);
467
- return false;
468
- }
469
- // No existing stack
470
- if (!cloudFormationStack.exists) {
471
- debug(`${deployName}: no existing stack`);
472
- return false;
473
- }
474
- // SST check: stack is not busy
475
- if (cloudFormationStack.stackStatus.isInProgress) {
476
- debug(`${deployName}: stack is busy`);
477
- return false;
478
- }
479
- // Template has changed (assets taken into account here)
480
- if (JSON.stringify(deployStackOptions.stack.template) !==
481
- JSON.stringify(await cloudFormationStack.template())) {
482
- debug(`${deployName}: template has changed`);
483
- return false;
484
- }
485
- // Tags have changed
486
- if (!compareTags(cloudFormationStack.tags, deployStackOptions.tags ?? [])) {
487
- debug(`${deployName}: tags have changed`);
488
- return false;
489
- }
490
- // Termination protection has been updated
491
- if (!!deployStackOptions.stack.terminationProtection !==
492
- !!cloudFormationStack.terminationProtection) {
493
- debug(`${deployName}: termination protection has been updated`);
494
- return false;
495
- }
496
- // Parameters have changed
497
- if (parameterChanges) {
498
- if (parameterChanges === "ssm") {
499
- debug(`${deployName}: some parameters come from SSM so we have to assume they may have changed`);
500
- }
501
- else {
502
- debug(`${deployName}: parameters have changed`);
503
- }
504
- return false;
505
- }
506
- // Existing stack is in a failed state
507
- if (cloudFormationStack.stackStatus.isFailure) {
508
- debug(`${deployName}: stack is in a failure state`);
509
- return false;
510
- }
511
- // We can skip deploy
512
- return true;
513
- }
514
- /**
515
- * Compares two list of tags, returns true if identical.
516
- */
517
- function compareTags(a, b) {
518
- if (a.length !== b.length) {
519
- return false;
520
- }
521
- for (const aTag of a) {
522
- const bTag = b.find((tag) => tag.Key === aTag.Key);
523
- if (!bTag || bTag.Value !== aTag.Value) {
524
- return false;
525
- }
526
- }
527
- return true;
528
- }
529
- /**
530
- * Format an S3 URL in the manifest for use with CloudFormation
531
- *
532
- * Replaces environment placeholders (which this field may contain),
533
- * and reformats s3://.../... urls into S3 REST URLs (which CloudFormation
534
- * expects)
535
- */
536
- function restUrlFromManifest(url, environment, sdk) {
537
- const doNotUseMarker = "**DONOTUSE**";
538
- // This URL may contain placeholders, so still substitute those.
539
- url = cxapi.EnvironmentPlaceholders.replace(url, {
540
- accountId: environment.account,
541
- region: environment.region,
542
- partition: doNotUseMarker,
543
- });
544
- // Yes, this is extremely crude, but we don't actually need this so I'm not inclined to spend
545
- // a lot of effort trying to thread the right value to this location.
546
- if (url.indexOf(doNotUseMarker) > -1) {
547
- throw new Error("Cannot use '${AWS::Partition}' in the 'stackTemplateAssetObjectUrl' field");
548
- }
549
- const s3Url = url.match(/s3:\/\/([^/]+)\/(.*)$/);
550
- if (!s3Url) {
551
- return url;
552
- }
553
- // We need to pass an 'https://s3.REGION.amazonaws.com[.cn]/bucket/object' URL to CloudFormation, but we
554
- // got an 's3://bucket/object' URL instead. Construct the rest API URL here.
555
- const bucketName = s3Url[1];
556
- const objectKey = s3Url[2];
557
- const urlSuffix = sdk.getEndpointSuffix(environment.region);
558
- return `https://s3.${environment.region}.${urlSuffix}/${bucketName}/${objectKey}`;
559
- }
560
- function suffixWithErrors(msg, errors) {
561
- return errors && errors.length > 0 ? `${msg}: ${errors.join(", ")}` : msg;
562
- }
@@ -1,3 +0,0 @@
1
- import { SdkProvider } from "sst-aws-cdk/lib/api/aws-auth/sdk-provider.js";
2
- import { DeployStackOptions as PublishStackAssetsOptions } from "./deployments.js";
3
- export declare function publishDeployAssets(sdkProvider: SdkProvider, options: PublishStackAssetsOptions): Promise<any>;