@aws/nx-plugin 1.0.0-rc.0 → 1.0.0-rc.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 (537) hide show
  1. package/LICENSE-THIRD-PARTY +3399 -4104
  2. package/README.md +8 -8
  3. package/executors.json +9 -0
  4. package/generators.json +44 -5
  5. package/package.json +16 -12
  6. package/sdk/license.d.ts +8 -0
  7. package/sdk/license.js +13 -0
  8. package/sdk/license.js.map +1 -0
  9. package/src/connection/agent-runtime-config.d.ts +1 -1
  10. package/src/connection/agent-runtime-config.js.map +1 -1
  11. package/src/connection/agent-serve-local.d.ts +2 -2
  12. package/src/connection/agent-serve-local.js +1 -1
  13. package/src/connection/agent-serve-local.js.map +1 -1
  14. package/src/connection/generator.d.ts +5 -5
  15. package/src/connection/generator.js +58 -39
  16. package/src/connection/generator.js.map +1 -1
  17. package/src/connection/serve-local.d.ts +1 -1
  18. package/src/connection/serve-local.js +1 -1
  19. package/src/connection/serve-local.js.map +1 -1
  20. package/src/infra/app/__snapshots__/generator.spec.ts.snap +49 -60
  21. package/src/infra/app/files/app/src/main.ts.template +2 -2
  22. package/src/infra/app/generator.d.ts +3 -3
  23. package/src/infra/app/generator.js +25 -23
  24. package/src/infra/app/generator.js.map +1 -1
  25. package/src/infra/app/schema.d.ts +1 -1
  26. package/src/infra/app/schema.json +1 -1
  27. package/src/license/__snapshots__/config.spec.ts.snap +23 -0
  28. package/src/license/config-types.d.ts +18 -1
  29. package/src/license/config-types.js +4 -0
  30. package/src/license/config-types.js.map +1 -1
  31. package/src/license/config.d.ts +65 -7
  32. package/src/license/config.js +315 -7
  33. package/src/license/config.js.map +1 -1
  34. package/src/license/dependency-check/check.d.ts +16 -0
  35. package/src/license/dependency-check/check.js +111 -0
  36. package/src/license/dependency-check/check.js.map +1 -0
  37. package/src/license/dependency-check/collectors/collector.d.ts +21 -0
  38. package/src/license/dependency-check/collectors/collector.js +76 -0
  39. package/src/license/dependency-check/collectors/collector.js.map +1 -0
  40. package/src/license/dependency-check/collectors/npm-collector.d.ts +10 -0
  41. package/src/license/dependency-check/collectors/npm-collector.js +75 -0
  42. package/src/license/dependency-check/collectors/npm-collector.js.map +1 -0
  43. package/src/license/dependency-check/collectors/python-collector.d.ts +23 -0
  44. package/src/license/dependency-check/collectors/python-collector.js +121 -0
  45. package/src/license/dependency-check/collectors/python-collector.js.map +1 -0
  46. package/src/license/dependency-check/evaluator.d.ts +9 -0
  47. package/src/license/dependency-check/evaluator.js +122 -0
  48. package/src/license/dependency-check/evaluator.js.map +1 -0
  49. package/src/license/dependency-check/executor-schema.json +6 -0
  50. package/src/license/dependency-check/executor.d.ts +9 -0
  51. package/src/license/dependency-check/executor.js +43 -0
  52. package/src/license/dependency-check/executor.js.map +1 -0
  53. package/src/license/dependency-check/pre-approved.d.ts +6 -0
  54. package/src/license/dependency-check/pre-approved.js +1280 -0
  55. package/src/license/dependency-check/pre-approved.js.map +1 -0
  56. package/src/license/dependency-check/types.d.ts +45 -0
  57. package/src/license/dependency-check/types.js +7 -0
  58. package/src/license/dependency-check/types.js.map +1 -0
  59. package/src/license/generator.d.ts +3 -3
  60. package/src/license/generator.js +113 -14
  61. package/src/license/generator.js.map +1 -1
  62. package/src/license/index.d.ts +8 -0
  63. package/src/license/index.js +13 -0
  64. package/src/license/index.js.map +1 -0
  65. package/src/license/known-exceptions.d.ts +7 -0
  66. package/src/license/known-exceptions.js +33 -0
  67. package/src/license/known-exceptions.js.map +1 -0
  68. package/src/license/schema.d.ts +5 -0
  69. package/src/license/schema.json +6 -0
  70. package/src/license/sync/generator.d.ts +2 -2
  71. package/src/license/sync/generator.js +15 -15
  72. package/src/license/sync/generator.js.map +1 -1
  73. package/src/license/sync/project-file-sync.d.ts +3 -3
  74. package/src/license/sync/project-file-sync.js.map +1 -1
  75. package/src/mcp-server/generator-info.d.ts +5 -1
  76. package/src/mcp-server/generator-info.js +7 -7
  77. package/src/mcp-server/generator-info.js.map +1 -1
  78. package/src/mcp-server/guide-pipeline.d.ts +1 -1
  79. package/src/mcp-server/guide-pipeline.js +10 -12
  80. package/src/mcp-server/guide-pipeline.js.map +1 -1
  81. package/src/mcp-server/mdx-ast.js +4 -0
  82. package/src/mcp-server/mdx-ast.js.map +1 -1
  83. package/src/mcp-server/server.js +3 -3
  84. package/src/mcp-server/server.js.map +1 -1
  85. package/src/mcp-server/tools/create-workspace-command.d.ts +1 -1
  86. package/src/mcp-server/tools/create-workspace-command.js +5 -5
  87. package/src/mcp-server/tools/create-workspace-command.js.map +1 -1
  88. package/src/mcp-server/tools/general-guidance.d.ts +2 -2
  89. package/src/mcp-server/tools/general-guidance.js +2 -2
  90. package/src/mcp-server/tools/general-guidance.js.map +1 -1
  91. package/src/mcp-server/tools/generator-guide.d.ts +2 -2
  92. package/src/mcp-server/tools/generator-guide.js +2 -2
  93. package/src/mcp-server/tools/generator-guide.js.map +1 -1
  94. package/src/mcp-server/tools/list-generators.d.ts +2 -2
  95. package/src/mcp-server/tools/list-generators.js +1 -1
  96. package/src/mcp-server/tools/list-generators.js.map +1 -1
  97. package/src/open-api/ts-client/__snapshots__/generator.reserved-keywords.spec.ts.snap +1 -1
  98. package/src/open-api/ts-client/generator.d.ts +3 -3
  99. package/src/open-api/ts-client/generator.js +2 -2
  100. package/src/open-api/ts-client/generator.js.map +1 -1
  101. package/src/open-api/ts-hooks/generator.d.ts +3 -3
  102. package/src/open-api/ts-hooks/generator.js +2 -2
  103. package/src/open-api/ts-hooks/generator.js.map +1 -1
  104. package/src/open-api/ts-hooks/generator.spec.tsx +14 -14
  105. package/src/open-api/ts-metadata/generator.d.ts +3 -3
  106. package/src/open-api/ts-metadata/generator.js +1 -1
  107. package/src/open-api/ts-metadata/generator.js.map +1 -1
  108. package/src/open-api/utils/codegen-data/languages.d.ts +5 -1
  109. package/src/open-api/utils/codegen-data/languages.js +4 -4
  110. package/src/open-api/utils/codegen-data/languages.js.map +1 -1
  111. package/src/open-api/utils/codegen-data.d.ts +6 -2
  112. package/src/open-api/utils/codegen-data.js +6 -6
  113. package/src/open-api/utils/codegen-data.js.map +1 -1
  114. package/src/open-api/utils/normalise.d.ts +5 -1
  115. package/src/open-api/utils/normalise.js +5 -5
  116. package/src/open-api/utils/normalise.js.map +1 -1
  117. package/src/open-api/utils/parse.d.ts +2 -2
  118. package/src/open-api/utils/parse.js +4 -0
  119. package/src/open-api/utils/parse.js.map +1 -1
  120. package/src/open-api/utils/refs.d.ts +1 -1
  121. package/src/preset/__snapshots__/generator.spec.ts.snap +128 -14
  122. package/src/preset/generator.d.ts +4 -4
  123. package/src/preset/generator.js +24 -19
  124. package/src/preset/generator.js.map +1 -1
  125. package/src/preset/schema.d.ts +7 -5
  126. package/src/preset/schema.json +9 -4
  127. package/src/py/agent/__snapshots__/generator.spec.ts.snap +10 -9
  128. package/src/py/agent/a2a-connection/generator.d.ts +3 -3
  129. package/src/py/agent/a2a-connection/generator.js +8 -7
  130. package/src/py/agent/a2a-connection/generator.js.map +1 -1
  131. package/src/py/agent/files/common/agent.py.template +2 -0
  132. package/src/py/agent/files/deploy/Dockerfile.template +3 -3
  133. package/src/py/agent/files/http/init.py.template +2 -2
  134. package/src/py/agent/files/http/main.py.template +0 -1
  135. package/src/py/agent/generator.d.ts +3 -3
  136. package/src/py/agent/generator.js +45 -39
  137. package/src/py/agent/generator.js.map +1 -1
  138. package/src/py/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +4 -0
  139. package/src/py/agent/mcp-connection/generator.d.ts +3 -3
  140. package/src/py/agent/mcp-connection/generator.js +5 -5
  141. package/src/py/agent/mcp-connection/generator.js.map +1 -1
  142. package/src/py/agent/react-connection/__snapshots__/generator.spec.ts.snap +3 -3
  143. package/src/py/agent/react-connection/generator.d.ts +3 -3
  144. package/src/py/agent/react-connection/generator.js +8 -8
  145. package/src/py/agent/react-connection/generator.js.map +1 -1
  146. package/src/py/agent/react-connection/serve-local.d.ts +2 -2
  147. package/src/py/agent/react-connection/serve-local.js.map +1 -1
  148. package/src/py/agent/schema.d.ts +8 -8
  149. package/src/py/agent/schema.json +18 -18
  150. package/src/py/api/generator.d.ts +3 -3
  151. package/src/py/api/generator.js +2 -2
  152. package/src/py/api/generator.js.map +1 -1
  153. package/src/py/api/schema.d.ts +4 -6
  154. package/src/py/api/schema.json +15 -15
  155. package/src/py/fast-api/__snapshots__/generator.spec.ts.snap +6 -6
  156. package/src/py/fast-api/generator.d.ts +3 -3
  157. package/src/py/fast-api/generator.js +73 -55
  158. package/src/py/fast-api/generator.js.map +1 -1
  159. package/src/py/fast-api/react/generator.d.ts +3 -3
  160. package/src/py/fast-api/react/generator.js +3 -3
  161. package/src/py/fast-api/react/generator.js.map +1 -1
  162. package/src/py/fast-api/react/open-api.d.ts +1 -1
  163. package/src/py/fast-api/react/open-api.js +5 -2
  164. package/src/py/fast-api/react/open-api.js.map +1 -1
  165. package/src/py/fast-api/schema.d.ts +4 -6
  166. package/src/py/fast-api/schema.json +15 -15
  167. package/src/py/lambda-function/__snapshots__/generator.spec.ts.snap +2 -2
  168. package/src/py/lambda-function/files/handler/__lambdaFunctionSnakeCase__.py.template +6 -6
  169. package/src/py/lambda-function/generator.d.ts +3 -3
  170. package/src/py/lambda-function/generator.js +34 -31
  171. package/src/py/lambda-function/generator.js.map +1 -1
  172. package/src/py/lambda-function/schema.d.ts +7 -4
  173. package/src/py/lambda-function/schema.json +15 -7
  174. package/src/py/mcp-server/__snapshots__/generator.spec.ts.snap +5 -5
  175. package/src/py/mcp-server/generator.d.ts +3 -3
  176. package/src/py/mcp-server/generator.js +44 -37
  177. package/src/py/mcp-server/generator.js.map +1 -1
  178. package/src/py/mcp-server/schema.d.ts +5 -9
  179. package/src/py/mcp-server/schema.json +15 -15
  180. package/src/py/project/generator.d.ts +3 -3
  181. package/src/py/project/generator.js +88 -69
  182. package/src/py/project/generator.js.map +1 -1
  183. package/src/py/project/schema.d.ts +1 -1
  184. package/src/py/project/schema.json +2 -2
  185. package/src/smithy/project/__snapshots__/generator.spec.ts.snap +18 -16
  186. package/src/smithy/project/files/build.Dockerfile.template +1 -0
  187. package/src/smithy/project/generator.d.ts +3 -3
  188. package/src/smithy/project/generator.js +31 -29
  189. package/src/smithy/project/generator.js.map +1 -1
  190. package/src/smithy/react-connection/generator.d.ts +3 -3
  191. package/src/smithy/react-connection/generator.js +4 -4
  192. package/src/smithy/react-connection/generator.js.map +1 -1
  193. package/src/smithy/ts/api/__snapshots__/generator.spec.ts.snap +12 -38
  194. package/src/smithy/ts/api/generator.d.ts +3 -3
  195. package/src/smithy/ts/api/generator.js +89 -66
  196. package/src/smithy/ts/api/generator.js.map +1 -1
  197. package/src/smithy/ts/api/schema.d.ts +4 -6
  198. package/src/smithy/ts/api/schema.json +15 -15
  199. package/src/terraform/project/generator.d.ts +3 -3
  200. package/src/terraform/project/generator.js +14 -9
  201. package/src/terraform/project/generator.js.map +1 -1
  202. package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +6 -6
  203. package/src/trpc/backend/files/src/client/index.ts.template +5 -5
  204. package/src/trpc/backend/files/src/handler.ts.template +2 -2
  205. package/src/trpc/backend/generator.d.ts +3 -3
  206. package/src/trpc/backend/generator.js +80 -61
  207. package/src/trpc/backend/generator.js.map +1 -1
  208. package/src/trpc/backend/schema.d.ts +5 -5
  209. package/src/trpc/backend/schema.json +15 -15
  210. package/src/trpc/react/__snapshots__/generator.spec.ts.snap +3 -3
  211. package/src/trpc/react/files/src/components/__apiNameClassName__ClientProvider.tsx.template +14 -14
  212. package/src/trpc/react/generator.d.ts +3 -3
  213. package/src/trpc/react/generator.js +11 -10
  214. package/src/trpc/react/generator.js.map +1 -1
  215. package/src/ts/agent/__snapshots__/generator.spec.ts.snap +11 -5
  216. package/src/ts/agent/a2a-connection/generator.d.ts +3 -3
  217. package/src/ts/agent/a2a-connection/generator.js +9 -8
  218. package/src/ts/agent/a2a-connection/generator.js.map +1 -1
  219. package/src/ts/agent/files/common/agent.ts.template +6 -2
  220. package/src/ts/agent/files/deploy/Dockerfile.template +1 -1
  221. package/src/ts/agent/generator.d.ts +3 -3
  222. package/src/ts/agent/generator.js +40 -35
  223. package/src/ts/agent/generator.js.map +1 -1
  224. package/src/ts/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +5 -2
  225. package/src/ts/agent/mcp-connection/generator.d.ts +3 -3
  226. package/src/ts/agent/mcp-connection/generator.js +6 -6
  227. package/src/ts/agent/mcp-connection/generator.js.map +1 -1
  228. package/src/ts/agent/react-connection/files/src/components/__agentNameClassName__AgentClientProvider.tsx.template +8 -8
  229. package/src/ts/agent/react-connection/generator.d.ts +3 -3
  230. package/src/ts/agent/react-connection/generator.js +15 -15
  231. package/src/ts/agent/react-connection/generator.js.map +1 -1
  232. package/src/ts/agent/react-connection/serve-local.d.ts +2 -2
  233. package/src/ts/agent/react-connection/serve-local.js +2 -2
  234. package/src/ts/agent/schema.d.ts +8 -8
  235. package/src/ts/agent/schema.json +18 -18
  236. package/src/ts/api/generator.d.ts +3 -3
  237. package/src/ts/api/generator.js +10 -8
  238. package/src/ts/api/generator.js.map +1 -1
  239. package/src/ts/api/schema.d.ts +5 -4
  240. package/src/ts/api/schema.json +15 -15
  241. package/src/ts/astro-docs/__snapshots__/generator.spec.ts.snap +7 -8
  242. package/src/ts/astro-docs/generator.d.ts +3 -3
  243. package/src/ts/astro-docs/generator.js +14 -11
  244. package/src/ts/astro-docs/generator.js.map +1 -1
  245. package/src/ts/docs/generator.d.ts +3 -3
  246. package/src/ts/docs/generator.js.map +1 -1
  247. package/src/ts/dynamodb/__snapshots__/generator.spec.ts.snap +1502 -0
  248. package/src/ts/dynamodb/agent-connection/__snapshots__/generator.spec.ts.snap +45 -0
  249. package/src/ts/dynamodb/agent-connection/generator.d.ts +10 -0
  250. package/src/ts/dynamodb/agent-connection/generator.js +32 -0
  251. package/src/ts/dynamodb/agent-connection/generator.js.map +1 -0
  252. package/src/ts/dynamodb/agent-connection/schema.d.ts +14 -0
  253. package/src/ts/dynamodb/agent-connection/schema.json +22 -0
  254. package/src/ts/dynamodb/files/scripts/create-local-table.ts.template +161 -0
  255. package/src/ts/dynamodb/files/scripts/start-container.ts.template +81 -0
  256. package/src/ts/dynamodb/files/src/client.ts.template +45 -0
  257. package/src/ts/dynamodb/files/src/constants.ts.template +9 -0
  258. package/src/ts/dynamodb/files/src/entities/example.ts.template +47 -0
  259. package/src/ts/dynamodb/files/src/entities/index.ts.template +1 -0
  260. package/src/ts/dynamodb/files/src/gsi.ts.template +14 -0
  261. package/src/ts/dynamodb/files/src/index.ts.template +11 -0
  262. package/src/ts/dynamodb/generator.d.ts +10 -0
  263. package/src/ts/dynamodb/generator.js +106 -0
  264. package/src/ts/dynamodb/generator.js.map +1 -0
  265. package/src/ts/dynamodb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +45 -0
  266. package/src/ts/dynamodb/mcp-server-connection/generator.d.ts +10 -0
  267. package/src/ts/dynamodb/mcp-server-connection/generator.js +32 -0
  268. package/src/ts/dynamodb/mcp-server-connection/generator.js.map +1 -0
  269. package/src/ts/dynamodb/mcp-server-connection/schema.d.ts +14 -0
  270. package/src/ts/dynamodb/mcp-server-connection/schema.json +22 -0
  271. package/src/ts/dynamodb/schema.d.ts +14 -0
  272. package/src/ts/dynamodb/schema.json +52 -0
  273. package/src/ts/dynamodb/smithy-connection/__snapshots__/generator.spec.ts.snap +23 -0
  274. package/src/ts/dynamodb/smithy-connection/generator.d.ts +10 -0
  275. package/src/ts/dynamodb/smithy-connection/generator.js +30 -0
  276. package/src/ts/dynamodb/smithy-connection/generator.js.map +1 -0
  277. package/src/ts/dynamodb/smithy-connection/schema.d.ts +12 -0
  278. package/src/ts/dynamodb/smithy-connection/schema.json +18 -0
  279. package/src/ts/dynamodb/trpc-connection/__snapshots__/generator.spec.ts.snap +23 -0
  280. package/src/ts/dynamodb/trpc-connection/generator.d.ts +10 -0
  281. package/src/ts/dynamodb/trpc-connection/generator.js +30 -0
  282. package/src/ts/dynamodb/trpc-connection/generator.js.map +1 -0
  283. package/src/ts/dynamodb/trpc-connection/schema.d.ts +12 -0
  284. package/src/ts/dynamodb/trpc-connection/schema.json +18 -0
  285. package/src/ts/lambda-function/__snapshots__/generator.spec.ts.snap +2 -2
  286. package/src/ts/lambda-function/files/handler/__lambdaFunctionKebabCase__.ts.template +10 -10
  287. package/src/ts/lambda-function/generator.d.ts +3 -3
  288. package/src/ts/lambda-function/generator.js +41 -36
  289. package/src/ts/lambda-function/generator.js.map +1 -1
  290. package/src/ts/lambda-function/schema.d.ts +7 -4
  291. package/src/ts/lambda-function/schema.json +15 -7
  292. package/src/ts/lib/__snapshots__/generator.spec.ts.snap +32 -65
  293. package/src/ts/lib/__snapshots__/vitest.spec.ts.snap +24 -0
  294. package/src/ts/lib/biome.d.ts +7 -0
  295. package/src/ts/lib/biome.js +58 -0
  296. package/src/ts/lib/biome.js.map +1 -0
  297. package/src/ts/lib/generator.d.ts +3 -3
  298. package/src/ts/lib/generator.js +27 -29
  299. package/src/ts/lib/generator.js.map +1 -1
  300. package/src/ts/lib/grit/vitest-pass-with-no-tests.grit +1 -1
  301. package/src/ts/lib/ts-project-utils.d.ts +12 -2
  302. package/src/ts/lib/ts-project-utils.js +30 -10
  303. package/src/ts/lib/ts-project-utils.js.map +1 -1
  304. package/src/ts/lib/vitest.d.ts +2 -2
  305. package/src/ts/lib/vitest.js +1 -1
  306. package/src/ts/lib/vitest.js.map +1 -1
  307. package/src/ts/mcp-server/__snapshots__/generator.spec.ts.snap +4 -4
  308. package/src/ts/mcp-server/generator.d.ts +3 -3
  309. package/src/ts/mcp-server/generator.js +46 -24
  310. package/src/ts/mcp-server/generator.js.map +1 -1
  311. package/src/ts/mcp-server/schema.d.ts +5 -9
  312. package/src/ts/mcp-server/schema.json +15 -15
  313. package/src/ts/nx-generator/__snapshots__/generator.spec.ts.snap +20 -15
  314. package/src/ts/nx-generator/files/nx-plugin-for-aws/generator/generator.spec.ts.template +1 -1
  315. package/src/ts/nx-generator/generator.d.ts +2 -2
  316. package/src/ts/nx-generator/generator.js +23 -19
  317. package/src/ts/nx-generator/generator.js.map +1 -1
  318. package/src/ts/nx-plugin/generator.d.ts +3 -3
  319. package/src/ts/nx-plugin/generator.js +12 -11
  320. package/src/ts/nx-plugin/generator.js.map +1 -1
  321. package/src/ts/nx-plugin/utils.d.ts +1 -1
  322. package/src/ts/nx-plugin/utils.js +10 -4
  323. package/src/ts/nx-plugin/utils.js.map +1 -1
  324. package/src/ts/rdb/__snapshots__/generator.spec.ts.snap +120 -60
  325. package/src/ts/rdb/agent-connection/generator.d.ts +3 -3
  326. package/src/ts/rdb/agent-connection/generator.js +4 -4
  327. package/src/ts/rdb/agent-connection/generator.js.map +1 -1
  328. package/src/ts/rdb/files/prisma.config.ts.template +1 -1
  329. package/src/ts/rdb/files/scripts/pull-image.ts.template +15 -0
  330. package/src/ts/rdb/files/scripts/{docker-start.ts.template → start-container.ts.template} +24 -24
  331. package/src/ts/rdb/files/scripts/wait-for-db.ts.template +3 -3
  332. package/src/ts/rdb/files/src/create-db-user-handler.ts.template +2 -2
  333. package/src/ts/rdb/files/src/migration-handler.ts.template +2 -2
  334. package/src/ts/rdb/files/src/prisma.ts.template +2 -2
  335. package/src/ts/rdb/generator.d.ts +3 -3
  336. package/src/ts/rdb/generator.js +103 -82
  337. package/src/ts/rdb/generator.js.map +1 -1
  338. package/src/ts/rdb/mcp-server-connection/generator.d.ts +3 -3
  339. package/src/ts/rdb/mcp-server-connection/generator.js +4 -4
  340. package/src/ts/rdb/mcp-server-connection/generator.js.map +1 -1
  341. package/src/ts/rdb/schema.d.ts +5 -5
  342. package/src/ts/rdb/schema.json +13 -13
  343. package/src/ts/rdb/smithy-connection/generator.d.ts +3 -3
  344. package/src/ts/rdb/smithy-connection/generator.js +4 -4
  345. package/src/ts/rdb/smithy-connection/generator.js.map +1 -1
  346. package/src/ts/rdb/trpc-connection/files/src/middleware/__rdbNameKebab__.ts.template +1 -1
  347. package/src/ts/rdb/trpc-connection/generator.d.ts +3 -3
  348. package/src/ts/rdb/trpc-connection/generator.js +3 -3
  349. package/src/ts/rdb/trpc-connection/generator.js.map +1 -1
  350. package/src/ts/rdb/utils.d.ts +1 -1
  351. package/src/ts/react-website/agui/files/common/src/hooks/useAgui__agentNameClassName__.tsx.template +9 -9
  352. package/src/ts/react-website/agui/generator.d.ts +3 -3
  353. package/src/ts/react-website/agui/generator.js +13 -13
  354. package/src/ts/react-website/agui/generator.js.map +1 -1
  355. package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +423 -386
  356. package/src/ts/react-website/app/files/app/cloudscape/src/components/AppLayout/index.tsx.template +5 -5
  357. package/src/ts/react-website/app/files/app/cloudscape/src/main.tsx.template +1 -1
  358. package/src/ts/react-website/app/files/app/cloudscape/src/styles.css.template +1 -1
  359. package/src/ts/react-website/app/files/app/none/src/components/AppLayout/index.tsx.template +5 -5
  360. package/src/ts/react-website/app/files/app/none/src/main.tsx.template +1 -1
  361. package/src/ts/react-website/app/files/app/none/src/styles.css.template +2 -2
  362. package/src/ts/react-website/app/files/app/shadcn/src/components/AppLayout/index.tsx.template +6 -6
  363. package/src/ts/react-website/app/files/app/shadcn/src/main.tsx.template +1 -1
  364. package/src/ts/react-website/app/generator.d.ts +6 -6
  365. package/src/ts/react-website/app/generator.js +124 -114
  366. package/src/ts/react-website/app/generator.js.map +1 -1
  367. package/src/ts/react-website/app/schema.d.ts +9 -6
  368. package/src/ts/react-website/app/schema.json +13 -13
  369. package/src/ts/react-website/cognito-auth/__snapshots__/generator.spec.ts.snap +1 -7
  370. package/src/ts/react-website/cognito-auth/__snapshots__/generator.terraform.spec.ts.snap +3 -3
  371. package/src/ts/react-website/cognito-auth/__snapshots__/generator.ux-provider.spec.ts.snap +3 -23
  372. package/src/ts/react-website/cognito-auth/generator.d.ts +3 -3
  373. package/src/ts/react-website/cognito-auth/generator.js +19 -22
  374. package/src/ts/react-website/cognito-auth/generator.js.map +1 -1
  375. package/src/ts/react-website/cognito-auth/grit/cloudscape-auth-menu.grit +8 -6
  376. package/src/ts/react-website/cognito-auth/grit/cognito-auth-wrapper.grit +1 -1
  377. package/src/ts/react-website/cognito-auth/grit/none-auth-menu.grit +1 -0
  378. package/src/ts/react-website/cognito-auth/grit/shadcn-auth-menu.grit +3 -1
  379. package/src/ts/react-website/cognito-auth/grit/shadcn-state-declarations.grit +3 -1
  380. package/src/ts/react-website/cognito-auth/schema.d.ts +2 -2
  381. package/src/ts/react-website/cognito-auth/schema.json +4 -4
  382. package/src/ts/react-website/cognito-auth/utils.d.ts +1 -1
  383. package/src/ts/react-website/cognito-auth/utils.js +1 -1
  384. package/src/ts/react-website/cognito-auth/utils.js.map +1 -1
  385. package/src/ts/react-website/runtime-config/generator.d.ts +3 -3
  386. package/src/ts/react-website/runtime-config/generator.js +4 -4
  387. package/src/ts/react-website/runtime-config/generator.js.map +1 -1
  388. package/src/ts/sync/generator.d.ts +3 -3
  389. package/src/ts/sync/generator.js +2 -2
  390. package/src/ts/sync/generator.js.map +1 -1
  391. package/src/ts/website/app/generator.d.ts +3 -3
  392. package/src/ts/website/app/generator.js +1 -1
  393. package/src/ts/website/app/generator.js.map +1 -1
  394. package/src/ts/website/app/schema.d.ts +8 -6
  395. package/src/ts/website/app/schema.json +21 -13
  396. package/src/ts/website/auth/generator.d.ts +3 -3
  397. package/src/ts/website/auth/generator.js +2 -2
  398. package/src/ts/website/auth/generator.js.map +1 -1
  399. package/src/ts/website/auth/schema.d.ts +2 -2
  400. package/src/ts/website/auth/schema.json +4 -4
  401. package/src/utils/agent-connection/agent-connection.d.ts +1 -1
  402. package/src/utils/agent-connection/agent-connection.js +17 -11
  403. package/src/utils/agent-connection/agent-connection.js.map +1 -1
  404. package/src/utils/agent-connection/files/core-runtime-config/model-errors.ts.template +36 -0
  405. package/src/utils/agent-connection/files/py-core-runtime-config/model_errors.py.template +40 -0
  406. package/src/utils/agent-core-constructs/agent-core-constructs.d.ts +10 -10
  407. package/src/utils/agent-core-constructs/agent-core-constructs.js +14 -24
  408. package/src/utils/agent-core-constructs/agent-core-constructs.js.map +1 -1
  409. package/src/utils/agent-core-constructs/files/cdk/app/agent-core/__nameKebabCase__/__nameKebabCase__.ts.template +13 -13
  410. package/src/utils/agent-core-constructs/files/terraform/app/agent-core/__nameKebabCase__/__nameKebabCase__.tf.template +4 -4
  411. package/src/utils/agent-core-constructs/files/terraform/core/agent-core/runtime.tf.template +5 -5
  412. package/src/utils/api-constructs/api-constructs.d.ts +4 -4
  413. package/src/utils/api-constructs/api-constructs.js +5 -7
  414. package/src/utils/api-constructs/api-constructs.js.map +1 -1
  415. package/src/utils/api-constructs/files/cdk/app/apis/http/__apiNameKebabCase__.ts.template +12 -12
  416. package/src/utils/api-constructs/files/cdk/app/apis/rest/__apiNameKebabCase__.ts.template +12 -12
  417. package/src/utils/api-constructs/files/terraform/app/apis/http/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +7 -7
  418. package/src/utils/api-constructs/files/terraform/app/apis/rest/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +10 -10
  419. package/src/utils/api-constructs/open-api-metadata.d.ts +4 -4
  420. package/src/utils/api-constructs/open-api-metadata.js +2 -2
  421. package/src/utils/api-constructs/open-api-metadata.js.map +1 -1
  422. package/src/utils/ast/website.d.ts +5 -1
  423. package/src/utils/ast/website.js +3 -3
  424. package/src/utils/ast/website.js.map +1 -1
  425. package/src/utils/ast.d.ts +33 -1
  426. package/src/utils/ast.js +89 -4
  427. package/src/utils/ast.js.map +1 -1
  428. package/src/utils/bundle/bundle.d.ts +1 -1
  429. package/src/utils/bundle/bundle.js +2 -2
  430. package/src/utils/bundle/bundle.js.map +1 -1
  431. package/src/utils/commands.d.ts +1 -1
  432. package/src/utils/commands.js +2 -2
  433. package/src/utils/commands.js.map +1 -1
  434. package/src/utils/config/__snapshots__/utils.spec.ts.snap +6 -6
  435. package/src/utils/config/index.d.ts +5 -5
  436. package/src/utils/config/utils.d.ts +13 -3
  437. package/src/utils/config/utils.js +37 -5
  438. package/src/utils/config/utils.js.map +1 -1
  439. package/src/utils/connection/open-api/files/components/__apiNameClassName__Provider.tsx.template +7 -7
  440. package/src/utils/connection/open-api/react.d.ts +2 -2
  441. package/src/utils/connection/open-api/react.js +7 -7
  442. package/src/utils/connection/open-api/react.js.map +1 -1
  443. package/src/utils/containers.d.ts +6 -6
  444. package/src/utils/containers.js +6 -6
  445. package/src/utils/containers.js.map +1 -1
  446. package/src/utils/dynamodb-constructs/dynamodb-constructs.d.ts +18 -0
  447. package/src/utils/dynamodb-constructs/dynamodb-constructs.js +49 -0
  448. package/src/utils/dynamodb-constructs/dynamodb-constructs.js.map +1 -0
  449. package/src/utils/dynamodb-constructs/files/cdk/app/dynamodb/__nameKebabCase__.ts.template +30 -0
  450. package/src/utils/dynamodb-constructs/files/cdk/core/dynamodb.ts.template +105 -0
  451. package/src/utils/dynamodb-constructs/files/terraform/app/dynamodb/__nameKebabCase__/__nameKebabCase__.tf.template +65 -0
  452. package/src/utils/dynamodb-constructs/files/terraform/core/dynamodb/dynamodb.tf.template +155 -0
  453. package/src/utils/format.d.ts +45 -2
  454. package/src/utils/format.js +167 -46
  455. package/src/utils/format.js.map +1 -1
  456. package/src/utils/fs.d.ts +1 -1
  457. package/src/utils/fs.js.map +1 -1
  458. package/src/utils/function-constructs/files/cdk/app/lambda-functions/{__functionNameKebabCase__.ts.template → __nameKebabCase__.ts.template} +1 -1
  459. package/src/utils/function-constructs/files/terraform/app/lambda-functions/{__functionNameKebabCase__/__functionNameKebabCase__.tf.template → __nameKebabCase__/__nameKebabCase__.tf.template} +7 -7
  460. package/src/utils/function-constructs/function-constructs.d.ts +5 -5
  461. package/src/utils/function-constructs/function-constructs.js +6 -8
  462. package/src/utils/function-constructs/function-constructs.js.map +1 -1
  463. package/src/utils/generators.d.ts +4 -0
  464. package/src/utils/generators.js +4 -4
  465. package/src/utils/generators.js.map +1 -1
  466. package/src/utils/git.d.ts +1 -1
  467. package/src/utils/git.js.map +1 -1
  468. package/src/utils/iac-providers.d.ts +3 -3
  469. package/src/utils/iac-providers.js +1 -1
  470. package/src/utils/iac.d.ts +3 -3
  471. package/src/utils/iac.js +6 -6
  472. package/src/utils/iac.js.map +1 -1
  473. package/src/utils/identity-constructs/files/cdk/core/user-identity.ts.template +1 -5
  474. package/src/utils/identity-constructs/files/terraform/core/user-identity/identity/identity.tf.template +2 -4
  475. package/src/utils/identity-constructs/identity-constructs.d.ts +3 -3
  476. package/src/utils/identity-constructs/identity-constructs.js +4 -4
  477. package/src/utils/identity-constructs/identity-constructs.js.map +1 -1
  478. package/src/utils/js.d.ts +4 -0
  479. package/src/utils/js.js +4 -4
  480. package/src/utils/js.js.map +1 -1
  481. package/src/utils/mcp.d.ts +25 -0
  482. package/src/utils/mcp.js +81 -0
  483. package/src/utils/mcp.js.map +1 -0
  484. package/src/utils/metrics.d.ts +9 -3
  485. package/src/utils/metrics.js +58 -28
  486. package/src/utils/metrics.js.map +1 -1
  487. package/src/utils/npm-scope.d.ts +1 -1
  488. package/src/utils/npm-scope.js.map +1 -1
  489. package/src/utils/nx.d.ts +7 -2
  490. package/src/utils/nx.js +46 -14
  491. package/src/utils/nx.js.map +1 -1
  492. package/src/utils/nxlv-python.d.ts +1 -1
  493. package/src/utils/paths.d.ts +1 -1
  494. package/src/utils/pnpm-workspace.d.ts +1 -1
  495. package/src/utils/pnpm-workspace.js.map +1 -1
  496. package/src/utils/port.d.ts +30 -3
  497. package/src/utils/port.js +72 -4
  498. package/src/utils/port.js.map +1 -1
  499. package/src/utils/py.d.ts +2 -2
  500. package/src/utils/py.js +13 -6
  501. package/src/utils/py.js.map +1 -1
  502. package/src/utils/rdb-constructs/files/cdk/core/rdb/aurora.ts.template +30 -1
  503. package/src/utils/rdb-constructs/files/terraform/core/rdb/aurora/aurora.tf.template +18 -9
  504. package/src/utils/rdb-constructs/rdb-constructs.d.ts +5 -5
  505. package/src/utils/rdb-constructs/rdb-constructs.js +7 -17
  506. package/src/utils/rdb-constructs/rdb-constructs.js.map +1 -1
  507. package/src/utils/shared-constructs.d.ts +3 -3
  508. package/src/utils/shared-constructs.js +10 -10
  509. package/src/utils/shared-constructs.js.map +1 -1
  510. package/src/utils/shared-infra-config.d.ts +1 -1
  511. package/src/utils/shared-infra-config.js +1 -1
  512. package/src/utils/shared-infra-config.js.map +1 -1
  513. package/src/utils/shared-scripts.d.ts +1 -1
  514. package/src/utils/shared-scripts.js +2 -2
  515. package/src/utils/shared-scripts.js.map +1 -1
  516. package/src/utils/shared-shadcn.d.ts +1 -1
  517. package/src/utils/shared-shadcn.js +1 -13
  518. package/src/utils/shared-shadcn.js.map +1 -1
  519. package/src/utils/test.d.ts +5 -1
  520. package/src/utils/test.js +9 -5
  521. package/src/utils/test.js.map +1 -1
  522. package/src/utils/toml.d.ts +1 -1
  523. package/src/utils/toml.js +4 -0
  524. package/src/utils/toml.js.map +1 -1
  525. package/src/utils/versions.d.ts +68 -72
  526. package/src/utils/versions.js +67 -71
  527. package/src/utils/versions.js.map +1 -1
  528. package/src/utils/website-constructs/files/cdk/core/static-website.ts.template +52 -5
  529. package/src/utils/website-constructs/files/terraform/core/static-website/static-website.tf.template +38 -11
  530. package/src/utils/website-constructs/website-constructs.d.ts +3 -3
  531. package/src/utils/website-constructs/website-constructs.js +5 -7
  532. package/src/utils/website-constructs/website-constructs.js.map +1 -1
  533. package/src/ts/lib/eslint.d.ts +0 -14
  534. package/src/ts/lib/eslint.js +0 -90
  535. package/src/ts/lib/eslint.js.map +0 -1
  536. package/src/ts/lib/grit/eslint-dependency-checks-warn.grit +0 -1
  537. /package/src/ts/{rdb/files/scripts/docker-pull.ts.template → dynamodb/files/scripts/pull-image.ts.template} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/nx-plugin/utils.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,uCAOoB;AACpB,uCAAqE;AACrE,mDAAoD;AACpD,iFAAgD;AAEhD;;GAEG;AACI,MAAM,4BAA4B,GAAG,CAC1C,IAAU,EACV,WAAmB,EACnB,EAAE;IACF,MAAM,OAAO,GAAG,IAAA,wCAAmC,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAEvE,MAAM,YAAY,GAAG,IAAA,0BAAiB,EAAC,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IACtE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACb,2BAA2B,WAAW,8BAA8B,CACrE,CAAC;IACJ,CAAC;IAED,qDAAqD;IACrD,0CAA0C;IAC1C,IAAA,mBAAU,EAAC,IAAI,EAAE,YAAY,EAAE,CAAC,QAAQ,EAAE,EAAE;QAC1C,QAAQ,CAAC,eAAe,KAAK,EAAE,CAAC;QAChC,QAAQ,CAAC,eAAe,CAAC,MAAM,KAAK,UAAU,CAAC;QAC/C,mFAAmF;QACnF,QAAQ,CAAC,eAAe,CAAC,gBAAgB,KAAK,SAAS,CAAC;QACxD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,sDAAsD;IACtD,MAAM,kBAAkB,GAAG,IAAA,0BAAiB,EAAC,OAAO,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;IAC9E,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACrC,IAAA,kBAAS,EAAC,IAAI,EAAE,kBAAkB,EAAE;YAClC,UAAU,EAAE,EAAE;SACf,CAAC,CAAC;IACL,CAAC;IAED,oFAAoF;IACpF,MAAM,qBAAqB,GAAG,IAAA,0BAAiB,EAAC,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC9E,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,EAAE,CAAC;QACxC,IAAA,kBAAS,EAAC,IAAI,EAAE,qBAAqB,EAAE;YACrC,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAC,CAAC;IACL,CAAC;IACD,IAAA,mBAAU,EAAC,IAAI,EAAE,qBAAqB,EAAE,CAAC,GAAG,EAAE,EAAE;QAC9C,GAAG,CAAC,IAAI,KAAK,gBAAgB,CAAC;QAC9B,GAAG,CAAC,UAAU,KAAK,mBAAmB,CAAC;QACvC,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;QACjD,CAAC,CAAC,IAAA,iBAAQ,EAAC,IAAI,EAAE,cAAc,CAAC;QAChC,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,gBAAgB,GAAG,eAAe,EAAE,IAAI,KAAK,uBAAuB,CAAC;IAE3E,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,qFAAqF;QACrF,MAAM,IAAI,GAAG;YACX,GAAG,IAAA,uBAAY,EAAC,CAAC,YAAY,CAAC,CAAC;YAC/B,uCAAuC;YACvC,CAAC,sBAAW,CAAC,IAAI,CAAC,EAAE,IAAI,sBAAW,CAAC,OAAO,EAAE;SAC9C,CAAC;QACF,IAAA,qCAA4B,EAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QAC7C,IAAA,qCAA4B,EAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,qBAAqB,CAAC,CAAC;IACtE,CAAC;AACH,CAAC,CAAC;AA3DW,QAAA,4BAA4B,gCA2DvC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/nx-plugin/utils.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,7 @@ datasource db {
22
22
  "
23
23
  `;
24
24
 
25
- exports[`ts#rdb generator > should add mysql prisma dependencies when engine is MySQL > packages/db/scripts/docker-pull.ts 1`] = `
25
+ exports[`ts#rdb generator > should add mysql prisma dependencies when engine is MySQL > packages/db/scripts/pull-image.ts 1`] = `
26
26
  "import { spawnSync } from 'child_process';
27
27
 
28
28
  const ENGINE = 'docker';
@@ -41,7 +41,7 @@ if (inspect.status !== 0) {
41
41
  "
42
42
  `;
43
43
 
44
- exports[`ts#rdb generator > should add mysql prisma dependencies when engine is MySQL > packages/db/scripts/docker-start.ts 1`] = `
44
+ exports[`ts#rdb generator > should add mysql prisma dependencies when engine is MySQL > packages/db/scripts/start-container.ts 1`] = `
45
45
  "import { spawn, spawnSync } from 'child_process';
46
46
 
47
47
  const ENGINE = 'docker';
@@ -71,21 +71,14 @@ if (containerExists()) {
71
71
  if (start.status !== 0) process.exit(start.status ?? 1);
72
72
  }
73
73
  } else {
74
- const runArgs = [
75
- 'run',
76
- '--name',
77
- containerName,
78
- '-e',
79
- \`MYSQL_DATABASE=\${dbName}\`,
80
- '-e',
81
- \`MYSQL_ROOT_PASSWORD=\${dbPassword}\`,
82
- '-p',
83
- \`\${hostPort}:3306\`,
84
- '-v',
85
- \`\${containerName}-data:/var/lib/mysql\`,
86
- '-d',
87
- image,
88
- ];
74
+ const runArgs = (
75
+ \`run --rm --name \${containerName}\` +
76
+ \` -e MYSQL_DATABASE=\${dbName}\` +
77
+ \` -e MYSQL_ROOT_PASSWORD=\${dbPassword}\` +
78
+ \` -p \${hostPort}:3306\` +
79
+ \` -v \${containerName}-data:/var/lib/mysql\` +
80
+ \` -d \${image}\`
81
+ ).split(' ');
89
82
  const create = spawnSync(ENGINE, runArgs, { stdio: 'inherit' });
90
83
  if (create.status !== 0) process.exit(create.status ?? 1);
91
84
  }
@@ -663,6 +656,21 @@ export interface AuroraDatabaseProps extends _AuroraDatabaseProps {
663
656
  * @default true
664
657
  */
665
658
  readonly enableKeyRotation?: boolean;
659
+
660
+ /**
661
+ * Whether to export Aurora engine logs to CloudWatch Logs.
662
+ * See https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html
663
+ *
664
+ * @default false
665
+ */
666
+ readonly enableCloudwatchLogs?: boolean;
667
+
668
+ /**
669
+ * Whether to enable Performance Insights on the Aurora writer instance.
670
+ *
671
+ * @default true
672
+ */
673
+ readonly enablePerformanceInsights?: boolean;
666
674
  }
667
675
 
668
676
  /**
@@ -692,6 +700,8 @@ export abstract class AuroraDatabase extends Construct {
692
700
  deletionProtection = true,
693
701
  removalPolicy = RemovalPolicy.RETAIN,
694
702
  enableKeyRotation = true,
703
+ enableCloudwatchLogs = false,
704
+ enablePerformanceInsights = true,
695
705
  engine,
696
706
  engineVersion,
697
707
  ...clusterProps
@@ -707,12 +717,24 @@ export abstract class AuroraDatabase extends Construct {
707
717
  vpc,
708
718
  vpcSubnets,
709
719
  engine: engine.clusterEngine(engineVersion ?? engine.defaultVersion),
710
- writer: writer ?? ClusterInstance.serverlessV2('writer'),
720
+ writer:
721
+ writer ??
722
+ ClusterInstance.serverlessV2('writer', {
723
+ enablePerformanceInsights,
724
+ performanceInsightEncryptionKey: enablePerformanceInsights
725
+ ? key
726
+ : undefined,
727
+ }),
711
728
  credentials: Credentials.fromGeneratedSecret(adminUser, {
712
729
  encryptionKey: key,
713
730
  }),
714
731
  iamAuthentication: true,
715
732
  monitoringInterval: Duration.seconds(5),
733
+ cloudwatchLogsExports: enableCloudwatchLogs
734
+ ? engine.type === 'mysql'
735
+ ? ['audit', 'error', 'general', 'slowquery']
736
+ : ['postgresql']
737
+ : undefined,
716
738
  defaultDatabaseName: databaseName,
717
739
  storageEncrypted: true,
718
740
  storageEncryptionKey: key,
@@ -901,7 +923,7 @@ export default defineConfig({
901
923
  "
902
924
  `;
903
925
 
904
- exports[`ts#rdb generator > should generate terraform modules when iacProvider is Terraform 1`] = `
926
+ exports[`ts#rdb generator > should generate terraform modules when iac is Terraform 1`] = `
905
927
  "# Core Aurora module
906
928
  # This module creates an Aurora cluster and a generated admin secret.
907
929
 
@@ -1063,10 +1085,19 @@ variable "tags" {
1063
1085
  default = {}
1064
1086
  }
1065
1087
 
1088
+ # Suffix appended to physical resource names so that multiple deployments
1089
+ # (e.g. separate environments in the same account and region) don't collide.
1090
+ resource "random_string" "suffix" {
1091
+ length = 8
1092
+ special = false
1093
+ upper = false
1094
+ }
1095
+
1066
1096
  locals {
1067
1097
  default_port = var.engine == "aurora-mysql" ? 3306 : 5432
1068
1098
  default_engine_version = var.engine == "aurora-mysql" ? "8.0.mysql_aurora.3.12.0" : "17.7"
1069
1099
  parameter_group_family = var.engine == "aurora-mysql" ? "aurora-mysql8.0" : "aurora-postgresql\${split(".", coalesce(var.engine_version, local.default_engine_version))[0]}"
1100
+ cluster_name = "\${var.name}-aurora-\${random_string.suffix.result}"
1070
1101
  }
1071
1102
 
1072
1103
  resource "aws_rds_cluster_parameter_group" "database" {
@@ -1164,7 +1195,7 @@ resource "aws_security_group" "database" {
1164
1195
  }
1165
1196
 
1166
1197
  resource "aws_db_subnet_group" "database" {
1167
- name = "\${var.name}-aurora"
1198
+ name = local.cluster_name
1168
1199
  subnet_ids = var.subnet_ids
1169
1200
 
1170
1201
  tags = merge(var.tags, {
@@ -1204,7 +1235,7 @@ resource "aws_secretsmanager_secret_version" "credentials" {
1204
1235
  resource "aws_rds_cluster" "database" {
1205
1236
  #checkov:skip=CKV2_AWS_27:Query logging can be enabled with enable_cloudwatch_logs; this module defaults to CDK-equivalent behavior unless logging is requested
1206
1237
  #checkov:skip=CKV_AWS_139:Deletion protection is enabled but checkov is unable to detect it correctly
1207
- cluster_identifier = "\${var.name}-aurora"
1238
+ cluster_identifier = local.cluster_name
1208
1239
  engine = var.engine
1209
1240
  engine_version = coalesce(var.engine_version, local.default_engine_version)
1210
1241
  database_name = var.database_name
@@ -1218,7 +1249,7 @@ resource "aws_rds_cluster" "database" {
1218
1249
  kms_key_id = aws_kms_key.database.arn
1219
1250
  deletion_protection = var.deletion_protection
1220
1251
  skip_final_snapshot = var.skip_final_snapshot
1221
- final_snapshot_identifier = var.skip_final_snapshot ? null : "\${var.name}-aurora-final-snapshot"
1252
+ final_snapshot_identifier = var.skip_final_snapshot ? null : "\${local.cluster_name}-final-snapshot"
1222
1253
  iam_database_authentication_enabled = true
1223
1254
  monitoring_interval = 5
1224
1255
  monitoring_role_arn = aws_iam_role.enhanced_monitoring.arn
@@ -1238,7 +1269,7 @@ resource "aws_rds_cluster" "database" {
1238
1269
  resource "aws_rds_cluster_instance" "database" {
1239
1270
  count = var.instance_count
1240
1271
 
1241
- identifier = "\${var.name}-aurora-\${count.index + 1}"
1272
+ identifier = "\${local.cluster_name}-\${count.index + 1}"
1242
1273
  cluster_identifier = aws_rds_cluster.database.id
1243
1274
  instance_class = "db.serverless"
1244
1275
  engine = aws_rds_cluster.database.engine
@@ -1292,7 +1323,7 @@ resource "aws_vpc_security_group_ingress_rule" "rotation_to_database" {
1292
1323
  resource "aws_cloudformation_stack" "credentials_rotation" {
1293
1324
  #checkov:skip=CKV_AWS_124:SNS event notifications are not required for the credentials rotation stack
1294
1325
  count = var.enable_credential_rotation ? 1 : 0
1295
- name = "\${var.name}-aurora-credentials-rotation"
1326
+ name = "\${local.cluster_name}-credentials-rotation"
1296
1327
 
1297
1328
  capabilities = ["CAPABILITY_IAM", "CAPABILITY_AUTO_EXPAND"]
1298
1329
 
@@ -1306,7 +1337,7 @@ resource "aws_cloudformation_stack" "credentials_rotation" {
1306
1337
  SecretId = aws_secretsmanager_secret.credentials.arn
1307
1338
  HostedRotationLambda = {
1308
1339
  RotationType = var.engine == "aurora-mysql" ? "MySQLSingleUser" : "PostgreSQLSingleUser"
1309
- RotationLambdaName = "\${var.name}-aurora-credentials-rotation"
1340
+ RotationLambdaName = "\${local.cluster_name}-credentials-rotation"
1310
1341
  VpcSecurityGroupIds = aws_security_group.rotation[0].id
1311
1342
  VpcSubnetIds = join(",", var.lambda_subnet_ids)
1312
1343
  }
@@ -1386,7 +1417,7 @@ resource "aws_security_group" "proxy" {
1386
1417
  resource "aws_db_proxy" "aurora" {
1387
1418
  count = var.enable_rds_proxy ? 1 : 0
1388
1419
 
1389
- name = "\${var.name}-proxy"
1420
+ name = "\${var.name}-proxy-\${random_string.suffix.result}"
1390
1421
  default_auth_scheme = "IAM_AUTH"
1391
1422
  engine_family = var.engine == "aurora-mysql" ? "MYSQL" : "POSTGRESQL"
1392
1423
  role_arn = aws_iam_role.proxy[0].arn
@@ -1532,7 +1563,7 @@ resource "aws_iam_role_policy_attachment" "backup" {
1532
1563
  resource "aws_backup_vault" "database" {
1533
1564
  count = var.enable_backup ? 1 : 0
1534
1565
 
1535
- name = "\${var.name}-aurora-backup"
1566
+ name = "\${local.cluster_name}-backup"
1536
1567
  kms_key_arn = aws_kms_key.database.arn
1537
1568
  tags = var.tags
1538
1569
  }
@@ -1540,7 +1571,7 @@ resource "aws_backup_vault" "database" {
1540
1571
  resource "aws_backup_plan" "database" {
1541
1572
  count = var.enable_backup ? 1 : 0
1542
1573
 
1543
- name = "\${var.name}-aurora-backup"
1574
+ name = "\${local.cluster_name}-backup"
1544
1575
 
1545
1576
  rule {
1546
1577
  rule_name = "daily-backup"
@@ -1647,7 +1678,7 @@ output "admin_user" {
1647
1678
  "
1648
1679
  `;
1649
1680
 
1650
- exports[`ts#rdb generator > should generate terraform modules when iacProvider is Terraform 2`] = `
1681
+ exports[`ts#rdb generator > should generate terraform modules when iac is Terraform 2`] = `
1651
1682
  "terraform {
1652
1683
  required_version = ">= 1.0"
1653
1684
 
@@ -2513,10 +2544,19 @@ variable "tags" {
2513
2544
  default = {}
2514
2545
  }
2515
2546
 
2547
+ # Suffix appended to physical resource names so that multiple deployments
2548
+ # (e.g. separate environments in the same account and region) don't collide.
2549
+ resource "random_string" "suffix" {
2550
+ length = 8
2551
+ special = false
2552
+ upper = false
2553
+ }
2554
+
2516
2555
  locals {
2517
2556
  default_port = var.engine == "aurora-mysql" ? 3306 : 5432
2518
2557
  default_engine_version = var.engine == "aurora-mysql" ? "8.0.mysql_aurora.3.12.0" : "17.7"
2519
2558
  parameter_group_family = var.engine == "aurora-mysql" ? "aurora-mysql8.0" : "aurora-postgresql\${split(".", coalesce(var.engine_version, local.default_engine_version))[0]}"
2559
+ cluster_name = "\${var.name}-aurora-\${random_string.suffix.result}"
2520
2560
  }
2521
2561
 
2522
2562
  resource "aws_rds_cluster_parameter_group" "database" {
@@ -2614,7 +2654,7 @@ resource "aws_security_group" "database" {
2614
2654
  }
2615
2655
 
2616
2656
  resource "aws_db_subnet_group" "database" {
2617
- name = "\${var.name}-aurora"
2657
+ name = local.cluster_name
2618
2658
  subnet_ids = var.subnet_ids
2619
2659
 
2620
2660
  tags = merge(var.tags, {
@@ -2654,7 +2694,7 @@ resource "aws_secretsmanager_secret_version" "credentials" {
2654
2694
  resource "aws_rds_cluster" "database" {
2655
2695
  #checkov:skip=CKV2_AWS_27:Query logging can be enabled with enable_cloudwatch_logs; this module defaults to CDK-equivalent behavior unless logging is requested
2656
2696
  #checkov:skip=CKV_AWS_139:Deletion protection is enabled but checkov is unable to detect it correctly
2657
- cluster_identifier = "\${var.name}-aurora"
2697
+ cluster_identifier = local.cluster_name
2658
2698
  engine = var.engine
2659
2699
  engine_version = coalesce(var.engine_version, local.default_engine_version)
2660
2700
  database_name = var.database_name
@@ -2668,7 +2708,7 @@ resource "aws_rds_cluster" "database" {
2668
2708
  kms_key_id = aws_kms_key.database.arn
2669
2709
  deletion_protection = var.deletion_protection
2670
2710
  skip_final_snapshot = var.skip_final_snapshot
2671
- final_snapshot_identifier = var.skip_final_snapshot ? null : "\${var.name}-aurora-final-snapshot"
2711
+ final_snapshot_identifier = var.skip_final_snapshot ? null : "\${local.cluster_name}-final-snapshot"
2672
2712
  iam_database_authentication_enabled = true
2673
2713
  monitoring_interval = 5
2674
2714
  monitoring_role_arn = aws_iam_role.enhanced_monitoring.arn
@@ -2688,7 +2728,7 @@ resource "aws_rds_cluster" "database" {
2688
2728
  resource "aws_rds_cluster_instance" "database" {
2689
2729
  count = var.instance_count
2690
2730
 
2691
- identifier = "\${var.name}-aurora-\${count.index + 1}"
2731
+ identifier = "\${local.cluster_name}-\${count.index + 1}"
2692
2732
  cluster_identifier = aws_rds_cluster.database.id
2693
2733
  instance_class = "db.serverless"
2694
2734
  engine = aws_rds_cluster.database.engine
@@ -2742,7 +2782,7 @@ resource "aws_vpc_security_group_ingress_rule" "rotation_to_database" {
2742
2782
  resource "aws_cloudformation_stack" "credentials_rotation" {
2743
2783
  #checkov:skip=CKV_AWS_124:SNS event notifications are not required for the credentials rotation stack
2744
2784
  count = var.enable_credential_rotation ? 1 : 0
2745
- name = "\${var.name}-aurora-credentials-rotation"
2785
+ name = "\${local.cluster_name}-credentials-rotation"
2746
2786
 
2747
2787
  capabilities = ["CAPABILITY_IAM", "CAPABILITY_AUTO_EXPAND"]
2748
2788
 
@@ -2756,7 +2796,7 @@ resource "aws_cloudformation_stack" "credentials_rotation" {
2756
2796
  SecretId = aws_secretsmanager_secret.credentials.arn
2757
2797
  HostedRotationLambda = {
2758
2798
  RotationType = var.engine == "aurora-mysql" ? "MySQLSingleUser" : "PostgreSQLSingleUser"
2759
- RotationLambdaName = "\${var.name}-aurora-credentials-rotation"
2799
+ RotationLambdaName = "\${local.cluster_name}-credentials-rotation"
2760
2800
  VpcSecurityGroupIds = aws_security_group.rotation[0].id
2761
2801
  VpcSubnetIds = join(",", var.lambda_subnet_ids)
2762
2802
  }
@@ -2836,7 +2876,7 @@ resource "aws_security_group" "proxy" {
2836
2876
  resource "aws_db_proxy" "aurora" {
2837
2877
  count = var.enable_rds_proxy ? 1 : 0
2838
2878
 
2839
- name = "\${var.name}-proxy"
2879
+ name = "\${var.name}-proxy-\${random_string.suffix.result}"
2840
2880
  default_auth_scheme = "IAM_AUTH"
2841
2881
  engine_family = var.engine == "aurora-mysql" ? "MYSQL" : "POSTGRESQL"
2842
2882
  role_arn = aws_iam_role.proxy[0].arn
@@ -2982,7 +3022,7 @@ resource "aws_iam_role_policy_attachment" "backup" {
2982
3022
  resource "aws_backup_vault" "database" {
2983
3023
  count = var.enable_backup ? 1 : 0
2984
3024
 
2985
- name = "\${var.name}-aurora-backup"
3025
+ name = "\${local.cluster_name}-backup"
2986
3026
  kms_key_arn = aws_kms_key.database.arn
2987
3027
  tags = var.tags
2988
3028
  }
@@ -2990,7 +3030,7 @@ resource "aws_backup_vault" "database" {
2990
3030
  resource "aws_backup_plan" "database" {
2991
3031
  count = var.enable_backup ? 1 : 0
2992
3032
 
2993
- name = "\${var.name}-aurora-backup"
3033
+ name = "\${local.cluster_name}-backup"
2994
3034
 
2995
3035
  rule {
2996
3036
  rule_name = "daily-backup"
@@ -3824,7 +3864,7 @@ datasource db {
3824
3864
  "
3825
3865
  `;
3826
3866
 
3827
- exports[`ts#rdb generator > should generate the aurora shared construct > packages/db/scripts/docker-pull.ts 1`] = `
3867
+ exports[`ts#rdb generator > should generate the aurora shared construct > packages/db/scripts/pull-image.ts 1`] = `
3828
3868
  "import { spawnSync } from 'child_process';
3829
3869
 
3830
3870
  const ENGINE = 'docker';
@@ -3843,7 +3883,7 @@ if (inspect.status !== 0) {
3843
3883
  "
3844
3884
  `;
3845
3885
 
3846
- exports[`ts#rdb generator > should generate the aurora shared construct > packages/db/scripts/docker-start.ts 1`] = `
3886
+ exports[`ts#rdb generator > should generate the aurora shared construct > packages/db/scripts/start-container.ts 1`] = `
3847
3887
  "import { spawn, spawnSync } from 'child_process';
3848
3888
 
3849
3889
  const ENGINE = 'docker';
@@ -3873,25 +3913,16 @@ if (containerExists()) {
3873
3913
  if (start.status !== 0) process.exit(start.status ?? 1);
3874
3914
  }
3875
3915
  } else {
3876
- const runArgs = [
3877
- 'run',
3878
- '--name',
3879
- containerName,
3880
- '-e',
3881
- \`POSTGRES_DB=\${dbName}\`,
3882
- '-e',
3883
- \`POSTGRES_USER=\${dbUser}\`,
3884
- '-e',
3885
- \`POSTGRES_PASSWORD=\${dbPassword}\`,
3886
- '-e',
3887
- \`PGDATA=/var/lib/postgresql/17/docker\`,
3888
- '-p',
3889
- \`\${hostPort}:5432\`,
3890
- '-v',
3891
- \`\${containerName}-data:/var/lib/postgresql\`,
3892
- '-d',
3893
- image,
3894
- ];
3916
+ const runArgs = (
3917
+ \`run --rm --name \${containerName}\` +
3918
+ \` -e POSTGRES_DB=\${dbName}\` +
3919
+ \` -e POSTGRES_USER=\${dbUser}\` +
3920
+ \` -e POSTGRES_PASSWORD=\${dbPassword}\` +
3921
+ \` -e PGDATA=/var/lib/postgresql/17/docker\` +
3922
+ \` -p \${hostPort}:5432\` +
3923
+ \` -v \${containerName}-data:/var/lib/postgresql\` +
3924
+ \` -d \${image}\`
3925
+ ).split(' ');
3895
3926
  const create = spawnSync(ENGINE, runArgs, { stdio: 'inherit' });
3896
3927
  if (create.status !== 0) process.exit(create.status ?? 1);
3897
3928
  }
@@ -4508,6 +4539,21 @@ export interface AuroraDatabaseProps extends _AuroraDatabaseProps {
4508
4539
  * @default true
4509
4540
  */
4510
4541
  readonly enableKeyRotation?: boolean;
4542
+
4543
+ /**
4544
+ * Whether to export Aurora engine logs to CloudWatch Logs.
4545
+ * See https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html
4546
+ *
4547
+ * @default false
4548
+ */
4549
+ readonly enableCloudwatchLogs?: boolean;
4550
+
4551
+ /**
4552
+ * Whether to enable Performance Insights on the Aurora writer instance.
4553
+ *
4554
+ * @default true
4555
+ */
4556
+ readonly enablePerformanceInsights?: boolean;
4511
4557
  }
4512
4558
 
4513
4559
  /**
@@ -4537,6 +4583,8 @@ export abstract class AuroraDatabase extends Construct {
4537
4583
  deletionProtection = true,
4538
4584
  removalPolicy = RemovalPolicy.RETAIN,
4539
4585
  enableKeyRotation = true,
4586
+ enableCloudwatchLogs = false,
4587
+ enablePerformanceInsights = true,
4540
4588
  engine,
4541
4589
  engineVersion,
4542
4590
  ...clusterProps
@@ -4552,12 +4600,24 @@ export abstract class AuroraDatabase extends Construct {
4552
4600
  vpc,
4553
4601
  vpcSubnets,
4554
4602
  engine: engine.clusterEngine(engineVersion ?? engine.defaultVersion),
4555
- writer: writer ?? ClusterInstance.serverlessV2('writer'),
4603
+ writer:
4604
+ writer ??
4605
+ ClusterInstance.serverlessV2('writer', {
4606
+ enablePerformanceInsights,
4607
+ performanceInsightEncryptionKey: enablePerformanceInsights
4608
+ ? key
4609
+ : undefined,
4610
+ }),
4556
4611
  credentials: Credentials.fromGeneratedSecret(adminUser, {
4557
4612
  encryptionKey: key,
4558
4613
  }),
4559
4614
  iamAuthentication: true,
4560
4615
  monitoringInterval: Duration.seconds(5),
4616
+ cloudwatchLogsExports: enableCloudwatchLogs
4617
+ ? engine.type === 'mysql'
4618
+ ? ['audit', 'error', 'general', 'slowquery']
4619
+ : ['postgresql']
4620
+ : undefined,
4561
4621
  defaultDatabaseName: databaseName,
4562
4622
  storageEncrypted: true,
4563
4623
  storageEncryptionKey: key,
@@ -2,9 +2,9 @@
2
2
  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
- import { Tree } from '@nx/devkit';
6
- import { TsRdbAgentConnectionGeneratorSchema } from './schema';
7
- import { NxGeneratorInfo } from '../../../utils/nx';
5
+ import { type Tree } from '@nx/devkit';
6
+ import { type NxGeneratorInfo } from '../../../utils/nx';
7
+ import type { TsRdbAgentConnectionGeneratorSchema } from './schema';
8
8
  export declare const TS_RDB_AGENT_CONNECTION_GENERATOR_INFO: NxGeneratorInfo;
9
9
  export declare const tsRdbAgentConnectionGenerator: (tree: Tree, options: TsRdbAgentConnectionGeneratorSchema) => Promise<void>;
10
10
  export default tsRdbAgentConnectionGenerator;
@@ -7,13 +7,13 @@ const tslib_1 = require("tslib");
7
7
  * SPDX-License-Identifier: Apache-2.0
8
8
  */
9
9
  const devkit_1 = require("@nx/devkit");
10
- const nx_1 = require("../../../utils/nx");
11
- const metrics_1 = require("../../../utils/metrics");
10
+ const lodash_camelcase_1 = tslib_1.__importDefault(require("lodash.camelcase"));
11
+ const ast_1 = require("../../../utils/ast");
12
12
  const format_1 = require("../../../utils/format");
13
+ const metrics_1 = require("../../../utils/metrics");
13
14
  const names_1 = require("../../../utils/names");
14
- const lodash_camelcase_1 = tslib_1.__importDefault(require("lodash.camelcase"));
15
15
  const npm_scope_1 = require("../../../utils/npm-scope");
16
- const ast_1 = require("../../../utils/ast");
16
+ const nx_1 = require("../../../utils/nx");
17
17
  const utils_1 = require("../utils");
18
18
  exports.TS_RDB_AGENT_CONNECTION_GENERATOR_INFO = (0, nx_1.getGeneratorInfo)(__filename);
19
19
  const tsRdbAgentConnectionGenerator = async (tree, options) => {
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/ts/rdb/agent-connection/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/ts/rdb/agent-connection/generator.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ const getDatabaseUrl = async () => {
4
4
  if (process.env.SERVE_LOCAL === 'true') {
5
5
  const { LOCAL_DB_HOST, LOCAL_DB_NAME, LOCAL_DB_PASSWORD, LOCAL_DB_PORT, LOCAL_DB_USER } =
6
6
  await import('./src/constants.js');
7
- <%_ if (engine === 'MySQL') { _%>
7
+ <%_ if (engine === 'mysql') { _%>
8
8
  return `mysql://${LOCAL_DB_USER}:${LOCAL_DB_PASSWORD}@${LOCAL_DB_HOST}:${LOCAL_DB_PORT}/${LOCAL_DB_NAME}`;
9
9
  <%_ } else { _%>
10
10
  return `postgresql://${LOCAL_DB_USER}:${LOCAL_DB_PASSWORD}@${LOCAL_DB_HOST}:${LOCAL_DB_PORT}/${LOCAL_DB_NAME}`;
@@ -0,0 +1,15 @@
1
+ import { spawnSync } from 'child_process';
2
+
3
+ const ENGINE = '<%= containerEngine %>';
4
+ const image = process.argv[2];
5
+
6
+ const inspect = spawnSync(ENGINE, ['image', 'inspect', image], {
7
+ stdio: 'ignore',
8
+ });
9
+
10
+ if (inspect.status !== 0) {
11
+ const pull = spawnSync(ENGINE, ['pull', image], { stdio: 'inherit' });
12
+ if (pull.status !== 0) {
13
+ process.exit(pull.status ?? 1);
14
+ }
15
+ }
@@ -2,7 +2,7 @@ import { spawn, spawnSync } from 'child_process';
2
2
 
3
3
  const ENGINE = '<%= containerEngine %>';
4
4
 
5
- <%_ if (engine === 'MySQL') { _%>
5
+ <%_ if (engine === 'mysql') { _%>
6
6
  const [containerName, image, hostPort, dbName, dbPassword] =
7
7
  process.argv.slice(2);
8
8
  <%_ } else { _%>
@@ -32,30 +32,26 @@ if (containerExists()) {
32
32
  if (start.status !== 0) process.exit(start.status ?? 1);
33
33
  }
34
34
  } else {
35
- <%_ if (engine === 'MySQL') { _%>
36
- const runArgs = [
37
- 'run',
38
- '--name', containerName,
39
- '-e', `MYSQL_DATABASE=${dbName}`,
40
- '-e', `MYSQL_ROOT_PASSWORD=${dbPassword}`,
41
- '-p', `${hostPort}:3306`,
42
- '-v', `${containerName}-data:/var/lib/mysql`,
43
- '-d',
44
- image,
45
- ];
35
+ <%_ if (engine === 'mysql') { _%>
36
+ const runArgs = (
37
+ `run <%- containerEngine === 'docker' ? '--rm ' : '' %>--name ${containerName}` +
38
+ ` -e MYSQL_DATABASE=${dbName}` +
39
+ ` -e MYSQL_ROOT_PASSWORD=${dbPassword}` +
40
+ ` -p ${hostPort}:3306` +
41
+ ` -v ${containerName}-data:/var/lib/mysql` +
42
+ ` -d ${image}`
43
+ ).split(' ');
46
44
  <%_ } else { _%>
47
- const runArgs = [
48
- 'run',
49
- '--name', containerName,
50
- '-e', `POSTGRES_DB=${dbName}`,
51
- '-e', `POSTGRES_USER=${dbUser}`,
52
- '-e', `POSTGRES_PASSWORD=${dbPassword}`,
53
- '-e', `PGDATA=/var/lib/postgresql/17/docker`,
54
- '-p', `${hostPort}:5432`,
55
- '-v', `${containerName}-data:/var/lib/postgresql`,
56
- '-d',
57
- image,
58
- ];
45
+ const runArgs = (
46
+ `run <%- containerEngine === 'docker' ? '--rm ' : '' %>--name ${containerName}` +
47
+ ` -e POSTGRES_DB=${dbName}` +
48
+ ` -e POSTGRES_USER=${dbUser}` +
49
+ ` -e POSTGRES_PASSWORD=${dbPassword}` +
50
+ ` -e PGDATA=/var/lib/postgresql/17/docker` +
51
+ ` -p ${hostPort}:5432` +
52
+ ` -v ${containerName}-data:/var/lib/postgresql` +
53
+ ` -d ${image}`
54
+ ).split(' ');
59
55
  <%_ } _%>
60
56
  const create = spawnSync(ENGINE, runArgs, { stdio: 'inherit' });
61
57
  if (create.status !== 0) process.exit(create.status ?? 1);
@@ -70,7 +66,11 @@ let exiting = false;
70
66
  const cleanup = () => {
71
67
  if (exiting) return;
72
68
  exiting = true;
69
+ <%_ if (containerEngine === 'docker') { _%>
73
70
  spawnSync(ENGINE, ['stop', containerName], { stdio: 'ignore' });
71
+ <%_ } else { _%>
72
+ spawnSync(ENGINE, ['rm', '-f', containerName], { stdio: 'ignore' });
73
+ <%_ } _%>
74
74
  logs.kill();
75
75
  process.exit(0);
76
76
  };
@@ -1,4 +1,4 @@
1
- <%_ if (engine === 'MySQL') { _%>
1
+ <%_ if (engine === 'mysql') { _%>
2
2
  import { createConnection, Connection } from 'mariadb';
3
3
  <%_ } else { _%>
4
4
  import { Client } from 'pg';
@@ -10,7 +10,7 @@ const [portArg, dbArg, userArg, passwordArg] = process.argv.slice(2);
10
10
  const timeoutAt = Date.now() + 60000;
11
11
 
12
12
  while (Date.now() < timeoutAt) {
13
- <%_ if (engine === 'MySQL') { _%>
13
+ <%_ if (engine === 'mysql') { _%>
14
14
  let conn: Connection | undefined;
15
15
  try {
16
16
  conn = await createConnection({
@@ -52,4 +52,4 @@ while (Date.now() < timeoutAt) {
52
52
  await new Promise((r) => setTimeout(r, 200));
53
53
  }
54
54
 
55
- throw new Error(`Timed out waiting for <%= engine === 'MySQL' ? 'mysql' : 'postgres' %> on port ${portArg}`);
55
+ throw new Error(`Timed out waiting for <%= engine === 'mysql' ? 'mysql' : 'postgres' %> on port ${portArg}`);
@@ -1,6 +1,6 @@
1
1
  import type { CloudFormationCustomResourceEvent } from 'aws-lambda';
2
2
  import { randomBytes } from 'node:crypto';
3
- <%_ if (engine === 'MySQL') { _%>
3
+ <%_ if (engine === 'mysql') { _%>
4
4
  import { createPool, type PoolConnection } from 'mariadb';
5
5
  import { getDatabaseSecret, withConnectionRetry } from './utils.js';
6
6
  <%_ } else { _%>
@@ -21,7 +21,7 @@ const resolveDbUser = (physicalResourceId?: string): string =>
21
21
  : `db_${randomBytes(8).toString('hex')}`;
22
22
 
23
23
  const ensureDatabaseUser = async (dbUser: string): Promise<void> => {
24
- <%_ if (engine === 'MySQL') { _%>
24
+ <%_ if (engine === 'mysql') { _%>
25
25
  const { dbname, username, password, host, port } = await getDatabaseSecret();
26
26
  const pool = createPool({
27
27
  host,
@@ -1,6 +1,6 @@
1
1
  import { execFile } from 'node:child_process';
2
2
  import { promisify } from 'node:util';
3
- <%_ if (engine === 'MySQL') { _%>
3
+ <%_ if (engine === 'mysql') { _%>
4
4
  import { getDatabaseSecret, withConnectionRetry } from './utils.js';
5
5
  <%_ } else { _%>
6
6
  import { Signer } from '@aws-sdk/rds-signer';
@@ -8,7 +8,7 @@ import { withConnectionRetry } from './utils.js';
8
8
  <%_ } _%>
9
9
 
10
10
  const buildDatabaseUrl = async (): Promise<string> => {
11
- <%_ if (engine === 'MySQL') { _%>
11
+ <%_ if (engine === 'mysql') { _%>
12
12
  const { host, port, dbname, username, password } = await getDatabaseSecret();
13
13
 
14
14
  return (