@btc-embedded/cdk-extensions 0.22.14 → 0.22.16

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 (57) hide show
  1. package/.jsii +364 -3
  2. package/API.md +385 -0
  3. package/CHANGELOG.md +9 -0
  4. package/README.md +64 -58
  5. package/assets/cli/catnip.js +203 -146
  6. package/lib/constructs/EventPipe.js +1 -1
  7. package/lib/constructs/ExportedService.js +1 -1
  8. package/lib/constructs/S3Bucket.js +1 -1
  9. package/lib/constructs/SecureRestApi.js +1 -1
  10. package/lib/constructs/SecureRestApiV2.js +1 -1
  11. package/lib/constructs/api-keys/ApiKeyClientAuthorization.js +1 -1
  12. package/lib/constructs/api-keys/ApiKeyManagement.js +1 -1
  13. package/lib/constructs/api-keys/ApiKeyPreTokenHandler.js +1 -1
  14. package/lib/constructs/api-keys/ApiKeyStore.js +1 -1
  15. package/lib/extensions/ApiGatewayExtension.js +1 -1
  16. package/lib/extensions/ApplicationContainer.js +1 -1
  17. package/lib/extensions/ApplicationLoadBalancerExtension.js +1 -1
  18. package/lib/extensions/ApplicationLoadBalancerExtensionV2.js +1 -1
  19. package/lib/extensions/CloudMapExtension.js +1 -1
  20. package/lib/extensions/DeactivatableServiceExtension.js +1 -1
  21. package/lib/extensions/DeploymentConfigExtension.js +1 -1
  22. package/lib/extensions/DocumentDbAccessExtension.js +1 -1
  23. package/lib/extensions/DomainEventMessagingExtension.js +1 -1
  24. package/lib/extensions/EfsMountExtension.js +1 -1
  25. package/lib/extensions/ExtraContainerExtension.js +1 -1
  26. package/lib/extensions/HTTPApiExtension.js +1 -1
  27. package/lib/extensions/LogExtension.js +1 -1
  28. package/lib/extensions/ModifyContainerDefinitionExtension.js +1 -1
  29. package/lib/extensions/ModifyTaskDefinitionExtension.js +1 -1
  30. package/lib/extensions/OpenIdExtension.js +1 -1
  31. package/lib/extensions/OpenTelemetryExtension.js +1 -1
  32. package/lib/extensions/PostgresDbAccessExtension.js +1 -1
  33. package/lib/extensions/SharedVolumeExtension.js +1 -1
  34. package/lib/extensions/TcpKeepAliveExtension.js +1 -1
  35. package/lib/platform/ApiGateway.js +1 -1
  36. package/lib/platform/ApiGatewayVpcLink.js +2 -2
  37. package/lib/platform/ApplicationLoadBalancer.js +1 -1
  38. package/lib/platform/ApplicationLoadBalancerV2.js +2 -2
  39. package/lib/platform/AuroraPostgresDB.d.ts +110 -0
  40. package/lib/platform/AuroraPostgresDB.js +144 -0
  41. package/lib/platform/BTCLogGroup.js +1 -1
  42. package/lib/platform/CognitoUserPool.js +2 -2
  43. package/lib/platform/DefaultUserPoolClients.js +1 -1
  44. package/lib/platform/DocumentDB.js +2 -2
  45. package/lib/platform/EcsCluster.js +1 -1
  46. package/lib/platform/EfsFileSystem.js +1 -1
  47. package/lib/platform/HostedZone.js +1 -1
  48. package/lib/platform/PrivateDnsNamespace.js +1 -1
  49. package/lib/platform/ResourceServer.js +1 -1
  50. package/lib/platform/Vpc.js +1 -1
  51. package/lib/platform/VpcV2.js +1 -1
  52. package/lib/platform/index.d.ts +1 -0
  53. package/lib/platform/index.js +2 -1
  54. package/lib/stacks/ApplicationStack.js +1 -1
  55. package/lib/utils/BasePlatformStackResolver.js +1 -1
  56. package/lib/utils/StackParameter.js +1 -1
  57. package/package.json +2 -1
package/.jsii CHANGED
@@ -8497,7 +8497,7 @@
8497
8497
  },
8498
8498
  "name": "@btc-embedded/cdk-extensions",
8499
8499
  "readme": {
8500
- "markdown": "# BTC Embedded CDK Extensions\n\n# @btc-embedded/cdk-extensions\n\nA collection of reusable AWS CDK (Cloud Development Kit) extensions and constructs for building cloud infrastructure with TypeScript.\n\n## Features\n\n- **CDK Constructs**: Includes ready-to-use constructs for API Gateway, Application Load Balancer, Cognito, VPC, DocumentDB, and more.\n- **ECS Service Extensions**: Provides ECS service extensions for advanced container orchestration.\n- **Utilities**: Common utilities and helpers for stack parameters, value imports, and configuration parsing.\n- **Modular Extensions**: Easily extend AWS resources with features like logging, OpenTelemetry, EFS, Cloud Map, and custom containers.\n\n## Installation\n\n```sh\nyarn install @btc-embedded/cdk-extensions\n```\n\n## Usage Example\n\n### Basic Usage\n\n```typescript\nimport { ApiGateway } from \"@btc-embedded/cdk-extensions\";\n\n// Use constructs and extensions in your CDK app\n```\n\n### Using ApplicationStack for Simplified Configuration\n\nFor application-level stacks that reference a base platform stack, use `ApplicationStack` to ensure consistent use of the base platform stack name:\n\n```typescript\nimport { ApplicationStack } from \"@btc-embedded/cdk-extensions\";\n\nexport class MyAppStack extends ApplicationStack {\n constructor(scope: Construct, id: string) {\n super(scope, id, {\n basePlatformStackName: \"my-platform-stack\",\n env: {\n account: \"123456789012\",\n region: \"eu-central-1\",\n },\n });\n\n // Constructs and extensions automatically resolve the platform stack name\n // No need to pass basePlatformStackName repeatedly\n }\n}\n```\n\n### Config-Driven Deployments\n\nUse `createApplicationApp` for configuration-driven deployments:\n\n```typescript\nimport {\n createApplicationApp,\n ApplicationStack,\n} from \"@btc-embedded/cdk-extensions\";\nimport { z } from \"zod\";\n\nconst configSchema = z.object({\n env: z.object({ account: z.string(), region: z.string() }),\n basePlatformStackName: z.string(),\n});\n\ncreateApplicationApp({\n directory: \"./config\",\n schema: configSchema,\n createStack: (scope, config) => new MyAppStack(scope, \"MyApp\", config),\n});\n```\n\n## CLI Commands\n\n### catnip — Cloud Toolkit by the CAT Department\n\nThe `catnip` CLI tool provides commands for cloud infrastructure diagnostics and management.\n\n#### stack-diagnose\n\nDiagnose CloudFormation stack deployment failures.\n\n**Usage:**\n\n```bash\n# Auto-detect and diagnose the last failed stack\ncatnip stack-diagnose\n\n# Diagnose a specific stack\ncatnip stack-diagnose --stack-name my-stack\n\n# Customize log output and task inspection\ncatnip stack-diagnose --stack-name my-stack --tail 200 --tasks 10\n```\n\n**Description:**\n\nThe `stack-diagnose` command provides comprehensive diagnostics for failed CloudFormation stacks. If no stack name is provided, it automatically detects and diagnoses the last failed stack in your AWS account. The command displays:\n\n- **Stack Status**: Current CloudFormation stack status and reason for failure\n- **CloudFormation Events**: Recent stack events showing what failed during deployment\n- **ECS Diagnostics** (if applicable): If the stack contains ECS services, additional diagnostics are performed including:\n - Service event history\n - Recent stopped task logs\n - Container output for troubleshooting\n\n**Options:**\n\n- `--stack-name <name>` CloudFormation stack name (optional; auto-detects last failed stack if omitted)\n- `--stage <name>` — Filter stacks by stage name (e.g., 'prod', 'dev') when auto-detecting; only used if --stack-name is not provided\n- `--tail <n>` — Number of log lines to show per container (default: 100)\n- `--tasks <n>`Number of recent stopped tasks to inspect (default: 5)\n- `--region <region>` — AWS region (uses AWS_DEFAULT_REGION / AWS_REGION environment variable if not specified)\n- `--profile <profile>` — AWS named profile for local development\n\n**Examples:**\n\n```bash\n# Quick diagnosis of last failed stack\ncatnip stack-diagnose\n\n# Auto-detect failed stack for a specific stage (useful when multiple stages in same account)\ncatnip stack-diagnose --stage prod\n\n# Diagnose specific stack with extended logging\ncatnip stack-diagnose --stack-name prod-api-stack --tail 500 --tasks 10\n\n# Use specific AWS profile and region\ncatnip stack-diagnose --profile my-profile --region eu-central-1\n```\n\n#### ecs-logs\n\nStream live logs from running ECS services in a CloudFormation stack.\n\n**Usage:**\n\n```bash\n# Stream logs from all ECS services in a stack\nnpx catnip ecs-logs --stack-name my-stack\n\n# Follow logs in real-time\nnpx catnip ecs-logs --stack-name my-stack --follow\n\n# Filter by service name and show last 50 lines\nnpx catnip ecs-logs --stack-name my-stack --tail 50 --service api\n\n# Raw JSON output (for piping to jq or pino-pretty)\nnpx catnip ecs-logs --stack-name my-stack --output raw\n\n# Pretty-printed JSON with colors\nnpx catnip ecs-logs --stack-name my-stack --output pretty\n```\n\n**Options:**\n\n- `--stack-name <name>` — CloudFormation stack name (required)\n- `--tail <n>` — Lines of history to show per container (default: 100)\n- `-f, --follow` — Keep polling for new log events\n- `--service <name>` — Filter services by name\n- `-o, --output <mode>` Output mode: `text`, `raw`, or `pretty` (default: text)\n- `--region <region>` AWS region\n- `--profile <profile>` AWS profile\n\n## Documentation\n\n- [API Reference](./API.md)\n\n## License\n\nApache-2.0 © BTC Embedded Systems AG\n"
8500
+ "markdown": "# BTC Embedded CDK Extensions\n\n# @btc-embedded/cdk-extensions\n\nA collection of reusable AWS CDK (Cloud Development Kit) extensions and constructs for building cloud infrastructure with TypeScript.\n\n## Features\n\n- **CDK Constructs**: Includes ready-to-use constructs for API Gateway, Application Load Balancer, Cognito, VPC, DocumentDB, and more.\n- **ECS Service Extensions**: Provides ECS service extensions for advanced container orchestration.\n- **Utilities**: Common utilities and helpers for stack parameters, value imports, and configuration parsing.\n- **Modular Extensions**: Easily extend AWS resources with features like logging, OpenTelemetry, EFS, Cloud Map, and custom containers.\n\n## Installation\n\n```sh\nyarn install @btc-embedded/cdk-extensions\n```\n\n## Usage Example\n\n### Basic Usage\n\n```typescript\nimport { ApiGateway } from \"@btc-embedded/cdk-extensions\";\n\n// Use constructs and extensions in your CDK app\n```\n\n### Using ApplicationStack for Simplified Configuration\n\nFor application-level stacks that reference a base platform stack, use `ApplicationStack` to ensure consistent use of the base platform stack name:\n\n```typescript\nimport { ApplicationStack } from \"@btc-embedded/cdk-extensions\";\n\nexport class MyAppStack extends ApplicationStack {\n constructor(scope: Construct, id: string) {\n super(scope, id, {\n basePlatformStackName: \"my-platform-stack\",\n env: {\n account: \"123456789012\",\n region: \"eu-central-1\",\n },\n });\n\n // Constructs and extensions automatically resolve the platform stack name\n // No need to pass basePlatformStackName repeatedly\n }\n}\n```\n\n### Config-Driven Deployments\n\nUse `createApplicationApp` for configuration-driven deployments:\n\n```typescript\nimport {\n createApplicationApp,\n ApplicationStack,\n} from \"@btc-embedded/cdk-extensions\";\nimport { z } from \"zod\";\n\nconst configSchema = z.object({\n env: z.object({ account: z.string(), region: z.string() }),\n basePlatformStackName: z.string(),\n});\n\ncreateApplicationApp({\n directory: \"./config\",\n schema: configSchema,\n createStack: (scope, config) => new MyAppStack(scope, \"MyApp\", config),\n});\n```\n\n## CLI Commands\n\n### catnip — Cloud Toolkit by the CAT Department\n\n`catnip` provides operational helpers for CloudFormation, ECS, and Cognito.\n\nGlobal options (apply to all commands):\n- `--region <region>` — AWS region (defaults to `AWS_DEFAULT_REGION` / `AWS_REGION`)\n- `--profile <profile>` — AWS named profile\n\n#### stack-diagnose\n\nDiagnose failed CloudFormation deployments and show ECS failure context.\n\nUsage:\n\n```bash\ncatnip stack-diagnose\ncatnip stack-diagnose --stack-name my-stack\ncatnip stack-diagnose --stage prod\ncatnip stack-diagnose --stack-name my-stack --tail 200 --tasks 10\n```\n\nOptions:\n- `--stack-name <name>` stack to diagnose (optional; auto-detects last failed stack if omitted)\n- `--stage <name>` stage filter for auto-detection (ignored if `--stack-name` is provided)\n- `--tail <n>` Number of log lines to show per container (default: 100)\n- `--tasks <n>` Number of recent stopped tasks to inspect (default: 5)\n\n#### ecs-logs\n\nStream live logs from running ECS services in a CloudFormation stack.\n\nUsage:\n\n```bash\ncatnip ecs-logs --stack-name my-stack\ncatnip ecs-logs --stack-name my-stack --follow\ncatnip ecs-logs --stack-name my-stack --service api --tail 50\ncatnip ecs-logs --stack-name my-stack --output raw\ncatnip ecs-logs --stack-name my-stack --output pretty\n```\n\nOptions:\n- `--stack-name <name>` — CloudFormation stack name (required)\n- `--tail <n>` — Lines of history to show per container (default: 100)\n- `-f, --follow`Keep polling for new log events\n- `--service <name>` — Filter services by name\n- `-o, --output <mode>` — Output mode: `text`, `raw`, or `pretty` (default: text)\n\n#### oidc-token\n\nFetch a Cognito token using CloudFormation exports from a stack.\n\nUsage:\n\n```bash\ncatnip oidc-token --stack-name my-stack\ncatnip oidc-token --stack-name my-stack --output json\n```\n\nOptions:\n- `--stack-name <name>` stack that exported Cognito resources (required)\n- `--output <token|json>` print token only, or full response JSON (default: `token`)\n - `token` output is the `access_token`\n\n#### pg-tunnel\n\nOpen a secure Session Manager tunnel to Aurora PostgreSQL and launch a local client.\n\nUsage:\n\n```bash\ncatnip pg-tunnel --stack-name my-stack\ncatnip pg-tunnel --stack-name my-stack --exec \"psql\"\ncatnip pg-tunnel --stack-name my-stack --database app\ncatnip pg-tunnel --stack-name my-stack --no-auto-launch\ncatnip pg-tunnel --stage prod\n```\n\nOptions:\n- `--stack-name <name>` stack where the Aurora cluster is deployed (typically the base platform stack; optional when auto-discovery works)\n- `--stage <name>` stage filter used during stack auto-discovery\n- `--local-port <port>` — preferred local port (default: `5432`)\n- `--database <name>` — overrides `PGDATABASE` for launched client/shell\n- `--exec <command>` — explicit command to run after tunnel starts\n- `--no-auto-launch` — keep tunnel attached without launching a client/shell\n- `--tunnel-instance-id <id>` — fallback EC2 instance ID when stack export is missing\n\nDatabase selection behavior:\n- if `--database` is provided, that value is used\n- if omitted, `catnip` infers database names from deployed ECS service task definitions (`POSTGRES_DATABASE`)\n- if exactly one database is inferred, it is applied as `PGDATABASE`\n- if multiple databases are inferred, they are printed with source stack/service and `PGDATABASE` remains unset\n\nPrerequisite:\n- `session-manager-plugin` must be installed and available in `PATH`\n\n## Documentation\n\n- [API Reference](./API.md)\n\n## License\n\nApache-2.0 © BTC Embedded Systems AG\n"
8501
8501
  },
8502
8502
  "repository": {
8503
8503
  "type": "git",
@@ -11160,6 +11160,367 @@
11160
11160
  ],
11161
11161
  "symbolId": "src/stacks/ApplicationStack:ApplicationStackProps"
11162
11162
  },
11163
+ "@btc-embedded/cdk-extensions.AuroraPostgresCluster": {
11164
+ "assembly": "@btc-embedded/cdk-extensions",
11165
+ "base": "constructs.Construct",
11166
+ "docs": {
11167
+ "remarks": "Exports:\n- `aurora-postgres-db:secret-arn`\n- `aurora-postgres-db:credentials-secret-arn`\n- `aurora-postgres-db:cluster-endpoint`\n- `aurora-postgres-db:security-group-id`\n- `aurora-postgres-db:tunnel-instance-id` (only when tunnel host is enabled)",
11168
+ "stability": "experimental",
11169
+ "summary": "Provisions an Aurora PostgreSQL Serverless v2 cluster and exports connection metadata."
11170
+ },
11171
+ "fqn": "@btc-embedded/cdk-extensions.AuroraPostgresCluster",
11172
+ "initializer": {
11173
+ "docs": {
11174
+ "stability": "experimental"
11175
+ },
11176
+ "locationInModule": {
11177
+ "filename": "src/platform/AuroraPostgresDB.ts",
11178
+ "line": 165
11179
+ },
11180
+ "parameters": [
11181
+ {
11182
+ "name": "scope",
11183
+ "type": {
11184
+ "fqn": "constructs.Construct"
11185
+ }
11186
+ },
11187
+ {
11188
+ "name": "id",
11189
+ "type": {
11190
+ "primitive": "string"
11191
+ }
11192
+ },
11193
+ {
11194
+ "name": "props",
11195
+ "type": {
11196
+ "fqn": "@btc-embedded/cdk-extensions.AuroraPostgresClusterProps"
11197
+ }
11198
+ }
11199
+ ]
11200
+ },
11201
+ "kind": "class",
11202
+ "locationInModule": {
11203
+ "filename": "src/platform/AuroraPostgresDB.ts",
11204
+ "line": 128
11205
+ },
11206
+ "name": "AuroraPostgresCluster",
11207
+ "properties": [
11208
+ {
11209
+ "docs": {
11210
+ "stability": "experimental",
11211
+ "summary": "Aurora database cluster."
11212
+ },
11213
+ "immutable": true,
11214
+ "locationInModule": {
11215
+ "filename": "src/platform/AuroraPostgresDB.ts",
11216
+ "line": 160
11217
+ },
11218
+ "name": "cluster",
11219
+ "type": {
11220
+ "fqn": "aws-cdk-lib.aws_rds.DatabaseCluster"
11221
+ }
11222
+ },
11223
+ {
11224
+ "docs": {
11225
+ "stability": "experimental",
11226
+ "summary": "Security group attached to the Aurora cluster."
11227
+ },
11228
+ "immutable": true,
11229
+ "locationInModule": {
11230
+ "filename": "src/platform/AuroraPostgresDB.ts",
11231
+ "line": 163
11232
+ },
11233
+ "name": "securityGroup",
11234
+ "type": {
11235
+ "fqn": "aws-cdk-lib.aws_ec2.SecurityGroup"
11236
+ }
11237
+ }
11238
+ ],
11239
+ "symbolId": "src/platform/AuroraPostgresDB:AuroraPostgresCluster"
11240
+ },
11241
+ "@btc-embedded/cdk-extensions.AuroraPostgresClusterOverrides": {
11242
+ "assembly": "@btc-embedded/cdk-extensions",
11243
+ "datatype": true,
11244
+ "docs": {
11245
+ "stability": "experimental",
11246
+ "summary": "Supported override options for Aurora cluster tuning."
11247
+ },
11248
+ "fqn": "@btc-embedded/cdk-extensions.AuroraPostgresClusterOverrides",
11249
+ "kind": "interface",
11250
+ "locationInModule": {
11251
+ "filename": "src/platform/AuroraPostgresDB.ts",
11252
+ "line": 81
11253
+ },
11254
+ "name": "AuroraPostgresClusterOverrides",
11255
+ "properties": [
11256
+ {
11257
+ "abstract": true,
11258
+ "docs": {
11259
+ "default": "- generated by CDK",
11260
+ "stability": "experimental",
11261
+ "summary": "Optional DB cluster identifier."
11262
+ },
11263
+ "immutable": true,
11264
+ "locationInModule": {
11265
+ "filename": "src/platform/AuroraPostgresDB.ts",
11266
+ "line": 87
11267
+ },
11268
+ "name": "clusterIdentifier",
11269
+ "optional": true,
11270
+ "type": {
11271
+ "primitive": "string"
11272
+ }
11273
+ },
11274
+ {
11275
+ "abstract": true,
11276
+ "docs": {
11277
+ "default": "1",
11278
+ "stability": "experimental",
11279
+ "summary": "Maximum Aurora Serverless v2 capacity."
11280
+ },
11281
+ "immutable": true,
11282
+ "locationInModule": {
11283
+ "filename": "src/platform/AuroraPostgresDB.ts",
11284
+ "line": 108
11285
+ },
11286
+ "name": "serverlessV2MaxCapacity",
11287
+ "optional": true,
11288
+ "type": {
11289
+ "primitive": "number"
11290
+ }
11291
+ },
11292
+ {
11293
+ "abstract": true,
11294
+ "docs": {
11295
+ "default": "0",
11296
+ "stability": "experimental",
11297
+ "summary": "Minimum Aurora Serverless v2 capacity."
11298
+ },
11299
+ "immutable": true,
11300
+ "locationInModule": {
11301
+ "filename": "src/platform/AuroraPostgresDB.ts",
11302
+ "line": 101
11303
+ },
11304
+ "name": "serverlessV2MinCapacity",
11305
+ "optional": true,
11306
+ "type": {
11307
+ "primitive": "number"
11308
+ }
11309
+ },
11310
+ {
11311
+ "abstract": true,
11312
+ "docs": {
11313
+ "default": "true",
11314
+ "stability": "experimental",
11315
+ "summary": "Whether storage encryption should be enabled."
11316
+ },
11317
+ "immutable": true,
11318
+ "locationInModule": {
11319
+ "filename": "src/platform/AuroraPostgresDB.ts",
11320
+ "line": 115
11321
+ },
11322
+ "name": "storageEncrypted",
11323
+ "optional": true,
11324
+ "type": {
11325
+ "primitive": "boolean"
11326
+ }
11327
+ },
11328
+ {
11329
+ "abstract": true,
11330
+ "docs": {
11331
+ "default": "SubnetType.PRIVATE_WITH_EGRESS",
11332
+ "stability": "experimental",
11333
+ "summary": "Subnets used for cluster instances."
11334
+ },
11335
+ "immutable": true,
11336
+ "locationInModule": {
11337
+ "filename": "src/platform/AuroraPostgresDB.ts",
11338
+ "line": 94
11339
+ },
11340
+ "name": "vpcSubnets",
11341
+ "optional": true,
11342
+ "type": {
11343
+ "fqn": "aws-cdk-lib.aws_ec2.SubnetSelection"
11344
+ }
11345
+ }
11346
+ ],
11347
+ "symbolId": "src/platform/AuroraPostgresDB:AuroraPostgresClusterOverrides"
11348
+ },
11349
+ "@btc-embedded/cdk-extensions.AuroraPostgresClusterProps": {
11350
+ "assembly": "@btc-embedded/cdk-extensions",
11351
+ "datatype": true,
11352
+ "docs": {
11353
+ "stability": "experimental",
11354
+ "summary": "Properties for {@link AuroraPostgresCluster}."
11355
+ },
11356
+ "fqn": "@btc-embedded/cdk-extensions.AuroraPostgresClusterProps",
11357
+ "kind": "interface",
11358
+ "locationInModule": {
11359
+ "filename": "src/platform/AuroraPostgresDB.ts",
11360
+ "line": 58
11361
+ },
11362
+ "name": "AuroraPostgresClusterProps",
11363
+ "properties": [
11364
+ {
11365
+ "abstract": true,
11366
+ "docs": {
11367
+ "stability": "experimental",
11368
+ "summary": "Instance name used for the optional tunnel host."
11369
+ },
11370
+ "immutable": true,
11371
+ "locationInModule": {
11372
+ "filename": "src/platform/AuroraPostgresDB.ts",
11373
+ "line": 65
11374
+ },
11375
+ "name": "instanceName",
11376
+ "type": {
11377
+ "primitive": "string"
11378
+ }
11379
+ },
11380
+ {
11381
+ "abstract": true,
11382
+ "docs": {
11383
+ "stability": "experimental",
11384
+ "summary": "VPC to deploy the Aurora cluster into."
11385
+ },
11386
+ "immutable": true,
11387
+ "locationInModule": {
11388
+ "filename": "src/platform/AuroraPostgresDB.ts",
11389
+ "line": 60
11390
+ },
11391
+ "name": "vpc",
11392
+ "type": {
11393
+ "fqn": "aws-cdk-lib.aws_ec2.IVpc"
11394
+ }
11395
+ },
11396
+ {
11397
+ "abstract": true,
11398
+ "docs": {
11399
+ "stability": "experimental",
11400
+ "summary": "Optional Aurora cluster overrides."
11401
+ },
11402
+ "immutable": true,
11403
+ "locationInModule": {
11404
+ "filename": "src/platform/AuroraPostgresDB.ts",
11405
+ "line": 70
11406
+ },
11407
+ "name": "clusterProps",
11408
+ "optional": true,
11409
+ "type": {
11410
+ "fqn": "@btc-embedded/cdk-extensions.AuroraPostgresClusterOverrides"
11411
+ }
11412
+ },
11413
+ {
11414
+ "abstract": true,
11415
+ "docs": {
11416
+ "stability": "experimental",
11417
+ "summary": "Optional settings for the tunnel host."
11418
+ },
11419
+ "immutable": true,
11420
+ "locationInModule": {
11421
+ "filename": "src/platform/AuroraPostgresDB.ts",
11422
+ "line": 75
11423
+ },
11424
+ "name": "tunnelHost",
11425
+ "optional": true,
11426
+ "type": {
11427
+ "fqn": "@btc-embedded/cdk-extensions.AuroraPostgresTunnelHostProps"
11428
+ }
11429
+ }
11430
+ ],
11431
+ "symbolId": "src/platform/AuroraPostgresDB:AuroraPostgresClusterProps"
11432
+ },
11433
+ "@btc-embedded/cdk-extensions.AuroraPostgresTunnelHostProps": {
11434
+ "assembly": "@btc-embedded/cdk-extensions",
11435
+ "datatype": true,
11436
+ "docs": {
11437
+ "stability": "experimental",
11438
+ "summary": "Optional settings for the SSM-managed tunnel host used by `catnip pg-tunnel`."
11439
+ },
11440
+ "fqn": "@btc-embedded/cdk-extensions.AuroraPostgresTunnelHostProps",
11441
+ "kind": "interface",
11442
+ "locationInModule": {
11443
+ "filename": "src/platform/AuroraPostgresDB.ts",
11444
+ "line": 23
11445
+ },
11446
+ "name": "AuroraPostgresTunnelHostProps",
11447
+ "properties": [
11448
+ {
11449
+ "abstract": true,
11450
+ "docs": {
11451
+ "default": "false",
11452
+ "remarks": "Useful for environments without NAT internet egress.",
11453
+ "stability": "experimental",
11454
+ "summary": "Whether to create SSM interface endpoints in the VPC (ssm, ssmmessages, ec2messages)."
11455
+ },
11456
+ "immutable": true,
11457
+ "locationInModule": {
11458
+ "filename": "src/platform/AuroraPostgresDB.ts",
11459
+ "line": 52
11460
+ },
11461
+ "name": "createSsmVpcEndpoints",
11462
+ "optional": true,
11463
+ "type": {
11464
+ "primitive": "boolean"
11465
+ }
11466
+ },
11467
+ {
11468
+ "abstract": true,
11469
+ "docs": {
11470
+ "default": "false",
11471
+ "stability": "experimental",
11472
+ "summary": "Whether a dedicated EC2 tunnel host should be provisioned."
11473
+ },
11474
+ "immutable": true,
11475
+ "locationInModule": {
11476
+ "filename": "src/platform/AuroraPostgresDB.ts",
11477
+ "line": 29
11478
+ },
11479
+ "name": "enabled",
11480
+ "optional": true,
11481
+ "type": {
11482
+ "primitive": "boolean"
11483
+ }
11484
+ },
11485
+ {
11486
+ "abstract": true,
11487
+ "docs": {
11488
+ "default": "t3.nano",
11489
+ "stability": "experimental",
11490
+ "summary": "Instance type used for the tunnel host."
11491
+ },
11492
+ "immutable": true,
11493
+ "locationInModule": {
11494
+ "filename": "src/platform/AuroraPostgresDB.ts",
11495
+ "line": 36
11496
+ },
11497
+ "name": "instanceType",
11498
+ "optional": true,
11499
+ "type": {
11500
+ "fqn": "aws-cdk-lib.aws_ec2.InstanceType"
11501
+ }
11502
+ },
11503
+ {
11504
+ "abstract": true,
11505
+ "docs": {
11506
+ "default": "SubnetType.PRIVATE_WITH_EGRESS",
11507
+ "stability": "experimental",
11508
+ "summary": "Subnet type where the tunnel host will be placed."
11509
+ },
11510
+ "immutable": true,
11511
+ "locationInModule": {
11512
+ "filename": "src/platform/AuroraPostgresDB.ts",
11513
+ "line": 43
11514
+ },
11515
+ "name": "subnetType",
11516
+ "optional": true,
11517
+ "type": {
11518
+ "fqn": "aws-cdk-lib.aws_ec2.SubnetType"
11519
+ }
11520
+ }
11521
+ ],
11522
+ "symbolId": "src/platform/AuroraPostgresDB:AuroraPostgresTunnelHostProps"
11523
+ },
11163
11524
  "@btc-embedded/cdk-extensions.BTCLogGroup": {
11164
11525
  "assembly": "@btc-embedded/cdk-extensions",
11165
11526
  "base": "aws-cdk-lib.aws_logs.LogGroup",
@@ -19883,6 +20244,6 @@
19883
20244
  "symbolId": "src/platform/VpcV2:VpcV2Props"
19884
20245
  }
19885
20246
  },
19886
- "version": "0.22.14",
19887
- "fingerprint": "U8Tf9Fotr6vHDrm2zRyhR1fc7JPRXSPw+mJRL6JSFRI="
20247
+ "version": "0.22.16",
20248
+ "fingerprint": "g55SPFzxNHVUi3lhCDbVj9IKCFY/F0h+07nBKM1a2gU="
19888
20249
  }