@btc-embedded/cdk-extensions 0.22.22 → 0.22.23

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 (64) hide show
  1. package/.jsii +880 -182
  2. package/API.md +777 -52
  3. package/CHANGELOG.md +2 -0
  4. package/assets/cli/catnip.js +1 -1
  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.js +1 -1
  12. package/lib/constructs/api-keys/ApiKeyPreTokenHandler.js +1 -1
  13. package/lib/constructs/api-keys/ApiKeyStore.js +1 -1
  14. package/lib/extensions/ApiGatewayExtension.d.ts +17 -0
  15. package/lib/extensions/ApiGatewayExtension.js +31 -32
  16. package/lib/extensions/ApplicationContainer.js +1 -1
  17. package/lib/extensions/ApplicationLoadBalancerExtension.d.ts +16 -0
  18. package/lib/extensions/ApplicationLoadBalancerExtension.js +28 -28
  19. package/lib/extensions/ApplicationLoadBalancerExtensionV2.d.ts +27 -7
  20. package/lib/extensions/ApplicationLoadBalancerExtensionV2.js +16 -7
  21. package/lib/extensions/CloudMapExtension.d.ts +15 -0
  22. package/lib/extensions/CloudMapExtension.js +7 -3
  23. package/lib/extensions/DeactivatableServiceExtension.js +1 -1
  24. package/lib/extensions/DeploymentConfigExtension.js +1 -1
  25. package/lib/extensions/DocumentDbAccessExtension.d.ts +14 -2
  26. package/lib/extensions/DocumentDbAccessExtension.js +9 -3
  27. package/lib/extensions/DomainEventMessagingExtension.js +1 -1
  28. package/lib/extensions/EfsMountExtension.js +1 -1
  29. package/lib/extensions/ExtraContainerExtension.js +1 -1
  30. package/lib/extensions/HTTPApiExtension.d.ts +30 -1
  31. package/lib/extensions/HTTPApiExtension.js +14 -7
  32. package/lib/extensions/LogExtension.js +1 -1
  33. package/lib/extensions/ModifyContainerDefinitionExtension.js +1 -1
  34. package/lib/extensions/ModifyTaskDefinitionExtension.js +1 -1
  35. package/lib/extensions/OpenIdExtension.d.ts +14 -0
  36. package/lib/extensions/OpenIdExtension.js +9 -3
  37. package/lib/extensions/OpenTelemetryExtension.js +1 -1
  38. package/lib/extensions/PostgresDbAccessExtension.d.ts +30 -7
  39. package/lib/extensions/PostgresDbAccessExtension.js +24 -29
  40. package/lib/extensions/SharedVolumeExtension.js +1 -1
  41. package/lib/extensions/TcpKeepAliveExtension.js +1 -1
  42. package/lib/platform/ApiGateway.d.ts +29 -1
  43. package/lib/platform/ApiGateway.js +31 -2
  44. package/lib/platform/ApiGatewayVpcLink.js +2 -2
  45. package/lib/platform/ApplicationLoadBalancer.js +1 -1
  46. package/lib/platform/ApplicationLoadBalancerV2.js +2 -2
  47. package/lib/platform/AuroraPostgresDB.d.ts +63 -3
  48. package/lib/platform/AuroraPostgresDB.js +45 -7
  49. package/lib/platform/BTCLogGroup.js +1 -1
  50. package/lib/platform/CognitoUserPool.js +2 -2
  51. package/lib/platform/DefaultUserPoolClients.js +1 -1
  52. package/lib/platform/DocumentDB.d.ts +10 -2
  53. package/lib/platform/DocumentDB.js +12 -7
  54. package/lib/platform/EcsCluster.js +1 -1
  55. package/lib/platform/EfsFileSystem.js +1 -1
  56. package/lib/platform/HostedZone.js +1 -1
  57. package/lib/platform/PrivateDnsNamespace.js +1 -1
  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/package.json +1 -1
package/API.md CHANGED
@@ -4,6 +4,8 @@
4
4
 
5
5
  ### ApiGateway <a name="ApiGateway" id="@btc-embedded/cdk-extensions.ApiGateway"></a>
6
6
 
7
+ - *Implements:* <a href="#@btc-embedded/cdk-extensions.IApiGateway">IApiGateway</a>
8
+
7
9
  API Gateway construct to be used in base platforms.
8
10
 
9
11
  This API Gateway construct sets up an API Gateway V2 and a default HTTP API
@@ -70,6 +72,7 @@ Returns a string representation of this construct.
70
72
  | **Name** | **Description** |
71
73
  | --- | --- |
72
74
  | <code><a href="#@btc-embedded/cdk-extensions.ApiGateway.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
75
+ | <code><a href="#@btc-embedded/cdk-extensions.ApiGateway.fromBasePlatform">fromBasePlatform</a></code> | Reconstructs an {@link IApiGateway} from CloudFormation exports produced by a V1 {@link ApiGateway} in a different stack. |
73
76
 
74
77
  ---
75
78
 
@@ -105,11 +108,49 @@ Any object.
105
108
 
106
109
  ---
107
110
 
111
+ ##### ~~`fromBasePlatform`~~ <a name="fromBasePlatform" id="@btc-embedded/cdk-extensions.ApiGateway.fromBasePlatform"></a>
112
+
113
+ ```typescript
114
+ import { ApiGateway } from '@btc-embedded/cdk-extensions'
115
+
116
+ ApiGateway.fromBasePlatform(scope: Construct, id: string, basePlatformStackName?: string)
117
+ ```
118
+
119
+ Reconstructs an {@link IApiGateway} from CloudFormation exports produced by a V1 {@link ApiGateway} in a different stack.
120
+
121
+ ###### `scope`<sup>Required</sup> <a name="scope" id="@btc-embedded/cdk-extensions.ApiGateway.fromBasePlatform.parameter.scope"></a>
122
+
123
+ - *Type:* constructs.Construct
124
+
125
+ The CDK scope in which to create the import construct.
126
+
127
+ ---
128
+
129
+ ###### `id`<sup>Required</sup> <a name="id" id="@btc-embedded/cdk-extensions.ApiGateway.fromBasePlatform.parameter.id"></a>
130
+
131
+ - *Type:* string
132
+
133
+ The CDK construct identifier.
134
+
135
+ ---
136
+
137
+ ###### `basePlatformStackName`<sup>Optional</sup> <a name="basePlatformStackName" id="@btc-embedded/cdk-extensions.ApiGateway.fromBasePlatform.parameter.basePlatformStackName"></a>
138
+
139
+ - *Type:* string
140
+
141
+ Override the stack name to import from.
142
+
143
+ When omitted the stack name is resolved via {@link BasePlatformStackResolver }.
144
+
145
+ ---
146
+
108
147
  #### Properties <a name="Properties" id="Properties"></a>
109
148
 
110
149
  | **Name** | **Type** | **Description** |
111
150
  | --- | --- | --- |
112
151
  | <code><a href="#@btc-embedded/cdk-extensions.ApiGateway.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
152
+ | <code><a href="#@btc-embedded/cdk-extensions.ApiGateway.property.apiId">apiId</a></code> | <code>string</code> | The ID of the underlying HTTP API. |
153
+ | <code><a href="#@btc-embedded/cdk-extensions.ApiGateway.property.vpcLinkId">vpcLinkId</a></code> | <code>string</code> | The ID of the VPC Link created for this API Gateway. |
113
154
 
114
155
  ---
115
156
 
@@ -127,6 +168,34 @@ The tree node.
127
168
 
128
169
  ---
129
170
 
171
+ ##### ~~`apiId`~~<sup>Required</sup> <a name="apiId" id="@btc-embedded/cdk-extensions.ApiGateway.property.apiId"></a>
172
+
173
+ - *Deprecated:* Use the ApiGatewayVpcLink construct instead.
174
+
175
+ ```typescript
176
+ public readonly apiId: string;
177
+ ```
178
+
179
+ - *Type:* string
180
+
181
+ The ID of the underlying HTTP API.
182
+
183
+ ---
184
+
185
+ ##### ~~`vpcLinkId`~~<sup>Required</sup> <a name="vpcLinkId" id="@btc-embedded/cdk-extensions.ApiGateway.property.vpcLinkId"></a>
186
+
187
+ - *Deprecated:* Use the ApiGatewayVpcLink construct instead.
188
+
189
+ ```typescript
190
+ public readonly vpcLinkId: string;
191
+ ```
192
+
193
+ - *Type:* string
194
+
195
+ The ID of the VPC Link created for this API Gateway.
196
+
197
+ ---
198
+
130
199
 
131
200
  ### ApiGatewayVpcLink <a name="ApiGatewayVpcLink" id="@btc-embedded/cdk-extensions.ApiGatewayVpcLink"></a>
132
201
 
@@ -2555,6 +2624,7 @@ Returns a string representation of this construct.
2555
2624
  | **Name** | **Description** |
2556
2625
  | --- | --- |
2557
2626
  | <code><a href="#@btc-embedded/cdk-extensions.AuroraPostgresCluster.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
2627
+ | <code><a href="#@btc-embedded/cdk-extensions.AuroraPostgresCluster.fromBasePlatform">fromBasePlatform</a></code> | Imports an {@link IAuroraPostgresDB} instance from a base platform stack. |
2558
2628
 
2559
2629
  ---
2560
2630
 
@@ -2590,13 +2660,57 @@ Any object.
2590
2660
 
2591
2661
  ---
2592
2662
 
2663
+ ##### `fromBasePlatform` <a name="fromBasePlatform" id="@btc-embedded/cdk-extensions.AuroraPostgresCluster.fromBasePlatform"></a>
2664
+
2665
+ ```typescript
2666
+ import { AuroraPostgresCluster } from '@btc-embedded/cdk-extensions'
2667
+
2668
+ AuroraPostgresCluster.fromBasePlatform(scope: Construct, id: string, basePlatformStackName?: string)
2669
+ ```
2670
+
2671
+ Imports an {@link IAuroraPostgresDB} instance from a base platform stack.
2672
+
2673
+ Use this for cross-stack access. For same-stack usage, pass the
2674
+ {@link AuroraPostgresCluster} construct directly where {@link IAuroraPostgresDB}
2675
+ is expected.
2676
+
2677
+ ###### `scope`<sup>Required</sup> <a name="scope" id="@btc-embedded/cdk-extensions.AuroraPostgresCluster.fromBasePlatform.parameter.scope"></a>
2678
+
2679
+ - *Type:* constructs.Construct
2680
+
2681
+ Construct scope to attach the imported component to.
2682
+
2683
+ ---
2684
+
2685
+ ###### `id`<sup>Required</sup> <a name="id" id="@btc-embedded/cdk-extensions.AuroraPostgresCluster.fromBasePlatform.parameter.id"></a>
2686
+
2687
+ - *Type:* string
2688
+
2689
+ Construct id for the imported component.
2690
+
2691
+ ---
2692
+
2693
+ ###### `basePlatformStackName`<sup>Optional</sup> <a name="basePlatformStackName" id="@btc-embedded/cdk-extensions.AuroraPostgresCluster.fromBasePlatform.parameter.basePlatformStackName"></a>
2694
+
2695
+ - *Type:* string
2696
+
2697
+ Base platform stack name.
2698
+
2699
+ Falls back to
2700
+ `BasePlatformStackResolver` (CDK context) when omitted.
2701
+
2702
+ ---
2703
+
2593
2704
  #### Properties <a name="Properties" id="Properties"></a>
2594
2705
 
2595
2706
  | **Name** | **Type** | **Description** |
2596
2707
  | --- | --- | --- |
2597
2708
  | <code><a href="#@btc-embedded/cdk-extensions.AuroraPostgresCluster.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
2598
- | <code><a href="#@btc-embedded/cdk-extensions.AuroraPostgresCluster.property.cluster">cluster</a></code> | <code>aws-cdk-lib.aws_rds.DatabaseCluster</code> | Aurora database cluster. |
2709
+ | <code><a href="#@btc-embedded/cdk-extensions.AuroraPostgresCluster.property.connectionSecret">connectionSecret</a></code> | <code>aws-cdk-lib.aws_secretsmanager.ISecret</code> | Secret containing the postgres connection string prefix in the form `postgresql://user:pass@host:port/`. |
2710
+ | <code><a href="#@btc-embedded/cdk-extensions.AuroraPostgresCluster.property.credentialsSecret">credentialsSecret</a></code> | <code>aws-cdk-lib.aws_secretsmanager.ISecret</code> | Secret containing postgres credentials (username and password). |
2711
+ | <code><a href="#@btc-embedded/cdk-extensions.AuroraPostgresCluster.property.endpoint">endpoint</a></code> | <code>string</code> | Cluster endpoint in the form `host:port`. |
2599
2712
  | <code><a href="#@btc-embedded/cdk-extensions.AuroraPostgresCluster.property.securityGroup">securityGroup</a></code> | <code>aws-cdk-lib.aws_ec2.SecurityGroup</code> | Security group attached to the Aurora cluster. |
2713
+ | <code><a href="#@btc-embedded/cdk-extensions.AuroraPostgresCluster.property.cluster">cluster</a></code> | <code>aws-cdk-lib.aws_rds.DatabaseCluster</code> | Aurora database cluster. |
2600
2714
 
2601
2715
  ---
2602
2716
 
@@ -2612,6 +2726,54 @@ The tree node.
2612
2726
 
2613
2727
  ---
2614
2728
 
2729
+ ##### `connectionSecret`<sup>Required</sup> <a name="connectionSecret" id="@btc-embedded/cdk-extensions.AuroraPostgresCluster.property.connectionSecret"></a>
2730
+
2731
+ ```typescript
2732
+ public readonly connectionSecret: ISecret;
2733
+ ```
2734
+
2735
+ - *Type:* aws-cdk-lib.aws_secretsmanager.ISecret
2736
+
2737
+ Secret containing the postgres connection string prefix in the form `postgresql://user:pass@host:port/`.
2738
+
2739
+ ---
2740
+
2741
+ ##### `credentialsSecret`<sup>Required</sup> <a name="credentialsSecret" id="@btc-embedded/cdk-extensions.AuroraPostgresCluster.property.credentialsSecret"></a>
2742
+
2743
+ ```typescript
2744
+ public readonly credentialsSecret: ISecret;
2745
+ ```
2746
+
2747
+ - *Type:* aws-cdk-lib.aws_secretsmanager.ISecret
2748
+
2749
+ Secret containing postgres credentials (username and password).
2750
+
2751
+ ---
2752
+
2753
+ ##### `endpoint`<sup>Required</sup> <a name="endpoint" id="@btc-embedded/cdk-extensions.AuroraPostgresCluster.property.endpoint"></a>
2754
+
2755
+ ```typescript
2756
+ public readonly endpoint: string;
2757
+ ```
2758
+
2759
+ - *Type:* string
2760
+
2761
+ Cluster endpoint in the form `host:port`.
2762
+
2763
+ ---
2764
+
2765
+ ##### `securityGroup`<sup>Required</sup> <a name="securityGroup" id="@btc-embedded/cdk-extensions.AuroraPostgresCluster.property.securityGroup"></a>
2766
+
2767
+ ```typescript
2768
+ public readonly securityGroup: SecurityGroup;
2769
+ ```
2770
+
2771
+ - *Type:* aws-cdk-lib.aws_ec2.SecurityGroup
2772
+
2773
+ Security group attached to the Aurora cluster.
2774
+
2775
+ ---
2776
+
2615
2777
  ##### `cluster`<sup>Required</sup> <a name="cluster" id="@btc-embedded/cdk-extensions.AuroraPostgresCluster.property.cluster"></a>
2616
2778
 
2617
2779
  ```typescript
@@ -2624,13 +2786,171 @@ Aurora database cluster.
2624
2786
 
2625
2787
  ---
2626
2788
 
2627
- ##### `securityGroup`<sup>Required</sup> <a name="securityGroup" id="@btc-embedded/cdk-extensions.AuroraPostgresCluster.property.securityGroup"></a>
2789
+
2790
+ ### AuroraPostgresClusterBase <a name="AuroraPostgresClusterBase" id="@btc-embedded/cdk-extensions.AuroraPostgresClusterBase"></a>
2791
+
2792
+ - *Implements:* <a href="#@btc-embedded/cdk-extensions.IAuroraPostgresDB">IAuroraPostgresDB</a>
2793
+
2794
+ Abstract base class shared by the concrete {@link AuroraPostgresCluster} and the import class created by {@link AuroraPostgresCluster.fromBasePlatform}.
2795
+
2796
+ #### Initializers <a name="Initializers" id="@btc-embedded/cdk-extensions.AuroraPostgresClusterBase.Initializer"></a>
2628
2797
 
2629
2798
  ```typescript
2630
- public readonly securityGroup: SecurityGroup;
2799
+ import { AuroraPostgresClusterBase } from '@btc-embedded/cdk-extensions'
2800
+
2801
+ new AuroraPostgresClusterBase(scope: Construct, id: string)
2631
2802
  ```
2632
2803
 
2633
- - *Type:* aws-cdk-lib.aws_ec2.SecurityGroup
2804
+ | **Name** | **Type** | **Description** |
2805
+ | --- | --- | --- |
2806
+ | <code><a href="#@btc-embedded/cdk-extensions.AuroraPostgresClusterBase.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | The scope in which to define this construct. |
2807
+ | <code><a href="#@btc-embedded/cdk-extensions.AuroraPostgresClusterBase.Initializer.parameter.id">id</a></code> | <code>string</code> | The scoped construct ID. |
2808
+
2809
+ ---
2810
+
2811
+ ##### `scope`<sup>Required</sup> <a name="scope" id="@btc-embedded/cdk-extensions.AuroraPostgresClusterBase.Initializer.parameter.scope"></a>
2812
+
2813
+ - *Type:* constructs.Construct
2814
+
2815
+ The scope in which to define this construct.
2816
+
2817
+ ---
2818
+
2819
+ ##### `id`<sup>Required</sup> <a name="id" id="@btc-embedded/cdk-extensions.AuroraPostgresClusterBase.Initializer.parameter.id"></a>
2820
+
2821
+ - *Type:* string
2822
+
2823
+ The scoped construct ID.
2824
+
2825
+ Must be unique amongst siblings. If
2826
+ the ID includes a path separator (`/`), then it will be replaced by double
2827
+ dash `--`.
2828
+
2829
+ ---
2830
+
2831
+ #### Methods <a name="Methods" id="Methods"></a>
2832
+
2833
+ | **Name** | **Description** |
2834
+ | --- | --- |
2835
+ | <code><a href="#@btc-embedded/cdk-extensions.AuroraPostgresClusterBase.toString">toString</a></code> | Returns a string representation of this construct. |
2836
+
2837
+ ---
2838
+
2839
+ ##### `toString` <a name="toString" id="@btc-embedded/cdk-extensions.AuroraPostgresClusterBase.toString"></a>
2840
+
2841
+ ```typescript
2842
+ public toString(): string
2843
+ ```
2844
+
2845
+ Returns a string representation of this construct.
2846
+
2847
+ #### Static Functions <a name="Static Functions" id="Static Functions"></a>
2848
+
2849
+ | **Name** | **Description** |
2850
+ | --- | --- |
2851
+ | <code><a href="#@btc-embedded/cdk-extensions.AuroraPostgresClusterBase.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
2852
+
2853
+ ---
2854
+
2855
+ ##### `isConstruct` <a name="isConstruct" id="@btc-embedded/cdk-extensions.AuroraPostgresClusterBase.isConstruct"></a>
2856
+
2857
+ ```typescript
2858
+ import { AuroraPostgresClusterBase } from '@btc-embedded/cdk-extensions'
2859
+
2860
+ AuroraPostgresClusterBase.isConstruct(x: any)
2861
+ ```
2862
+
2863
+ Checks if `x` is a construct.
2864
+
2865
+ Use this method instead of `instanceof` to properly detect `Construct`
2866
+ instances, even when the construct library is symlinked.
2867
+
2868
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
2869
+ disk are seen as independent, completely different libraries. As a
2870
+ consequence, the class `Construct` in each copy of the `constructs` library
2871
+ is seen as a different class, and an instance of one class will not test as
2872
+ `instanceof` the other class. `npm install` will not create installations
2873
+ like this, but users may manually symlink construct libraries together or
2874
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
2875
+ library can be accidentally installed, and `instanceof` will behave
2876
+ unpredictably. It is safest to avoid using `instanceof`, and using
2877
+ this type-testing method instead.
2878
+
2879
+ ###### `x`<sup>Required</sup> <a name="x" id="@btc-embedded/cdk-extensions.AuroraPostgresClusterBase.isConstruct.parameter.x"></a>
2880
+
2881
+ - *Type:* any
2882
+
2883
+ Any object.
2884
+
2885
+ ---
2886
+
2887
+ #### Properties <a name="Properties" id="Properties"></a>
2888
+
2889
+ | **Name** | **Type** | **Description** |
2890
+ | --- | --- | --- |
2891
+ | <code><a href="#@btc-embedded/cdk-extensions.AuroraPostgresClusterBase.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
2892
+ | <code><a href="#@btc-embedded/cdk-extensions.AuroraPostgresClusterBase.property.connectionSecret">connectionSecret</a></code> | <code>aws-cdk-lib.aws_secretsmanager.ISecret</code> | Secret containing the postgres connection string prefix in the form `postgresql://user:pass@host:port/`. |
2893
+ | <code><a href="#@btc-embedded/cdk-extensions.AuroraPostgresClusterBase.property.credentialsSecret">credentialsSecret</a></code> | <code>aws-cdk-lib.aws_secretsmanager.ISecret</code> | Secret containing postgres credentials (username and password). |
2894
+ | <code><a href="#@btc-embedded/cdk-extensions.AuroraPostgresClusterBase.property.endpoint">endpoint</a></code> | <code>string</code> | Cluster endpoint in the form `host:port`. |
2895
+ | <code><a href="#@btc-embedded/cdk-extensions.AuroraPostgresClusterBase.property.securityGroup">securityGroup</a></code> | <code>aws-cdk-lib.aws_ec2.ISecurityGroup</code> | Security group attached to the Aurora cluster. |
2896
+
2897
+ ---
2898
+
2899
+ ##### `node`<sup>Required</sup> <a name="node" id="@btc-embedded/cdk-extensions.AuroraPostgresClusterBase.property.node"></a>
2900
+
2901
+ ```typescript
2902
+ public readonly node: Node;
2903
+ ```
2904
+
2905
+ - *Type:* constructs.Node
2906
+
2907
+ The tree node.
2908
+
2909
+ ---
2910
+
2911
+ ##### `connectionSecret`<sup>Required</sup> <a name="connectionSecret" id="@btc-embedded/cdk-extensions.AuroraPostgresClusterBase.property.connectionSecret"></a>
2912
+
2913
+ ```typescript
2914
+ public readonly connectionSecret: ISecret;
2915
+ ```
2916
+
2917
+ - *Type:* aws-cdk-lib.aws_secretsmanager.ISecret
2918
+
2919
+ Secret containing the postgres connection string prefix in the form `postgresql://user:pass@host:port/`.
2920
+
2921
+ ---
2922
+
2923
+ ##### `credentialsSecret`<sup>Required</sup> <a name="credentialsSecret" id="@btc-embedded/cdk-extensions.AuroraPostgresClusterBase.property.credentialsSecret"></a>
2924
+
2925
+ ```typescript
2926
+ public readonly credentialsSecret: ISecret;
2927
+ ```
2928
+
2929
+ - *Type:* aws-cdk-lib.aws_secretsmanager.ISecret
2930
+
2931
+ Secret containing postgres credentials (username and password).
2932
+
2933
+ ---
2934
+
2935
+ ##### `endpoint`<sup>Required</sup> <a name="endpoint" id="@btc-embedded/cdk-extensions.AuroraPostgresClusterBase.property.endpoint"></a>
2936
+
2937
+ ```typescript
2938
+ public readonly endpoint: string;
2939
+ ```
2940
+
2941
+ - *Type:* string
2942
+
2943
+ Cluster endpoint in the form `host:port`.
2944
+
2945
+ ---
2946
+
2947
+ ##### `securityGroup`<sup>Required</sup> <a name="securityGroup" id="@btc-embedded/cdk-extensions.AuroraPostgresClusterBase.property.securityGroup"></a>
2948
+
2949
+ ```typescript
2950
+ public readonly securityGroup: ISecurityGroup;
2951
+ ```
2952
+
2953
+ - *Type:* aws-cdk-lib.aws_ec2.ISecurityGroup
2634
2954
 
2635
2955
  Security group attached to the Aurora cluster.
2636
2956
 
@@ -3913,7 +4233,11 @@ public readonly frontendClient: IUserPoolClient;
3913
4233
 
3914
4234
  Platform component that provisions an Amazon DocumentDB cluster and exports the required outputs for application stacks.
3915
4235
 
3916
- Cross-stack access is supported via {@link fromBasePlatform}, which imports:
4236
+ Implements {@link IDocumentDB} directly so that it can be passed to extensions
4237
+ (e.g. {@link DocumentDbAccessExtension }) when platform and application share the
4238
+ same stack, avoiding the need for cross-stack {@link fromBasePlatform} imports.
4239
+
4240
+ Cross-stack access is still supported via {@link fromBasePlatform}, which imports:
3917
4241
  - the MongoDB connection URL secret ARN
3918
4242
  - the DocumentDB security group ID
3919
4243
 
@@ -3956,6 +4280,7 @@ new DocumentDB(scope: Construct, id: string, props: DocumentDBProps)
3956
4280
  | **Name** | **Description** |
3957
4281
  | --- | --- |
3958
4282
  | <code><a href="#@btc-embedded/cdk-extensions.DocumentDB.toString">toString</a></code> | Returns a string representation of this construct. |
4283
+ | <code><a href="#@btc-embedded/cdk-extensions.DocumentDB.allowAccess">allowAccess</a></code> | *No description.* |
3959
4284
 
3960
4285
  ---
3961
4286
 
@@ -3967,6 +4292,18 @@ public toString(): string
3967
4292
 
3968
4293
  Returns a string representation of this construct.
3969
4294
 
4295
+ ##### `allowAccess` <a name="allowAccess" id="@btc-embedded/cdk-extensions.DocumentDB.allowAccess"></a>
4296
+
4297
+ ```typescript
4298
+ public allowAccess(service: IConnectable): void
4299
+ ```
4300
+
4301
+ ###### `service`<sup>Required</sup> <a name="service" id="@btc-embedded/cdk-extensions.DocumentDB.allowAccess.parameter.service"></a>
4302
+
4303
+ - *Type:* aws-cdk-lib.aws_ec2.IConnectable
4304
+
4305
+ ---
4306
+
3970
4307
  #### Static Functions <a name="Static Functions" id="Static Functions"></a>
3971
4308
 
3972
4309
  | **Name** | **Description** |
@@ -4042,23 +4379,49 @@ Base platform stack name used to import stack parameters.
4042
4379
 
4043
4380
  ---
4044
4381
 
4045
- #### Properties <a name="Properties" id="Properties"></a>
4382
+ #### Properties <a name="Properties" id="Properties"></a>
4383
+
4384
+ | **Name** | **Type** | **Description** |
4385
+ | --- | --- | --- |
4386
+ | <code><a href="#@btc-embedded/cdk-extensions.DocumentDB.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
4387
+ | <code><a href="#@btc-embedded/cdk-extensions.DocumentDB.property.secret">secret</a></code> | <code>aws-cdk-lib.aws_secretsmanager.ISecret</code> | MongoDB connection URL secret for this cluster. |
4388
+ | <code><a href="#@btc-embedded/cdk-extensions.DocumentDB.property.securityGroup">securityGroup</a></code> | <code>aws-cdk-lib.aws_ec2.ISecurityGroup</code> | Security group attached to this DocumentDB cluster. |
4389
+
4390
+ ---
4391
+
4392
+ ##### `node`<sup>Required</sup> <a name="node" id="@btc-embedded/cdk-extensions.DocumentDB.property.node"></a>
4393
+
4394
+ ```typescript
4395
+ public readonly node: Node;
4396
+ ```
4397
+
4398
+ - *Type:* constructs.Node
4399
+
4400
+ The tree node.
4401
+
4402
+ ---
4403
+
4404
+ ##### `secret`<sup>Required</sup> <a name="secret" id="@btc-embedded/cdk-extensions.DocumentDB.property.secret"></a>
4405
+
4406
+ ```typescript
4407
+ public readonly secret: ISecret;
4408
+ ```
4409
+
4410
+ - *Type:* aws-cdk-lib.aws_secretsmanager.ISecret
4046
4411
 
4047
- | **Name** | **Type** | **Description** |
4048
- | --- | --- | --- |
4049
- | <code><a href="#@btc-embedded/cdk-extensions.DocumentDB.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
4412
+ MongoDB connection URL secret for this cluster.
4050
4413
 
4051
4414
  ---
4052
4415
 
4053
- ##### `node`<sup>Required</sup> <a name="node" id="@btc-embedded/cdk-extensions.DocumentDB.property.node"></a>
4416
+ ##### `securityGroup`<sup>Required</sup> <a name="securityGroup" id="@btc-embedded/cdk-extensions.DocumentDB.property.securityGroup"></a>
4054
4417
 
4055
4418
  ```typescript
4056
- public readonly node: Node;
4419
+ public readonly securityGroup: ISecurityGroup;
4057
4420
  ```
4058
4421
 
4059
- - *Type:* constructs.Node
4422
+ - *Type:* aws-cdk-lib.aws_ec2.ISecurityGroup
4060
4423
 
4061
- The tree node.
4424
+ Security group attached to this DocumentDB cluster.
4062
4425
 
4063
4426
  ---
4064
4427
 
@@ -7415,7 +7778,10 @@ const apiGatewayExtensionProps: ApiGatewayExtensionProps = { ... }
7415
7778
  | --- | --- | --- |
7416
7779
  | <code><a href="#@btc-embedded/cdk-extensions.ApiGatewayExtensionProps.property.prefix">prefix</a></code> | <code>string</code> | The prefix for the API Gateway endpoint. |
7417
7780
  | <code><a href="#@btc-embedded/cdk-extensions.ApiGatewayExtensionProps.property.securityGroupId">securityGroupId</a></code> | <code>string</code> | The security group ID of the API Gateway which should be allowed to connect to the service. |
7781
+ | <code><a href="#@btc-embedded/cdk-extensions.ApiGatewayExtensionProps.property.apiGateway">apiGateway</a></code> | <code><a href="#@btc-embedded/cdk-extensions.IApiGateway">IApiGateway</a></code> | Provide a direct {@link IApiGateway} reference for same-stack usage. |
7418
7782
  | <code><a href="#@btc-embedded/cdk-extensions.ApiGatewayExtensionProps.property.basePlatformStackName">basePlatformStackName</a></code> | <code>string</code> | The name of the base platform stack. |
7783
+ | <code><a href="#@btc-embedded/cdk-extensions.ApiGatewayExtensionProps.property.cognitoUserPool">cognitoUserPool</a></code> | <code><a href="#@btc-embedded/cdk-extensions.ICognitoUserPool">ICognitoUserPool</a></code> | Provide a direct Cognito user pool reference for same-stack usage. |
7784
+ | <code><a href="#@btc-embedded/cdk-extensions.ApiGatewayExtensionProps.property.fqdn">fqdn</a></code> | <code>string</code> | Provide the FQDN directly for same-stack usage. |
7419
7785
 
7420
7786
  ---
7421
7787
 
@@ -7443,6 +7809,20 @@ The security group ID of the API Gateway which should be allowed to connect to t
7443
7809
 
7444
7810
  ---
7445
7811
 
7812
+ ##### `apiGateway`<sup>Optional</sup> <a name="apiGateway" id="@btc-embedded/cdk-extensions.ApiGatewayExtensionProps.property.apiGateway"></a>
7813
+
7814
+ ```typescript
7815
+ public readonly apiGateway: IApiGateway;
7816
+ ```
7817
+
7818
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.IApiGateway">IApiGateway</a>
7819
+
7820
+ Provide a direct {@link IApiGateway} reference for same-stack usage.
7821
+
7822
+ When omitted the VPC link ID and API ID are imported from the base platform stack.
7823
+
7824
+ ---
7825
+
7446
7826
  ##### `basePlatformStackName`<sup>Optional</sup> <a name="basePlatformStackName" id="@btc-embedded/cdk-extensions.ApiGatewayExtensionProps.property.basePlatformStackName"></a>
7447
7827
 
7448
7828
  ```typescript
@@ -7455,6 +7835,34 @@ The name of the base platform stack.
7455
7835
 
7456
7836
  ---
7457
7837
 
7838
+ ##### `cognitoUserPool`<sup>Optional</sup> <a name="cognitoUserPool" id="@btc-embedded/cdk-extensions.ApiGatewayExtensionProps.property.cognitoUserPool"></a>
7839
+
7840
+ ```typescript
7841
+ public readonly cognitoUserPool: ICognitoUserPool;
7842
+ ```
7843
+
7844
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.ICognitoUserPool">ICognitoUserPool</a>
7845
+
7846
+ Provide a direct Cognito user pool reference for same-stack usage.
7847
+
7848
+ When omitted the user pool attributes are imported from the base platform stack.
7849
+
7850
+ ---
7851
+
7852
+ ##### `fqdn`<sup>Optional</sup> <a name="fqdn" id="@btc-embedded/cdk-extensions.ApiGatewayExtensionProps.property.fqdn"></a>
7853
+
7854
+ ```typescript
7855
+ public readonly fqdn: string;
7856
+ ```
7857
+
7858
+ - *Type:* string
7859
+
7860
+ Provide the FQDN directly for same-stack usage.
7861
+
7862
+ When omitted the FQDN is imported from the base platform stack.
7863
+
7864
+ ---
7865
+
7458
7866
  ### ApiGatewayProps <a name="ApiGatewayProps" id="@btc-embedded/cdk-extensions.ApiGatewayProps"></a>
7459
7867
 
7460
7868
  #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.ApiGatewayProps.Initializer"></a>
@@ -8701,9 +9109,11 @@ const applicationLoadBalancerExtensionProps: ApplicationLoadBalancerExtensionPro
8701
9109
  | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.securityGroupId">securityGroupId</a></code> | <code>string</code> | *No description.* |
8702
9110
  | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.userPoolClientSecret">userPoolClientSecret</a></code> | <code>string</code> | *No description.* |
8703
9111
  | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.basePlatformStackName">basePlatformStackName</a></code> | <code>string</code> | *No description.* |
9112
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.cognitoUserPool">cognitoUserPool</a></code> | <code><a href="#@btc-embedded/cdk-extensions.ICognitoUserPool">ICognitoUserPool</a></code> | Provide a direct Cognito user pool reference for same-stack usage. |
9113
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.fqdn">fqdn</a></code> | <code>string</code> | Provide the FQDN directly for same-stack usage. |
8704
9114
  | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.healtCheckPath">healtCheckPath</a></code> | <code>string</code> | *No description.* |
8705
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.listener">listener</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.IApplicationListener</code> | *No description.* |
8706
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.path">path</a></code> | <code>string</code> | *No description.* |
9115
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.listener">listener</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.IApplicationListener</code> | Provide a direct ALB listener reference for same-stack usage. |
9116
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.path">path</a></code> | <code>string</code> | Path to redirect the client after successful authentication. |
8707
9117
 
8708
9118
  ---
8709
9119
 
@@ -8747,6 +9157,34 @@ public readonly basePlatformStackName: string;
8747
9157
 
8748
9158
  ---
8749
9159
 
9160
+ ##### `cognitoUserPool`<sup>Optional</sup> <a name="cognitoUserPool" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.cognitoUserPool"></a>
9161
+
9162
+ ```typescript
9163
+ public readonly cognitoUserPool: ICognitoUserPool;
9164
+ ```
9165
+
9166
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.ICognitoUserPool">ICognitoUserPool</a>
9167
+
9168
+ Provide a direct Cognito user pool reference for same-stack usage.
9169
+
9170
+ When omitted the user pool attributes are imported from the base platform stack.
9171
+
9172
+ ---
9173
+
9174
+ ##### `fqdn`<sup>Optional</sup> <a name="fqdn" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.fqdn"></a>
9175
+
9176
+ ```typescript
9177
+ public readonly fqdn: string;
9178
+ ```
9179
+
9180
+ - *Type:* string
9181
+
9182
+ Provide the FQDN directly for same-stack usage.
9183
+
9184
+ When omitted the FQDN is imported from the base platform stack.
9185
+
9186
+ ---
9187
+
8750
9188
  ##### `healtCheckPath`<sup>Optional</sup> <a name="healtCheckPath" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.healtCheckPath"></a>
8751
9189
 
8752
9190
  ```typescript
@@ -8765,6 +9203,10 @@ public readonly listener: IApplicationListener;
8765
9203
 
8766
9204
  - *Type:* aws-cdk-lib.aws_elasticloadbalancingv2.IApplicationListener
8767
9205
 
9206
+ Provide a direct ALB listener reference for same-stack usage.
9207
+
9208
+ When omitted the listener ARN is imported from the base platform stack.
9209
+
8768
9210
  ---
8769
9211
 
8770
9212
  ##### `path`<sup>Optional</sup> <a name="path" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.path"></a>
@@ -8775,6 +9217,8 @@ public readonly path: string;
8775
9217
 
8776
9218
  - *Type:* string
8777
9219
 
9220
+ Path to redirect the client after successful authentication.
9221
+
8778
9222
  ---
8779
9223
 
8780
9224
  ### ApplicationLoadBalancerExtensionPropsV2 <a name="ApplicationLoadBalancerExtensionPropsV2" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2"></a>
@@ -8794,7 +9238,7 @@ const applicationLoadBalancerExtensionPropsV2: ApplicationLoadBalancerExtensionP
8794
9238
  | **Name** | **Type** | **Description** |
8795
9239
  | --- | --- | --- |
8796
9240
  | <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. |
8797
- | <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. |
9241
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2.property.loadBalancer">loadBalancer</a></code> | <code><a href="#@btc-embedded/cdk-extensions.IApplicationLoadBalancerV2">IApplicationLoadBalancerV2</a></code> | The Application Load Balancer to use directly. |
8798
9242
 
8799
9243
  ---
8800
9244
 
@@ -8808,21 +9252,27 @@ public readonly basePlatformStackName: string;
8808
9252
 
8809
9253
  The name of the platform stack to use for the load balancer.
8810
9254
 
8811
- Either this or `loadBalancer` must be provided.
9255
+ Used when {@link ApplicationLoadBalancerExtensionPropsV2.loadBalancer} is not provided. Falls back to
9256
+ `BasePlatformStackResolver` (CDK context) when also omitted.
8812
9257
 
8813
9258
  ---
8814
9259
 
8815
9260
  ##### `loadBalancer`<sup>Optional</sup> <a name="loadBalancer" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2.property.loadBalancer"></a>
8816
9261
 
8817
9262
  ```typescript
8818
- public readonly loadBalancer: ApplicationLoadBalancerV2;
9263
+ public readonly loadBalancer: IApplicationLoadBalancerV2;
8819
9264
  ```
8820
9265
 
8821
- - *Type:* <a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2">ApplicationLoadBalancerV2</a>
9266
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.IApplicationLoadBalancerV2">IApplicationLoadBalancerV2</a>
8822
9267
 
8823
- The Application Load Balancer to use.
9268
+ The Application Load Balancer to use directly.
8824
9269
 
8825
- Either this or `platformStackName` must be provided.
9270
+ When provided, the extension uses this construct as-is and no cross-stack
9271
+ import via {@link ApplicationLoadBalancerV2.fromBasePlatform} is performed.
9272
+ Use this when the ALB resides in the same CDK stack as the ECS service.
9273
+
9274
+ When omitted, the extension imports the ALB from the base platform stack
9275
+ identified by {@link ApplicationLoadBalancerExtensionPropsV2.basePlatformStackName}.
8826
9276
 
8827
9277
  ---
8828
9278
 
@@ -9557,6 +10007,7 @@ const auroraPostgresTunnelHostProps: AuroraPostgresTunnelHostProps = { ... }
9557
10007
 
9558
10008
  | **Name** | **Type** | **Description** |
9559
10009
  | --- | --- | --- |
10010
+ | <code><a href="#@btc-embedded/cdk-extensions.AuroraPostgresTunnelHostProps.property.cpuType">cpuType</a></code> | <code>aws-cdk-lib.aws_ec2.AmazonLinuxCpuType</code> | The CPU type for the tunnel host. |
9560
10011
  | <code><a href="#@btc-embedded/cdk-extensions.AuroraPostgresTunnelHostProps.property.createSsmVpcEndpoints">createSsmVpcEndpoints</a></code> | <code>boolean</code> | Whether to create SSM interface endpoints in the VPC (ssm, ssmmessages, ec2messages). |
9561
10012
  | <code><a href="#@btc-embedded/cdk-extensions.AuroraPostgresTunnelHostProps.property.enabled">enabled</a></code> | <code>boolean</code> | Whether a dedicated EC2 tunnel host should be provisioned. |
9562
10013
  | <code><a href="#@btc-embedded/cdk-extensions.AuroraPostgresTunnelHostProps.property.instanceType">instanceType</a></code> | <code>aws-cdk-lib.aws_ec2.InstanceType</code> | Instance type used for the tunnel host. |
@@ -9564,6 +10015,21 @@ const auroraPostgresTunnelHostProps: AuroraPostgresTunnelHostProps = { ... }
9564
10015
 
9565
10016
  ---
9566
10017
 
10018
+ ##### `cpuType`<sup>Optional</sup> <a name="cpuType" id="@btc-embedded/cdk-extensions.AuroraPostgresTunnelHostProps.property.cpuType"></a>
10019
+
10020
+ ```typescript
10021
+ public readonly cpuType: AmazonLinuxCpuType;
10022
+ ```
10023
+
10024
+ - *Type:* aws-cdk-lib.aws_ec2.AmazonLinuxCpuType
10025
+ - *Default:* AmazonLinuxCpuType.ARM_64
10026
+
10027
+ The CPU type for the tunnel host.
10028
+
10029
+ Set it to match the {@link AuroraPostgresTunnelHostProps.instanceType}.
10030
+
10031
+ ---
10032
+
9567
10033
  ##### `createSsmVpcEndpoints`<sup>Optional</sup> <a name="createSsmVpcEndpoints" id="@btc-embedded/cdk-extensions.AuroraPostgresTunnelHostProps.property.createSsmVpcEndpoints"></a>
9568
10034
 
9569
10035
  ```typescript
@@ -9599,7 +10065,7 @@ public readonly instanceType: InstanceType;
9599
10065
  ```
9600
10066
 
9601
10067
  - *Type:* aws-cdk-lib.aws_ec2.InstanceType
9602
- - *Default:* t3.nano
10068
+ - *Default:* t4g.nano
9603
10069
 
9604
10070
  Instance type used for the tunnel host.
9605
10071
 
@@ -9797,6 +10263,7 @@ const cloudMapExtensionProps: CloudMapExtensionProps = { ... }
9797
10263
  | --- | --- | --- |
9798
10264
  | <code><a href="#@btc-embedded/cdk-extensions.CloudMapExtensionProps.property.basePlatformStackName">basePlatformStackName</a></code> | <code>string</code> | The name of the platform stack to import the namespace parameter details from. |
9799
10265
  | <code><a href="#@btc-embedded/cdk-extensions.CloudMapExtensionProps.property.exportService">exportService</a></code> | <code>boolean</code> | Whether to export this service for cross-stack consumption. |
10266
+ | <code><a href="#@btc-embedded/cdk-extensions.CloudMapExtensionProps.property.privateDnsNamespace">privateDnsNamespace</a></code> | <code><a href="#@btc-embedded/cdk-extensions.IPrivateDnsNamespace">IPrivateDnsNamespace</a></code> | Private DNS namespace to use directly. |
9800
10267
 
9801
10268
  ---
9802
10269
 
@@ -9810,6 +10277,9 @@ public readonly basePlatformStackName: string;
9810
10277
 
9811
10278
  The name of the platform stack to import the namespace parameter details from.
9812
10279
 
10280
+ Used when {@link privateDnsNamespace} is not provided. Falls back to
10281
+ `BasePlatformStackResolver` (CDK context) when also omitted.
10282
+
9813
10283
  ---
9814
10284
 
9815
10285
  ##### `exportService`<sup>Optional</sup> <a name="exportService" id="@btc-embedded/cdk-extensions.CloudMapExtensionProps.property.exportService"></a>
@@ -9829,6 +10299,25 @@ to this service using ExportedService.fromAttributes().
9829
10299
 
9830
10300
  ---
9831
10301
 
10302
+ ##### `privateDnsNamespace`<sup>Optional</sup> <a name="privateDnsNamespace" id="@btc-embedded/cdk-extensions.CloudMapExtensionProps.property.privateDnsNamespace"></a>
10303
+
10304
+ ```typescript
10305
+ public readonly privateDnsNamespace: IPrivateDnsNamespace;
10306
+ ```
10307
+
10308
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.IPrivateDnsNamespace">IPrivateDnsNamespace</a>
10309
+
10310
+ Private DNS namespace to use directly.
10311
+
10312
+ When provided, the extension uses this construct as-is and no cross-stack
10313
+ import via {@link PrivateDnsNamespace.fromBasePlatform} is performed. Use
10314
+ this when the namespace resides in the same CDK stack as the ECS service.
10315
+
10316
+ When omitted, the extension imports the namespace from the base platform
10317
+ stack identified by {@link basePlatformStackName}.
10318
+
10319
+ ---
10320
+
9832
10321
  ### CognitoUserPoolProps <a name="CognitoUserPoolProps" id="@btc-embedded/cdk-extensions.CognitoUserPoolProps"></a>
9833
10322
 
9834
10323
  #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.CognitoUserPoolProps.Initializer"></a>
@@ -10933,37 +11422,58 @@ const documentDbAccessExtensionProps: DocumentDbAccessExtensionProps = { ... }
10933
11422
 
10934
11423
  | **Name** | **Type** | **Description** |
10935
11424
  | --- | --- | --- |
10936
- | <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. |
10937
11425
  | <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. |
11426
+ | <code><a href="#@btc-embedded/cdk-extensions.DocumentDbAccessExtensionProps.property.documentDb">documentDb</a></code> | <code><a href="#@btc-embedded/cdk-extensions.IDocumentDB">IDocumentDB</a></code> | DocumentDB instance to use directly. |
11427
+ | <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. |
10938
11428
 
10939
11429
  ---
10940
11430
 
10941
- ##### `securityGroupId`<sup>Required</sup> <a name="securityGroupId" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtensionProps.property.securityGroupId"></a>
11431
+ ##### `basePlatformStackName`<sup>Optional</sup> <a name="basePlatformStackName" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtensionProps.property.basePlatformStackName"></a>
10942
11432
 
10943
11433
  ```typescript
10944
- public readonly securityGroupId: string;
11434
+ public readonly basePlatformStackName: string;
10945
11435
  ```
10946
11436
 
10947
11437
  - *Type:* string
10948
11438
 
10949
- ID of the security group associated with the database access path.
11439
+ Name of the base platform stack to import the shared DocumentDB instance from.
10950
11440
 
10951
- Note: This property is currently not referenced directly by this extension's
10952
- implementation, but is kept as part of the public contract.
11441
+ Used when {@link documentDb} is not provided. Falls back to
11442
+ `BasePlatformStackResolver` (CDK context) when also omitted.
10953
11443
 
10954
11444
  ---
10955
11445
 
10956
- ##### `basePlatformStackName`<sup>Optional</sup> <a name="basePlatformStackName" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtensionProps.property.basePlatformStackName"></a>
11446
+ ##### `documentDb`<sup>Optional</sup> <a name="documentDb" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtensionProps.property.documentDb"></a>
10957
11447
 
10958
11448
  ```typescript
10959
- public readonly basePlatformStackName: string;
11449
+ public readonly documentDb: IDocumentDB;
11450
+ ```
11451
+
11452
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.IDocumentDB">IDocumentDB</a>
11453
+
11454
+ DocumentDB instance to use directly.
11455
+
11456
+ When provided, the extension uses this construct as-is and no cross-stack
11457
+ import via {@link DocumentDB.fromBasePlatform} is performed. Use this when
11458
+ the DocumentDB resides in the same CDK stack as the ECS service.
11459
+
11460
+ When omitted, the extension imports the DocumentDB from the base platform
11461
+ stack identified by {@link basePlatformStackName}.
11462
+
11463
+ ---
11464
+
11465
+ ##### `securityGroupId`<sup>Optional</sup> <a name="securityGroupId" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtensionProps.property.securityGroupId"></a>
11466
+
11467
+ ```typescript
11468
+ public readonly securityGroupId: string;
10960
11469
  ```
10961
11470
 
10962
11471
  - *Type:* string
10963
11472
 
10964
- Name of the base platform stack to import the shared DocumentDB instance from.
11473
+ ID of the security group associated with the database access path.
10965
11474
 
10966
- This is passed to {@link DocumentDB.fromBasePlatform}.
11475
+ Note: This property is currently not referenced directly by this extension's
11476
+ implementation, but is kept as part of the public contract.
10967
11477
 
10968
11478
  ---
10969
11479
 
@@ -12678,7 +13188,9 @@ const hTTPApiExtensionProps: HTTPApiExtensionProps = { ... }
12678
13188
 
12679
13189
  | **Name** | **Type** | **Description** |
12680
13190
  | --- | --- | --- |
13191
+ | <code><a href="#@btc-embedded/cdk-extensions.HTTPApiExtensionProps.property.apiGatewayVpcLink">apiGatewayVpcLink</a></code> | <code><a href="#@btc-embedded/cdk-extensions.IApiGatewayVpcLink">IApiGatewayVpcLink</a></code> | API Gateway VPC Link to use directly. |
12681
13192
  | <code><a href="#@btc-embedded/cdk-extensions.HTTPApiExtensionProps.property.basePlatformStackName">basePlatformStackName</a></code> | <code>string</code> | The name of the base platform stack. |
13193
+ | <code><a href="#@btc-embedded/cdk-extensions.HTTPApiExtensionProps.property.cognitoUserPool">cognitoUserPool</a></code> | <code><a href="#@btc-embedded/cdk-extensions.ICognitoUserPool">ICognitoUserPool</a></code> | Cognito User Pool to use directly for HTTP API authorization. |
12682
13194
  | <code><a href="#@btc-embedded/cdk-extensions.HTTPApiExtensionProps.property.domainPrefix">domainPrefix</a></code> | <code>string</code> | Domain prefix for the API Gateway endpoint. |
12683
13195
  | <code><a href="#@btc-embedded/cdk-extensions.HTTPApiExtensionProps.property.enableAccessLogs">enableAccessLogs</a></code> | <code>boolean</code> | Enable access logs for the API Gateway. |
12684
13196
  | <code><a href="#@btc-embedded/cdk-extensions.HTTPApiExtensionProps.property.endpointPrefix">endpointPrefix</a></code> | <code>string</code> | The prefix for the API Gateway endpoint. |
@@ -12687,6 +13199,25 @@ const hTTPApiExtensionProps: HTTPApiExtensionProps = { ... }
12687
13199
 
12688
13200
  ---
12689
13201
 
13202
+ ##### `apiGatewayVpcLink`<sup>Optional</sup> <a name="apiGatewayVpcLink" id="@btc-embedded/cdk-extensions.HTTPApiExtensionProps.property.apiGatewayVpcLink"></a>
13203
+
13204
+ ```typescript
13205
+ public readonly apiGatewayVpcLink: IApiGatewayVpcLink;
13206
+ ```
13207
+
13208
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.IApiGatewayVpcLink">IApiGatewayVpcLink</a>
13209
+
13210
+ API Gateway VPC Link to use directly.
13211
+
13212
+ When provided, the extension uses this construct as-is and no cross-stack
13213
+ import via {@link ApiGatewayVpcLink.fromBasePlatform} is performed. Use
13214
+ this when the VPC Link resides in the same CDK stack as the ECS service.
13215
+
13216
+ When omitted, the extension imports the VPC Link from the base platform
13217
+ stack identified by {@link basePlatformStackName}.
13218
+
13219
+ ---
13220
+
12690
13221
  ##### `basePlatformStackName`<sup>Optional</sup> <a name="basePlatformStackName" id="@btc-embedded/cdk-extensions.HTTPApiExtensionProps.property.basePlatformStackName"></a>
12691
13222
 
12692
13223
  ```typescript
@@ -12697,6 +13228,29 @@ public readonly basePlatformStackName: string;
12697
13228
 
12698
13229
  The name of the base platform stack.
12699
13230
 
13231
+ Used when {@link cognitoUserPool}, {@link apiGatewayVpcLink}, or
13232
+ {@link hostedZone} are not provided. Falls back to
13233
+ `BasePlatformStackResolver` (CDK context) when also omitted.
13234
+
13235
+ ---
13236
+
13237
+ ##### `cognitoUserPool`<sup>Optional</sup> <a name="cognitoUserPool" id="@btc-embedded/cdk-extensions.HTTPApiExtensionProps.property.cognitoUserPool"></a>
13238
+
13239
+ ```typescript
13240
+ public readonly cognitoUserPool: ICognitoUserPool;
13241
+ ```
13242
+
13243
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.ICognitoUserPool">ICognitoUserPool</a>
13244
+
13245
+ Cognito User Pool to use directly for HTTP API authorization.
13246
+
13247
+ When provided, the extension uses this construct as-is and no cross-stack
13248
+ import via {@link CognitoUserPool.fromBasePlatform} is performed. Use this
13249
+ when the user pool resides in the same CDK stack as the ECS service.
13250
+
13251
+ When omitted, the extension imports the user pool from the base platform
13252
+ stack identified by {@link basePlatformStackName}.
13253
+
12700
13254
  ---
12701
13255
 
12702
13256
  ##### `domainPrefix`<sup>Optional</sup> <a name="domainPrefix" id="@btc-embedded/cdk-extensions.HTTPApiExtensionProps.property.domainPrefix"></a>
@@ -12749,9 +13303,7 @@ Specify additional HTTP API Attributes.
12749
13303
 
12750
13304
  ---
12751
13305
 
12752
- ##### ~~`hostedZone`~~<sup>Optional</sup> <a name="hostedZone" id="@btc-embedded/cdk-extensions.HTTPApiExtensionProps.property.hostedZone"></a>
12753
-
12754
- - *Deprecated:* Provide only platformStackName. The hosted zone will be imported automatically.
13306
+ ##### `hostedZone`<sup>Optional</sup> <a name="hostedZone" id="@btc-embedded/cdk-extensions.HTTPApiExtensionProps.property.hostedZone"></a>
12755
13307
 
12756
13308
  ```typescript
12757
13309
  public readonly hostedZone: IHostedZone;
@@ -12762,6 +13314,9 @@ public readonly hostedZone: IHostedZone;
12762
13314
 
12763
13315
  Hosted Zone to create the gateway domain A record.
12764
13316
 
13317
+ When omitted, the hosted zone is imported from the base platform stack
13318
+ via {@link HostedZone.fromBasePlatform}.
13319
+
12765
13320
  ---
12766
13321
 
12767
13322
  ### ImportLogGroupOption <a name="ImportLogGroupOption" id="@btc-embedded/cdk-extensions.ImportLogGroupOption"></a>
@@ -12827,6 +13382,7 @@ const openIdExtensionProps: OpenIdExtensionProps = { ... }
12827
13382
  | **Name** | **Type** | **Description** |
12828
13383
  | --- | --- | --- |
12829
13384
  | <code><a href="#@btc-embedded/cdk-extensions.OpenIdExtensionProps.property.basePlatformStackName">basePlatformStackName</a></code> | <code>string</code> | The name of the base platform stack. |
13385
+ | <code><a href="#@btc-embedded/cdk-extensions.OpenIdExtensionProps.property.cognitoUserPool">cognitoUserPool</a></code> | <code><a href="#@btc-embedded/cdk-extensions.ICognitoUserPool">ICognitoUserPool</a></code> | Cognito User Pool to use directly. |
12830
13386
  | <code><a href="#@btc-embedded/cdk-extensions.OpenIdExtensionProps.property.redirectUri">redirectUri</a></code> | <code>string</code> | Adds OIDC_REDIRECT_URI environment variable to the container if set. |
12831
13387
 
12832
13388
  ---
@@ -12841,6 +13397,28 @@ public readonly basePlatformStackName: string;
12841
13397
 
12842
13398
  The name of the base platform stack.
12843
13399
 
13400
+ Used when {@link cognitoUserPool} is not provided. Falls back to
13401
+ `BasePlatformStackResolver` (CDK context) when also omitted.
13402
+
13403
+ ---
13404
+
13405
+ ##### `cognitoUserPool`<sup>Optional</sup> <a name="cognitoUserPool" id="@btc-embedded/cdk-extensions.OpenIdExtensionProps.property.cognitoUserPool"></a>
13406
+
13407
+ ```typescript
13408
+ public readonly cognitoUserPool: ICognitoUserPool;
13409
+ ```
13410
+
13411
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.ICognitoUserPool">ICognitoUserPool</a>
13412
+
13413
+ Cognito User Pool to use directly.
13414
+
13415
+ When provided, the extension uses this construct as-is and no cross-stack
13416
+ import via {@link CognitoUserPool.fromBasePlatform} is performed. Use this
13417
+ when the user pool resides in the same CDK stack as the ECS service.
13418
+
13419
+ When omitted, the extension imports the user pool from the base platform
13420
+ stack identified by {@link basePlatformStackName}.
13421
+
12844
13422
  ---
12845
13423
 
12846
13424
  ##### `redirectUri`<sup>Optional</sup> <a name="redirectUri" id="@btc-embedded/cdk-extensions.OpenIdExtensionProps.property.redirectUri"></a>
@@ -12941,6 +13519,7 @@ const postgresDbAccessExtensionProps: PostgresDbAccessExtensionProps = { ... }
12941
13519
  | **Name** | **Type** | **Description** |
12942
13520
  | --- | --- | --- |
12943
13521
  | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtensionProps.property.dbName">dbName</a></code> | <code>string</code> | The name of the database. |
13522
+ | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtensionProps.property.auroraPostgresDB">auroraPostgresDB</a></code> | <code><a href="#@btc-embedded/cdk-extensions.IAuroraPostgresDB">IAuroraPostgresDB</a></code> | Aurora PostgreSQL cluster to use directly. |
12944
13523
  | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtensionProps.property.basePlatformStackName">basePlatformStackName</a></code> | <code>string</code> | The name of the base platform stack. |
12945
13524
  | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtensionProps.property.dbConnectionProperties">dbConnectionProperties</a></code> | <code>{[ key: string ]: string}</code> | Additional connection properties to be added to the database connection string as query parameters. |
12946
13525
  | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtensionProps.property.enableMigration">enableMigration</a></code> | <code>boolean</code> | Enable database migration by calling the default image with the migration parameter. |
@@ -12962,6 +13541,25 @@ The name of the database.
12962
13541
 
12963
13542
  ---
12964
13543
 
13544
+ ##### `auroraPostgresDB`<sup>Optional</sup> <a name="auroraPostgresDB" id="@btc-embedded/cdk-extensions.PostgresDbAccessExtensionProps.property.auroraPostgresDB"></a>
13545
+
13546
+ ```typescript
13547
+ public readonly auroraPostgresDB: IAuroraPostgresDB;
13548
+ ```
13549
+
13550
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.IAuroraPostgresDB">IAuroraPostgresDB</a>
13551
+
13552
+ Aurora PostgreSQL cluster to use directly.
13553
+
13554
+ When provided, the extension uses this construct as-is and no cross-stack
13555
+ import via {@link AuroraPostgresCluster.fromBasePlatform} is performed. Use
13556
+ this when the Aurora cluster resides in the same CDK stack as the ECS service.
13557
+
13558
+ When omitted, the extension imports the cluster from the base platform stack
13559
+ identified by {@link PostgresDbAccessExtensionProps.basePlatformStackName}.
13560
+
13561
+ ---
13562
+
12965
13563
  ##### `basePlatformStackName`<sup>Optional</sup> <a name="basePlatformStackName" id="@btc-embedded/cdk-extensions.PostgresDbAccessExtensionProps.property.basePlatformStackName"></a>
12966
13564
 
12967
13565
  ```typescript
@@ -12972,8 +13570,9 @@ public readonly basePlatformStackName: string;
12972
13570
 
12973
13571
  The name of the base platform stack.
12974
13572
 
12975
- This name is used to look up output
12976
- parameters.
13573
+ Used to look up output parameters when
13574
+ {@link PostgresDbAccessExtensionProps.auroraPostgresDB} is not provided. Falls back to
13575
+ `BasePlatformStackResolver` (CDK context) when also omitted.
12977
13576
 
12978
13577
  ---
12979
13578
 
@@ -14759,7 +15358,7 @@ new ApplicationLoadBalancerExtensionV2(props: ApplicationLoadBalancerExtensionPr
14759
15358
 
14760
15359
  | **Name** | **Type** | **Description** |
14761
15360
  | --- | --- | --- |
14762
- | <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. |
15361
+ | <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.* |
14763
15362
 
14764
15363
  ---
14765
15364
 
@@ -14767,8 +15366,6 @@ new ApplicationLoadBalancerExtensionV2(props: ApplicationLoadBalancerExtensionPr
14767
15366
 
14768
15367
  - *Type:* <a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2">ApplicationLoadBalancerExtensionPropsV2</a>
14769
15368
 
14770
- The properties for configuring the load balancer extension.
14771
-
14772
15369
  ---
14773
15370
 
14774
15371
  #### Methods <a name="Methods" id="Methods"></a>
@@ -14782,7 +15379,7 @@ The properties for configuring the load balancer extension.
14782
15379
  | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionV2.modifyTaskDefinitionProps">modifyTaskDefinitionProps</a></code> | This is a hook which allows extensions to modify the settings of the task definition prior to it being created. |
14783
15380
  | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionV2.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. |
14784
15381
  | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionV2.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. |
14785
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionV2.useService">useService</a></code> | When this hook is implemented by extension, it allows the extension to use the service which has been created. |
15382
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionV2.useService">useService</a></code> | Wires the ECS service to the Application Load Balancer. |
14786
15383
  | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionV2.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. |
14787
15384
 
14788
15385
  ---
@@ -14909,10 +15506,12 @@ Once all containers are added to the task definition, this hook is called for ea
14909
15506
  public useService(service: Ec2Service | FargateService): void
14910
15507
  ```
14911
15508
 
14912
- When this hook is implemented by extension, it allows the extension to use the service which has been created.
15509
+ Wires the ECS service to the Application Load Balancer.
14913
15510
 
14914
- It is generally used to
14915
- create any final resources which might depend on the service itself.
15511
+ Uses the directly injected {@link ApplicationLoadBalancerExtensionPropsV2.loadBalancer}
15512
+ when available (same-stack), otherwise imports from the base platform stack. Falls back to
15513
+ `BasePlatformStackResolver` (CDK context) when
15514
+ {@link ApplicationLoadBalancerExtensionPropsV2.basePlatformStackName} is also absent.
14916
15515
 
14917
15516
  ###### `service`<sup>Required</sup> <a name="service" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionV2.useService.parameter.service"></a>
14918
15517
 
@@ -18396,7 +18995,9 @@ public readonly props: OpenTelemetryExtensionProps;
18396
18995
  ECS service extension that grants an ECS service access to an Aurora Postgres database created by the base platform.
18397
18996
 
18398
18997
  What it does:
18399
- - Imports DB endpoint, secrets and security group IDs from the base platform stack outputs.
18998
+ - Resolves DB endpoint, secrets and security group from either a directly
18999
+ injected {@link IAuroraPostgresDB} (same-stack) or from the base platform
19000
+ stack outputs via {@link AuroraPostgresCluster.fromBasePlatform} (cross-stack).
18400
19001
  - Allows the service SG to connect to the DB SG on port 5432.
18401
19002
  - Injects connection details into selected containers via container hooks.
18402
19003
  - Optionally adds a one-shot migration container and wires dependencies so the
@@ -18431,7 +19032,7 @@ new PostgresDbAccessExtension(props: PostgresDbAccessExtensionProps)
18431
19032
  | <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. |
18432
19033
  | <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. |
18433
19034
  | <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. |
18434
- | <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. |
19035
+ | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtension.prehook">prehook</a></code> | Resolves Aurora cluster outputs (endpoint, secret ARNs, security group) and prepares a service-specific connection-string secret. |
18435
19036
  | <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. |
18436
19037
  | <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. |
18437
19038
  | <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. |
@@ -18535,7 +19136,13 @@ Properties of the task definition to be created.
18535
19136
  public prehook(parent: Service, _scope: Construct): void
18536
19137
  ```
18537
19138
 
18538
- Resolves base-platform outputs (endpoint, secret ARNs) and prepares a service-specific connection-string secret.
19139
+ Resolves Aurora cluster outputs (endpoint, secret ARNs, security group) and prepares a service-specific connection-string secret.
19140
+
19141
+ Uses the directly injected {@link IAuroraPostgresDB} when available (same-stack),
19142
+ otherwise imports from the base platform stack via
19143
+ {@link AuroraPostgresCluster.fromBasePlatform}. Falls back to
19144
+ `BasePlatformStackResolver` (CDK context) when
19145
+ {@link PostgresDbAccessExtensionProps.basePlatformStackName} is also absent.
18539
19146
 
18540
19147
  ###### `parent`<sup>Required</sup> <a name="parent" id="@btc-embedded/cdk-extensions.PostgresDbAccessExtension.prehook.parameter.parent"></a>
18541
19148
 
@@ -18597,8 +19204,8 @@ container, but runs with `command: [migrationParameter]`.
18597
19204
  | <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. |
18598
19205
  | <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.* |
18599
19206
  | <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}). |
18600
- | <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}). |
18601
- | <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}). |
19207
+ | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtension.property.credentialsSecret">credentialsSecret</a></code> | <code>aws-cdk-lib.aws_secretsmanager.ISecret</code> | Credentials secret resolved from the Aurora cluster (populated in {@link prehook}). |
19208
+ | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtension.property.endpoint">endpoint</a></code> | <code>string</code> | Database endpoint resolved from the Aurora cluster (populated in {@link prehook}). |
18602
19209
 
18603
19210
  ---
18604
19211
 
@@ -18661,7 +19268,7 @@ public readonly credentialsSecret: ISecret;
18661
19268
 
18662
19269
  - *Type:* aws-cdk-lib.aws_secretsmanager.ISecret
18663
19270
 
18664
- Credentials secret imported from base platform (populated in {@link prehook}).
19271
+ Credentials secret resolved from the Aurora cluster (populated in {@link prehook}).
18665
19272
 
18666
19273
  ---
18667
19274
 
@@ -18673,7 +19280,7 @@ public readonly endpoint: string;
18673
19280
 
18674
19281
  - *Type:* string
18675
19282
 
18676
- Database endpoint imported from base platform (populated in {@link prehook}).
19283
+ Database endpoint resolved from the Aurora cluster (populated in {@link prehook}).
18677
19284
 
18678
19285
  ---
18679
19286
 
@@ -19299,6 +19906,53 @@ public readonly props: TcpKeepAliveExtensionProps;
19299
19906
 
19300
19907
  ## Protocols <a name="Protocols" id="Protocols"></a>
19301
19908
 
19909
+ ### IApiGateway <a name="IApiGateway" id="@btc-embedded/cdk-extensions.IApiGateway"></a>
19910
+
19911
+ - *Implemented By:* <a href="#@btc-embedded/cdk-extensions.ApiGateway">ApiGateway</a>, <a href="#@btc-embedded/cdk-extensions.IApiGateway">IApiGateway</a>
19912
+
19913
+ Public contract for the V1 `ApiGateway` platform construct.
19914
+
19915
+ Implementations expose the VPC Link and HTTP API identifiers so
19916
+ that {@link ApiGatewayExtension } can be used in the same stack.
19917
+
19918
+
19919
+ #### Properties <a name="Properties" id="Properties"></a>
19920
+
19921
+ | **Name** | **Type** | **Description** |
19922
+ | --- | --- | --- |
19923
+ | <code><a href="#@btc-embedded/cdk-extensions.IApiGateway.property.apiId">apiId</a></code> | <code>string</code> | The ID of the underlying HTTP API. |
19924
+ | <code><a href="#@btc-embedded/cdk-extensions.IApiGateway.property.vpcLinkId">vpcLinkId</a></code> | <code>string</code> | The ID of the VPC Link used by the API Gateway. |
19925
+
19926
+ ---
19927
+
19928
+ ##### ~~`apiId`~~<sup>Required</sup> <a name="apiId" id="@btc-embedded/cdk-extensions.IApiGateway.property.apiId"></a>
19929
+
19930
+ - *Deprecated:* Use {@link ApiGatewayVpcLink } together with {@link HTTPApiExtension } instead.
19931
+
19932
+ ```typescript
19933
+ public readonly apiId: string;
19934
+ ```
19935
+
19936
+ - *Type:* string
19937
+
19938
+ The ID of the underlying HTTP API.
19939
+
19940
+ ---
19941
+
19942
+ ##### ~~`vpcLinkId`~~<sup>Required</sup> <a name="vpcLinkId" id="@btc-embedded/cdk-extensions.IApiGateway.property.vpcLinkId"></a>
19943
+
19944
+ - *Deprecated:* Use {@link ApiGatewayVpcLink } together with {@link HTTPApiExtension } instead.
19945
+
19946
+ ```typescript
19947
+ public readonly vpcLinkId: string;
19948
+ ```
19949
+
19950
+ - *Type:* string
19951
+
19952
+ The ID of the VPC Link used by the API Gateway.
19953
+
19954
+ ---
19955
+
19302
19956
  ### IApiGatewayVpcLink <a name="IApiGatewayVpcLink" id="@btc-embedded/cdk-extensions.IApiGatewayVpcLink"></a>
19303
19957
 
19304
19958
  - *Implemented By:* <a href="#@btc-embedded/cdk-extensions.ApiGatewayVpcLink">ApiGatewayVpcLink</a>, <a href="#@btc-embedded/cdk-extensions.ApiGatewayVpcLinkBase">ApiGatewayVpcLinkBase</a>, <a href="#@btc-embedded/cdk-extensions.IApiGatewayVpcLink">IApiGatewayVpcLink</a>
@@ -19417,6 +20071,77 @@ public readonly targetGroup: IApplicationTargetGroup;
19417
20071
 
19418
20072
  ---
19419
20073
 
20074
+ ### IAuroraPostgresDB <a name="IAuroraPostgresDB" id="@btc-embedded/cdk-extensions.IAuroraPostgresDB"></a>
20075
+
20076
+ - *Implemented By:* <a href="#@btc-embedded/cdk-extensions.AuroraPostgresCluster">AuroraPostgresCluster</a>, <a href="#@btc-embedded/cdk-extensions.AuroraPostgresClusterBase">AuroraPostgresClusterBase</a>, <a href="#@btc-embedded/cdk-extensions.IAuroraPostgresDB">IAuroraPostgresDB</a>
20077
+
20078
+ Public interface for an Aurora PostgreSQL database component.
20079
+
20080
+ Implemented by both the concrete {@link AuroraPostgresCluster} (same-stack usage) and
20081
+ the import returned by {@link AuroraPostgresCluster.fromBasePlatform} (cross-stack usage).
20082
+ Extensions such as {@link PostgresDbAccessExtension } accept this interface so they work
20083
+ in either deployment topology.
20084
+
20085
+
20086
+ #### Properties <a name="Properties" id="Properties"></a>
20087
+
20088
+ | **Name** | **Type** | **Description** |
20089
+ | --- | --- | --- |
20090
+ | <code><a href="#@btc-embedded/cdk-extensions.IAuroraPostgresDB.property.connectionSecret">connectionSecret</a></code> | <code>aws-cdk-lib.aws_secretsmanager.ISecret</code> | Secret containing the postgres connection string prefix in the form `postgresql://user:pass@host:port/`. |
20091
+ | <code><a href="#@btc-embedded/cdk-extensions.IAuroraPostgresDB.property.credentialsSecret">credentialsSecret</a></code> | <code>aws-cdk-lib.aws_secretsmanager.ISecret</code> | Secret containing postgres credentials (username and password). |
20092
+ | <code><a href="#@btc-embedded/cdk-extensions.IAuroraPostgresDB.property.endpoint">endpoint</a></code> | <code>string</code> | Cluster endpoint in the form `host:port`. |
20093
+ | <code><a href="#@btc-embedded/cdk-extensions.IAuroraPostgresDB.property.securityGroup">securityGroup</a></code> | <code>aws-cdk-lib.aws_ec2.ISecurityGroup</code> | Security group attached to the Aurora cluster. |
20094
+
20095
+ ---
20096
+
20097
+ ##### `connectionSecret`<sup>Required</sup> <a name="connectionSecret" id="@btc-embedded/cdk-extensions.IAuroraPostgresDB.property.connectionSecret"></a>
20098
+
20099
+ ```typescript
20100
+ public readonly connectionSecret: ISecret;
20101
+ ```
20102
+
20103
+ - *Type:* aws-cdk-lib.aws_secretsmanager.ISecret
20104
+
20105
+ Secret containing the postgres connection string prefix in the form `postgresql://user:pass@host:port/`.
20106
+
20107
+ ---
20108
+
20109
+ ##### `credentialsSecret`<sup>Required</sup> <a name="credentialsSecret" id="@btc-embedded/cdk-extensions.IAuroraPostgresDB.property.credentialsSecret"></a>
20110
+
20111
+ ```typescript
20112
+ public readonly credentialsSecret: ISecret;
20113
+ ```
20114
+
20115
+ - *Type:* aws-cdk-lib.aws_secretsmanager.ISecret
20116
+
20117
+ Secret containing postgres credentials (username and password).
20118
+
20119
+ ---
20120
+
20121
+ ##### `endpoint`<sup>Required</sup> <a name="endpoint" id="@btc-embedded/cdk-extensions.IAuroraPostgresDB.property.endpoint"></a>
20122
+
20123
+ ```typescript
20124
+ public readonly endpoint: string;
20125
+ ```
20126
+
20127
+ - *Type:* string
20128
+
20129
+ Cluster endpoint in the form `host:port`.
20130
+
20131
+ ---
20132
+
20133
+ ##### `securityGroup`<sup>Required</sup> <a name="securityGroup" id="@btc-embedded/cdk-extensions.IAuroraPostgresDB.property.securityGroup"></a>
20134
+
20135
+ ```typescript
20136
+ public readonly securityGroup: ISecurityGroup;
20137
+ ```
20138
+
20139
+ - *Type:* aws-cdk-lib.aws_ec2.ISecurityGroup
20140
+
20141
+ Security group attached to the Aurora cluster.
20142
+
20143
+ ---
20144
+
19420
20145
  ### ICognitoUserPool <a name="ICognitoUserPool" id="@btc-embedded/cdk-extensions.ICognitoUserPool"></a>
19421
20146
 
19422
20147
  - *Implemented By:* <a href="#@btc-embedded/cdk-extensions.CognitoUserPool">CognitoUserPool</a>, <a href="#@btc-embedded/cdk-extensions.CognitoUserPoolBase">CognitoUserPoolBase</a>, <a href="#@btc-embedded/cdk-extensions.ICognitoUserPool">ICognitoUserPool</a>
@@ -19508,7 +20233,7 @@ public readonly userPool: IUserPool;
19508
20233
 
19509
20234
  ### IDocumentDB <a name="IDocumentDB" id="@btc-embedded/cdk-extensions.IDocumentDB"></a>
19510
20235
 
19511
- - *Implemented By:* <a href="#@btc-embedded/cdk-extensions.DocumentDBBase">DocumentDBBase</a>, <a href="#@btc-embedded/cdk-extensions.IDocumentDB">IDocumentDB</a>
20236
+ - *Implemented By:* <a href="#@btc-embedded/cdk-extensions.DocumentDB">DocumentDB</a>, <a href="#@btc-embedded/cdk-extensions.DocumentDBBase">DocumentDBBase</a>, <a href="#@btc-embedded/cdk-extensions.IDocumentDB">IDocumentDB</a>
19512
20237
 
19513
20238
  Public interface for a DocumentDB component.
19514
20239