@btc-embedded/cdk-extensions 0.22.2 → 0.22.3

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 (67) hide show
  1. package/.jsii +283 -202
  2. package/API.md +238 -62
  3. package/CHANGELOG.md +7 -0
  4. package/README.md +2 -0
  5. package/lib/constructs/EventPipe.js +1 -1
  6. package/lib/constructs/ExportedService.js +1 -1
  7. package/lib/constructs/S3Bucket.js +1 -1
  8. package/lib/constructs/SecureRestApi.js +1 -1
  9. package/lib/constructs/SecureRestApiV2.js +1 -1
  10. package/lib/constructs/api-keys/ApiKeyClientAuthorization.js +1 -1
  11. package/lib/constructs/api-keys/ApiKeyManagement.d.ts +0 -5
  12. package/lib/constructs/api-keys/ApiKeyManagement.js +2 -2
  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/ApplicationLoadBalancerExtension.js +1 -1
  17. package/lib/extensions/ApplicationLoadBalancerExtensionV2.d.ts +19 -0
  18. package/lib/extensions/ApplicationLoadBalancerExtensionV2.js +10 -2
  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.d.ts +24 -0
  23. package/lib/extensions/DocumentDbAccessExtension.js +12 -2
  24. package/lib/extensions/DomainEventMessagingExtension.d.ts +17 -0
  25. package/lib/extensions/DomainEventMessagingExtension.js +11 -2
  26. package/lib/extensions/EfsMountExtension.js +1 -1
  27. package/lib/extensions/ExecExtension.d.ts +26 -0
  28. package/lib/extensions/ExecExtension.js +26 -1
  29. package/lib/extensions/ExtraContainerExtension.js +1 -1
  30. package/lib/extensions/HTTPApiExtension.js +1 -1
  31. package/lib/extensions/LogExtension.d.ts +18 -0
  32. package/lib/extensions/LogExtension.js +19 -2
  33. package/lib/extensions/ModifyContainerDefinitionExtension.js +1 -1
  34. package/lib/extensions/ModifyTaskDefinitionExtension.js +1 -1
  35. package/lib/extensions/OpenIdExtension.d.ts +27 -0
  36. package/lib/extensions/OpenIdExtension.js +28 -2
  37. package/lib/extensions/OpenTelemetryExtension.js +1 -1
  38. package/lib/extensions/PostgresDbAccessExtension.d.ts +44 -1
  39. package/lib/extensions/PostgresDbAccessExtension.js +47 -2
  40. package/lib/extensions/SharedVolumeExtension.js +1 -1
  41. package/lib/extensions/TcpKeepAliveExtension.d.ts +30 -0
  42. package/lib/extensions/TcpKeepAliveExtension.js +23 -2
  43. package/lib/platform/ApiGateway.d.ts +1 -1
  44. package/lib/platform/ApiGateway.js +3 -3
  45. package/lib/platform/ApiGatewayVpcLink.js +2 -2
  46. package/lib/platform/ApplicationLoadBalancer.js +1 -1
  47. package/lib/platform/ApplicationLoadBalancerV2.js +2 -2
  48. package/lib/platform/BTCLogGroup.js +1 -1
  49. package/lib/platform/CognitoUserPool.js +2 -2
  50. package/lib/platform/DefaultUserPoolClients.js +1 -1
  51. package/lib/platform/DocumentDB.d.ts +37 -0
  52. package/lib/platform/DocumentDB.js +22 -3
  53. package/lib/platform/EcsCluster.js +1 -1
  54. package/lib/platform/EfsFileSystem.js +1 -1
  55. package/lib/platform/HostedZone.js +1 -1
  56. package/lib/platform/PrivateDnsNamespace.d.ts +43 -0
  57. package/lib/platform/PrivateDnsNamespace.js +22 -2
  58. package/lib/platform/ResourceServer.js +1 -1
  59. package/lib/platform/Vpc.js +1 -1
  60. package/lib/platform/VpcV2.js +1 -1
  61. package/lib/stacks/ApplicationStack.js +1 -1
  62. package/lib/utils/BasePlatformStackResolver.js +1 -1
  63. package/lib/utils/StackParameter.js +1 -1
  64. package/lib/utils/configFileParsing.d.ts +8 -6
  65. package/lib/utils/configFileParsing.js +9 -7
  66. package/package.json +4 -1
  67. package/typedoc.json +44 -0
package/.jsii CHANGED
@@ -8494,7 +8494,7 @@
8494
8494
  },
8495
8495
  "name": "@btc-embedded/cdk-extensions",
8496
8496
  "readme": {
8497
- "markdown": "# @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 { createApplicationApp, ApplicationStack } 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## Documentation\n\n- [API Reference](./API.md)\n\n## License\n\nApache-2.0 © BTC Embedded Systems AG\n"
8497
+ "markdown": "# BTC Embedded CDK Extensions\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 { createApplicationApp, ApplicationStack } 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## Documentation\n\n- [API Reference](./API.md)\n\n## License\n\nApache-2.0 © BTC Embedded Systems AG\n\n"
8498
8498
  },
8499
8499
  "repository": {
8500
8500
  "type": "git",
@@ -8527,7 +8527,7 @@
8527
8527
  "assembly": "@btc-embedded/cdk-extensions",
8528
8528
  "base": "constructs.Construct",
8529
8529
  "docs": {
8530
- "deprecated": "Use the {@link ApiGatewayV2 } construct instead.",
8530
+ "deprecated": "Use the ApiGatewayVpcLink construct instead.",
8531
8531
  "remarks": "This API Gateway construct sets up an API Gateway V2 and a default HTTP API\nprotected by the provided Cognito user pool and client(s). The construct\nregisters an A record for the subdomain in the provided hosted zone. It also\ncreates a VPC Link (and security group) for the API Gateway to connect to\nservices in the VPC.\n\nThe relevant parameters are exposed as CloudFormation outputs so that they\ncan be used by the CDK extensions provided in this library.",
8532
8532
  "stability": "deprecated",
8533
8533
  "summary": "API Gateway construct to be used in base platforms."
@@ -9493,7 +9493,7 @@
9493
9493
  },
9494
9494
  "locationInModule": {
9495
9495
  "filename": "src/constructs/api-keys/ApiKeyManagement.ts",
9496
- "line": 55
9496
+ "line": 49
9497
9497
  },
9498
9498
  "parameters": [
9499
9499
  {
@@ -9528,7 +9528,7 @@
9528
9528
  "kind": "class",
9529
9529
  "locationInModule": {
9530
9530
  "filename": "src/constructs/api-keys/ApiKeyManagement.ts",
9531
- "line": 44
9531
+ "line": 38
9532
9532
  },
9533
9533
  "methods": [
9534
9534
  {
@@ -9538,7 +9538,7 @@
9538
9538
  },
9539
9539
  "locationInModule": {
9540
9540
  "filename": "src/constructs/api-keys/ApiKeyManagement.ts",
9541
- "line": 102
9541
+ "line": 96
9542
9542
  },
9543
9543
  "name": "allowConnection",
9544
9544
  "parameters": [
@@ -9564,7 +9564,7 @@
9564
9564
  "immutable": true,
9565
9565
  "locationInModule": {
9566
9566
  "filename": "src/constructs/api-keys/ApiKeyManagement.ts",
9567
- "line": 79
9567
+ "line": 73
9568
9568
  },
9569
9569
  "name": "baseUrl",
9570
9570
  "type": {
@@ -9580,7 +9580,7 @@
9580
9580
  "immutable": true,
9581
9581
  "locationInModule": {
9582
9582
  "filename": "src/constructs/api-keys/ApiKeyManagement.ts",
9583
- "line": 94
9583
+ "line": 88
9584
9584
  },
9585
9585
  "name": "keyManagementPath",
9586
9586
  "type": {
@@ -9595,7 +9595,7 @@
9595
9595
  "immutable": true,
9596
9596
  "locationInModule": {
9597
9597
  "filename": "src/constructs/api-keys/ApiKeyManagement.ts",
9598
- "line": 86
9598
+ "line": 80
9599
9599
  },
9600
9600
  "name": "keysManagementPath",
9601
9601
  "type": {
@@ -9616,7 +9616,7 @@
9616
9616
  "kind": "interface",
9617
9617
  "locationInModule": {
9618
9618
  "filename": "src/constructs/api-keys/ApiKeyManagement.ts",
9619
- "line": 29
9619
+ "line": 28
9620
9620
  },
9621
9621
  "name": "ApiKeyManagementProps",
9622
9622
  "properties": [
@@ -9629,28 +9629,12 @@
9629
9629
  "immutable": true,
9630
9630
  "locationInModule": {
9631
9631
  "filename": "src/constructs/api-keys/ApiKeyManagement.ts",
9632
- "line": 38
9632
+ "line": 32
9633
9633
  },
9634
9634
  "name": "apiKeys",
9635
9635
  "type": {
9636
9636
  "fqn": "@btc-embedded/cdk-extensions.ApiKeyStore"
9637
9637
  }
9638
- },
9639
- {
9640
- "abstract": true,
9641
- "docs": {
9642
- "stability": "experimental",
9643
- "summary": "The user pool to be used."
9644
- },
9645
- "immutable": true,
9646
- "locationInModule": {
9647
- "filename": "src/constructs/api-keys/ApiKeyManagement.ts",
9648
- "line": 33
9649
- },
9650
- "name": "userPool",
9651
- "type": {
9652
- "fqn": "aws-cdk-lib.aws_cognito.IUserPool"
9653
- }
9654
9638
  }
9655
9639
  ],
9656
9640
  "symbolId": "src/constructs/api-keys/ApiKeyManagement:ApiKeyManagementProps"
@@ -10386,25 +10370,28 @@
10386
10370
  "assembly": "@btc-embedded/cdk-extensions",
10387
10371
  "datatype": true,
10388
10372
  "docs": {
10389
- "stability": "experimental"
10373
+ "stability": "experimental",
10374
+ "summary": "Properties for the ApplicationLoadBalancerExtensionV2."
10390
10375
  },
10391
10376
  "fqn": "@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2",
10392
10377
  "kind": "interface",
10393
10378
  "locationInModule": {
10394
10379
  "filename": "src/extensions/ApplicationLoadBalancerExtensionV2.ts",
10395
- "line": 12
10380
+ "line": 15
10396
10381
  },
10397
10382
  "name": "ApplicationLoadBalancerExtensionPropsV2",
10398
10383
  "properties": [
10399
10384
  {
10400
10385
  "abstract": true,
10401
10386
  "docs": {
10402
- "stability": "experimental"
10387
+ "remarks": "Either this or `loadBalancer` must be provided.",
10388
+ "stability": "experimental",
10389
+ "summary": "The name of the platform stack to use for the load balancer."
10403
10390
  },
10404
10391
  "immutable": true,
10405
10392
  "locationInModule": {
10406
10393
  "filename": "src/extensions/ApplicationLoadBalancerExtensionV2.ts",
10407
- "line": 13
10394
+ "line": 20
10408
10395
  },
10409
10396
  "name": "basePlatformStackName",
10410
10397
  "optional": true,
@@ -10415,12 +10402,14 @@
10415
10402
  {
10416
10403
  "abstract": true,
10417
10404
  "docs": {
10418
- "stability": "experimental"
10405
+ "remarks": "Either this or `platformStackName` must be provided.",
10406
+ "stability": "experimental",
10407
+ "summary": "The Application Load Balancer to use."
10419
10408
  },
10420
10409
  "immutable": true,
10421
10410
  "locationInModule": {
10422
10411
  "filename": "src/extensions/ApplicationLoadBalancerExtensionV2.ts",
10423
- "line": 14
10412
+ "line": 26
10424
10413
  },
10425
10414
  "name": "loadBalancer",
10426
10415
  "optional": true,
@@ -10435,19 +10424,27 @@
10435
10424
  "assembly": "@btc-embedded/cdk-extensions",
10436
10425
  "base": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
10437
10426
  "docs": {
10438
- "stability": "experimental"
10427
+ "stability": "experimental",
10428
+ "summary": "A service extension that adds an Application Load Balancer to an ECS service."
10439
10429
  },
10440
10430
  "fqn": "@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionV2",
10441
10431
  "initializer": {
10442
10432
  "docs": {
10443
- "stability": "experimental"
10433
+ "custom": {
10434
+ "throws": "Error if neither platformStackName nor loadBalancer is provided."
10435
+ },
10436
+ "stability": "experimental",
10437
+ "summary": "Creates a new ApplicationLoadBalancerExtensionV2."
10444
10438
  },
10445
10439
  "locationInModule": {
10446
10440
  "filename": "src/extensions/ApplicationLoadBalancerExtensionV2.ts",
10447
- "line": 20
10441
+ "line": 40
10448
10442
  },
10449
10443
  "parameters": [
10450
10444
  {
10445
+ "docs": {
10446
+ "summary": "- The properties for configuring the load balancer extension."
10447
+ },
10451
10448
  "name": "props",
10452
10449
  "type": {
10453
10450
  "fqn": "@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2"
@@ -10458,7 +10455,7 @@
10458
10455
  "kind": "class",
10459
10456
  "locationInModule": {
10460
10457
  "filename": "src/extensions/ApplicationLoadBalancerExtensionV2.ts",
10461
- "line": 17
10458
+ "line": 32
10462
10459
  },
10463
10460
  "methods": [
10464
10461
  {
@@ -10468,7 +10465,7 @@
10468
10465
  },
10469
10466
  "locationInModule": {
10470
10467
  "filename": "src/extensions/ApplicationLoadBalancerExtensionV2.ts",
10471
- "line": 36
10468
+ "line": 56
10472
10469
  },
10473
10470
  "name": "modifyServiceProps",
10474
10471
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -10493,7 +10490,7 @@
10493
10490
  },
10494
10491
  "locationInModule": {
10495
10492
  "filename": "src/extensions/ApplicationLoadBalancerExtensionV2.ts",
10496
- "line": 32
10493
+ "line": 52
10497
10494
  },
10498
10495
  "name": "prehook",
10499
10496
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -10520,7 +10517,7 @@
10520
10517
  },
10521
10518
  "locationInModule": {
10522
10519
  "filename": "src/extensions/ApplicationLoadBalancerExtensionV2.ts",
10523
- "line": 43
10520
+ "line": 63
10524
10521
  },
10525
10522
  "name": "useService",
10526
10523
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -12869,16 +12866,19 @@
12869
12866
  "assembly": "@btc-embedded/cdk-extensions",
12870
12867
  "base": "constructs.Construct",
12871
12868
  "docs": {
12872
- "stability": "experimental"
12869
+ "remarks": "Cross-stack access is supported via {@link fromBasePlatform}, which imports:\n- the MongoDB connection URL secret ARN\n- the DocumentDB security group ID",
12870
+ "stability": "experimental",
12871
+ "summary": "Platform component that provisions an Amazon DocumentDB cluster and exports the required outputs for application stacks."
12873
12872
  },
12874
12873
  "fqn": "@btc-embedded/cdk-extensions.DocumentDB",
12875
12874
  "initializer": {
12876
12875
  "docs": {
12877
- "stability": "experimental"
12876
+ "stability": "experimental",
12877
+ "summary": "Creates a new Amazon DocumentDB cluster and exports the necessary output parameters to allow application stacks to reference it."
12878
12878
  },
12879
12879
  "locationInModule": {
12880
12880
  "filename": "src/platform/DocumentDB.ts",
12881
- "line": 76
12881
+ "line": 116
12882
12882
  },
12883
12883
  "parameters": [
12884
12884
  {
@@ -12904,32 +12904,42 @@
12904
12904
  "kind": "class",
12905
12905
  "locationInModule": {
12906
12906
  "filename": "src/platform/DocumentDB.ts",
12907
- "line": 40
12907
+ "line": 69
12908
12908
  },
12909
12909
  "methods": [
12910
12910
  {
12911
12911
  "docs": {
12912
- "stability": "experimental"
12912
+ "stability": "experimental",
12913
+ "summary": "Imports a {@link IDocumentDB} instance from a base platform stack."
12913
12914
  },
12914
12915
  "locationInModule": {
12915
12916
  "filename": "src/platform/DocumentDB.ts",
12916
- "line": 41
12917
+ "line": 77
12917
12918
  },
12918
12919
  "name": "fromBasePlatform",
12919
12920
  "parameters": [
12920
12921
  {
12922
+ "docs": {
12923
+ "summary": "Construct scope to attach the imported component to."
12924
+ },
12921
12925
  "name": "scope",
12922
12926
  "type": {
12923
12927
  "fqn": "constructs.Construct"
12924
12928
  }
12925
12929
  },
12926
12930
  {
12931
+ "docs": {
12932
+ "summary": "Construct id for the imported component."
12933
+ },
12927
12934
  "name": "id",
12928
12935
  "type": {
12929
12936
  "primitive": "string"
12930
12937
  }
12931
12938
  },
12932
12939
  {
12940
+ "docs": {
12941
+ "summary": "Base platform stack name used to import stack parameters."
12942
+ },
12933
12943
  "name": "name",
12934
12944
  "optional": true,
12935
12945
  "type": {
@@ -12993,7 +13003,7 @@
12993
13003
  "kind": "class",
12994
13004
  "locationInModule": {
12995
13005
  "filename": "src/platform/DocumentDB.ts",
12996
- "line": 31
13006
+ "line": 52
12997
13007
  },
12998
13008
  "methods": [
12999
13009
  {
@@ -13002,7 +13012,7 @@
13002
13012
  },
13003
13013
  "locationInModule": {
13004
13014
  "filename": "src/platform/DocumentDB.ts",
13005
- "line": 35
13015
+ "line": 56
13006
13016
  },
13007
13017
  "name": "allowAccess",
13008
13018
  "overrides": "@btc-embedded/cdk-extensions.IDocumentDB",
@@ -13026,7 +13036,7 @@
13026
13036
  "immutable": true,
13027
13037
  "locationInModule": {
13028
13038
  "filename": "src/platform/DocumentDB.ts",
13029
- "line": 32
13039
+ "line": 53
13030
13040
  },
13031
13041
  "name": "secret",
13032
13042
  "overrides": "@btc-embedded/cdk-extensions.IDocumentDB",
@@ -13042,7 +13052,7 @@
13042
13052
  "immutable": true,
13043
13053
  "locationInModule": {
13044
13054
  "filename": "src/platform/DocumentDB.ts",
13045
- "line": 33
13055
+ "line": 54
13046
13056
  },
13047
13057
  "name": "securityGroup",
13048
13058
  "overrides": "@btc-embedded/cdk-extensions.IDocumentDB",
@@ -13057,25 +13067,27 @@
13057
13067
  "assembly": "@btc-embedded/cdk-extensions",
13058
13068
  "datatype": true,
13059
13069
  "docs": {
13060
- "stability": "experimental"
13070
+ "stability": "experimental",
13071
+ "summary": "Properties for {@link DocumentDB}."
13061
13072
  },
13062
13073
  "fqn": "@btc-embedded/cdk-extensions.DocumentDBProps",
13063
13074
  "kind": "interface",
13064
13075
  "locationInModule": {
13065
13076
  "filename": "src/platform/DocumentDB.ts",
13066
- "line": 17
13077
+ "line": 20
13067
13078
  },
13068
13079
  "name": "DocumentDBProps",
13069
13080
  "properties": [
13070
13081
  {
13071
13082
  "abstract": true,
13072
13083
  "docs": {
13073
- "stability": "experimental"
13084
+ "stability": "experimental",
13085
+ "summary": "Name of the Secrets Manager secret that stores the DocumentDB master credentials."
13074
13086
  },
13075
13087
  "immutable": true,
13076
13088
  "locationInModule": {
13077
13089
  "filename": "src/platform/DocumentDB.ts",
13078
- "line": 20
13090
+ "line": 33
13079
13091
  },
13080
13092
  "name": "secretName",
13081
13093
  "type": {
@@ -13085,12 +13097,14 @@
13085
13097
  {
13086
13098
  "abstract": true,
13087
13099
  "docs": {
13088
- "stability": "experimental"
13100
+ "remarks": "Note: This value is currently not referenced directly by the implementation,\nbut is kept as part of the public contract.",
13101
+ "stability": "experimental",
13102
+ "summary": "Name of the stack this database belongs to."
13089
13103
  },
13090
13104
  "immutable": true,
13091
13105
  "locationInModule": {
13092
13106
  "filename": "src/platform/DocumentDB.ts",
13093
- "line": 18
13107
+ "line": 27
13094
13108
  },
13095
13109
  "name": "stackName",
13096
13110
  "type": {
@@ -13100,12 +13114,13 @@
13100
13114
  {
13101
13115
  "abstract": true,
13102
13116
  "docs": {
13103
- "stability": "experimental"
13117
+ "stability": "experimental",
13118
+ "summary": "Master username for the DocumentDB cluster."
13104
13119
  },
13105
13120
  "immutable": true,
13106
13121
  "locationInModule": {
13107
13122
  "filename": "src/platform/DocumentDB.ts",
13108
- "line": 19
13123
+ "line": 30
13109
13124
  },
13110
13125
  "name": "username",
13111
13126
  "type": {
@@ -13115,12 +13130,13 @@
13115
13130
  {
13116
13131
  "abstract": true,
13117
13132
  "docs": {
13118
- "stability": "experimental"
13133
+ "stability": "experimental",
13134
+ "summary": "VPC to deploy the DocumentDB cluster into."
13119
13135
  },
13120
13136
  "immutable": true,
13121
13137
  "locationInModule": {
13122
13138
  "filename": "src/platform/DocumentDB.ts",
13123
- "line": 21
13139
+ "line": 36
13124
13140
  },
13125
13141
  "name": "vpc",
13126
13142
  "type": {
@@ -13134,7 +13150,9 @@
13134
13150
  "assembly": "@btc-embedded/cdk-extensions",
13135
13151
  "base": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
13136
13152
  "docs": {
13137
- "stability": "experimental"
13153
+ "remarks": "At synth-time, this extension:\n- imports the base platform DocumentDB via {@link DocumentDB.fromBasePlatform}\n- injects a `MONGODB_URL` secret into selected containers\n- optionally adds environment defaults needed by the application runtime\n- grants network/IAM access for the ECS service via `documentDb.allowAccess(...)`",
13154
+ "stability": "experimental",
13155
+ "summary": "ECS Service Extension that grants a service access to a shared Amazon DocumentDB instance defined in the base platform stack."
13138
13156
  },
13139
13157
  "fqn": "@btc-embedded/cdk-extensions.DocumentDbAccessExtension",
13140
13158
  "initializer": {
@@ -13143,7 +13161,7 @@
13143
13161
  },
13144
13162
  "locationInModule": {
13145
13163
  "filename": "src/extensions/DocumentDbAccessExtension.ts",
13146
- "line": 44
13164
+ "line": 69
13147
13165
  },
13148
13166
  "parameters": [
13149
13167
  {
@@ -13157,7 +13175,7 @@
13157
13175
  "kind": "class",
13158
13176
  "locationInModule": {
13159
13177
  "filename": "src/extensions/DocumentDbAccessExtension.ts",
13160
- "line": 39
13178
+ "line": 64
13161
13179
  },
13162
13180
  "methods": [
13163
13181
  {
@@ -13167,7 +13185,7 @@
13167
13185
  },
13168
13186
  "locationInModule": {
13169
13187
  "filename": "src/extensions/DocumentDbAccessExtension.ts",
13170
- "line": 59
13188
+ "line": 84
13171
13189
  },
13172
13190
  "name": "addHooks",
13173
13191
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension"
@@ -13179,7 +13197,7 @@
13179
13197
  },
13180
13198
  "locationInModule": {
13181
13199
  "filename": "src/extensions/DocumentDbAccessExtension.ts",
13182
- "line": 49
13200
+ "line": 74
13183
13201
  },
13184
13202
  "name": "prehook",
13185
13203
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -13206,7 +13224,7 @@
13206
13224
  },
13207
13225
  "locationInModule": {
13208
13226
  "filename": "src/extensions/DocumentDbAccessExtension.ts",
13209
- "line": 67
13227
+ "line": 92
13210
13228
  },
13211
13229
  "name": "useService",
13212
13230
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -13238,7 +13256,7 @@
13238
13256
  "immutable": true,
13239
13257
  "locationInModule": {
13240
13258
  "filename": "src/extensions/DocumentDbAccessExtension.ts",
13241
- "line": 40
13259
+ "line": 65
13242
13260
  },
13243
13261
  "name": "props",
13244
13262
  "type": {
@@ -13251,7 +13269,7 @@
13251
13269
  },
13252
13270
  "locationInModule": {
13253
13271
  "filename": "src/extensions/DocumentDbAccessExtension.ts",
13254
- "line": 42
13272
+ "line": 67
13255
13273
  },
13256
13274
  "name": "documentDb",
13257
13275
  "type": {
@@ -13265,25 +13283,28 @@
13265
13283
  "assembly": "@btc-embedded/cdk-extensions",
13266
13284
  "datatype": true,
13267
13285
  "docs": {
13268
- "stability": "experimental"
13286
+ "stability": "experimental",
13287
+ "summary": "Configuration for {@link DocumentDbAccessExtension}."
13269
13288
  },
13270
13289
  "fqn": "@btc-embedded/cdk-extensions.DocumentDbAccessExtensionProps",
13271
13290
  "kind": "interface",
13272
13291
  "locationInModule": {
13273
13292
  "filename": "src/extensions/DocumentDbAccessExtension.ts",
13274
- "line": 12
13293
+ "line": 15
13275
13294
  },
13276
13295
  "name": "DocumentDbAccessExtensionProps",
13277
13296
  "properties": [
13278
13297
  {
13279
13298
  "abstract": true,
13280
13299
  "docs": {
13281
- "stability": "experimental"
13300
+ "remarks": "Note: This property is currently not referenced directly by this extension's\nimplementation, but is kept as part of the public contract.",
13301
+ "stability": "experimental",
13302
+ "summary": "ID of the security group associated with the database access path."
13282
13303
  },
13283
13304
  "immutable": true,
13284
13305
  "locationInModule": {
13285
13306
  "filename": "src/extensions/DocumentDbAccessExtension.ts",
13286
- "line": 14
13307
+ "line": 29
13287
13308
  },
13288
13309
  "name": "securityGroupId",
13289
13310
  "type": {
@@ -13293,12 +13314,14 @@
13293
13314
  {
13294
13315
  "abstract": true,
13295
13316
  "docs": {
13296
- "stability": "experimental"
13317
+ "remarks": "This is passed to {@link DocumentDB.fromBasePlatform}.",
13318
+ "stability": "experimental",
13319
+ "summary": "Name of the base platform stack to import the shared DocumentDB instance from."
13297
13320
  },
13298
13321
  "immutable": true,
13299
13322
  "locationInModule": {
13300
13323
  "filename": "src/extensions/DocumentDbAccessExtension.ts",
13301
- "line": 13
13324
+ "line": 21
13302
13325
  },
13303
13326
  "name": "basePlatformStackName",
13304
13327
  "optional": true,
@@ -13313,7 +13336,9 @@
13313
13336
  "assembly": "@btc-embedded/cdk-extensions",
13314
13337
  "base": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
13315
13338
  "docs": {
13316
- "stability": "experimental"
13339
+ "remarks": "It supports two complementary capabilities:\n- **Subscribe**: create/attach an SQS queue and subscribe it to one or more SNS topics\n- **Publish**: inject SNS topic metadata into the task so the service can publish events\n\nInternally it composes the ECS Service Extensions `QueueExtension` and `InjecterExtension`.",
13340
+ "stability": "experimental",
13341
+ "summary": "ECS Service Extension that wires domain-event messaging via SNS + SQS."
13317
13342
  },
13318
13343
  "fqn": "@btc-embedded/cdk-extensions.DomainEventMessagingExtension",
13319
13344
  "initializer": {
@@ -13322,7 +13347,7 @@
13322
13347
  },
13323
13348
  "locationInModule": {
13324
13349
  "filename": "src/extensions/DomainEventMessagingExtension.ts",
13325
- "line": 36
13350
+ "line": 58
13326
13351
  },
13327
13352
  "parameters": [
13328
13353
  {
@@ -13337,7 +13362,7 @@
13337
13362
  "kind": "class",
13338
13363
  "locationInModule": {
13339
13364
  "filename": "src/extensions/DomainEventMessagingExtension.ts",
13340
- "line": 28
13365
+ "line": 45
13341
13366
  },
13342
13367
  "methods": [
13343
13368
  {
@@ -13347,7 +13372,7 @@
13347
13372
  },
13348
13373
  "locationInModule": {
13349
13374
  "filename": "src/extensions/DomainEventMessagingExtension.ts",
13350
- "line": 75
13375
+ "line": 97
13351
13376
  },
13352
13377
  "name": "addHooks",
13353
13378
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension"
@@ -13359,7 +13384,7 @@
13359
13384
  },
13360
13385
  "locationInModule": {
13361
13386
  "filename": "src/extensions/DomainEventMessagingExtension.ts",
13362
- "line": 41
13387
+ "line": 63
13363
13388
  },
13364
13389
  "name": "prehook",
13365
13390
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -13384,7 +13409,7 @@
13384
13409
  },
13385
13410
  "locationInModule": {
13386
13411
  "filename": "src/extensions/DomainEventMessagingExtension.ts",
13387
- "line": 90
13412
+ "line": 112
13388
13413
  },
13389
13414
  "name": "publish",
13390
13415
  "parameters": [
@@ -13402,7 +13427,7 @@
13402
13427
  },
13403
13428
  "locationInModule": {
13404
13429
  "filename": "src/extensions/DomainEventMessagingExtension.ts",
13405
- "line": 85
13430
+ "line": 107
13406
13431
  },
13407
13432
  "name": "subscribe",
13408
13433
  "parameters": [
@@ -13422,7 +13447,7 @@
13422
13447
  },
13423
13448
  "locationInModule": {
13424
13449
  "filename": "src/extensions/DomainEventMessagingExtension.ts",
13425
- "line": 94
13450
+ "line": 116
13426
13451
  },
13427
13452
  "name": "useService",
13428
13453
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -13451,7 +13476,7 @@
13451
13476
  },
13452
13477
  "locationInModule": {
13453
13478
  "filename": "src/extensions/DomainEventMessagingExtension.ts",
13454
- "line": 80
13479
+ "line": 102
13455
13480
  },
13456
13481
  "name": "useTaskDefinition",
13457
13482
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -13473,7 +13498,7 @@
13473
13498
  },
13474
13499
  "locationInModule": {
13475
13500
  "filename": "src/extensions/DomainEventMessagingExtension.ts",
13476
- "line": 29
13501
+ "line": 46
13477
13502
  },
13478
13503
  "name": "props",
13479
13504
  "type": {
@@ -13486,7 +13511,7 @@
13486
13511
  },
13487
13512
  "locationInModule": {
13488
13513
  "filename": "src/extensions/DomainEventMessagingExtension.ts",
13489
- "line": 34
13514
+ "line": 56
13490
13515
  },
13491
13516
  "name": "publishEvents",
13492
13517
  "type": {
@@ -13504,7 +13529,7 @@
13504
13529
  },
13505
13530
  "locationInModule": {
13506
13531
  "filename": "src/extensions/DomainEventMessagingExtension.ts",
13507
- "line": 33
13532
+ "line": 54
13508
13533
  },
13509
13534
  "name": "subscribeEvents",
13510
13535
  "type": {
@@ -13522,7 +13547,7 @@
13522
13547
  },
13523
13548
  "locationInModule": {
13524
13549
  "filename": "src/extensions/DomainEventMessagingExtension.ts",
13525
- "line": 32
13550
+ "line": 52
13526
13551
  },
13527
13552
  "name": "injecterExtension",
13528
13553
  "optional": true,
@@ -13536,7 +13561,7 @@
13536
13561
  },
13537
13562
  "locationInModule": {
13538
13563
  "filename": "src/extensions/DomainEventMessagingExtension.ts",
13539
- "line": 30
13564
+ "line": 48
13540
13565
  },
13541
13566
  "name": "queue",
13542
13567
  "optional": true,
@@ -13550,7 +13575,7 @@
13550
13575
  },
13551
13576
  "locationInModule": {
13552
13577
  "filename": "src/extensions/DomainEventMessagingExtension.ts",
13553
- "line": 31
13578
+ "line": 50
13554
13579
  },
13555
13580
  "name": "queueExtension",
13556
13581
  "optional": true,
@@ -14411,13 +14436,14 @@
14411
14436
  "assembly": "@btc-embedded/cdk-extensions",
14412
14437
  "datatype": true,
14413
14438
  "docs": {
14414
- "stability": "experimental"
14439
+ "stability": "experimental",
14440
+ "summary": "Optional overrides for the environment variable names injected into application containers."
14415
14441
  },
14416
14442
  "fqn": "@btc-embedded/cdk-extensions.EnvironmentVariableNames",
14417
14443
  "kind": "interface",
14418
14444
  "locationInModule": {
14419
14445
  "filename": "src/extensions/PostgresDbAccessExtension.ts",
14420
- "line": 16
14446
+ "line": 20
14421
14447
  },
14422
14448
  "name": "EnvironmentVariableNames",
14423
14449
  "properties": [
@@ -14426,12 +14452,12 @@
14426
14452
  "docs": {
14427
14453
  "default": "DATABASE_URL",
14428
14454
  "stability": "experimental",
14429
- "summary": "Environment variable for the connction string."
14455
+ "summary": "Environment variable for the connection string."
14430
14456
  },
14431
14457
  "immutable": true,
14432
14458
  "locationInModule": {
14433
14459
  "filename": "src/extensions/PostgresDbAccessExtension.ts",
14434
- "line": 22
14460
+ "line": 26
14435
14461
  },
14436
14462
  "name": "databaseUrl",
14437
14463
  "optional": true,
@@ -14449,7 +14475,7 @@
14449
14475
  "immutable": true,
14450
14476
  "locationInModule": {
14451
14477
  "filename": "src/extensions/PostgresDbAccessExtension.ts",
14452
- "line": 36
14478
+ "line": 40
14453
14479
  },
14454
14480
  "name": "postgresDatabase",
14455
14481
  "optional": true,
@@ -14467,7 +14493,7 @@
14467
14493
  "immutable": true,
14468
14494
  "locationInModule": {
14469
14495
  "filename": "src/extensions/PostgresDbAccessExtension.ts",
14470
- "line": 29
14496
+ "line": 33
14471
14497
  },
14472
14498
  "name": "postgresEndpoint",
14473
14499
  "optional": true,
@@ -14485,7 +14511,7 @@
14485
14511
  "immutable": true,
14486
14512
  "locationInModule": {
14487
14513
  "filename": "src/extensions/PostgresDbAccessExtension.ts",
14488
- "line": 50
14514
+ "line": 54
14489
14515
  },
14490
14516
  "name": "postgresPassword",
14491
14517
  "optional": true,
@@ -14503,7 +14529,7 @@
14503
14529
  "immutable": true,
14504
14530
  "locationInModule": {
14505
14531
  "filename": "src/extensions/PostgresDbAccessExtension.ts",
14506
- "line": 43
14532
+ "line": 47
14507
14533
  },
14508
14534
  "name": "postgresUsername",
14509
14535
  "optional": true,
@@ -14518,25 +14544,28 @@
14518
14544
  "assembly": "@btc-embedded/cdk-extensions",
14519
14545
  "datatype": true,
14520
14546
  "docs": {
14521
- "stability": "experimental"
14547
+ "stability": "experimental",
14548
+ "summary": "Configuration for {@link DomainEventMessagingExtension}."
14522
14549
  },
14523
14550
  "fqn": "@btc-embedded/cdk-extensions.EventListenerExtensionProps",
14524
14551
  "kind": "interface",
14525
14552
  "locationInModule": {
14526
14553
  "filename": "src/extensions/DomainEventMessagingExtension.ts",
14527
- "line": 24
14554
+ "line": 27
14528
14555
  },
14529
14556
  "name": "EventListenerExtensionProps",
14530
14557
  "properties": [
14531
14558
  {
14532
14559
  "abstract": true,
14533
14560
  "docs": {
14534
- "stability": "experimental"
14561
+ "remarks": "If omitted, the extension creates a new queue and a dead-letter queue.",
14562
+ "stability": "experimental",
14563
+ "summary": "Optional SQS queue to use for inbound domain events."
14535
14564
  },
14536
14565
  "immutable": true,
14537
14566
  "locationInModule": {
14538
14567
  "filename": "src/extensions/DomainEventMessagingExtension.ts",
14539
- "line": 25
14568
+ "line": 33
14540
14569
  },
14541
14570
  "name": "queue",
14542
14571
  "optional": true,
@@ -14743,25 +14772,27 @@
14743
14772
  "assembly": "@btc-embedded/cdk-extensions",
14744
14773
  "datatype": true,
14745
14774
  "docs": {
14746
- "stability": "experimental"
14775
+ "stability": "experimental",
14776
+ "summary": "Option to use an already created CloudWatch Log Group for container logging."
14747
14777
  },
14748
14778
  "fqn": "@btc-embedded/cdk-extensions.ExistingLogroupOption",
14749
14779
  "kind": "interface",
14750
14780
  "locationInModule": {
14751
14781
  "filename": "src/extensions/LogExtension.ts",
14752
- "line": 12
14782
+ "line": 15
14753
14783
  },
14754
14784
  "name": "ExistingLogroupOption",
14755
14785
  "properties": [
14756
14786
  {
14757
14787
  "abstract": true,
14758
14788
  "docs": {
14759
- "stability": "experimental"
14789
+ "stability": "experimental",
14790
+ "summary": "Target CloudWatch log group for container stdout/stderr."
14760
14791
  },
14761
14792
  "immutable": true,
14762
14793
  "locationInModule": {
14763
14794
  "filename": "src/extensions/LogExtension.ts",
14764
- "line": 13
14795
+ "line": 17
14765
14796
  },
14766
14797
  "name": "logGroup",
14767
14798
  "type": {
@@ -16150,13 +16181,15 @@
16150
16181
  "@btc-embedded/cdk-extensions.IDocumentDB": {
16151
16182
  "assembly": "@btc-embedded/cdk-extensions",
16152
16183
  "docs": {
16153
- "stability": "experimental"
16184
+ "remarks": "The component exposes the connection secret and security group so application stacks\ncan wire services to it while keeping the underlying implementation hidden.",
16185
+ "stability": "experimental",
16186
+ "summary": "Public interface for a DocumentDB component."
16154
16187
  },
16155
16188
  "fqn": "@btc-embedded/cdk-extensions.IDocumentDB",
16156
16189
  "kind": "interface",
16157
16190
  "locationInModule": {
16158
16191
  "filename": "src/platform/DocumentDB.ts",
16159
- "line": 24
16192
+ "line": 45
16160
16193
  },
16161
16194
  "methods": [
16162
16195
  {
@@ -16166,7 +16199,7 @@
16166
16199
  },
16167
16200
  "locationInModule": {
16168
16201
  "filename": "src/platform/DocumentDB.ts",
16169
- "line": 28
16202
+ "line": 49
16170
16203
  },
16171
16204
  "name": "allowAccess",
16172
16205
  "parameters": [
@@ -16189,7 +16222,7 @@
16189
16222
  "immutable": true,
16190
16223
  "locationInModule": {
16191
16224
  "filename": "src/platform/DocumentDB.ts",
16192
- "line": 25
16225
+ "line": 46
16193
16226
  },
16194
16227
  "name": "secret",
16195
16228
  "type": {
@@ -16204,7 +16237,7 @@
16204
16237
  "immutable": true,
16205
16238
  "locationInModule": {
16206
16239
  "filename": "src/platform/DocumentDB.ts",
16207
- "line": 26
16240
+ "line": 47
16208
16241
  },
16209
16242
  "name": "securityGroup",
16210
16243
  "type": {
@@ -16469,13 +16502,14 @@
16469
16502
  "@btc-embedded/cdk-extensions.IPrivateDnsNamespace": {
16470
16503
  "assembly": "@btc-embedded/cdk-extensions",
16471
16504
  "docs": {
16472
- "stability": "experimental"
16505
+ "stability": "experimental",
16506
+ "summary": "Public interface for the private DNS namespace platform component."
16473
16507
  },
16474
16508
  "fqn": "@btc-embedded/cdk-extensions.IPrivateDnsNamespace",
16475
16509
  "kind": "interface",
16476
16510
  "locationInModule": {
16477
16511
  "filename": "src/platform/PrivateDnsNamespace.ts",
16478
- "line": 21
16512
+ "line": 46
16479
16513
  },
16480
16514
  "name": "IPrivateDnsNamespace",
16481
16515
  "properties": [
@@ -16487,7 +16521,7 @@
16487
16521
  "immutable": true,
16488
16522
  "locationInModule": {
16489
16523
  "filename": "src/platform/PrivateDnsNamespace.ts",
16490
- "line": 22
16524
+ "line": 47
16491
16525
  },
16492
16526
  "name": "namespace",
16493
16527
  "type": {
@@ -16578,25 +16612,27 @@
16578
16612
  "assembly": "@btc-embedded/cdk-extensions",
16579
16613
  "datatype": true,
16580
16614
  "docs": {
16581
- "stability": "experimental"
16615
+ "stability": "experimental",
16616
+ "summary": "Option to import the shared base platform log group."
16582
16617
  },
16583
16618
  "fqn": "@btc-embedded/cdk-extensions.ImportLogGroupOption",
16584
16619
  "kind": "interface",
16585
16620
  "locationInModule": {
16586
16621
  "filename": "src/extensions/LogExtension.ts",
16587
- "line": 15
16622
+ "line": 23
16588
16623
  },
16589
16624
  "name": "ImportLogGroupOption",
16590
16625
  "properties": [
16591
16626
  {
16592
16627
  "abstract": true,
16593
16628
  "docs": {
16594
- "stability": "experimental"
16629
+ "stability": "experimental",
16630
+ "summary": "Base platform stack name used to import the log group via {@link BTCLogGroup.fromBasePlatform}."
16595
16631
  },
16596
16632
  "immutable": true,
16597
16633
  "locationInModule": {
16598
16634
  "filename": "src/extensions/LogExtension.ts",
16599
- "line": 16
16635
+ "line": 25
16600
16636
  },
16601
16637
  "name": "basePlatformStackName",
16602
16638
  "optional": true,
@@ -16661,16 +16697,19 @@
16661
16697
  "assembly": "@btc-embedded/cdk-extensions",
16662
16698
  "base": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
16663
16699
  "docs": {
16664
- "stability": "experimental"
16700
+ "remarks": "You can either:\n- pass an existing log group ({@link ExistingLogroupOption}), or\n- import a shared base platform log group ({@link ImportLogGroupOption}).",
16701
+ "stability": "experimental",
16702
+ "summary": "ECS Service Extension that configures CloudWatch Logs for all containers in a service."
16665
16703
  },
16666
16704
  "fqn": "@btc-embedded/cdk-extensions.LogExtension",
16667
16705
  "initializer": {
16668
16706
  "docs": {
16669
- "stability": "experimental"
16707
+ "stability": "experimental",
16708
+ "summary": "Creates a new {@link LogExtension}."
16670
16709
  },
16671
16710
  "locationInModule": {
16672
16711
  "filename": "src/extensions/LogExtension.ts",
16673
- "line": 42
16712
+ "line": 69
16674
16713
  },
16675
16714
  "parameters": [
16676
16715
  {
@@ -16693,7 +16732,7 @@
16693
16732
  "kind": "class",
16694
16733
  "locationInModule": {
16695
16734
  "filename": "src/extensions/LogExtension.ts",
16696
- "line": 40
16735
+ "line": 63
16697
16736
  },
16698
16737
  "methods": [
16699
16738
  {
@@ -16703,7 +16742,7 @@
16703
16742
  },
16704
16743
  "locationInModule": {
16705
16744
  "filename": "src/extensions/LogExtension.ts",
16706
- "line": 61
16745
+ "line": 88
16707
16746
  },
16708
16747
  "name": "addHooks",
16709
16748
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension"
@@ -16715,7 +16754,7 @@
16715
16754
  },
16716
16755
  "locationInModule": {
16717
16756
  "filename": "src/extensions/LogExtension.ts",
16718
- "line": 46
16757
+ "line": 73
16719
16758
  },
16720
16759
  "name": "prehook",
16721
16760
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -16929,7 +16968,9 @@
16929
16968
  "assembly": "@btc-embedded/cdk-extensions",
16930
16969
  "base": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
16931
16970
  "docs": {
16932
- "stability": "experimental"
16971
+ "remarks": "This extension injects the following into the main application container:\n- `OIDC_ISSUER_URL`\n- `OIDC_CLIENT_ID`\n- `OIDC_SCOPE`\n- `OIDC_CLIENT_SECRET` (as a Secrets Manager secret)\n- `OIDC_REDIRECT_URI` (optional)",
16972
+ "stability": "experimental",
16973
+ "summary": "ECS service extension that wires the service to OpenID Connect settings from the base platform's Cognito user pool."
16933
16974
  },
16934
16975
  "fqn": "@btc-embedded/cdk-extensions.OpenIdExtension",
16935
16976
  "initializer": {
@@ -16938,7 +16979,7 @@
16938
16979
  },
16939
16980
  "locationInModule": {
16940
16981
  "filename": "src/extensions/OpenIdExtension.ts",
16941
- "line": 66
16982
+ "line": 110
16942
16983
  },
16943
16984
  "parameters": [
16944
16985
  {
@@ -16952,29 +16993,31 @@
16952
16993
  "kind": "class",
16953
16994
  "locationInModule": {
16954
16995
  "filename": "src/extensions/OpenIdExtension.ts",
16955
- "line": 61
16996
+ "line": 100
16956
16997
  },
16957
16998
  "methods": [
16958
16999
  {
16959
17000
  "docs": {
17001
+ "remarks": "Requires a main container named `service-container` with a configured\ntraffic port.",
16960
17002
  "stability": "experimental",
16961
- "summary": "A hook that allows the extension to add hooks to other extensions that are registered."
17003
+ "summary": "Registers container hooks after the parent service and user pool are known."
16962
17004
  },
16963
17005
  "locationInModule": {
16964
17006
  "filename": "src/extensions/OpenIdExtension.ts",
16965
- "line": 71
17007
+ "line": 121
16966
17008
  },
16967
17009
  "name": "addHooks",
16968
17010
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension"
16969
17011
  },
16970
17012
  {
16971
17013
  "docs": {
17014
+ "remarks": "Called by the extensions framework before hooks are applied.",
16972
17015
  "stability": "experimental",
16973
- "summary": "A hook that is called for each extension ahead of time to allow for any initial setup, such as creating resources in advance."
17016
+ "summary": "Resolves base-platform resources needed by the extension."
16974
17017
  },
16975
17018
  "locationInModule": {
16976
17019
  "filename": "src/extensions/OpenIdExtension.ts",
16977
- "line": 87
17020
+ "line": 142
16978
17021
  },
16979
17022
  "name": "prehook",
16980
17023
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -16998,11 +17041,13 @@
16998
17041
  "properties": [
16999
17042
  {
17000
17043
  "docs": {
17001
- "stability": "experimental"
17044
+ "remarks": "Populated during {@link prehook}.",
17045
+ "stability": "experimental",
17046
+ "summary": "Resolved Cognito user pool from the base platform."
17002
17047
  },
17003
17048
  "locationInModule": {
17004
17049
  "filename": "src/extensions/OpenIdExtension.ts",
17005
- "line": 64
17050
+ "line": 108
17006
17051
  },
17007
17052
  "name": "cognitoUserPool",
17008
17053
  "type": {
@@ -17022,7 +17067,7 @@
17022
17067
  "kind": "interface",
17023
17068
  "locationInModule": {
17024
17069
  "filename": "src/extensions/OpenIdExtension.ts",
17025
- "line": 49
17070
+ "line": 77
17026
17071
  },
17027
17072
  "name": "OpenIdExtensionProps",
17028
17073
  "properties": [
@@ -17035,7 +17080,7 @@
17035
17080
  "immutable": true,
17036
17081
  "locationInModule": {
17037
17082
  "filename": "src/extensions/OpenIdExtension.ts",
17038
- "line": 53
17083
+ "line": 81
17039
17084
  },
17040
17085
  "name": "basePlatformStackName",
17041
17086
  "optional": true,
@@ -17052,7 +17097,7 @@
17052
17097
  "immutable": true,
17053
17098
  "locationInModule": {
17054
17099
  "filename": "src/extensions/OpenIdExtension.ts",
17055
- "line": 58
17100
+ "line": 86
17056
17101
  },
17057
17102
  "name": "redirectUri",
17058
17103
  "optional": true,
@@ -17241,7 +17286,9 @@
17241
17286
  "assembly": "@btc-embedded/cdk-extensions",
17242
17287
  "base": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
17243
17288
  "docs": {
17244
- "stability": "experimental"
17289
+ "remarks": "What it does:\n- Imports DB endpoint, secrets and security group IDs from the base platform stack outputs.\n- Allows the service SG to connect to the DB SG on port 5432.\n- Injects connection details into selected containers via container hooks.\n- Optionally adds a one-shot migration container and wires dependencies so the\n main container starts only after migrations succeed.",
17290
+ "stability": "experimental",
17291
+ "summary": "ECS service extension that grants an ECS service access to an Aurora Postgres database created by the base platform."
17245
17292
  },
17246
17293
  "fqn": "@btc-embedded/cdk-extensions.PostgresDbAccessExtension",
17247
17294
  "initializer": {
@@ -17250,7 +17297,7 @@
17250
17297
  },
17251
17298
  "locationInModule": {
17252
17299
  "filename": "src/extensions/PostgresDbAccessExtension.ts",
17253
- "line": 170
17300
+ "line": 200
17254
17301
  },
17255
17302
  "parameters": [
17256
17303
  {
@@ -17264,17 +17311,18 @@
17264
17311
  "kind": "class",
17265
17312
  "locationInModule": {
17266
17313
  "filename": "src/extensions/PostgresDbAccessExtension.ts",
17267
- "line": 164
17314
+ "line": 188
17268
17315
  },
17269
17316
  "methods": [
17270
17317
  {
17271
17318
  "docs": {
17319
+ "remarks": "If `enableMigration` is true, also applies the hook to the migration\ncontainer (created later in {@link useTaskDefinition}).",
17272
17320
  "stability": "experimental",
17273
- "summary": "A hook that allows the extension to add hooks to other extensions that are registered."
17321
+ "summary": "Applies the Postgres env/secrets hook to database-access containers."
17274
17322
  },
17275
17323
  "locationInModule": {
17276
17324
  "filename": "src/extensions/PostgresDbAccessExtension.ts",
17277
- "line": 234
17325
+ "line": 274
17278
17326
  },
17279
17327
  "name": "addHooks",
17280
17328
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension"
@@ -17282,11 +17330,11 @@
17282
17330
  {
17283
17331
  "docs": {
17284
17332
  "stability": "experimental",
17285
- "summary": "Prior to launching the task definition as a service, this hook is called on each extension to give it a chance to mutate the properties of the service to be created."
17333
+ "summary": "When migrations are enabled, ensures the default container depends on the migration container completing successfully."
17286
17334
  },
17287
17335
  "locationInModule": {
17288
17336
  "filename": "src/extensions/PostgresDbAccessExtension.ts",
17289
- "line": 315
17337
+ "line": 370
17290
17338
  },
17291
17339
  "name": "modifyServiceProps",
17292
17340
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -17307,11 +17355,11 @@
17307
17355
  {
17308
17356
  "docs": {
17309
17357
  "stability": "experimental",
17310
- "summary": "A hook that is called for each extension ahead of time to allow for any initial setup, such as creating resources in advance."
17358
+ "summary": "Resolves base-platform outputs (endpoint, secret ARNs) and prepares a service-specific connection-string secret."
17311
17359
  },
17312
17360
  "locationInModule": {
17313
17361
  "filename": "src/extensions/PostgresDbAccessExtension.ts",
17314
- "line": 175
17362
+ "line": 209
17315
17363
  },
17316
17364
  "name": "prehook",
17317
17365
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -17332,13 +17380,12 @@
17332
17380
  },
17333
17381
  {
17334
17382
  "docs": {
17335
- "remarks": "It is generally used to\ncreate any final resources which might depend on the service itself.",
17336
17383
  "stability": "experimental",
17337
- "summary": "When this hook is implemented by extension, it allows the extension to use the service which has been created."
17384
+ "summary": "Grants the ECS service security group ingress to the database security group on TCP 5432."
17338
17385
  },
17339
17386
  "locationInModule": {
17340
17387
  "filename": "src/extensions/PostgresDbAccessExtension.ts",
17341
- "line": 250
17388
+ "line": 294
17342
17389
  },
17343
17390
  "name": "useService",
17344
17391
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -17362,12 +17409,13 @@
17362
17409
  },
17363
17410
  {
17364
17411
  "docs": {
17412
+ "remarks": "The migration container uses the same image repo/tag as the default\ncontainer, but runs with `command: [migrationParameter]`.",
17365
17413
  "stability": "experimental",
17366
- "summary": "Once the task definition is created, this hook is called for each extension to give it a chance to add containers to the task definition, change the task definition's role to add permissions, etc."
17414
+ "summary": "Optionally adds a non-essential migration container that runs before the default container."
17367
17415
  },
17368
17416
  "locationInModule": {
17369
17417
  "filename": "src/extensions/PostgresDbAccessExtension.ts",
17370
- "line": 268
17418
+ "line": 319
17371
17419
  },
17372
17420
  "name": "useTaskDefinition",
17373
17421
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -17390,7 +17438,7 @@
17390
17438
  "immutable": true,
17391
17439
  "locationInModule": {
17392
17440
  "filename": "src/extensions/PostgresDbAccessExtension.ts",
17393
- "line": 165
17441
+ "line": 189
17394
17442
  },
17395
17443
  "name": "props",
17396
17444
  "type": {
@@ -17399,11 +17447,12 @@
17399
17447
  },
17400
17448
  {
17401
17449
  "docs": {
17402
- "stability": "experimental"
17450
+ "stability": "experimental",
17451
+ "summary": "Connection-string secret created for this service (populated in {@link prehook})."
17403
17452
  },
17404
17453
  "locationInModule": {
17405
17454
  "filename": "src/extensions/PostgresDbAccessExtension.ts",
17406
- "line": 166
17455
+ "line": 192
17407
17456
  },
17408
17457
  "name": "connectionString",
17409
17458
  "type": {
@@ -17412,11 +17461,12 @@
17412
17461
  },
17413
17462
  {
17414
17463
  "docs": {
17415
- "stability": "experimental"
17464
+ "stability": "experimental",
17465
+ "summary": "Credentials secret imported from base platform (populated in {@link prehook})."
17416
17466
  },
17417
17467
  "locationInModule": {
17418
17468
  "filename": "src/extensions/PostgresDbAccessExtension.ts",
17419
- "line": 167
17469
+ "line": 195
17420
17470
  },
17421
17471
  "name": "credentialsSecret",
17422
17472
  "type": {
@@ -17425,11 +17475,12 @@
17425
17475
  },
17426
17476
  {
17427
17477
  "docs": {
17428
- "stability": "experimental"
17478
+ "stability": "experimental",
17479
+ "summary": "Database endpoint imported from base platform (populated in {@link prehook})."
17429
17480
  },
17430
17481
  "locationInModule": {
17431
17482
  "filename": "src/extensions/PostgresDbAccessExtension.ts",
17432
- "line": 168
17483
+ "line": 198
17433
17484
  },
17434
17485
  "name": "endpoint",
17435
17486
  "type": {
@@ -17449,7 +17500,7 @@
17449
17500
  "kind": "interface",
17450
17501
  "locationInModule": {
17451
17502
  "filename": "src/extensions/PostgresDbAccessExtension.ts",
17452
- "line": 53
17503
+ "line": 57
17453
17504
  },
17454
17505
  "name": "PostgresDbAccessExtensionProps",
17455
17506
  "properties": [
@@ -17462,7 +17513,7 @@
17462
17513
  "immutable": true,
17463
17514
  "locationInModule": {
17464
17515
  "filename": "src/extensions/PostgresDbAccessExtension.ts",
17465
- "line": 63
17516
+ "line": 67
17466
17517
  },
17467
17518
  "name": "dbName",
17468
17519
  "type": {
@@ -17479,7 +17530,7 @@
17479
17530
  "immutable": true,
17480
17531
  "locationInModule": {
17481
17532
  "filename": "src/extensions/PostgresDbAccessExtension.ts",
17482
- "line": 58
17533
+ "line": 62
17483
17534
  },
17484
17535
  "name": "basePlatformStackName",
17485
17536
  "optional": true,
@@ -17497,7 +17548,7 @@
17497
17548
  "immutable": true,
17498
17549
  "locationInModule": {
17499
17550
  "filename": "src/extensions/PostgresDbAccessExtension.ts",
17500
- "line": 80
17551
+ "line": 84
17501
17552
  },
17502
17553
  "name": "dbConnectionProperties",
17503
17554
  "optional": true,
@@ -17521,7 +17572,7 @@
17521
17572
  "immutable": true,
17522
17573
  "locationInModule": {
17523
17574
  "filename": "src/extensions/PostgresDbAccessExtension.ts",
17524
- "line": 96
17575
+ "line": 100
17525
17576
  },
17526
17577
  "name": "enableMigration",
17527
17578
  "optional": true,
@@ -17539,7 +17590,7 @@
17539
17590
  "immutable": true,
17540
17591
  "locationInModule": {
17541
17592
  "filename": "src/extensions/PostgresDbAccessExtension.ts",
17542
- "line": 87
17593
+ "line": 91
17543
17594
  },
17544
17595
  "name": "environmentVariableNames",
17545
17596
  "optional": true,
@@ -17558,7 +17609,7 @@
17558
17609
  "immutable": true,
17559
17610
  "locationInModule": {
17560
17611
  "filename": "src/extensions/PostgresDbAccessExtension.ts",
17561
- "line": 72
17612
+ "line": 76
17562
17613
  },
17563
17614
  "name": "logGroup",
17564
17615
  "optional": true,
@@ -17576,7 +17627,7 @@
17576
17627
  "immutable": true,
17577
17628
  "locationInModule": {
17578
17629
  "filename": "src/extensions/PostgresDbAccessExtension.ts",
17579
- "line": 103
17630
+ "line": 107
17580
17631
  },
17581
17632
  "name": "migrationParameter",
17582
17633
  "optional": true,
@@ -17591,25 +17642,27 @@
17591
17642
  "assembly": "@btc-embedded/cdk-extensions",
17592
17643
  "datatype": true,
17593
17644
  "docs": {
17594
- "stability": "experimental"
17645
+ "stability": "experimental",
17646
+ "summary": "Attributes describing an already existing (predefined) Cloud Map private DNS namespace."
17595
17647
  },
17596
17648
  "fqn": "@btc-embedded/cdk-extensions.PredefinedPrivateDnsNamespaceProps",
17597
17649
  "kind": "interface",
17598
17650
  "locationInModule": {
17599
17651
  "filename": "src/platform/PrivateDnsNamespace.ts",
17600
- "line": 9
17652
+ "line": 12
17601
17653
  },
17602
17654
  "name": "PredefinedPrivateDnsNamespaceProps",
17603
17655
  "properties": [
17604
17656
  {
17605
17657
  "abstract": true,
17606
17658
  "docs": {
17607
- "stability": "experimental"
17659
+ "stability": "experimental",
17660
+ "summary": "Namespace ARN."
17608
17661
  },
17609
17662
  "immutable": true,
17610
17663
  "locationInModule": {
17611
17664
  "filename": "src/platform/PrivateDnsNamespace.ts",
17612
- "line": 10
17665
+ "line": 14
17613
17666
  },
17614
17667
  "name": "arn",
17615
17668
  "type": {
@@ -17619,12 +17672,13 @@
17619
17672
  {
17620
17673
  "abstract": true,
17621
17674
  "docs": {
17622
- "stability": "experimental"
17675
+ "stability": "experimental",
17676
+ "summary": "Namespace ID."
17623
17677
  },
17624
17678
  "immutable": true,
17625
17679
  "locationInModule": {
17626
17680
  "filename": "src/platform/PrivateDnsNamespace.ts",
17627
- "line": 11
17681
+ "line": 16
17628
17682
  },
17629
17683
  "name": "id",
17630
17684
  "type": {
@@ -17634,12 +17688,13 @@
17634
17688
  {
17635
17689
  "abstract": true,
17636
17690
  "docs": {
17637
- "stability": "experimental"
17691
+ "stability": "experimental",
17692
+ "summary": "Namespace name (e.g. `services.internal`)."
17638
17693
  },
17639
17694
  "immutable": true,
17640
17695
  "locationInModule": {
17641
17696
  "filename": "src/platform/PrivateDnsNamespace.ts",
17642
- "line": 12
17697
+ "line": 18
17643
17698
  },
17644
17699
  "name": "namespace",
17645
17700
  "type": {
@@ -17695,16 +17750,19 @@
17695
17750
  "assembly": "@btc-embedded/cdk-extensions",
17696
17751
  "base": "constructs.Construct",
17697
17752
  "docs": {
17698
- "stability": "experimental"
17753
+ "remarks": "The namespace can either be created by this construct (via {@link PrivateDnsNamespaceProps.namespaceName})\nor referenced from an existing namespace (via {@link PrivateDnsNamespaceProps.definedPrivateDnsNamespace}).\n\nFor cross-stack usage, the construct exports namespace attributes as stack parameters and\ncan be imported from application stacks using {@link fromBasePlatform}.",
17754
+ "stability": "experimental",
17755
+ "summary": "Platform component that provides a Cloud Map private DNS namespace for service discovery."
17699
17756
  },
17700
17757
  "fqn": "@btc-embedded/cdk-extensions.PrivateDnsNamespace",
17701
17758
  "initializer": {
17702
17759
  "docs": {
17703
- "stability": "experimental"
17760
+ "stability": "experimental",
17761
+ "summary": "Creates a new private DNS namespace or references an existing one, and exports its attributes for cross-stack consumption."
17704
17762
  },
17705
17763
  "locationInModule": {
17706
17764
  "filename": "src/platform/PrivateDnsNamespace.ts",
17707
- "line": 78
17765
+ "line": 123
17708
17766
  },
17709
17767
  "parameters": [
17710
17768
  {
@@ -17733,32 +17791,42 @@
17733
17791
  "kind": "class",
17734
17792
  "locationInModule": {
17735
17793
  "filename": "src/platform/PrivateDnsNamespace.ts",
17736
- "line": 25
17794
+ "line": 59
17737
17795
  },
17738
17796
  "methods": [
17739
17797
  {
17740
17798
  "docs": {
17741
- "stability": "experimental"
17799
+ "stability": "experimental",
17800
+ "summary": "Imports a {@link IPrivateDnsNamespace} instance from a base platform stack."
17742
17801
  },
17743
17802
  "locationInModule": {
17744
17803
  "filename": "src/platform/PrivateDnsNamespace.ts",
17745
- "line": 29
17804
+ "line": 70
17746
17805
  },
17747
17806
  "name": "fromBasePlatform",
17748
17807
  "parameters": [
17749
17808
  {
17809
+ "docs": {
17810
+ "summary": "Construct scope to attach the imported component to."
17811
+ },
17750
17812
  "name": "scope",
17751
17813
  "type": {
17752
17814
  "fqn": "constructs.Construct"
17753
17815
  }
17754
17816
  },
17755
17817
  {
17818
+ "docs": {
17819
+ "summary": "Construct id for the imported component."
17820
+ },
17756
17821
  "name": "id",
17757
17822
  "type": {
17758
17823
  "primitive": "string"
17759
17824
  }
17760
17825
  },
17761
17826
  {
17827
+ "docs": {
17828
+ "summary": "Base platform stack name used to import stack parameters."
17829
+ },
17762
17830
  "name": "stackName",
17763
17831
  "optional": true,
17764
17832
  "type": {
@@ -17783,7 +17851,7 @@
17783
17851
  "immutable": true,
17784
17852
  "locationInModule": {
17785
17853
  "filename": "src/platform/PrivateDnsNamespace.ts",
17786
- "line": 76
17854
+ "line": 117
17787
17855
  },
17788
17856
  "name": "namespace",
17789
17857
  "overrides": "@btc-embedded/cdk-extensions.IPrivateDnsNamespace",
@@ -17798,25 +17866,27 @@
17798
17866
  "assembly": "@btc-embedded/cdk-extensions",
17799
17867
  "datatype": true,
17800
17868
  "docs": {
17801
- "stability": "experimental"
17869
+ "stability": "experimental",
17870
+ "summary": "Properties for {@link PrivateDnsNamespace}."
17802
17871
  },
17803
17872
  "fqn": "@btc-embedded/cdk-extensions.PrivateDnsNamespaceProps",
17804
17873
  "kind": "interface",
17805
17874
  "locationInModule": {
17806
17875
  "filename": "src/platform/PrivateDnsNamespace.ts",
17807
- "line": 15
17876
+ "line": 24
17808
17877
  },
17809
17878
  "name": "PrivateDnsNamespaceProps",
17810
17879
  "properties": [
17811
17880
  {
17812
17881
  "abstract": true,
17813
17882
  "docs": {
17814
- "stability": "experimental"
17883
+ "stability": "experimental",
17884
+ "summary": "VPC in which the private DNS namespace is created/associated."
17815
17885
  },
17816
17886
  "immutable": true,
17817
17887
  "locationInModule": {
17818
17888
  "filename": "src/platform/PrivateDnsNamespace.ts",
17819
- "line": 18
17889
+ "line": 40
17820
17890
  },
17821
17891
  "name": "vpc",
17822
17892
  "type": {
@@ -17826,12 +17896,14 @@
17826
17896
  {
17827
17897
  "abstract": true,
17828
17898
  "docs": {
17829
- "stability": "experimental"
17899
+ "remarks": "If set, {@link namespaceName} is ignored.",
17900
+ "stability": "experimental",
17901
+ "summary": "Reuse an existing namespace by providing its attributes."
17830
17902
  },
17831
17903
  "immutable": true,
17832
17904
  "locationInModule": {
17833
17905
  "filename": "src/platform/PrivateDnsNamespace.ts",
17834
- "line": 16
17906
+ "line": 30
17835
17907
  },
17836
17908
  "name": "definedPrivateDnsNamespace",
17837
17909
  "optional": true,
@@ -17842,12 +17914,14 @@
17842
17914
  {
17843
17915
  "abstract": true,
17844
17916
  "docs": {
17845
- "stability": "experimental"
17917
+ "remarks": "Required when {@link definedPrivateDnsNamespace} is not provided.",
17918
+ "stability": "experimental",
17919
+ "summary": "Name for a new private DNS namespace to be created."
17846
17920
  },
17847
17921
  "immutable": true,
17848
17922
  "locationInModule": {
17849
17923
  "filename": "src/platform/PrivateDnsNamespace.ts",
17850
- "line": 17
17924
+ "line": 37
17851
17925
  },
17852
17926
  "name": "namespaceName",
17853
17927
  "optional": true,
@@ -18976,7 +19050,9 @@
18976
19050
  "assembly": "@btc-embedded/cdk-extensions",
18977
19051
  "base": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
18978
19052
  "docs": {
18979
- "stability": "experimental"
19053
+ "remarks": "If no props are provided, defaults are applied:\n- `time`: 200\n- `interval`: 200\n- `probes`: 5",
19054
+ "stability": "experimental",
19055
+ "summary": "ECS service extension that configures Linux TCP keepalive settings for the service's containers."
18980
19056
  },
18981
19057
  "fqn": "@btc-embedded/cdk-extensions.TcpKeepAliveExtension",
18982
19058
  "initializer": {
@@ -18985,7 +19061,7 @@
18985
19061
  },
18986
19062
  "locationInModule": {
18987
19063
  "filename": "src/extensions/TcpKeepAliveExtension.ts",
18988
- "line": 45
19064
+ "line": 83
18989
19065
  },
18990
19066
  "parameters": [
18991
19067
  {
@@ -19000,17 +19076,17 @@
19000
19076
  "kind": "class",
19001
19077
  "locationInModule": {
19002
19078
  "filename": "src/extensions/TcpKeepAliveExtension.ts",
19003
- "line": 42
19079
+ "line": 80
19004
19080
  },
19005
19081
  "methods": [
19006
19082
  {
19007
19083
  "docs": {
19008
19084
  "stability": "experimental",
19009
- "summary": "A hook that allows the extension to add hooks to other extensions that are registered."
19085
+ "summary": "Registers a container mutating hook that sets TCP keepalive sysctls."
19010
19086
  },
19011
19087
  "locationInModule": {
19012
19088
  "filename": "src/extensions/TcpKeepAliveExtension.ts",
19013
- "line": 59
19089
+ "line": 100
19014
19090
  },
19015
19091
  "name": "addHooks",
19016
19092
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension"
@@ -19025,7 +19101,7 @@
19025
19101
  "immutable": true,
19026
19102
  "locationInModule": {
19027
19103
  "filename": "src/extensions/TcpKeepAliveExtension.ts",
19028
- "line": 43
19104
+ "line": 81
19029
19105
  },
19030
19106
  "name": "props",
19031
19107
  "type": {
@@ -19039,25 +19115,28 @@
19039
19115
  "assembly": "@btc-embedded/cdk-extensions",
19040
19116
  "datatype": true,
19041
19117
  "docs": {
19042
- "stability": "experimental"
19118
+ "remarks": "Values map to the following kernel parameters:\n- `net.ipv4.tcp_keepalive_time`\n- `net.ipv4.tcp_keepalive_intvl`\n- `net.ipv4.tcp_keepalive_probes`",
19119
+ "stability": "experimental",
19120
+ "summary": "Configuration for Linux TCP keepalive settings applied to the ECS task container via `systemControls`."
19043
19121
  },
19044
19122
  "fqn": "@btc-embedded/cdk-extensions.TcpKeepAliveExtensionProps",
19045
19123
  "kind": "interface",
19046
19124
  "locationInModule": {
19047
19125
  "filename": "src/extensions/TcpKeepAliveExtension.ts",
19048
- "line": 8
19126
+ "line": 17
19049
19127
  },
19050
19128
  "name": "TcpKeepAliveExtensionProps",
19051
19129
  "properties": [
19052
19130
  {
19053
19131
  "abstract": true,
19054
19132
  "docs": {
19055
- "stability": "experimental"
19133
+ "stability": "experimental",
19134
+ "summary": "Seconds between keepalive probes."
19056
19135
  },
19057
19136
  "immutable": true,
19058
19137
  "locationInModule": {
19059
19138
  "filename": "src/extensions/TcpKeepAliveExtension.ts",
19060
- "line": 10
19139
+ "line": 26
19061
19140
  },
19062
19141
  "name": "interval",
19063
19142
  "type": {
@@ -19067,12 +19146,13 @@
19067
19146
  {
19068
19147
  "abstract": true,
19069
19148
  "docs": {
19070
- "stability": "experimental"
19149
+ "stability": "experimental",
19150
+ "summary": "Number of unacknowledged probes before declaring the connection dead."
19071
19151
  },
19072
19152
  "immutable": true,
19073
19153
  "locationInModule": {
19074
19154
  "filename": "src/extensions/TcpKeepAliveExtension.ts",
19075
- "line": 11
19155
+ "line": 31
19076
19156
  },
19077
19157
  "name": "probes",
19078
19158
  "type": {
@@ -19082,12 +19162,13 @@
19082
19162
  {
19083
19163
  "abstract": true,
19084
19164
  "docs": {
19085
- "stability": "experimental"
19165
+ "stability": "experimental",
19166
+ "summary": "Seconds of idle time before keepalive probes are sent."
19086
19167
  },
19087
19168
  "immutable": true,
19088
19169
  "locationInModule": {
19089
19170
  "filename": "src/extensions/TcpKeepAliveExtension.ts",
19090
- "line": 9
19171
+ "line": 21
19091
19172
  },
19092
19173
  "name": "time",
19093
19174
  "type": {
@@ -19577,6 +19658,6 @@
19577
19658
  "symbolId": "src/platform/VpcV2:VpcV2Props"
19578
19659
  }
19579
19660
  },
19580
- "version": "0.22.2",
19581
- "fingerprint": "VGN5re3bYPlwq4FluiPrW3ICLgprc3m7TomFzEIw6o4="
19661
+ "version": "0.22.3",
19662
+ "fingerprint": "3ye4Xlv2ACmAtam4xKpWFQAb5stOVxC+B8MIcw6Q2lE="
19582
19663
  }