@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/API.md CHANGED
@@ -115,7 +115,7 @@ Any object.
115
115
 
116
116
  ##### ~~`node`~~<sup>Required</sup> <a name="node" id="@btc-embedded/cdk-extensions.ApiGateway.property.node"></a>
117
117
 
118
- - *Deprecated:* Use the {@link ApiGatewayV2 } construct instead.
118
+ - *Deprecated:* Use the ApiGatewayVpcLink construct instead.
119
119
 
120
120
  ```typescript
121
121
  public readonly node: Node;
@@ -3702,6 +3702,12 @@ public readonly frontendClient: IUserPoolClient;
3702
3702
 
3703
3703
  ### DocumentDB <a name="DocumentDB" id="@btc-embedded/cdk-extensions.DocumentDB"></a>
3704
3704
 
3705
+ Platform component that provisions an Amazon DocumentDB cluster and exports the required outputs for application stacks.
3706
+
3707
+ Cross-stack access is supported via {@link fromBasePlatform}, which imports:
3708
+ - the MongoDB connection URL secret ARN
3709
+ - the DocumentDB security group ID
3710
+
3705
3711
  #### Initializers <a name="Initializers" id="@btc-embedded/cdk-extensions.DocumentDB.Initializer"></a>
3706
3712
 
3707
3713
  ```typescript
@@ -3757,7 +3763,7 @@ Returns a string representation of this construct.
3757
3763
  | **Name** | **Description** |
3758
3764
  | --- | --- |
3759
3765
  | <code><a href="#@btc-embedded/cdk-extensions.DocumentDB.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
3760
- | <code><a href="#@btc-embedded/cdk-extensions.DocumentDB.fromBasePlatform">fromBasePlatform</a></code> | *No description.* |
3766
+ | <code><a href="#@btc-embedded/cdk-extensions.DocumentDB.fromBasePlatform">fromBasePlatform</a></code> | Imports a {@link IDocumentDB} instance from a base platform stack. |
3761
3767
 
3762
3768
  ---
3763
3769
 
@@ -3801,22 +3807,30 @@ import { DocumentDB } from '@btc-embedded/cdk-extensions'
3801
3807
  DocumentDB.fromBasePlatform(scope: Construct, id: string, name?: string)
3802
3808
  ```
3803
3809
 
3810
+ Imports a {@link IDocumentDB} instance from a base platform stack.
3811
+
3804
3812
  ###### `scope`<sup>Required</sup> <a name="scope" id="@btc-embedded/cdk-extensions.DocumentDB.fromBasePlatform.parameter.scope"></a>
3805
3813
 
3806
3814
  - *Type:* constructs.Construct
3807
3815
 
3816
+ Construct scope to attach the imported component to.
3817
+
3808
3818
  ---
3809
3819
 
3810
3820
  ###### `id`<sup>Required</sup> <a name="id" id="@btc-embedded/cdk-extensions.DocumentDB.fromBasePlatform.parameter.id"></a>
3811
3821
 
3812
3822
  - *Type:* string
3813
3823
 
3824
+ Construct id for the imported component.
3825
+
3814
3826
  ---
3815
3827
 
3816
3828
  ###### `name`<sup>Optional</sup> <a name="name" id="@btc-embedded/cdk-extensions.DocumentDB.fromBasePlatform.parameter.name"></a>
3817
3829
 
3818
3830
  - *Type:* string
3819
3831
 
3832
+ Base platform stack name used to import stack parameters.
3833
+
3820
3834
  ---
3821
3835
 
3822
3836
  #### Properties <a name="Properties" id="Properties"></a>
@@ -4898,6 +4912,14 @@ The AWS Route53 HostedZone instance.
4898
4912
 
4899
4913
  - *Implements:* <a href="#@btc-embedded/cdk-extensions.IPrivateDnsNamespace">IPrivateDnsNamespace</a>
4900
4914
 
4915
+ Platform component that provides a Cloud Map private DNS namespace for service discovery.
4916
+
4917
+ The namespace can either be created by this construct (via {@link PrivateDnsNamespaceProps.namespaceName})
4918
+ or referenced from an existing namespace (via {@link PrivateDnsNamespaceProps.definedPrivateDnsNamespace}).
4919
+
4920
+ For cross-stack usage, the construct exports namespace attributes as stack parameters and
4921
+ can be imported from application stacks using {@link fromBasePlatform}.
4922
+
4901
4923
  #### Initializers <a name="Initializers" id="@btc-embedded/cdk-extensions.PrivateDnsNamespace.Initializer"></a>
4902
4924
 
4903
4925
  ```typescript
@@ -4953,7 +4975,7 @@ Returns a string representation of this construct.
4953
4975
  | **Name** | **Description** |
4954
4976
  | --- | --- |
4955
4977
  | <code><a href="#@btc-embedded/cdk-extensions.PrivateDnsNamespace.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
4956
- | <code><a href="#@btc-embedded/cdk-extensions.PrivateDnsNamespace.fromBasePlatform">fromBasePlatform</a></code> | *No description.* |
4978
+ | <code><a href="#@btc-embedded/cdk-extensions.PrivateDnsNamespace.fromBasePlatform">fromBasePlatform</a></code> | Imports a {@link IPrivateDnsNamespace} instance from a base platform stack. |
4957
4979
 
4958
4980
  ---
4959
4981
 
@@ -4997,22 +5019,30 @@ import { PrivateDnsNamespace } from '@btc-embedded/cdk-extensions'
4997
5019
  PrivateDnsNamespace.fromBasePlatform(scope: Construct, id: string, stackName?: string)
4998
5020
  ```
4999
5021
 
5022
+ Imports a {@link IPrivateDnsNamespace} instance from a base platform stack.
5023
+
5000
5024
  ###### `scope`<sup>Required</sup> <a name="scope" id="@btc-embedded/cdk-extensions.PrivateDnsNamespace.fromBasePlatform.parameter.scope"></a>
5001
5025
 
5002
5026
  - *Type:* constructs.Construct
5003
5027
 
5028
+ Construct scope to attach the imported component to.
5029
+
5004
5030
  ---
5005
5031
 
5006
5032
  ###### `id`<sup>Required</sup> <a name="id" id="@btc-embedded/cdk-extensions.PrivateDnsNamespace.fromBasePlatform.parameter.id"></a>
5007
5033
 
5008
5034
  - *Type:* string
5009
5035
 
5036
+ Construct id for the imported component.
5037
+
5010
5038
  ---
5011
5039
 
5012
5040
  ###### `stackName`<sup>Optional</sup> <a name="stackName" id="@btc-embedded/cdk-extensions.PrivateDnsNamespace.fromBasePlatform.parameter.stackName"></a>
5013
5041
 
5014
5042
  - *Type:* string
5015
5043
 
5044
+ Base platform stack name used to import stack parameters.
5045
+
5016
5046
  ---
5017
5047
 
5018
5048
  #### Properties <a name="Properties" id="Properties"></a>
@@ -7617,7 +7647,6 @@ const apiKeyManagementProps: ApiKeyManagementProps = { ... }
7617
7647
  | **Name** | **Type** | **Description** |
7618
7648
  | --- | --- | --- |
7619
7649
  | <code><a href="#@btc-embedded/cdk-extensions.ApiKeyManagementProps.property.apiKeys">apiKeys</a></code> | <code><a href="#@btc-embedded/cdk-extensions.ApiKeyStore">ApiKeyStore</a></code> | The {@link ApiKeyStore} component. |
7620
- | <code><a href="#@btc-embedded/cdk-extensions.ApiKeyManagementProps.property.userPool">userPool</a></code> | <code>aws-cdk-lib.aws_cognito.IUserPool</code> | The user pool to be used. |
7621
7650
 
7622
7651
  ---
7623
7652
 
@@ -7633,18 +7662,6 @@ The {@link ApiKeyStore} component.
7633
7662
 
7634
7663
  ---
7635
7664
 
7636
- ##### `userPool`<sup>Required</sup> <a name="userPool" id="@btc-embedded/cdk-extensions.ApiKeyManagementProps.property.userPool"></a>
7637
-
7638
- ```typescript
7639
- public readonly userPool: IUserPool;
7640
- ```
7641
-
7642
- - *Type:* aws-cdk-lib.aws_cognito.IUserPool
7643
-
7644
- The user pool to be used.
7645
-
7646
- ---
7647
-
7648
7665
  ### ApiKeyPreTokenHandlerProps <a name="ApiKeyPreTokenHandlerProps" id="@btc-embedded/cdk-extensions.ApiKeyPreTokenHandlerProps"></a>
7649
7666
 
7650
7667
  Properties to instantiate the {@link ApiKeyPreTokenHandler} component.
@@ -7831,6 +7848,8 @@ public readonly path: string;
7831
7848
 
7832
7849
  ### ApplicationLoadBalancerExtensionPropsV2 <a name="ApplicationLoadBalancerExtensionPropsV2" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2"></a>
7833
7850
 
7851
+ Properties for the ApplicationLoadBalancerExtensionV2.
7852
+
7834
7853
  #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2.Initializer"></a>
7835
7854
 
7836
7855
  ```typescript
@@ -7843,8 +7862,8 @@ const applicationLoadBalancerExtensionPropsV2: ApplicationLoadBalancerExtensionP
7843
7862
 
7844
7863
  | **Name** | **Type** | **Description** |
7845
7864
  | --- | --- | --- |
7846
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2.property.basePlatformStackName">basePlatformStackName</a></code> | <code>string</code> | *No description.* |
7847
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2.property.loadBalancer">loadBalancer</a></code> | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2">ApplicationLoadBalancerV2</a></code> | *No description.* |
7865
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2.property.basePlatformStackName">basePlatformStackName</a></code> | <code>string</code> | The name of the platform stack to use for the load balancer. |
7866
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2.property.loadBalancer">loadBalancer</a></code> | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2">ApplicationLoadBalancerV2</a></code> | The Application Load Balancer to use. |
7848
7867
 
7849
7868
  ---
7850
7869
 
@@ -7856,6 +7875,10 @@ public readonly basePlatformStackName: string;
7856
7875
 
7857
7876
  - *Type:* string
7858
7877
 
7878
+ The name of the platform stack to use for the load balancer.
7879
+
7880
+ Either this or `loadBalancer` must be provided.
7881
+
7859
7882
  ---
7860
7883
 
7861
7884
  ##### `loadBalancer`<sup>Optional</sup> <a name="loadBalancer" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2.property.loadBalancer"></a>
@@ -7866,6 +7889,10 @@ public readonly loadBalancer: ApplicationLoadBalancerV2;
7866
7889
 
7867
7890
  - *Type:* <a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2">ApplicationLoadBalancerV2</a>
7868
7891
 
7892
+ The Application Load Balancer to use.
7893
+
7894
+ Either this or `platformStackName` must be provided.
7895
+
7869
7896
  ---
7870
7897
 
7871
7898
  ### ApplicationLoadBalancerProps <a name="ApplicationLoadBalancerProps" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps"></a>
@@ -10388,6 +10415,8 @@ configured at the cluster level (e.g., FARGATE_SPOT).
10388
10415
 
10389
10416
  ### DocumentDbAccessExtensionProps <a name="DocumentDbAccessExtensionProps" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtensionProps"></a>
10390
10417
 
10418
+ Configuration for {@link DocumentDbAccessExtension}.
10419
+
10391
10420
  #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtensionProps.Initializer"></a>
10392
10421
 
10393
10422
  ```typescript
@@ -10400,8 +10429,8 @@ const documentDbAccessExtensionProps: DocumentDbAccessExtensionProps = { ... }
10400
10429
 
10401
10430
  | **Name** | **Type** | **Description** |
10402
10431
  | --- | --- | --- |
10403
- | <code><a href="#@btc-embedded/cdk-extensions.DocumentDbAccessExtensionProps.property.securityGroupId">securityGroupId</a></code> | <code>string</code> | *No description.* |
10404
- | <code><a href="#@btc-embedded/cdk-extensions.DocumentDbAccessExtensionProps.property.basePlatformStackName">basePlatformStackName</a></code> | <code>string</code> | *No description.* |
10432
+ | <code><a href="#@btc-embedded/cdk-extensions.DocumentDbAccessExtensionProps.property.securityGroupId">securityGroupId</a></code> | <code>string</code> | ID of the security group associated with the database access path. |
10433
+ | <code><a href="#@btc-embedded/cdk-extensions.DocumentDbAccessExtensionProps.property.basePlatformStackName">basePlatformStackName</a></code> | <code>string</code> | Name of the base platform stack to import the shared DocumentDB instance from. |
10405
10434
 
10406
10435
  ---
10407
10436
 
@@ -10413,6 +10442,11 @@ public readonly securityGroupId: string;
10413
10442
 
10414
10443
  - *Type:* string
10415
10444
 
10445
+ ID of the security group associated with the database access path.
10446
+
10447
+ Note: This property is currently not referenced directly by this extension's
10448
+ implementation, but is kept as part of the public contract.
10449
+
10416
10450
  ---
10417
10451
 
10418
10452
  ##### `basePlatformStackName`<sup>Optional</sup> <a name="basePlatformStackName" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtensionProps.property.basePlatformStackName"></a>
@@ -10423,10 +10457,16 @@ public readonly basePlatformStackName: string;
10423
10457
 
10424
10458
  - *Type:* string
10425
10459
 
10460
+ Name of the base platform stack to import the shared DocumentDB instance from.
10461
+
10462
+ This is passed to {@link DocumentDB.fromBasePlatform}.
10463
+
10426
10464
  ---
10427
10465
 
10428
10466
  ### DocumentDBProps <a name="DocumentDBProps" id="@btc-embedded/cdk-extensions.DocumentDBProps"></a>
10429
10467
 
10468
+ Properties for {@link DocumentDB}.
10469
+
10430
10470
  #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.DocumentDBProps.Initializer"></a>
10431
10471
 
10432
10472
  ```typescript
@@ -10439,10 +10479,10 @@ const documentDBProps: DocumentDBProps = { ... }
10439
10479
 
10440
10480
  | **Name** | **Type** | **Description** |
10441
10481
  | --- | --- | --- |
10442
- | <code><a href="#@btc-embedded/cdk-extensions.DocumentDBProps.property.secretName">secretName</a></code> | <code>string</code> | *No description.* |
10443
- | <code><a href="#@btc-embedded/cdk-extensions.DocumentDBProps.property.stackName">stackName</a></code> | <code>string</code> | *No description.* |
10444
- | <code><a href="#@btc-embedded/cdk-extensions.DocumentDBProps.property.username">username</a></code> | <code>string</code> | *No description.* |
10445
- | <code><a href="#@btc-embedded/cdk-extensions.DocumentDBProps.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | *No description.* |
10482
+ | <code><a href="#@btc-embedded/cdk-extensions.DocumentDBProps.property.secretName">secretName</a></code> | <code>string</code> | Name of the Secrets Manager secret that stores the DocumentDB master credentials. |
10483
+ | <code><a href="#@btc-embedded/cdk-extensions.DocumentDBProps.property.stackName">stackName</a></code> | <code>string</code> | Name of the stack this database belongs to. |
10484
+ | <code><a href="#@btc-embedded/cdk-extensions.DocumentDBProps.property.username">username</a></code> | <code>string</code> | Master username for the DocumentDB cluster. |
10485
+ | <code><a href="#@btc-embedded/cdk-extensions.DocumentDBProps.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | VPC to deploy the DocumentDB cluster into. |
10446
10486
 
10447
10487
  ---
10448
10488
 
@@ -10454,6 +10494,8 @@ public readonly secretName: string;
10454
10494
 
10455
10495
  - *Type:* string
10456
10496
 
10497
+ Name of the Secrets Manager secret that stores the DocumentDB master credentials.
10498
+
10457
10499
  ---
10458
10500
 
10459
10501
  ##### `stackName`<sup>Required</sup> <a name="stackName" id="@btc-embedded/cdk-extensions.DocumentDBProps.property.stackName"></a>
@@ -10464,6 +10506,11 @@ public readonly stackName: string;
10464
10506
 
10465
10507
  - *Type:* string
10466
10508
 
10509
+ Name of the stack this database belongs to.
10510
+
10511
+ Note: This value is currently not referenced directly by the implementation,
10512
+ but is kept as part of the public contract.
10513
+
10467
10514
  ---
10468
10515
 
10469
10516
  ##### `username`<sup>Required</sup> <a name="username" id="@btc-embedded/cdk-extensions.DocumentDBProps.property.username"></a>
@@ -10474,6 +10521,8 @@ public readonly username: string;
10474
10521
 
10475
10522
  - *Type:* string
10476
10523
 
10524
+ Master username for the DocumentDB cluster.
10525
+
10477
10526
  ---
10478
10527
 
10479
10528
  ##### `vpc`<sup>Required</sup> <a name="vpc" id="@btc-embedded/cdk-extensions.DocumentDBProps.property.vpc"></a>
@@ -10484,6 +10533,8 @@ public readonly vpc: IVpc;
10484
10533
 
10485
10534
  - *Type:* aws-cdk-lib.aws_ec2.IVpc
10486
10535
 
10536
+ VPC to deploy the DocumentDB cluster into.
10537
+
10487
10538
  ---
10488
10539
 
10489
10540
  ### EcsClusterAttributes <a name="EcsClusterAttributes" id="@btc-embedded/cdk-extensions.EcsClusterAttributes"></a>
@@ -10800,6 +10851,8 @@ The path to mount the EFS to.
10800
10851
 
10801
10852
  ### EnvironmentVariableNames <a name="EnvironmentVariableNames" id="@btc-embedded/cdk-extensions.EnvironmentVariableNames"></a>
10802
10853
 
10854
+ Optional overrides for the environment variable names injected into application containers.
10855
+
10803
10856
  #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.EnvironmentVariableNames.Initializer"></a>
10804
10857
 
10805
10858
  ```typescript
@@ -10812,7 +10865,7 @@ const environmentVariableNames: EnvironmentVariableNames = { ... }
10812
10865
 
10813
10866
  | **Name** | **Type** | **Description** |
10814
10867
  | --- | --- | --- |
10815
- | <code><a href="#@btc-embedded/cdk-extensions.EnvironmentVariableNames.property.databaseUrl">databaseUrl</a></code> | <code>string</code> | Environment variable for the connction string. |
10868
+ | <code><a href="#@btc-embedded/cdk-extensions.EnvironmentVariableNames.property.databaseUrl">databaseUrl</a></code> | <code>string</code> | Environment variable for the connection string. |
10816
10869
  | <code><a href="#@btc-embedded/cdk-extensions.EnvironmentVariableNames.property.postgresDatabase">postgresDatabase</a></code> | <code>string</code> | Environment variable for the Postgres database name. |
10817
10870
  | <code><a href="#@btc-embedded/cdk-extensions.EnvironmentVariableNames.property.postgresEndpoint">postgresEndpoint</a></code> | <code>string</code> | Environment variable for the Postgres endpoint. |
10818
10871
  | <code><a href="#@btc-embedded/cdk-extensions.EnvironmentVariableNames.property.postgresPassword">postgresPassword</a></code> | <code>string</code> | Environment variable for the Postgres password. |
@@ -10829,7 +10882,7 @@ public readonly databaseUrl: string;
10829
10882
  - *Type:* string
10830
10883
  - *Default:* DATABASE_URL
10831
10884
 
10832
- Environment variable for the connction string.
10885
+ Environment variable for the connection string.
10833
10886
 
10834
10887
  ---
10835
10888
 
@@ -10887,6 +10940,8 @@ Environment variable for the Postgres username.
10887
10940
 
10888
10941
  ### EventListenerExtensionProps <a name="EventListenerExtensionProps" id="@btc-embedded/cdk-extensions.EventListenerExtensionProps"></a>
10889
10942
 
10943
+ Configuration for {@link DomainEventMessagingExtension}.
10944
+
10890
10945
  #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.EventListenerExtensionProps.Initializer"></a>
10891
10946
 
10892
10947
  ```typescript
@@ -10899,7 +10954,7 @@ const eventListenerExtensionProps: EventListenerExtensionProps = { ... }
10899
10954
 
10900
10955
  | **Name** | **Type** | **Description** |
10901
10956
  | --- | --- | --- |
10902
- | <code><a href="#@btc-embedded/cdk-extensions.EventListenerExtensionProps.property.queue">queue</a></code> | <code>aws-cdk-lib.aws_sqs.Queue</code> | *No description.* |
10957
+ | <code><a href="#@btc-embedded/cdk-extensions.EventListenerExtensionProps.property.queue">queue</a></code> | <code>aws-cdk-lib.aws_sqs.Queue</code> | Optional SQS queue to use for inbound domain events. |
10903
10958
 
10904
10959
  ---
10905
10960
 
@@ -10911,6 +10966,10 @@ public readonly queue: Queue;
10911
10966
 
10912
10967
  - *Type:* aws-cdk-lib.aws_sqs.Queue
10913
10968
 
10969
+ Optional SQS queue to use for inbound domain events.
10970
+
10971
+ If omitted, the extension creates a new queue and a dead-letter queue.
10972
+
10914
10973
  ---
10915
10974
 
10916
10975
  ### EventPipeProps <a name="EventPipeProps" id="@btc-embedded/cdk-extensions.EventPipeProps"></a>
@@ -11021,6 +11080,8 @@ If omitted, a new role is created.
11021
11080
 
11022
11081
  ### ExistingLogroupOption <a name="ExistingLogroupOption" id="@btc-embedded/cdk-extensions.ExistingLogroupOption"></a>
11023
11082
 
11083
+ Option to use an already created CloudWatch Log Group for container logging.
11084
+
11024
11085
  #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.ExistingLogroupOption.Initializer"></a>
11025
11086
 
11026
11087
  ```typescript
@@ -11033,7 +11094,7 @@ const existingLogroupOption: ExistingLogroupOption = { ... }
11033
11094
 
11034
11095
  | **Name** | **Type** | **Description** |
11035
11096
  | --- | --- | --- |
11036
- | <code><a href="#@btc-embedded/cdk-extensions.ExistingLogroupOption.property.logGroup">logGroup</a></code> | <code>aws-cdk-lib.aws_logs.ILogGroup</code> | *No description.* |
11097
+ | <code><a href="#@btc-embedded/cdk-extensions.ExistingLogroupOption.property.logGroup">logGroup</a></code> | <code>aws-cdk-lib.aws_logs.ILogGroup</code> | Target CloudWatch log group for container stdout/stderr. |
11037
11098
 
11038
11099
  ---
11039
11100
 
@@ -11045,6 +11106,8 @@ public readonly logGroup: ILogGroup;
11045
11106
 
11046
11107
  - *Type:* aws-cdk-lib.aws_logs.ILogGroup
11047
11108
 
11109
+ Target CloudWatch log group for container stdout/stderr.
11110
+
11048
11111
  ---
11049
11112
 
11050
11113
  ### ExportedServiceLookupOptions <a name="ExportedServiceLookupOptions" id="@btc-embedded/cdk-extensions.ExportedServiceLookupOptions"></a>
@@ -11476,6 +11539,8 @@ Hosted Zone to create the gateway domain A record.
11476
11539
 
11477
11540
  ### ImportLogGroupOption <a name="ImportLogGroupOption" id="@btc-embedded/cdk-extensions.ImportLogGroupOption"></a>
11478
11541
 
11542
+ Option to import the shared base platform log group.
11543
+
11479
11544
  #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.ImportLogGroupOption.Initializer"></a>
11480
11545
 
11481
11546
  ```typescript
@@ -11488,7 +11553,7 @@ const importLogGroupOption: ImportLogGroupOption = { ... }
11488
11553
 
11489
11554
  | **Name** | **Type** | **Description** |
11490
11555
  | --- | --- | --- |
11491
- | <code><a href="#@btc-embedded/cdk-extensions.ImportLogGroupOption.property.basePlatformStackName">basePlatformStackName</a></code> | <code>string</code> | *No description.* |
11556
+ | <code><a href="#@btc-embedded/cdk-extensions.ImportLogGroupOption.property.basePlatformStackName">basePlatformStackName</a></code> | <code>string</code> | Base platform stack name used to import the log group via {@link BTCLogGroup.fromBasePlatform}. |
11492
11557
 
11493
11558
  ---
11494
11559
 
@@ -11500,6 +11565,8 @@ public readonly basePlatformStackName: string;
11500
11565
 
11501
11566
  - *Type:* string
11502
11567
 
11568
+ Base platform stack name used to import the log group via {@link BTCLogGroup.fromBasePlatform}.
11569
+
11503
11570
  ---
11504
11571
 
11505
11572
  ### InputTemplate <a name="InputTemplate" id="@btc-embedded/cdk-extensions.InputTemplate"></a>
@@ -11756,6 +11823,8 @@ The parameter passed to the default container to perform the database migration.
11756
11823
 
11757
11824
  ### PredefinedPrivateDnsNamespaceProps <a name="PredefinedPrivateDnsNamespaceProps" id="@btc-embedded/cdk-extensions.PredefinedPrivateDnsNamespaceProps"></a>
11758
11825
 
11826
+ Attributes describing an already existing (predefined) Cloud Map private DNS namespace.
11827
+
11759
11828
  #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.PredefinedPrivateDnsNamespaceProps.Initializer"></a>
11760
11829
 
11761
11830
  ```typescript
@@ -11768,9 +11837,9 @@ const predefinedPrivateDnsNamespaceProps: PredefinedPrivateDnsNamespaceProps = {
11768
11837
 
11769
11838
  | **Name** | **Type** | **Description** |
11770
11839
  | --- | --- | --- |
11771
- | <code><a href="#@btc-embedded/cdk-extensions.PredefinedPrivateDnsNamespaceProps.property.arn">arn</a></code> | <code>string</code> | *No description.* |
11772
- | <code><a href="#@btc-embedded/cdk-extensions.PredefinedPrivateDnsNamespaceProps.property.id">id</a></code> | <code>string</code> | *No description.* |
11773
- | <code><a href="#@btc-embedded/cdk-extensions.PredefinedPrivateDnsNamespaceProps.property.namespace">namespace</a></code> | <code>string</code> | *No description.* |
11840
+ | <code><a href="#@btc-embedded/cdk-extensions.PredefinedPrivateDnsNamespaceProps.property.arn">arn</a></code> | <code>string</code> | Namespace ARN. |
11841
+ | <code><a href="#@btc-embedded/cdk-extensions.PredefinedPrivateDnsNamespaceProps.property.id">id</a></code> | <code>string</code> | Namespace ID. |
11842
+ | <code><a href="#@btc-embedded/cdk-extensions.PredefinedPrivateDnsNamespaceProps.property.namespace">namespace</a></code> | <code>string</code> | Namespace name (e.g. `services.internal`). |
11774
11843
 
11775
11844
  ---
11776
11845
 
@@ -11782,6 +11851,8 @@ public readonly arn: string;
11782
11851
 
11783
11852
  - *Type:* string
11784
11853
 
11854
+ Namespace ARN.
11855
+
11785
11856
  ---
11786
11857
 
11787
11858
  ##### `id`<sup>Required</sup> <a name="id" id="@btc-embedded/cdk-extensions.PredefinedPrivateDnsNamespaceProps.property.id"></a>
@@ -11792,6 +11863,8 @@ public readonly id: string;
11792
11863
 
11793
11864
  - *Type:* string
11794
11865
 
11866
+ Namespace ID.
11867
+
11795
11868
  ---
11796
11869
 
11797
11870
  ##### `namespace`<sup>Required</sup> <a name="namespace" id="@btc-embedded/cdk-extensions.PredefinedPrivateDnsNamespaceProps.property.namespace"></a>
@@ -11802,6 +11875,8 @@ public readonly namespace: string;
11802
11875
 
11803
11876
  - *Type:* string
11804
11877
 
11878
+ Namespace name (e.g. `services.internal`).
11879
+
11805
11880
  ---
11806
11881
 
11807
11882
  ### PrefixFilterRule <a name="PrefixFilterRule" id="@btc-embedded/cdk-extensions.PrefixFilterRule"></a>
@@ -11836,6 +11911,8 @@ public readonly prefix: string | FilterEqualsIgnoreCase;
11836
11911
 
11837
11912
  ### PrivateDnsNamespaceProps <a name="PrivateDnsNamespaceProps" id="@btc-embedded/cdk-extensions.PrivateDnsNamespaceProps"></a>
11838
11913
 
11914
+ Properties for {@link PrivateDnsNamespace}.
11915
+
11839
11916
  #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.PrivateDnsNamespaceProps.Initializer"></a>
11840
11917
 
11841
11918
  ```typescript
@@ -11848,9 +11925,9 @@ const privateDnsNamespaceProps: PrivateDnsNamespaceProps = { ... }
11848
11925
 
11849
11926
  | **Name** | **Type** | **Description** |
11850
11927
  | --- | --- | --- |
11851
- | <code><a href="#@btc-embedded/cdk-extensions.PrivateDnsNamespaceProps.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | *No description.* |
11852
- | <code><a href="#@btc-embedded/cdk-extensions.PrivateDnsNamespaceProps.property.definedPrivateDnsNamespace">definedPrivateDnsNamespace</a></code> | <code><a href="#@btc-embedded/cdk-extensions.PredefinedPrivateDnsNamespaceProps">PredefinedPrivateDnsNamespaceProps</a></code> | *No description.* |
11853
- | <code><a href="#@btc-embedded/cdk-extensions.PrivateDnsNamespaceProps.property.namespaceName">namespaceName</a></code> | <code>string</code> | *No description.* |
11928
+ | <code><a href="#@btc-embedded/cdk-extensions.PrivateDnsNamespaceProps.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | VPC in which the private DNS namespace is created/associated. |
11929
+ | <code><a href="#@btc-embedded/cdk-extensions.PrivateDnsNamespaceProps.property.definedPrivateDnsNamespace">definedPrivateDnsNamespace</a></code> | <code><a href="#@btc-embedded/cdk-extensions.PredefinedPrivateDnsNamespaceProps">PredefinedPrivateDnsNamespaceProps</a></code> | Reuse an existing namespace by providing its attributes. |
11930
+ | <code><a href="#@btc-embedded/cdk-extensions.PrivateDnsNamespaceProps.property.namespaceName">namespaceName</a></code> | <code>string</code> | Name for a new private DNS namespace to be created. |
11854
11931
 
11855
11932
  ---
11856
11933
 
@@ -11862,6 +11939,8 @@ public readonly vpc: IVpc;
11862
11939
 
11863
11940
  - *Type:* aws-cdk-lib.aws_ec2.IVpc
11864
11941
 
11942
+ VPC in which the private DNS namespace is created/associated.
11943
+
11865
11944
  ---
11866
11945
 
11867
11946
  ##### `definedPrivateDnsNamespace`<sup>Optional</sup> <a name="definedPrivateDnsNamespace" id="@btc-embedded/cdk-extensions.PrivateDnsNamespaceProps.property.definedPrivateDnsNamespace"></a>
@@ -11872,6 +11951,10 @@ public readonly definedPrivateDnsNamespace: PredefinedPrivateDnsNamespaceProps;
11872
11951
 
11873
11952
  - *Type:* <a href="#@btc-embedded/cdk-extensions.PredefinedPrivateDnsNamespaceProps">PredefinedPrivateDnsNamespaceProps</a>
11874
11953
 
11954
+ Reuse an existing namespace by providing its attributes.
11955
+
11956
+ If set, {@link namespaceName} is ignored.
11957
+
11875
11958
  ---
11876
11959
 
11877
11960
  ##### `namespaceName`<sup>Optional</sup> <a name="namespaceName" id="@btc-embedded/cdk-extensions.PrivateDnsNamespaceProps.property.namespaceName"></a>
@@ -11882,6 +11965,10 @@ public readonly namespaceName: string;
11882
11965
 
11883
11966
  - *Type:* string
11884
11967
 
11968
+ Name for a new private DNS namespace to be created.
11969
+
11970
+ Required when {@link definedPrivateDnsNamespace} is not provided.
11971
+
11885
11972
  ---
11886
11973
 
11887
11974
  ### ResourceServerProps <a name="ResourceServerProps" id="@btc-embedded/cdk-extensions.ResourceServerProps"></a>
@@ -12368,6 +12455,13 @@ public readonly invocationType: InvocationType;
12368
12455
 
12369
12456
  ### TcpKeepAliveExtensionProps <a name="TcpKeepAliveExtensionProps" id="@btc-embedded/cdk-extensions.TcpKeepAliveExtensionProps"></a>
12370
12457
 
12458
+ Configuration for Linux TCP keepalive settings applied to the ECS task container via `systemControls`.
12459
+
12460
+ Values map to the following kernel parameters:
12461
+ - `net.ipv4.tcp_keepalive_time`
12462
+ - `net.ipv4.tcp_keepalive_intvl`
12463
+ - `net.ipv4.tcp_keepalive_probes`
12464
+
12371
12465
  #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.TcpKeepAliveExtensionProps.Initializer"></a>
12372
12466
 
12373
12467
  ```typescript
@@ -12380,9 +12474,9 @@ const tcpKeepAliveExtensionProps: TcpKeepAliveExtensionProps = { ... }
12380
12474
 
12381
12475
  | **Name** | **Type** | **Description** |
12382
12476
  | --- | --- | --- |
12383
- | <code><a href="#@btc-embedded/cdk-extensions.TcpKeepAliveExtensionProps.property.interval">interval</a></code> | <code>number</code> | *No description.* |
12384
- | <code><a href="#@btc-embedded/cdk-extensions.TcpKeepAliveExtensionProps.property.probes">probes</a></code> | <code>number</code> | *No description.* |
12385
- | <code><a href="#@btc-embedded/cdk-extensions.TcpKeepAliveExtensionProps.property.time">time</a></code> | <code>number</code> | *No description.* |
12477
+ | <code><a href="#@btc-embedded/cdk-extensions.TcpKeepAliveExtensionProps.property.interval">interval</a></code> | <code>number</code> | Seconds between keepalive probes. |
12478
+ | <code><a href="#@btc-embedded/cdk-extensions.TcpKeepAliveExtensionProps.property.probes">probes</a></code> | <code>number</code> | Number of unacknowledged probes before declaring the connection dead. |
12479
+ | <code><a href="#@btc-embedded/cdk-extensions.TcpKeepAliveExtensionProps.property.time">time</a></code> | <code>number</code> | Seconds of idle time before keepalive probes are sent. |
12386
12480
 
12387
12481
  ---
12388
12482
 
@@ -12394,6 +12488,8 @@ public readonly interval: number;
12394
12488
 
12395
12489
  - *Type:* number
12396
12490
 
12491
+ Seconds between keepalive probes.
12492
+
12397
12493
  ---
12398
12494
 
12399
12495
  ##### `probes`<sup>Required</sup> <a name="probes" id="@btc-embedded/cdk-extensions.TcpKeepAliveExtensionProps.property.probes"></a>
@@ -12404,6 +12500,8 @@ public readonly probes: number;
12404
12500
 
12405
12501
  - *Type:* number
12406
12502
 
12503
+ Number of unacknowledged probes before declaring the connection dead.
12504
+
12407
12505
  ---
12408
12506
 
12409
12507
  ##### `time`<sup>Required</sup> <a name="time" id="@btc-embedded/cdk-extensions.TcpKeepAliveExtensionProps.property.time"></a>
@@ -12414,6 +12512,8 @@ public readonly time: number;
12414
12512
 
12415
12513
  - *Type:* number
12416
12514
 
12515
+ Seconds of idle time before keepalive probes are sent.
12516
+
12417
12517
  ---
12418
12518
 
12419
12519
  ### VpcProps <a name="VpcProps" id="@btc-embedded/cdk-extensions.VpcProps"></a>
@@ -13139,6 +13239,8 @@ public readonly userPoolDomain: IUserPoolDomain;
13139
13239
 
13140
13240
  ### ApplicationLoadBalancerExtensionV2 <a name="ApplicationLoadBalancerExtensionV2" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionV2"></a>
13141
13241
 
13242
+ A service extension that adds an Application Load Balancer to an ECS service.
13243
+
13142
13244
  #### Initializers <a name="Initializers" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionV2.Initializer"></a>
13143
13245
 
13144
13246
  ```typescript
@@ -13149,7 +13251,7 @@ new ApplicationLoadBalancerExtensionV2(props: ApplicationLoadBalancerExtensionPr
13149
13251
 
13150
13252
  | **Name** | **Type** | **Description** |
13151
13253
  | --- | --- | --- |
13152
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionV2.Initializer.parameter.props">props</a></code> | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2">ApplicationLoadBalancerExtensionPropsV2</a></code> | *No description.* |
13254
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionV2.Initializer.parameter.props">props</a></code> | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2">ApplicationLoadBalancerExtensionPropsV2</a></code> | - The properties for configuring the load balancer extension. |
13153
13255
 
13154
13256
  ---
13155
13257
 
@@ -13157,6 +13259,8 @@ new ApplicationLoadBalancerExtensionV2(props: ApplicationLoadBalancerExtensionPr
13157
13259
 
13158
13260
  - *Type:* <a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2">ApplicationLoadBalancerExtensionPropsV2</a>
13159
13261
 
13262
+ The properties for configuring the load balancer extension.
13263
+
13160
13264
  ---
13161
13265
 
13162
13266
  #### Methods <a name="Methods" id="Methods"></a>
@@ -14143,6 +14247,14 @@ connected to the service.
14143
14247
 
14144
14248
  ### DocumentDbAccessExtension <a name="DocumentDbAccessExtension" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtension"></a>
14145
14249
 
14250
+ ECS Service Extension that grants a service access to a shared Amazon DocumentDB instance defined in the base platform stack.
14251
+
14252
+ At synth-time, this extension:
14253
+ - imports the base platform DocumentDB via {@link DocumentDB.fromBasePlatform}
14254
+ - injects a `MONGODB_URL` secret into selected containers
14255
+ - optionally adds environment defaults needed by the application runtime
14256
+ - grants network/IAM access for the ECS service via `documentDb.allowAccess(...)`
14257
+
14146
14258
  #### Initializers <a name="Initializers" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtension.Initializer"></a>
14147
14259
 
14148
14260
  ```typescript
@@ -14394,6 +14506,14 @@ public readonly documentDb: IDocumentDB;
14394
14506
 
14395
14507
  ### DomainEventMessagingExtension <a name="DomainEventMessagingExtension" id="@btc-embedded/cdk-extensions.DomainEventMessagingExtension"></a>
14396
14508
 
14509
+ ECS Service Extension that wires domain-event messaging via SNS + SQS.
14510
+
14511
+ It supports two complementary capabilities:
14512
+ - **Subscribe**: create/attach an SQS queue and subscribe it to one or more SNS topics
14513
+ - **Publish**: inject SNS topic metadata into the task so the service can publish events
14514
+
14515
+ Internally it composes the ECS Service Extensions `QueueExtension` and `InjecterExtension`.
14516
+
14397
14517
  #### Initializers <a name="Initializers" id="@btc-embedded/cdk-extensions.DomainEventMessagingExtension.Initializer"></a>
14398
14518
 
14399
14519
  ```typescript
@@ -15522,6 +15642,12 @@ public readonly props: HTTPApiExtensionProps;
15522
15642
 
15523
15643
  ### LogExtension <a name="LogExtension" id="@btc-embedded/cdk-extensions.LogExtension"></a>
15524
15644
 
15645
+ ECS Service Extension that configures CloudWatch Logs for all containers in a service.
15646
+
15647
+ You can either:
15648
+ - pass an existing log group ({@link ExistingLogroupOption}), or
15649
+ - import a shared base platform log group ({@link ImportLogGroupOption}).
15650
+
15525
15651
  #### Initializers <a name="Initializers" id="@btc-embedded/cdk-extensions.LogExtension.Initializer"></a>
15526
15652
 
15527
15653
  ```typescript
@@ -16253,6 +16379,15 @@ public readonly props: TaskDefinitionProps;
16253
16379
 
16254
16380
  ### OpenIdExtension <a name="OpenIdExtension" id="@btc-embedded/cdk-extensions.OpenIdExtension"></a>
16255
16381
 
16382
+ ECS service extension that wires the service to OpenID Connect settings from the base platform's Cognito user pool.
16383
+
16384
+ This extension injects the following into the main application container:
16385
+ - `OIDC_ISSUER_URL`
16386
+ - `OIDC_CLIENT_ID`
16387
+ - `OIDC_SCOPE`
16388
+ - `OIDC_CLIENT_SECRET` (as a Secrets Manager secret)
16389
+ - `OIDC_REDIRECT_URI` (optional)
16390
+
16256
16391
  #### Initializers <a name="Initializers" id="@btc-embedded/cdk-extensions.OpenIdExtension.Initializer"></a>
16257
16392
 
16258
16393
  ```typescript
@@ -16278,11 +16413,11 @@ new OpenIdExtension(props: OpenIdExtensionProps)
16278
16413
  | **Name** | **Description** |
16279
16414
  | --- | --- |
16280
16415
  | <code><a href="#@btc-embedded/cdk-extensions.OpenIdExtension.addContainerMutatingHook">addContainerMutatingHook</a></code> | This hook allows another service extension to register a mutating hook for changing the primary container of this extension. |
16281
- | <code><a href="#@btc-embedded/cdk-extensions.OpenIdExtension.addHooks">addHooks</a></code> | A hook that allows the extension to add hooks to other extensions that are registered. |
16416
+ | <code><a href="#@btc-embedded/cdk-extensions.OpenIdExtension.addHooks">addHooks</a></code> | Registers container hooks after the parent service and user pool are known. |
16282
16417
  | <code><a href="#@btc-embedded/cdk-extensions.OpenIdExtension.connectToService">connectToService</a></code> | This hook allows the extension to establish a connection to extensions from another service. |
16283
16418
  | <code><a href="#@btc-embedded/cdk-extensions.OpenIdExtension.modifyServiceProps">modifyServiceProps</a></code> | 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. |
16284
16419
  | <code><a href="#@btc-embedded/cdk-extensions.OpenIdExtension.modifyTaskDefinitionProps">modifyTaskDefinitionProps</a></code> | This is a hook which allows extensions to modify the settings of the task definition prior to it being created. |
16285
- | <code><a href="#@btc-embedded/cdk-extensions.OpenIdExtension.prehook">prehook</a></code> | A hook that is called for each extension ahead of time to allow for any initial setup, such as creating resources in advance. |
16420
+ | <code><a href="#@btc-embedded/cdk-extensions.OpenIdExtension.prehook">prehook</a></code> | Resolves base-platform resources needed by the extension. |
16286
16421
  | <code><a href="#@btc-embedded/cdk-extensions.OpenIdExtension.resolveContainerDependencies">resolveContainerDependencies</a></code> | Once all containers are added to the task definition, this hook is called for each extension to give it a chance to resolve its dependency graph so that its container starts in the right order based on the other extensions that were enabled. |
16287
16422
  | <code><a href="#@btc-embedded/cdk-extensions.OpenIdExtension.useService">useService</a></code> | When this hook is implemented by extension, it allows the extension to use the service which has been created. |
16288
16423
  | <code><a href="#@btc-embedded/cdk-extensions.OpenIdExtension.useTaskDefinition">useTaskDefinition</a></code> | 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. |
@@ -16314,7 +16449,10 @@ route logs through Firelens.
16314
16449
  public addHooks(): void
16315
16450
  ```
16316
16451
 
16317
- A hook that allows the extension to add hooks to other extensions that are registered.
16452
+ Registers container hooks after the parent service and user pool are known.
16453
+
16454
+ Requires a main container named `service-container` with a configured
16455
+ traffic port.
16318
16456
 
16319
16457
  ##### `connectToService` <a name="connectToService" id="@btc-embedded/cdk-extensions.OpenIdExtension.connectToService"></a>
16320
16458
 
@@ -16385,7 +16523,9 @@ Properties of the task definition to be created.
16385
16523
  public prehook(service: Service, _scope: Construct): void
16386
16524
  ```
16387
16525
 
16388
- A hook that is called for each extension ahead of time to allow for any initial setup, such as creating resources in advance.
16526
+ Resolves base-platform resources needed by the extension.
16527
+
16528
+ Called by the extensions framework before hooks are applied.
16389
16529
 
16390
16530
  ###### `service`<sup>Required</sup> <a name="service" id="@btc-embedded/cdk-extensions.OpenIdExtension.prehook.parameter.service"></a>
16391
16531
 
@@ -16449,7 +16589,7 @@ The created task definition to add containers to.
16449
16589
  | --- | --- | --- |
16450
16590
  | <code><a href="#@btc-embedded/cdk-extensions.OpenIdExtension.property.name">name</a></code> | <code>string</code> | The name of the extension. |
16451
16591
  | <code><a href="#@btc-embedded/cdk-extensions.OpenIdExtension.property.container">container</a></code> | <code>aws-cdk-lib.aws_ecs.ContainerDefinition</code> | The container for this extension. |
16452
- | <code><a href="#@btc-embedded/cdk-extensions.OpenIdExtension.property.cognitoUserPool">cognitoUserPool</a></code> | <code><a href="#@btc-embedded/cdk-extensions.ICognitoUserPool">ICognitoUserPool</a></code> | *No description.* |
16592
+ | <code><a href="#@btc-embedded/cdk-extensions.OpenIdExtension.property.cognitoUserPool">cognitoUserPool</a></code> | <code><a href="#@btc-embedded/cdk-extensions.ICognitoUserPool">ICognitoUserPool</a></code> | Resolved Cognito user pool from the base platform. |
16453
16593
 
16454
16594
  ---
16455
16595
 
@@ -16490,6 +16630,10 @@ public readonly cognitoUserPool: ICognitoUserPool;
16490
16630
 
16491
16631
  - *Type:* <a href="#@btc-embedded/cdk-extensions.ICognitoUserPool">ICognitoUserPool</a>
16492
16632
 
16633
+ Resolved Cognito user pool from the base platform.
16634
+
16635
+ Populated during {@link prehook}.
16636
+
16493
16637
  ---
16494
16638
 
16495
16639
 
@@ -16741,6 +16885,15 @@ public readonly props: OpenTelemetryExtensionProps;
16741
16885
 
16742
16886
  ### PostgresDbAccessExtension <a name="PostgresDbAccessExtension" id="@btc-embedded/cdk-extensions.PostgresDbAccessExtension"></a>
16743
16887
 
16888
+ ECS service extension that grants an ECS service access to an Aurora Postgres database created by the base platform.
16889
+
16890
+ What it does:
16891
+ - Imports DB endpoint, secrets and security group IDs from the base platform stack outputs.
16892
+ - Allows the service SG to connect to the DB SG on port 5432.
16893
+ - Injects connection details into selected containers via container hooks.
16894
+ - Optionally adds a one-shot migration container and wires dependencies so the
16895
+ main container starts only after migrations succeed.
16896
+
16744
16897
  #### Initializers <a name="Initializers" id="@btc-embedded/cdk-extensions.PostgresDbAccessExtension.Initializer"></a>
16745
16898
 
16746
16899
  ```typescript
@@ -16766,14 +16919,14 @@ new PostgresDbAccessExtension(props: PostgresDbAccessExtensionProps)
16766
16919
  | **Name** | **Description** |
16767
16920
  | --- | --- |
16768
16921
  | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtension.addContainerMutatingHook">addContainerMutatingHook</a></code> | This hook allows another service extension to register a mutating hook for changing the primary container of this extension. |
16769
- | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtension.addHooks">addHooks</a></code> | A hook that allows the extension to add hooks to other extensions that are registered. |
16922
+ | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtension.addHooks">addHooks</a></code> | Applies the Postgres env/secrets hook to database-access containers. |
16770
16923
  | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtension.connectToService">connectToService</a></code> | This hook allows the extension to establish a connection to extensions from another service. |
16771
- | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtension.modifyServiceProps">modifyServiceProps</a></code> | 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. |
16924
+ | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtension.modifyServiceProps">modifyServiceProps</a></code> | When migrations are enabled, ensures the default container depends on the migration container completing successfully. |
16772
16925
  | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtension.modifyTaskDefinitionProps">modifyTaskDefinitionProps</a></code> | This is a hook which allows extensions to modify the settings of the task definition prior to it being created. |
16773
- | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtension.prehook">prehook</a></code> | A hook that is called for each extension ahead of time to allow for any initial setup, such as creating resources in advance. |
16926
+ | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtension.prehook">prehook</a></code> | Resolves base-platform outputs (endpoint, secret ARNs) and prepares a service-specific connection-string secret. |
16774
16927
  | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtension.resolveContainerDependencies">resolveContainerDependencies</a></code> | Once all containers are added to the task definition, this hook is called for each extension to give it a chance to resolve its dependency graph so that its container starts in the right order based on the other extensions that were enabled. |
16775
- | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtension.useService">useService</a></code> | When this hook is implemented by extension, it allows the extension to use the service which has been created. |
16776
- | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtension.useTaskDefinition">useTaskDefinition</a></code> | 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. |
16928
+ | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtension.useService">useService</a></code> | Grants the ECS service security group ingress to the database security group on TCP 5432. |
16929
+ | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtension.useTaskDefinition">useTaskDefinition</a></code> | Optionally adds a non-essential migration container that runs before the default container. |
16777
16930
 
16778
16931
  ---
16779
16932
 
@@ -16802,7 +16955,10 @@ route logs through Firelens.
16802
16955
  public addHooks(): void
16803
16956
  ```
16804
16957
 
16805
- A hook that allows the extension to add hooks to other extensions that are registered.
16958
+ Applies the Postgres env/secrets hook to database-access containers.
16959
+
16960
+ If `enableMigration` is true, also applies the hook to the migration
16961
+ container (created later in {@link useTaskDefinition}).
16806
16962
 
16807
16963
  ##### `connectToService` <a name="connectToService" id="@btc-embedded/cdk-extensions.PostgresDbAccessExtension.connectToService"></a>
16808
16964
 
@@ -16836,7 +16992,7 @@ The other service to connect to.
16836
16992
  public modifyServiceProps(props: ServiceBuild): ServiceBuild
16837
16993
  ```
16838
16994
 
16839
- 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.
16995
+ When migrations are enabled, ensures the default container depends on the migration container completing successfully.
16840
16996
 
16841
16997
  ###### `props`<sup>Required</sup> <a name="props" id="@btc-embedded/cdk-extensions.PostgresDbAccessExtension.modifyServiceProps.parameter.props"></a>
16842
16998
 
@@ -16871,7 +17027,7 @@ Properties of the task definition to be created.
16871
17027
  public prehook(parent: Service, _scope: Construct): void
16872
17028
  ```
16873
17029
 
16874
- A hook that is called for each extension ahead of time to allow for any initial setup, such as creating resources in advance.
17030
+ Resolves base-platform outputs (endpoint, secret ARNs) and prepares a service-specific connection-string secret.
16875
17031
 
16876
17032
  ###### `parent`<sup>Required</sup> <a name="parent" id="@btc-embedded/cdk-extensions.PostgresDbAccessExtension.prehook.parameter.parent"></a>
16877
17033
 
@@ -16899,10 +17055,7 @@ Once all containers are added to the task definition, this hook is called for ea
16899
17055
  public useService(service: Ec2Service | FargateService): void
16900
17056
  ```
16901
17057
 
16902
- When this hook is implemented by extension, it allows the extension to use the service which has been created.
16903
-
16904
- It is generally used to
16905
- create any final resources which might depend on the service itself.
17058
+ Grants the ECS service security group ingress to the database security group on TCP 5432.
16906
17059
 
16907
17060
  ###### `service`<sup>Required</sup> <a name="service" id="@btc-embedded/cdk-extensions.PostgresDbAccessExtension.useService.parameter.service"></a>
16908
17061
 
@@ -16916,7 +17069,10 @@ create any final resources which might depend on the service itself.
16916
17069
  public useTaskDefinition(taskDefinition: TaskDefinition): void
16917
17070
  ```
16918
17071
 
16919
- 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.
17072
+ Optionally adds a non-essential migration container that runs before the default container.
17073
+
17074
+ The migration container uses the same image repo/tag as the default
17075
+ container, but runs with `command: [migrationParameter]`.
16920
17076
 
16921
17077
  ###### `taskDefinition`<sup>Required</sup> <a name="taskDefinition" id="@btc-embedded/cdk-extensions.PostgresDbAccessExtension.useTaskDefinition.parameter.taskDefinition"></a>
16922
17078
 
@@ -16932,9 +17088,9 @@ Once the task definition is created, this hook is called for each extension to g
16932
17088
  | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtension.property.name">name</a></code> | <code>string</code> | The name of the extension. |
16933
17089
  | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtension.property.container">container</a></code> | <code>aws-cdk-lib.aws_ecs.ContainerDefinition</code> | The container for this extension. |
16934
17090
  | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtension.property.props">props</a></code> | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtensionProps">PostgresDbAccessExtensionProps</a></code> | *No description.* |
16935
- | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtension.property.connectionString">connectionString</a></code> | <code>aws-cdk-lib.aws_secretsmanager.ISecret</code> | *No description.* |
16936
- | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtension.property.credentialsSecret">credentialsSecret</a></code> | <code>aws-cdk-lib.aws_secretsmanager.ISecret</code> | *No description.* |
16937
- | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtension.property.endpoint">endpoint</a></code> | <code>string</code> | *No description.* |
17091
+ | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtension.property.connectionString">connectionString</a></code> | <code>aws-cdk-lib.aws_secretsmanager.ISecret</code> | Connection-string secret created for this service (populated in {@link prehook}). |
17092
+ | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtension.property.credentialsSecret">credentialsSecret</a></code> | <code>aws-cdk-lib.aws_secretsmanager.ISecret</code> | Credentials secret imported from base platform (populated in {@link prehook}). |
17093
+ | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtension.property.endpoint">endpoint</a></code> | <code>string</code> | Database endpoint imported from base platform (populated in {@link prehook}). |
16938
17094
 
16939
17095
  ---
16940
17096
 
@@ -16985,6 +17141,8 @@ public readonly connectionString: ISecret;
16985
17141
 
16986
17142
  - *Type:* aws-cdk-lib.aws_secretsmanager.ISecret
16987
17143
 
17144
+ Connection-string secret created for this service (populated in {@link prehook}).
17145
+
16988
17146
  ---
16989
17147
 
16990
17148
  ##### `credentialsSecret`<sup>Required</sup> <a name="credentialsSecret" id="@btc-embedded/cdk-extensions.PostgresDbAccessExtension.property.credentialsSecret"></a>
@@ -16995,6 +17153,8 @@ public readonly credentialsSecret: ISecret;
16995
17153
 
16996
17154
  - *Type:* aws-cdk-lib.aws_secretsmanager.ISecret
16997
17155
 
17156
+ Credentials secret imported from base platform (populated in {@link prehook}).
17157
+
16998
17158
  ---
16999
17159
 
17000
17160
  ##### `endpoint`<sup>Required</sup> <a name="endpoint" id="@btc-embedded/cdk-extensions.PostgresDbAccessExtension.property.endpoint"></a>
@@ -17005,6 +17165,8 @@ public readonly endpoint: string;
17005
17165
 
17006
17166
  - *Type:* string
17007
17167
 
17168
+ Database endpoint imported from base platform (populated in {@link prehook}).
17169
+
17008
17170
  ---
17009
17171
 
17010
17172
 
@@ -17359,6 +17521,13 @@ If not provided, will resolve from context.
17359
17521
 
17360
17522
  ### TcpKeepAliveExtension <a name="TcpKeepAliveExtension" id="@btc-embedded/cdk-extensions.TcpKeepAliveExtension"></a>
17361
17523
 
17524
+ ECS service extension that configures Linux TCP keepalive settings for the service's containers.
17525
+
17526
+ If no props are provided, defaults are applied:
17527
+ - `time`: 200
17528
+ - `interval`: 200
17529
+ - `probes`: 5
17530
+
17362
17531
  #### Initializers <a name="Initializers" id="@btc-embedded/cdk-extensions.TcpKeepAliveExtension.Initializer"></a>
17363
17532
 
17364
17533
  ```typescript
@@ -17384,7 +17553,7 @@ new TcpKeepAliveExtension(props?: TcpKeepAliveExtensionProps)
17384
17553
  | **Name** | **Description** |
17385
17554
  | --- | --- |
17386
17555
  | <code><a href="#@btc-embedded/cdk-extensions.TcpKeepAliveExtension.addContainerMutatingHook">addContainerMutatingHook</a></code> | This hook allows another service extension to register a mutating hook for changing the primary container of this extension. |
17387
- | <code><a href="#@btc-embedded/cdk-extensions.TcpKeepAliveExtension.addHooks">addHooks</a></code> | A hook that allows the extension to add hooks to other extensions that are registered. |
17556
+ | <code><a href="#@btc-embedded/cdk-extensions.TcpKeepAliveExtension.addHooks">addHooks</a></code> | Registers a container mutating hook that sets TCP keepalive sysctls. |
17388
17557
  | <code><a href="#@btc-embedded/cdk-extensions.TcpKeepAliveExtension.connectToService">connectToService</a></code> | This hook allows the extension to establish a connection to extensions from another service. |
17389
17558
  | <code><a href="#@btc-embedded/cdk-extensions.TcpKeepAliveExtension.modifyServiceProps">modifyServiceProps</a></code> | 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. |
17390
17559
  | <code><a href="#@btc-embedded/cdk-extensions.TcpKeepAliveExtension.modifyTaskDefinitionProps">modifyTaskDefinitionProps</a></code> | This is a hook which allows extensions to modify the settings of the task definition prior to it being created. |
@@ -17420,7 +17589,7 @@ route logs through Firelens.
17420
17589
  public addHooks(): void
17421
17590
  ```
17422
17591
 
17423
- A hook that allows the extension to add hooks to other extensions that are registered.
17592
+ Registers a container mutating hook that sets TCP keepalive sysctls.
17424
17593
 
17425
17594
  ##### `connectToService` <a name="connectToService" id="@btc-embedded/cdk-extensions.TcpKeepAliveExtension.connectToService"></a>
17426
17595
 
@@ -17816,6 +17985,11 @@ public readonly userPool: IUserPool;
17816
17985
 
17817
17986
  - *Implemented By:* <a href="#@btc-embedded/cdk-extensions.DocumentDBBase">DocumentDBBase</a>, <a href="#@btc-embedded/cdk-extensions.IDocumentDB">IDocumentDB</a>
17818
17987
 
17988
+ Public interface for a DocumentDB component.
17989
+
17990
+ The component exposes the connection secret and security group so application stacks
17991
+ can wire services to it while keeping the underlying implementation hidden.
17992
+
17819
17993
  #### Methods <a name="Methods" id="Methods"></a>
17820
17994
 
17821
17995
  | **Name** | **Description** |
@@ -18071,6 +18245,8 @@ The AWS Route53 HostedZone instance.
18071
18245
 
18072
18246
  - *Implemented By:* <a href="#@btc-embedded/cdk-extensions.PrivateDnsNamespace">PrivateDnsNamespace</a>, <a href="#@btc-embedded/cdk-extensions.IPrivateDnsNamespace">IPrivateDnsNamespace</a>
18073
18247
 
18248
+ Public interface for the private DNS namespace platform component.
18249
+
18074
18250
 
18075
18251
  #### Properties <a name="Properties" id="Properties"></a>
18076
18252