@aws/nx-plugin 1.0.0-rc.1 → 1.0.0-rc.11
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.
- package/LICENSE-THIRD-PARTY +3399 -4104
- package/README.md +8 -8
- package/executors.json +9 -0
- package/generators.json +44 -5
- package/package.json +16 -12
- package/sdk/license.d.ts +8 -0
- package/sdk/license.js +13 -0
- package/sdk/license.js.map +1 -0
- package/src/connection/agent-runtime-config.d.ts +1 -1
- package/src/connection/agent-runtime-config.js.map +1 -1
- package/src/connection/agent-serve-local.d.ts +2 -2
- package/src/connection/agent-serve-local.js +1 -1
- package/src/connection/agent-serve-local.js.map +1 -1
- package/src/connection/generator.d.ts +5 -5
- package/src/connection/generator.js +56 -37
- package/src/connection/generator.js.map +1 -1
- package/src/connection/serve-local.d.ts +1 -1
- package/src/connection/serve-local.js +1 -1
- package/src/connection/serve-local.js.map +1 -1
- package/src/infra/app/__snapshots__/generator.spec.ts.snap +38 -49
- package/src/infra/app/generator.d.ts +3 -3
- package/src/infra/app/generator.js +16 -14
- package/src/infra/app/generator.js.map +1 -1
- package/src/license/__snapshots__/config.spec.ts.snap +23 -0
- package/src/license/config-types.d.ts +18 -1
- package/src/license/config-types.js +4 -0
- package/src/license/config-types.js.map +1 -1
- package/src/license/config.d.ts +65 -7
- package/src/license/config.js +315 -7
- package/src/license/config.js.map +1 -1
- package/src/license/dependency-check/check.d.ts +16 -0
- package/src/license/dependency-check/check.js +111 -0
- package/src/license/dependency-check/check.js.map +1 -0
- package/src/license/dependency-check/collectors/collector.d.ts +21 -0
- package/src/license/dependency-check/collectors/collector.js +76 -0
- package/src/license/dependency-check/collectors/collector.js.map +1 -0
- package/src/license/dependency-check/collectors/npm-collector.d.ts +10 -0
- package/src/license/dependency-check/collectors/npm-collector.js +75 -0
- package/src/license/dependency-check/collectors/npm-collector.js.map +1 -0
- package/src/license/dependency-check/collectors/python-collector.d.ts +23 -0
- package/src/license/dependency-check/collectors/python-collector.js +121 -0
- package/src/license/dependency-check/collectors/python-collector.js.map +1 -0
- package/src/license/dependency-check/evaluator.d.ts +9 -0
- package/src/license/dependency-check/evaluator.js +122 -0
- package/src/license/dependency-check/evaluator.js.map +1 -0
- package/src/license/dependency-check/executor-schema.json +6 -0
- package/src/license/dependency-check/executor.d.ts +9 -0
- package/src/license/dependency-check/executor.js +43 -0
- package/src/license/dependency-check/executor.js.map +1 -0
- package/src/license/dependency-check/pre-approved.d.ts +6 -0
- package/src/license/dependency-check/pre-approved.js +1280 -0
- package/src/license/dependency-check/pre-approved.js.map +1 -0
- package/src/license/dependency-check/types.d.ts +45 -0
- package/src/license/dependency-check/types.js +7 -0
- package/src/license/dependency-check/types.js.map +1 -0
- package/src/license/generator.d.ts +3 -3
- package/src/license/generator.js +113 -14
- package/src/license/generator.js.map +1 -1
- package/src/license/index.d.ts +8 -0
- package/src/license/index.js +13 -0
- package/src/license/index.js.map +1 -0
- package/src/license/known-exceptions.d.ts +7 -0
- package/src/license/known-exceptions.js +33 -0
- package/src/license/known-exceptions.js.map +1 -0
- package/src/license/schema.d.ts +5 -0
- package/src/license/schema.json +6 -0
- package/src/license/sync/generator.d.ts +2 -2
- package/src/license/sync/generator.js +15 -15
- package/src/license/sync/generator.js.map +1 -1
- package/src/license/sync/project-file-sync.d.ts +3 -3
- package/src/license/sync/project-file-sync.js.map +1 -1
- package/src/mcp-server/generator-info.d.ts +5 -1
- package/src/mcp-server/generator-info.js +7 -7
- package/src/mcp-server/generator-info.js.map +1 -1
- package/src/mcp-server/guide-pipeline.d.ts +1 -1
- package/src/mcp-server/guide-pipeline.js +2 -2
- package/src/mcp-server/guide-pipeline.js.map +1 -1
- package/src/mcp-server/mdx-ast.js +4 -0
- package/src/mcp-server/mdx-ast.js.map +1 -1
- package/src/mcp-server/server.js +3 -3
- package/src/mcp-server/server.js.map +1 -1
- package/src/mcp-server/tools/create-workspace-command.d.ts +1 -1
- package/src/mcp-server/tools/create-workspace-command.js +4 -4
- package/src/mcp-server/tools/create-workspace-command.js.map +1 -1
- package/src/mcp-server/tools/general-guidance.d.ts +2 -2
- package/src/mcp-server/tools/general-guidance.js +2 -2
- package/src/mcp-server/tools/general-guidance.js.map +1 -1
- package/src/mcp-server/tools/generator-guide.d.ts +2 -2
- package/src/mcp-server/tools/generator-guide.js.map +1 -1
- package/src/mcp-server/tools/list-generators.d.ts +2 -2
- package/src/mcp-server/tools/list-generators.js +1 -1
- package/src/mcp-server/tools/list-generators.js.map +1 -1
- package/src/open-api/ts-client/__snapshots__/generator.reserved-keywords.spec.ts.snap +1 -1
- package/src/open-api/ts-client/generator.d.ts +3 -3
- package/src/open-api/ts-client/generator.js +2 -2
- package/src/open-api/ts-client/generator.js.map +1 -1
- package/src/open-api/ts-hooks/generator.d.ts +3 -3
- package/src/open-api/ts-hooks/generator.js +2 -2
- package/src/open-api/ts-hooks/generator.js.map +1 -1
- package/src/open-api/ts-hooks/generator.spec.tsx +14 -14
- package/src/open-api/ts-metadata/generator.d.ts +3 -3
- package/src/open-api/ts-metadata/generator.js +1 -1
- package/src/open-api/ts-metadata/generator.js.map +1 -1
- package/src/open-api/utils/codegen-data/languages.d.ts +5 -1
- package/src/open-api/utils/codegen-data/languages.js +4 -4
- package/src/open-api/utils/codegen-data/languages.js.map +1 -1
- package/src/open-api/utils/codegen-data.d.ts +6 -2
- package/src/open-api/utils/codegen-data.js +6 -6
- package/src/open-api/utils/codegen-data.js.map +1 -1
- package/src/open-api/utils/normalise.d.ts +5 -1
- package/src/open-api/utils/normalise.js +5 -5
- package/src/open-api/utils/normalise.js.map +1 -1
- package/src/open-api/utils/parse.d.ts +2 -2
- package/src/open-api/utils/parse.js +4 -0
- package/src/open-api/utils/parse.js.map +1 -1
- package/src/open-api/utils/refs.d.ts +1 -1
- package/src/preset/__snapshots__/generator.spec.ts.snap +127 -13
- package/src/preset/generator.d.ts +4 -4
- package/src/preset/generator.js +21 -14
- package/src/preset/generator.js.map +1 -1
- package/src/preset/schema.d.ts +3 -1
- package/src/preset/schema.json +5 -0
- package/src/py/agent/__snapshots__/generator.spec.ts.snap +9 -8
- package/src/py/agent/a2a-connection/generator.d.ts +3 -3
- package/src/py/agent/a2a-connection/generator.js +4 -4
- package/src/py/agent/a2a-connection/generator.js.map +1 -1
- package/src/py/agent/files/common/agent.py.template +2 -0
- package/src/py/agent/files/http/init.py.template +2 -2
- package/src/py/agent/files/http/main.py.template +0 -1
- package/src/py/agent/generator.d.ts +3 -3
- package/src/py/agent/generator.js +22 -16
- package/src/py/agent/generator.js.map +1 -1
- package/src/py/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +4 -0
- package/src/py/agent/mcp-connection/generator.d.ts +3 -3
- package/src/py/agent/mcp-connection/generator.js +4 -4
- package/src/py/agent/mcp-connection/generator.js.map +1 -1
- package/src/py/agent/react-connection/__snapshots__/generator.spec.ts.snap +7 -16
- package/src/py/agent/react-connection/generator.d.ts +3 -3
- package/src/py/agent/react-connection/generator.js +4 -4
- package/src/py/agent/react-connection/generator.js.map +1 -1
- package/src/py/agent/react-connection/serve-local.d.ts +2 -2
- package/src/py/agent/react-connection/serve-local.js.map +1 -1
- package/src/py/api/generator.d.ts +3 -3
- package/src/py/api/generator.js.map +1 -1
- package/src/py/api/schema.d.ts +1 -1
- package/src/py/api/schema.json +2 -2
- package/src/py/fast-api/generator.d.ts +3 -3
- package/src/py/fast-api/generator.js +71 -53
- package/src/py/fast-api/generator.js.map +1 -1
- package/src/py/fast-api/react/generator.d.ts +3 -3
- package/src/py/fast-api/react/generator.js +2 -2
- package/src/py/fast-api/react/generator.js.map +1 -1
- package/src/py/fast-api/react/open-api.d.ts +1 -1
- package/src/py/fast-api/react/open-api.js +5 -2
- package/src/py/fast-api/react/open-api.js.map +1 -1
- package/src/py/fast-api/schema.d.ts +1 -1
- package/src/py/fast-api/schema.json +2 -2
- package/src/py/lambda-function/generator.d.ts +3 -3
- package/src/py/lambda-function/generator.js +30 -27
- package/src/py/lambda-function/generator.js.map +1 -1
- package/src/py/lambda-function/schema.d.ts +3 -0
- package/src/py/lambda-function/schema.json +8 -0
- package/src/py/mcp-server/__snapshots__/generator.spec.ts.snap +4 -4
- package/src/py/mcp-server/generator.d.ts +3 -3
- package/src/py/mcp-server/generator.js +33 -26
- package/src/py/mcp-server/generator.js.map +1 -1
- package/src/py/project/generator.d.ts +3 -3
- package/src/py/project/generator.js +88 -69
- package/src/py/project/generator.js.map +1 -1
- package/src/smithy/project/__snapshots__/generator.spec.ts.snap +18 -16
- package/src/smithy/project/files/build.Dockerfile.template +1 -0
- package/src/smithy/project/generator.d.ts +3 -3
- package/src/smithy/project/generator.js +30 -28
- package/src/smithy/project/generator.js.map +1 -1
- package/src/smithy/react-connection/generator.d.ts +3 -3
- package/src/smithy/react-connection/generator.js +3 -3
- package/src/smithy/react-connection/generator.js.map +1 -1
- package/src/smithy/ts/api/__snapshots__/generator.spec.ts.snap +8 -34
- package/src/smithy/ts/api/generator.d.ts +3 -3
- package/src/smithy/ts/api/generator.js +89 -66
- package/src/smithy/ts/api/generator.js.map +1 -1
- package/src/smithy/ts/api/schema.d.ts +1 -1
- package/src/smithy/ts/api/schema.json +1 -1
- package/src/terraform/project/generator.d.ts +3 -3
- package/src/terraform/project/generator.js +13 -8
- package/src/terraform/project/generator.js.map +1 -1
- package/src/trpc/backend/generator.d.ts +3 -3
- package/src/trpc/backend/generator.js +67 -48
- package/src/trpc/backend/generator.js.map +1 -1
- package/src/trpc/backend/schema.d.ts +3 -3
- package/src/trpc/backend/schema.json +2 -2
- package/src/trpc/react/generator.d.ts +3 -3
- package/src/trpc/react/generator.js +5 -5
- package/src/trpc/react/generator.js.map +1 -1
- package/src/ts/agent/__snapshots__/generator.spec.ts.snap +10 -4
- package/src/ts/agent/a2a-connection/generator.d.ts +3 -3
- package/src/ts/agent/a2a-connection/generator.js +5 -5
- package/src/ts/agent/a2a-connection/generator.js.map +1 -1
- package/src/ts/agent/files/common/agent.ts.template +6 -2
- package/src/ts/agent/generator.d.ts +3 -3
- package/src/ts/agent/generator.js +18 -13
- package/src/ts/agent/generator.js.map +1 -1
- package/src/ts/agent/mcp-connection/__snapshots__/generator.spec.ts.snap +5 -2
- package/src/ts/agent/mcp-connection/generator.d.ts +3 -3
- package/src/ts/agent/mcp-connection/generator.js +5 -5
- package/src/ts/agent/mcp-connection/generator.js.map +1 -1
- package/src/ts/agent/react-connection/generator.d.ts +3 -3
- package/src/ts/agent/react-connection/generator.js +9 -9
- package/src/ts/agent/react-connection/generator.js.map +1 -1
- package/src/ts/agent/react-connection/serve-local.d.ts +2 -2
- package/src/ts/api/generator.d.ts +3 -3
- package/src/ts/api/generator.js +7 -5
- package/src/ts/api/generator.js.map +1 -1
- package/src/ts/api/schema.d.ts +3 -2
- package/src/ts/api/schema.json +1 -1
- package/src/ts/astro-docs/__snapshots__/generator.spec.ts.snap +7 -8
- package/src/ts/astro-docs/generator.d.ts +3 -3
- package/src/ts/astro-docs/generator.js +14 -11
- package/src/ts/astro-docs/generator.js.map +1 -1
- package/src/ts/docs/generator.d.ts +3 -3
- package/src/ts/docs/generator.js.map +1 -1
- package/src/ts/dynamodb/__snapshots__/generator.spec.ts.snap +1561 -0
- package/src/ts/dynamodb/agent-connection/__snapshots__/generator.spec.ts.snap +45 -0
- package/src/ts/dynamodb/agent-connection/generator.d.ts +10 -0
- package/src/ts/dynamodb/agent-connection/generator.js +32 -0
- package/src/ts/dynamodb/agent-connection/generator.js.map +1 -0
- package/src/ts/dynamodb/agent-connection/schema.d.ts +14 -0
- package/src/ts/dynamodb/agent-connection/schema.json +22 -0
- package/src/ts/dynamodb/files/dynamodb.config.json +14 -0
- package/src/ts/dynamodb/files/scripts/create-local-table.ts.template +168 -0
- package/src/ts/{rdb/files/scripts/docker-pull.ts.template → dynamodb/files/scripts/pull-image.ts.template} +1 -1
- package/src/ts/dynamodb/files/scripts/start-container.ts.template +81 -0
- package/src/ts/dynamodb/files/src/client.ts.template +45 -0
- package/src/ts/dynamodb/files/src/constants.ts.template +9 -0
- package/src/ts/dynamodb/files/src/entities/example.ts.template +47 -0
- package/src/ts/dynamodb/files/src/entities/index.ts.template +1 -0
- package/src/ts/dynamodb/files/src/index.ts.template +10 -0
- package/src/ts/dynamodb/generator.d.ts +10 -0
- package/src/ts/dynamodb/generator.js +108 -0
- package/src/ts/dynamodb/generator.js.map +1 -0
- package/src/ts/dynamodb/mcp-server-connection/__snapshots__/generator.spec.ts.snap +45 -0
- package/src/ts/dynamodb/mcp-server-connection/generator.d.ts +10 -0
- package/src/ts/dynamodb/mcp-server-connection/generator.js +32 -0
- package/src/ts/dynamodb/mcp-server-connection/generator.js.map +1 -0
- package/src/ts/dynamodb/mcp-server-connection/schema.d.ts +14 -0
- package/src/ts/dynamodb/mcp-server-connection/schema.json +22 -0
- package/src/ts/dynamodb/schema.d.ts +14 -0
- package/src/ts/dynamodb/schema.json +52 -0
- package/src/ts/dynamodb/smithy-connection/__snapshots__/generator.spec.ts.snap +23 -0
- package/src/ts/dynamodb/smithy-connection/generator.d.ts +10 -0
- package/src/ts/dynamodb/smithy-connection/generator.js +30 -0
- package/src/ts/dynamodb/smithy-connection/generator.js.map +1 -0
- package/src/ts/dynamodb/smithy-connection/schema.d.ts +12 -0
- package/src/ts/dynamodb/smithy-connection/schema.json +18 -0
- package/src/ts/dynamodb/trpc-connection/__snapshots__/generator.spec.ts.snap +23 -0
- package/src/ts/dynamodb/trpc-connection/generator.d.ts +10 -0
- package/src/ts/dynamodb/trpc-connection/generator.js +30 -0
- package/src/ts/dynamodb/trpc-connection/generator.js.map +1 -0
- package/src/ts/dynamodb/trpc-connection/schema.d.ts +12 -0
- package/src/ts/dynamodb/trpc-connection/schema.json +18 -0
- package/src/ts/lambda-function/generator.d.ts +3 -3
- package/src/ts/lambda-function/generator.js +34 -29
- package/src/ts/lambda-function/generator.js.map +1 -1
- package/src/ts/lambda-function/schema.d.ts +3 -0
- package/src/ts/lambda-function/schema.json +8 -0
- package/src/ts/lib/__snapshots__/generator.spec.ts.snap +32 -65
- package/src/ts/lib/__snapshots__/vitest.spec.ts.snap +24 -0
- package/src/ts/lib/biome.d.ts +7 -0
- package/src/ts/lib/biome.js +58 -0
- package/src/ts/lib/biome.js.map +1 -0
- package/src/ts/lib/generator.d.ts +3 -3
- package/src/ts/lib/generator.js +27 -29
- package/src/ts/lib/generator.js.map +1 -1
- package/src/ts/lib/grit/vitest-pass-with-no-tests.grit +1 -4
- package/src/ts/lib/ts-project-utils.d.ts +12 -2
- package/src/ts/lib/ts-project-utils.js +30 -10
- package/src/ts/lib/ts-project-utils.js.map +1 -1
- package/src/ts/lib/vitest.d.ts +2 -2
- package/src/ts/lib/vitest.js +1 -1
- package/src/ts/lib/vitest.js.map +1 -1
- package/src/ts/mcp-server/__snapshots__/generator.spec.ts.snap +3 -3
- package/src/ts/mcp-server/generator.d.ts +3 -3
- package/src/ts/mcp-server/generator.js +34 -12
- package/src/ts/mcp-server/generator.js.map +1 -1
- package/src/ts/nx-generator/__snapshots__/generator.spec.ts.snap +19 -14
- package/src/ts/nx-generator/generator.d.ts +2 -2
- package/src/ts/nx-generator/generator.js +23 -19
- package/src/ts/nx-generator/generator.js.map +1 -1
- package/src/ts/nx-plugin/generator.d.ts +3 -3
- package/src/ts/nx-plugin/generator.js +10 -9
- package/src/ts/nx-plugin/generator.js.map +1 -1
- package/src/ts/nx-plugin/utils.d.ts +1 -1
- package/src/ts/nx-plugin/utils.js +10 -4
- package/src/ts/nx-plugin/utils.js.map +1 -1
- package/src/ts/rdb/__snapshots__/generator.spec.ts.snap +118 -58
- package/src/ts/rdb/agent-connection/generator.d.ts +3 -3
- package/src/ts/rdb/agent-connection/generator.js +4 -4
- package/src/ts/rdb/agent-connection/generator.js.map +1 -1
- package/src/ts/rdb/files/scripts/pull-image.ts.template +15 -0
- package/src/ts/rdb/files/scripts/{docker-start.ts.template → start-container.ts.template} +23 -23
- package/src/ts/rdb/generator.d.ts +3 -3
- package/src/ts/rdb/generator.js +96 -75
- package/src/ts/rdb/generator.js.map +1 -1
- package/src/ts/rdb/mcp-server-connection/generator.d.ts +3 -3
- package/src/ts/rdb/mcp-server-connection/generator.js +4 -4
- package/src/ts/rdb/mcp-server-connection/generator.js.map +1 -1
- package/src/ts/rdb/schema.d.ts +1 -1
- package/src/ts/rdb/schema.json +1 -1
- package/src/ts/rdb/smithy-connection/generator.d.ts +3 -3
- package/src/ts/rdb/smithy-connection/generator.js +4 -4
- package/src/ts/rdb/smithy-connection/generator.js.map +1 -1
- package/src/ts/rdb/trpc-connection/generator.d.ts +3 -3
- package/src/ts/rdb/trpc-connection/generator.js +3 -3
- package/src/ts/rdb/trpc-connection/generator.js.map +1 -1
- package/src/ts/rdb/utils.d.ts +1 -1
- package/src/ts/react-website/agui/files/common/src/hooks/useAgui__agentNameClassName__.tsx.template +1 -16
- package/src/ts/react-website/agui/generator.d.ts +1 -1
- package/src/ts/react-website/agui/generator.js +4 -5
- package/src/ts/react-website/agui/generator.js.map +1 -1
- package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +400 -363
- package/src/ts/react-website/app/generator.d.ts +3 -3
- package/src/ts/react-website/app/generator.js +101 -91
- package/src/ts/react-website/app/generator.js.map +1 -1
- package/src/ts/react-website/app/schema.d.ts +3 -0
- package/src/ts/react-website/cognito-auth/__snapshots__/generator.spec.ts.snap +1 -7
- package/src/ts/react-website/cognito-auth/__snapshots__/generator.ux-provider.spec.ts.snap +0 -20
- package/src/ts/react-website/cognito-auth/generator.d.ts +3 -3
- package/src/ts/react-website/cognito-auth/generator.js +10 -13
- package/src/ts/react-website/cognito-auth/generator.js.map +1 -1
- package/src/ts/react-website/cognito-auth/grit/cloudscape-auth-menu.grit +8 -6
- package/src/ts/react-website/cognito-auth/grit/cognito-auth-wrapper.grit +1 -1
- package/src/ts/react-website/cognito-auth/grit/none-auth-menu.grit +1 -0
- package/src/ts/react-website/cognito-auth/grit/shadcn-auth-menu.grit +3 -1
- package/src/ts/react-website/cognito-auth/grit/shadcn-state-declarations.grit +3 -1
- package/src/ts/react-website/cognito-auth/utils.d.ts +1 -1
- package/src/ts/react-website/cognito-auth/utils.js +1 -1
- package/src/ts/react-website/cognito-auth/utils.js.map +1 -1
- package/src/ts/react-website/runtime-config/generator.d.ts +3 -3
- package/src/ts/react-website/runtime-config/generator.js +4 -4
- package/src/ts/react-website/runtime-config/generator.js.map +1 -1
- package/src/ts/sync/generator.d.ts +3 -3
- package/src/ts/sync/generator.js +2 -2
- package/src/ts/sync/generator.js.map +1 -1
- package/src/ts/website/app/generator.d.ts +3 -3
- package/src/ts/website/app/generator.js +1 -1
- package/src/ts/website/app/generator.js.map +1 -1
- package/src/ts/website/app/schema.d.ts +2 -0
- package/src/ts/website/app/schema.json +8 -0
- package/src/ts/website/auth/generator.d.ts +3 -3
- package/src/ts/website/auth/generator.js +1 -1
- package/src/ts/website/auth/generator.js.map +1 -1
- package/src/utils/agent-connection/agent-connection.d.ts +1 -1
- package/src/utils/agent-connection/agent-connection.js +16 -10
- package/src/utils/agent-connection/agent-connection.js.map +1 -1
- package/src/utils/agent-connection/files/core-runtime-config/model-errors.ts.template +36 -0
- package/src/utils/agent-connection/files/py-core-runtime-config/model_errors.py.template +40 -0
- package/src/utils/agent-core-constructs/agent-core-constructs.d.ts +3 -3
- package/src/utils/agent-core-constructs/agent-core-constructs.js +3 -11
- package/src/utils/agent-core-constructs/agent-core-constructs.js.map +1 -1
- package/src/utils/api-constructs/api-constructs.d.ts +2 -2
- package/src/utils/api-constructs/api-constructs.js +1 -1
- package/src/utils/api-constructs/api-constructs.js.map +1 -1
- package/src/utils/api-constructs/open-api-metadata.d.ts +2 -2
- package/src/utils/api-constructs/open-api-metadata.js.map +1 -1
- package/src/utils/ast/website.d.ts +5 -1
- package/src/utils/ast/website.js +3 -3
- package/src/utils/ast/website.js.map +1 -1
- package/src/utils/ast.d.ts +33 -1
- package/src/utils/ast.js +89 -4
- package/src/utils/ast.js.map +1 -1
- package/src/utils/bundle/bundle.d.ts +1 -1
- package/src/utils/bundle/bundle.js +2 -2
- package/src/utils/bundle/bundle.js.map +1 -1
- package/src/utils/config/index.d.ts +5 -5
- package/src/utils/config/utils.d.ts +13 -3
- package/src/utils/config/utils.js +37 -5
- package/src/utils/config/utils.js.map +1 -1
- package/src/utils/connection/open-api/react.d.ts +1 -1
- package/src/utils/connection/open-api/react.js +4 -4
- package/src/utils/connection/open-api/react.js.map +1 -1
- package/src/utils/containers.d.ts +1 -1
- package/src/utils/dynamodb-constructs/dynamodb-constructs.d.ts +19 -0
- package/src/utils/dynamodb-constructs/dynamodb-constructs.js +49 -0
- package/src/utils/dynamodb-constructs/dynamodb-constructs.js.map +1 -0
- package/src/utils/dynamodb-constructs/files/cdk/app/dynamodb/__nameKebabCase__.ts.template +44 -0
- package/src/utils/dynamodb-constructs/files/cdk/core/dynamodb.ts.template +105 -0
- package/src/utils/dynamodb-constructs/files/terraform/app/dynamodb/__nameKebabCase__/__nameKebabCase__.tf.template +62 -0
- package/src/utils/dynamodb-constructs/files/terraform/core/dynamodb/dynamodb.tf.template +155 -0
- package/src/utils/format.d.ts +45 -2
- package/src/utils/format.js +167 -46
- package/src/utils/format.js.map +1 -1
- package/src/utils/fs.d.ts +1 -1
- package/src/utils/fs.js.map +1 -1
- package/src/utils/function-constructs/function-constructs.d.ts +2 -2
- package/src/utils/function-constructs/function-constructs.js +1 -1
- package/src/utils/function-constructs/function-constructs.js.map +1 -1
- package/src/utils/generators.d.ts +4 -0
- package/src/utils/generators.js +4 -4
- package/src/utils/generators.js.map +1 -1
- package/src/utils/git.d.ts +1 -1
- package/src/utils/git.js.map +1 -1
- package/src/utils/iac.d.ts +1 -1
- package/src/utils/iac.js.map +1 -1
- package/src/utils/identity-constructs/files/cdk/core/user-identity.ts.template +1 -5
- package/src/utils/identity-constructs/files/terraform/core/user-identity/identity/identity.tf.template +2 -4
- package/src/utils/identity-constructs/identity-constructs.d.ts +2 -2
- package/src/utils/identity-constructs/identity-constructs.js +1 -1
- package/src/utils/identity-constructs/identity-constructs.js.map +1 -1
- package/src/utils/js.d.ts +4 -0
- package/src/utils/js.js +4 -4
- package/src/utils/js.js.map +1 -1
- package/src/utils/mcp.d.ts +25 -0
- package/src/utils/mcp.js +81 -0
- package/src/utils/mcp.js.map +1 -0
- package/src/utils/metrics.d.ts +9 -3
- package/src/utils/metrics.js +58 -28
- package/src/utils/metrics.js.map +1 -1
- package/src/utils/npm-scope.d.ts +1 -1
- package/src/utils/npm-scope.js.map +1 -1
- package/src/utils/nx.d.ts +7 -2
- package/src/utils/nx.js +46 -14
- package/src/utils/nx.js.map +1 -1
- package/src/utils/nxlv-python.d.ts +1 -1
- package/src/utils/paths.d.ts +1 -1
- package/src/utils/pnpm-workspace.d.ts +1 -1
- package/src/utils/pnpm-workspace.js.map +1 -1
- package/src/utils/port.d.ts +30 -3
- package/src/utils/port.js +72 -4
- package/src/utils/port.js.map +1 -1
- package/src/utils/py.d.ts +2 -2
- package/src/utils/py.js +13 -6
- package/src/utils/py.js.map +1 -1
- package/src/utils/rdb-constructs/files/cdk/core/rdb/aurora.ts.template +30 -1
- package/src/utils/rdb-constructs/files/terraform/app/dbs/__nameKebabCase__/__nameKebabCase__.tf.template +4 -4
- package/src/utils/rdb-constructs/files/terraform/core/rdb/aurora/aurora.tf.template +18 -9
- package/src/utils/rdb-constructs/rdb-constructs.d.ts +4 -4
- package/src/utils/rdb-constructs/rdb-constructs.js +3 -11
- package/src/utils/rdb-constructs/rdb-constructs.js.map +1 -1
- package/src/utils/shared-constructs.d.ts +2 -2
- package/src/utils/shared-constructs.js +7 -7
- package/src/utils/shared-constructs.js.map +1 -1
- package/src/utils/shared-infra-config.d.ts +1 -1
- package/src/utils/shared-infra-config.js +1 -1
- package/src/utils/shared-infra-config.js.map +1 -1
- package/src/utils/shared-scripts.d.ts +1 -1
- package/src/utils/shared-scripts.js +2 -2
- package/src/utils/shared-scripts.js.map +1 -1
- package/src/utils/shared-shadcn.d.ts +1 -1
- package/src/utils/shared-shadcn.js +1 -13
- package/src/utils/shared-shadcn.js.map +1 -1
- package/src/utils/test.d.ts +5 -1
- package/src/utils/test.js +9 -5
- package/src/utils/test.js.map +1 -1
- package/src/utils/toml.d.ts +1 -1
- package/src/utils/toml.js +4 -0
- package/src/utils/toml.js.map +1 -1
- package/src/utils/versions.d.ts +71 -75
- package/src/utils/versions.js +70 -74
- package/src/utils/versions.js.map +1 -1
- package/src/utils/website-constructs/files/cdk/core/static-website.ts.template +52 -5
- package/src/utils/website-constructs/files/terraform/core/static-website/static-website.tf.template +38 -11
- package/src/utils/website-constructs/website-constructs.d.ts +2 -2
- package/src/utils/website-constructs/website-constructs.js +1 -1
- package/src/utils/website-constructs/website-constructs.js.map +1 -1
- package/src/ts/lib/eslint.d.ts +0 -14
- package/src/ts/lib/eslint.js +0 -90
- package/src/ts/lib/eslint.js.map +0 -1
- package/src/ts/lib/grit/eslint-dependency-checks-warn.grit +0 -1
|
@@ -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/
|
|
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/
|
|
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
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
\`
|
|
80
|
-
|
|
81
|
-
|
|
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:
|
|
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,
|
|
@@ -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 =
|
|
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 =
|
|
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 : "\${
|
|
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 = "\${
|
|
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 = "\${
|
|
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 = "\${
|
|
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 = "\${
|
|
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 = "\${
|
|
1574
|
+
name = "\${local.cluster_name}-backup"
|
|
1544
1575
|
|
|
1545
1576
|
rule {
|
|
1546
1577
|
rule_name = "daily-backup"
|
|
@@ -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 =
|
|
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 =
|
|
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 : "\${
|
|
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 = "\${
|
|
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 = "\${
|
|
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 = "\${
|
|
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 = "\${
|
|
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 = "\${
|
|
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/
|
|
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/
|
|
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
|
-
|
|
3878
|
-
|
|
3879
|
-
|
|
3880
|
-
|
|
3881
|
-
\`
|
|
3882
|
-
|
|
3883
|
-
\`
|
|
3884
|
-
|
|
3885
|
-
|
|
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:
|
|
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 {
|
|
7
|
-
import {
|
|
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
|
|
11
|
-
const
|
|
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
|
|
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":";;;;AAAA;;;GAGG;AACH,uCAIoB;
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/ts/rdb/agent-connection/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { spawn, spawnSync } from 'child_process';
|
|
2
2
|
|
|
3
|
-
const ENGINE = '<%=
|
|
3
|
+
const ENGINE = '<%= containerEngine %>';
|
|
4
4
|
|
|
5
5
|
<%_ if (engine === 'mysql') { _%>
|
|
6
6
|
const [containerName, image, hostPort, dbName, dbPassword] =
|
|
@@ -33,29 +33,25 @@ if (containerExists()) {
|
|
|
33
33
|
}
|
|
34
34
|
} else {
|
|
35
35
|
<%_ if (engine === 'mysql') { _%>
|
|
36
|
-
const runArgs =
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
image,
|
|
45
|
-
];
|
|
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
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
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
|
};
|
|
@@ -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 { GeneratorCallback, Tree } from '@nx/devkit';
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
5
|
+
import { type GeneratorCallback, type Tree } from '@nx/devkit';
|
|
6
|
+
import { type NxGeneratorInfo } from '../../utils/nx';
|
|
7
|
+
import type { TsRdbGeneratorSchema } from './schema';
|
|
8
8
|
export declare const TS_RDB_GENERATOR_INFO: NxGeneratorInfo;
|
|
9
9
|
export declare const tsRdbGenerator: (tree: Tree, options: TsRdbGeneratorSchema) => Promise<GeneratorCallback>;
|
|
10
10
|
export default tsRdbGenerator;
|