@btc-embedded/cdk-extensions 0.22.22 → 0.22.24

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 +905 -207
  2. package/API.md +777 -52
  3. package/CHANGELOG.md +16 -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 +8 -2
  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 +5 -15
  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/.jsii CHANGED
@@ -8542,7 +8542,7 @@
8542
8542
  },
8543
8543
  "locationInModule": {
8544
8544
  "filename": "src/platform/ApiGateway.ts",
8545
- "line": 80
8545
+ "line": 134
8546
8546
  },
8547
8547
  "parameters": [
8548
8548
  {
@@ -8565,12 +8565,99 @@
8565
8565
  }
8566
8566
  ]
8567
8567
  },
8568
+ "interfaces": [
8569
+ "@btc-embedded/cdk-extensions.IApiGateway"
8570
+ ],
8568
8571
  "kind": "class",
8569
8572
  "locationInModule": {
8570
8573
  "filename": "src/platform/ApiGateway.ts",
8571
- "line": 73
8574
+ "line": 86
8572
8575
  },
8576
+ "methods": [
8577
+ {
8578
+ "docs": {
8579
+ "stability": "deprecated",
8580
+ "summary": "Reconstructs an {@link IApiGateway} from CloudFormation exports produced by a V1 {@link ApiGateway} in a different stack."
8581
+ },
8582
+ "locationInModule": {
8583
+ "filename": "src/platform/ApiGateway.ts",
8584
+ "line": 96
8585
+ },
8586
+ "name": "fromBasePlatform",
8587
+ "parameters": [
8588
+ {
8589
+ "docs": {
8590
+ "summary": "- The CDK scope in which to create the import construct."
8591
+ },
8592
+ "name": "scope",
8593
+ "type": {
8594
+ "fqn": "constructs.Construct"
8595
+ }
8596
+ },
8597
+ {
8598
+ "docs": {
8599
+ "summary": "- The CDK construct identifier."
8600
+ },
8601
+ "name": "id",
8602
+ "type": {
8603
+ "primitive": "string"
8604
+ }
8605
+ },
8606
+ {
8607
+ "docs": {
8608
+ "remarks": "When omitted the stack name is resolved via {@link BasePlatformStackResolver }.",
8609
+ "summary": "- Override the stack name to import from."
8610
+ },
8611
+ "name": "basePlatformStackName",
8612
+ "optional": true,
8613
+ "type": {
8614
+ "primitive": "string"
8615
+ }
8616
+ }
8617
+ ],
8618
+ "returns": {
8619
+ "type": {
8620
+ "fqn": "@btc-embedded/cdk-extensions.IApiGateway"
8621
+ }
8622
+ },
8623
+ "static": true
8624
+ }
8625
+ ],
8573
8626
  "name": "ApiGateway",
8627
+ "properties": [
8628
+ {
8629
+ "docs": {
8630
+ "stability": "deprecated",
8631
+ "summary": "The ID of the underlying HTTP API."
8632
+ },
8633
+ "immutable": true,
8634
+ "locationInModule": {
8635
+ "filename": "src/platform/ApiGateway.ts",
8636
+ "line": 126
8637
+ },
8638
+ "name": "apiId",
8639
+ "overrides": "@btc-embedded/cdk-extensions.IApiGateway",
8640
+ "type": {
8641
+ "primitive": "string"
8642
+ }
8643
+ },
8644
+ {
8645
+ "docs": {
8646
+ "stability": "deprecated",
8647
+ "summary": "The ID of the VPC Link created for this API Gateway."
8648
+ },
8649
+ "immutable": true,
8650
+ "locationInModule": {
8651
+ "filename": "src/platform/ApiGateway.ts",
8652
+ "line": 124
8653
+ },
8654
+ "name": "vpcLinkId",
8655
+ "overrides": "@btc-embedded/cdk-extensions.IApiGateway",
8656
+ "type": {
8657
+ "primitive": "string"
8658
+ }
8659
+ }
8660
+ ],
8574
8661
  "symbolId": "src/platform/ApiGateway:ApiGateway"
8575
8662
  },
8576
8663
  "@btc-embedded/cdk-extensions.ApiGatewayExtension": {
@@ -8588,7 +8675,7 @@
8588
8675
  },
8589
8676
  "locationInModule": {
8590
8677
  "filename": "src/extensions/ApiGatewayExtension.ts",
8591
- "line": 49
8678
+ "line": 69
8592
8679
  },
8593
8680
  "parameters": [
8594
8681
  {
@@ -8602,7 +8689,7 @@
8602
8689
  "kind": "class",
8603
8690
  "locationInModule": {
8604
8691
  "filename": "src/extensions/ApiGatewayExtension.ts",
8605
- "line": 42
8692
+ "line": 62
8606
8693
  },
8607
8694
  "methods": [
8608
8695
  {
@@ -8613,7 +8700,7 @@
8613
8700
  },
8614
8701
  "locationInModule": {
8615
8702
  "filename": "src/extensions/ApiGatewayExtension.ts",
8616
- "line": 54
8703
+ "line": 74
8617
8704
  },
8618
8705
  "name": "useService",
8619
8706
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -8645,7 +8732,7 @@
8645
8732
  "immutable": true,
8646
8733
  "locationInModule": {
8647
8734
  "filename": "src/extensions/ApiGatewayExtension.ts",
8648
- "line": 43
8735
+ "line": 63
8649
8736
  },
8650
8737
  "name": "props",
8651
8738
  "type": {
@@ -8665,7 +8752,7 @@
8665
8752
  "kind": "interface",
8666
8753
  "locationInModule": {
8667
8754
  "filename": "src/extensions/ApiGatewayExtension.ts",
8668
- "line": 21
8755
+ "line": 23
8669
8756
  },
8670
8757
  "name": "ApiGatewayExtensionProps",
8671
8758
  "properties": [
@@ -8678,7 +8765,7 @@
8678
8765
  "immutable": true,
8679
8766
  "locationInModule": {
8680
8767
  "filename": "src/extensions/ApiGatewayExtension.ts",
8681
- "line": 25
8768
+ "line": 27
8682
8769
  },
8683
8770
  "name": "prefix",
8684
8771
  "type": {
@@ -8694,13 +8781,31 @@
8694
8781
  "immutable": true,
8695
8782
  "locationInModule": {
8696
8783
  "filename": "src/extensions/ApiGatewayExtension.ts",
8697
- "line": 35
8784
+ "line": 37
8698
8785
  },
8699
8786
  "name": "securityGroupId",
8700
8787
  "type": {
8701
8788
  "primitive": "string"
8702
8789
  }
8703
8790
  },
8791
+ {
8792
+ "abstract": true,
8793
+ "docs": {
8794
+ "remarks": "When omitted the VPC link ID and API ID are imported from the base platform stack.",
8795
+ "stability": "experimental",
8796
+ "summary": "Provide a direct {@link IApiGateway} reference for same-stack usage."
8797
+ },
8798
+ "immutable": true,
8799
+ "locationInModule": {
8800
+ "filename": "src/extensions/ApiGatewayExtension.ts",
8801
+ "line": 43
8802
+ },
8803
+ "name": "apiGateway",
8804
+ "optional": true,
8805
+ "type": {
8806
+ "fqn": "@btc-embedded/cdk-extensions.IApiGateway"
8807
+ }
8808
+ },
8704
8809
  {
8705
8810
  "abstract": true,
8706
8811
  "docs": {
@@ -8710,13 +8815,49 @@
8710
8815
  "immutable": true,
8711
8816
  "locationInModule": {
8712
8817
  "filename": "src/extensions/ApiGatewayExtension.ts",
8713
- "line": 30
8818
+ "line": 32
8714
8819
  },
8715
8820
  "name": "basePlatformStackName",
8716
8821
  "optional": true,
8717
8822
  "type": {
8718
8823
  "primitive": "string"
8719
8824
  }
8825
+ },
8826
+ {
8827
+ "abstract": true,
8828
+ "docs": {
8829
+ "remarks": "When omitted the user pool attributes are imported from the base platform stack.",
8830
+ "stability": "experimental",
8831
+ "summary": "Provide a direct Cognito user pool reference for same-stack usage."
8832
+ },
8833
+ "immutable": true,
8834
+ "locationInModule": {
8835
+ "filename": "src/extensions/ApiGatewayExtension.ts",
8836
+ "line": 49
8837
+ },
8838
+ "name": "cognitoUserPool",
8839
+ "optional": true,
8840
+ "type": {
8841
+ "fqn": "@btc-embedded/cdk-extensions.ICognitoUserPool"
8842
+ }
8843
+ },
8844
+ {
8845
+ "abstract": true,
8846
+ "docs": {
8847
+ "remarks": "When omitted the FQDN is imported from the base platform stack.",
8848
+ "stability": "experimental",
8849
+ "summary": "Provide the FQDN directly for same-stack usage."
8850
+ },
8851
+ "immutable": true,
8852
+ "locationInModule": {
8853
+ "filename": "src/extensions/ApiGatewayExtension.ts",
8854
+ "line": 55
8855
+ },
8856
+ "name": "fqdn",
8857
+ "optional": true,
8858
+ "type": {
8859
+ "primitive": "string"
8860
+ }
8720
8861
  }
8721
8862
  ],
8722
8863
  "symbolId": "src/extensions/ApiGatewayExtension:ApiGatewayExtensionProps"
@@ -8731,7 +8872,7 @@
8731
8872
  "kind": "interface",
8732
8873
  "locationInModule": {
8733
8874
  "filename": "src/platform/ApiGateway.ts",
8734
- "line": 22
8875
+ "line": 35
8735
8876
  },
8736
8877
  "name": "ApiGatewayProps",
8737
8878
  "properties": [
@@ -8744,7 +8885,7 @@
8744
8885
  "immutable": true,
8745
8886
  "locationInModule": {
8746
8887
  "filename": "src/platform/ApiGateway.ts",
8747
- "line": 46
8888
+ "line": 59
8748
8889
  },
8749
8890
  "name": "domainPrefix",
8750
8891
  "type": {
@@ -8760,7 +8901,7 @@
8760
8901
  "immutable": true,
8761
8902
  "locationInModule": {
8762
8903
  "filename": "src/platform/ApiGateway.ts",
8763
- "line": 51
8904
+ "line": 64
8764
8905
  },
8765
8906
  "name": "hostedZone",
8766
8907
  "type": {
@@ -8776,7 +8917,7 @@
8776
8917
  "immutable": true,
8777
8918
  "locationInModule": {
8778
8919
  "filename": "src/platform/ApiGateway.ts",
8779
- "line": 26
8920
+ "line": 39
8780
8921
  },
8781
8922
  "name": "stackName",
8782
8923
  "type": {
@@ -8792,7 +8933,7 @@
8792
8933
  "immutable": true,
8793
8934
  "locationInModule": {
8794
8935
  "filename": "src/platform/ApiGateway.ts",
8795
- "line": 36
8936
+ "line": 49
8796
8937
  },
8797
8938
  "name": "userPool",
8798
8939
  "type": {
@@ -8808,7 +8949,7 @@
8808
8949
  "immutable": true,
8809
8950
  "locationInModule": {
8810
8951
  "filename": "src/platform/ApiGateway.ts",
8811
- "line": 41
8952
+ "line": 54
8812
8953
  },
8813
8954
  "name": "userPoolClients",
8814
8955
  "type": {
@@ -8829,7 +8970,7 @@
8829
8970
  "immutable": true,
8830
8971
  "locationInModule": {
8831
8972
  "filename": "src/platform/ApiGateway.ts",
8832
- "line": 31
8973
+ "line": 44
8833
8974
  },
8834
8975
  "name": "vpc",
8835
8976
  "type": {
@@ -8845,7 +8986,7 @@
8845
8986
  "immutable": true,
8846
8987
  "locationInModule": {
8847
8988
  "filename": "src/platform/ApiGateway.ts",
8848
- "line": 57
8989
+ "line": 70
8849
8990
  },
8850
8991
  "name": "logGroup",
8851
8992
  "optional": true,
@@ -10133,7 +10274,7 @@
10133
10274
  },
10134
10275
  "locationInModule": {
10135
10276
  "filename": "src/extensions/ApplicationLoadBalancerExtension.ts",
10136
- "line": 89
10277
+ "line": 105
10137
10278
  },
10138
10279
  "parameters": [
10139
10280
  {
@@ -10147,7 +10288,7 @@
10147
10288
  "kind": "class",
10148
10289
  "locationInModule": {
10149
10290
  "filename": "src/extensions/ApplicationLoadBalancerExtension.ts",
10150
- "line": 80
10291
+ "line": 96
10151
10292
  },
10152
10293
  "methods": [
10153
10294
  {
@@ -10157,7 +10298,7 @@
10157
10298
  },
10158
10299
  "locationInModule": {
10159
10300
  "filename": "src/extensions/ApplicationLoadBalancerExtension.ts",
10160
- "line": 94
10301
+ "line": 110
10161
10302
  },
10162
10303
  "name": "addHooks",
10163
10304
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension"
@@ -10169,7 +10310,7 @@
10169
10310
  },
10170
10311
  "locationInModule": {
10171
10312
  "filename": "src/extensions/ApplicationLoadBalancerExtension.ts",
10172
- "line": 193
10313
+ "line": 200
10173
10314
  },
10174
10315
  "name": "modifyServiceProps",
10175
10316
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -10194,7 +10335,7 @@
10194
10335
  },
10195
10336
  "locationInModule": {
10196
10337
  "filename": "src/extensions/ApplicationLoadBalancerExtension.ts",
10197
- "line": 116
10338
+ "line": 132
10198
10339
  },
10199
10340
  "name": "prehook",
10200
10341
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -10221,7 +10362,7 @@
10221
10362
  },
10222
10363
  "locationInModule": {
10223
10364
  "filename": "src/extensions/ApplicationLoadBalancerExtension.ts",
10224
- "line": 200
10365
+ "line": 207
10225
10366
  },
10226
10367
  "name": "useService",
10227
10368
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -10252,7 +10393,7 @@
10252
10393
  },
10253
10394
  "locationInModule": {
10254
10395
  "filename": "src/extensions/ApplicationLoadBalancerExtension.ts",
10255
- "line": 87
10396
+ "line": 103
10256
10397
  },
10257
10398
  "name": "fqdn",
10258
10399
  "type": {
@@ -10265,7 +10406,7 @@
10265
10406
  },
10266
10407
  "locationInModule": {
10267
10408
  "filename": "src/extensions/ApplicationLoadBalancerExtension.ts",
10268
- "line": 84
10409
+ "line": 100
10269
10410
  },
10270
10411
  "name": "userPool",
10271
10412
  "type": {
@@ -10278,7 +10419,7 @@
10278
10419
  },
10279
10420
  "locationInModule": {
10280
10421
  "filename": "src/extensions/ApplicationLoadBalancerExtension.ts",
10281
- "line": 85
10422
+ "line": 101
10282
10423
  },
10283
10424
  "name": "userPoolClient",
10284
10425
  "type": {
@@ -10291,7 +10432,7 @@
10291
10432
  },
10292
10433
  "locationInModule": {
10293
10434
  "filename": "src/extensions/ApplicationLoadBalancerExtension.ts",
10294
- "line": 86
10435
+ "line": 102
10295
10436
  },
10296
10437
  "name": "userPoolDomain",
10297
10438
  "type": {
@@ -10311,7 +10452,7 @@
10311
10452
  "kind": "interface",
10312
10453
  "locationInModule": {
10313
10454
  "filename": "src/extensions/ApplicationLoadBalancerExtension.ts",
10314
- "line": 36
10455
+ "line": 37
10315
10456
  },
10316
10457
  "name": "ApplicationLoadBalancerExtensionProps",
10317
10458
  "properties": [
@@ -10323,7 +10464,7 @@
10323
10464
  "immutable": true,
10324
10465
  "locationInModule": {
10325
10466
  "filename": "src/extensions/ApplicationLoadBalancerExtension.ts",
10326
- "line": 40
10467
+ "line": 41
10327
10468
  },
10328
10469
  "name": "clientScope",
10329
10470
  "type": {
@@ -10338,7 +10479,7 @@
10338
10479
  "immutable": true,
10339
10480
  "locationInModule": {
10340
10481
  "filename": "src/extensions/ApplicationLoadBalancerExtension.ts",
10341
- "line": 39
10482
+ "line": 40
10342
10483
  },
10343
10484
  "name": "securityGroupId",
10344
10485
  "type": {
@@ -10353,7 +10494,7 @@
10353
10494
  "immutable": true,
10354
10495
  "locationInModule": {
10355
10496
  "filename": "src/extensions/ApplicationLoadBalancerExtension.ts",
10356
- "line": 38
10497
+ "line": 39
10357
10498
  },
10358
10499
  "name": "userPoolClientSecret",
10359
10500
  "type": {
@@ -10368,7 +10509,7 @@
10368
10509
  "immutable": true,
10369
10510
  "locationInModule": {
10370
10511
  "filename": "src/extensions/ApplicationLoadBalancerExtension.ts",
10371
- "line": 37
10512
+ "line": 38
10372
10513
  },
10373
10514
  "name": "basePlatformStackName",
10374
10515
  "optional": true,
@@ -10376,6 +10517,42 @@
10376
10517
  "primitive": "string"
10377
10518
  }
10378
10519
  },
10520
+ {
10521
+ "abstract": true,
10522
+ "docs": {
10523
+ "remarks": "When omitted the user pool attributes are imported from the base platform stack.",
10524
+ "stability": "experimental",
10525
+ "summary": "Provide a direct Cognito user pool reference for same-stack usage."
10526
+ },
10527
+ "immutable": true,
10528
+ "locationInModule": {
10529
+ "filename": "src/extensions/ApplicationLoadBalancerExtension.ts",
10530
+ "line": 54
10531
+ },
10532
+ "name": "cognitoUserPool",
10533
+ "optional": true,
10534
+ "type": {
10535
+ "fqn": "@btc-embedded/cdk-extensions.ICognitoUserPool"
10536
+ }
10537
+ },
10538
+ {
10539
+ "abstract": true,
10540
+ "docs": {
10541
+ "remarks": "When omitted the FQDN is imported from the base platform stack.",
10542
+ "stability": "experimental",
10543
+ "summary": "Provide the FQDN directly for same-stack usage."
10544
+ },
10545
+ "immutable": true,
10546
+ "locationInModule": {
10547
+ "filename": "src/extensions/ApplicationLoadBalancerExtension.ts",
10548
+ "line": 59
10549
+ },
10550
+ "name": "fqdn",
10551
+ "optional": true,
10552
+ "type": {
10553
+ "primitive": "string"
10554
+ }
10555
+ },
10379
10556
  {
10380
10557
  "abstract": true,
10381
10558
  "docs": {
@@ -10384,7 +10561,7 @@
10384
10561
  "immutable": true,
10385
10562
  "locationInModule": {
10386
10563
  "filename": "src/extensions/ApplicationLoadBalancerExtension.ts",
10387
- "line": 41
10564
+ "line": 42
10388
10565
  },
10389
10566
  "name": "healtCheckPath",
10390
10567
  "optional": true,
@@ -10395,12 +10572,14 @@
10395
10572
  {
10396
10573
  "abstract": true,
10397
10574
  "docs": {
10398
- "stability": "experimental"
10575
+ "remarks": "When omitted the listener ARN is imported from the base platform stack.",
10576
+ "stability": "experimental",
10577
+ "summary": "Provide a direct ALB listener reference for same-stack usage."
10399
10578
  },
10400
10579
  "immutable": true,
10401
10580
  "locationInModule": {
10402
10581
  "filename": "src/extensions/ApplicationLoadBalancerExtension.ts",
10403
- "line": 43
10582
+ "line": 49
10404
10583
  },
10405
10584
  "name": "listener",
10406
10585
  "optional": true,
@@ -10411,12 +10590,13 @@
10411
10590
  {
10412
10591
  "abstract": true,
10413
10592
  "docs": {
10414
- "stability": "experimental"
10593
+ "stability": "experimental",
10594
+ "summary": "Path to redirect the client after successful authentication."
10415
10595
  },
10416
10596
  "immutable": true,
10417
10597
  "locationInModule": {
10418
10598
  "filename": "src/extensions/ApplicationLoadBalancerExtension.ts",
10419
- "line": 42
10599
+ "line": 44
10420
10600
  },
10421
10601
  "name": "path",
10422
10602
  "optional": true,
@@ -10438,21 +10618,21 @@
10438
10618
  "kind": "interface",
10439
10619
  "locationInModule": {
10440
10620
  "filename": "src/extensions/ApplicationLoadBalancerExtensionV2.ts",
10441
- "line": 15
10621
+ "line": 18
10442
10622
  },
10443
10623
  "name": "ApplicationLoadBalancerExtensionPropsV2",
10444
10624
  "properties": [
10445
10625
  {
10446
10626
  "abstract": true,
10447
10627
  "docs": {
10448
- "remarks": "Either this or `loadBalancer` must be provided.",
10628
+ "remarks": "Used when {@link ApplicationLoadBalancerExtensionPropsV2.loadBalancer} is not provided. Falls back to\n`BasePlatformStackResolver` (CDK context) when also omitted.",
10449
10629
  "stability": "experimental",
10450
10630
  "summary": "The name of the platform stack to use for the load balancer."
10451
10631
  },
10452
10632
  "immutable": true,
10453
10633
  "locationInModule": {
10454
10634
  "filename": "src/extensions/ApplicationLoadBalancerExtensionV2.ts",
10455
- "line": 20
10635
+ "line": 25
10456
10636
  },
10457
10637
  "name": "basePlatformStackName",
10458
10638
  "optional": true,
@@ -10463,19 +10643,19 @@
10463
10643
  {
10464
10644
  "abstract": true,
10465
10645
  "docs": {
10466
- "remarks": "Either this or `platformStackName` must be provided.",
10646
+ "remarks": "When provided, the extension uses this construct as-is and no cross-stack\nimport via {@link ApplicationLoadBalancerV2.fromBasePlatform} is performed.\nUse this when the ALB resides in the same CDK stack as the ECS service.\n\nWhen omitted, the extension imports the ALB from the base platform stack\nidentified by {@link ApplicationLoadBalancerExtensionPropsV2.basePlatformStackName}.",
10467
10647
  "stability": "experimental",
10468
- "summary": "The Application Load Balancer to use."
10648
+ "summary": "The Application Load Balancer to use directly."
10469
10649
  },
10470
10650
  "immutable": true,
10471
10651
  "locationInModule": {
10472
10652
  "filename": "src/extensions/ApplicationLoadBalancerExtensionV2.ts",
10473
- "line": 26
10653
+ "line": 37
10474
10654
  },
10475
10655
  "name": "loadBalancer",
10476
10656
  "optional": true,
10477
10657
  "type": {
10478
- "fqn": "@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2"
10658
+ "fqn": "@btc-embedded/cdk-extensions.IApplicationLoadBalancerV2"
10479
10659
  }
10480
10660
  }
10481
10661
  ],
@@ -10491,21 +10671,16 @@
10491
10671
  "fqn": "@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionV2",
10492
10672
  "initializer": {
10493
10673
  "docs": {
10494
- "custom": {
10495
- "throws": "Error if neither platformStackName nor loadBalancer is provided."
10496
- },
10674
+ "remarks": "At least one of {@link ApplicationLoadBalancerExtensionPropsV2.basePlatformStackName}\nor {@link ApplicationLoadBalancerExtensionPropsV2.loadBalancer} must be\nprovided. If neither is given, CDK context\n(`cdk-extensions:basePlatformStackName`) is used as a final fallback;\nsynthesis will fail if that is also absent.",
10497
10675
  "stability": "experimental",
10498
10676
  "summary": "Creates a new ApplicationLoadBalancerExtensionV2."
10499
10677
  },
10500
10678
  "locationInModule": {
10501
10679
  "filename": "src/extensions/ApplicationLoadBalancerExtensionV2.ts",
10502
- "line": 40
10680
+ "line": 55
10503
10681
  },
10504
10682
  "parameters": [
10505
10683
  {
10506
- "docs": {
10507
- "summary": "- The properties for configuring the load balancer extension."
10508
- },
10509
10684
  "name": "props",
10510
10685
  "type": {
10511
10686
  "fqn": "@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2"
@@ -10516,7 +10691,7 @@
10516
10691
  "kind": "class",
10517
10692
  "locationInModule": {
10518
10693
  "filename": "src/extensions/ApplicationLoadBalancerExtensionV2.ts",
10519
- "line": 32
10694
+ "line": 43
10520
10695
  },
10521
10696
  "methods": [
10522
10697
  {
@@ -10526,7 +10701,7 @@
10526
10701
  },
10527
10702
  "locationInModule": {
10528
10703
  "filename": "src/extensions/ApplicationLoadBalancerExtensionV2.ts",
10529
- "line": 56
10704
+ "line": 64
10530
10705
  },
10531
10706
  "name": "modifyServiceProps",
10532
10707
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -10551,7 +10726,7 @@
10551
10726
  },
10552
10727
  "locationInModule": {
10553
10728
  "filename": "src/extensions/ApplicationLoadBalancerExtensionV2.ts",
10554
- "line": 52
10729
+ "line": 60
10555
10730
  },
10556
10731
  "name": "prehook",
10557
10732
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -10572,13 +10747,13 @@
10572
10747
  },
10573
10748
  {
10574
10749
  "docs": {
10575
- "remarks": "It is generally used to\ncreate any final resources which might depend on the service itself.",
10750
+ "remarks": "Uses the directly injected {@link ApplicationLoadBalancerExtensionPropsV2.loadBalancer}\nwhen available (same-stack), otherwise imports from the base platform stack. Falls back to\n`BasePlatformStackResolver` (CDK context) when\n{@link ApplicationLoadBalancerExtensionPropsV2.basePlatformStackName} is also absent.",
10576
10751
  "stability": "experimental",
10577
- "summary": "When this hook is implemented by extension, it allows the extension to use the service which has been created."
10752
+ "summary": "Wires the ECS service to the Application Load Balancer."
10578
10753
  },
10579
10754
  "locationInModule": {
10580
10755
  "filename": "src/extensions/ApplicationLoadBalancerExtensionV2.ts",
10581
- "line": 63
10756
+ "line": 79
10582
10757
  },
10583
10758
  "name": "useService",
10584
10759
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -11143,84 +11318,304 @@
11143
11318
  "name": "ApplicationStackProps",
11144
11319
  "properties": [
11145
11320
  {
11146
- "abstract": true,
11321
+ "abstract": true,
11322
+ "docs": {
11323
+ "stability": "experimental"
11324
+ },
11325
+ "immutable": true,
11326
+ "locationInModule": {
11327
+ "filename": "src/stacks/ApplicationStack.ts",
11328
+ "line": 6
11329
+ },
11330
+ "name": "basePlatformStackName",
11331
+ "type": {
11332
+ "primitive": "string"
11333
+ }
11334
+ }
11335
+ ],
11336
+ "symbolId": "src/stacks/ApplicationStack:ApplicationStackProps"
11337
+ },
11338
+ "@btc-embedded/cdk-extensions.AuroraPostgresCluster": {
11339
+ "assembly": "@btc-embedded/cdk-extensions",
11340
+ "base": "@btc-embedded/cdk-extensions.AuroraPostgresClusterBase",
11341
+ "docs": {
11342
+ "remarks": "Exports:\n- `aurora-postgres-db:secret-arn`\n- `aurora-postgres-db:credentials-secret-arn`\n- `aurora-postgres-db:cluster-endpoint`\n- `aurora-postgres-db:security-group-id`\n- `aurora-postgres-db:tunnel-instance-id` (only when tunnel host is enabled)",
11343
+ "stability": "experimental",
11344
+ "summary": "Provisions an Aurora PostgreSQL Serverless v2 cluster and exports connection metadata."
11345
+ },
11346
+ "fqn": "@btc-embedded/cdk-extensions.AuroraPostgresCluster",
11347
+ "initializer": {
11348
+ "docs": {
11349
+ "stability": "experimental"
11350
+ },
11351
+ "locationInModule": {
11352
+ "filename": "src/platform/AuroraPostgresDB.ts",
11353
+ "line": 276
11354
+ },
11355
+ "parameters": [
11356
+ {
11357
+ "name": "scope",
11358
+ "type": {
11359
+ "fqn": "constructs.Construct"
11360
+ }
11361
+ },
11362
+ {
11363
+ "name": "id",
11364
+ "type": {
11365
+ "primitive": "string"
11366
+ }
11367
+ },
11368
+ {
11369
+ "name": "props",
11370
+ "type": {
11371
+ "fqn": "@btc-embedded/cdk-extensions.AuroraPostgresClusterProps"
11372
+ }
11373
+ }
11374
+ ]
11375
+ },
11376
+ "kind": "class",
11377
+ "locationInModule": {
11378
+ "filename": "src/platform/AuroraPostgresDB.ts",
11379
+ "line": 176
11380
+ },
11381
+ "methods": [
11382
+ {
11383
+ "docs": {
11384
+ "remarks": "Use this for cross-stack access. For same-stack usage, pass the\n{@link AuroraPostgresCluster} construct directly where {@link IAuroraPostgresDB}\nis expected.",
11385
+ "stability": "experimental",
11386
+ "summary": "Imports an {@link IAuroraPostgresDB} instance from a base platform stack."
11387
+ },
11388
+ "locationInModule": {
11389
+ "filename": "src/platform/AuroraPostgresDB.ts",
11390
+ "line": 189
11391
+ },
11392
+ "name": "fromBasePlatform",
11393
+ "parameters": [
11394
+ {
11395
+ "docs": {
11396
+ "summary": "Construct scope to attach the imported component to."
11397
+ },
11398
+ "name": "scope",
11399
+ "type": {
11400
+ "fqn": "constructs.Construct"
11401
+ }
11402
+ },
11403
+ {
11404
+ "docs": {
11405
+ "summary": "Construct id for the imported component."
11406
+ },
11407
+ "name": "id",
11408
+ "type": {
11409
+ "primitive": "string"
11410
+ }
11411
+ },
11412
+ {
11413
+ "docs": {
11414
+ "remarks": "Falls back to\n`BasePlatformStackResolver` (CDK context) when omitted.",
11415
+ "summary": "Base platform stack name."
11416
+ },
11417
+ "name": "basePlatformStackName",
11418
+ "optional": true,
11419
+ "type": {
11420
+ "primitive": "string"
11421
+ }
11422
+ }
11423
+ ],
11424
+ "returns": {
11425
+ "type": {
11426
+ "fqn": "@btc-embedded/cdk-extensions.IAuroraPostgresDB"
11427
+ }
11428
+ },
11429
+ "static": true
11430
+ }
11431
+ ],
11432
+ "name": "AuroraPostgresCluster",
11433
+ "properties": [
11434
+ {
11435
+ "docs": {
11436
+ "stability": "experimental",
11437
+ "summary": "Aurora database cluster."
11438
+ },
11439
+ "immutable": true,
11440
+ "locationInModule": {
11441
+ "filename": "src/platform/AuroraPostgresDB.ts",
11442
+ "line": 259
11443
+ },
11444
+ "name": "cluster",
11445
+ "type": {
11446
+ "fqn": "aws-cdk-lib.aws_rds.DatabaseCluster"
11447
+ }
11448
+ },
11449
+ {
11450
+ "docs": {
11451
+ "stability": "experimental",
11452
+ "summary": "Secret containing the postgres connection string prefix in the form `postgresql://user:pass@host:port/`."
11453
+ },
11454
+ "immutable": true,
11455
+ "locationInModule": {
11456
+ "filename": "src/platform/AuroraPostgresDB.ts",
11457
+ "line": 271
11458
+ },
11459
+ "name": "connectionSecret",
11460
+ "overrides": "@btc-embedded/cdk-extensions.AuroraPostgresClusterBase",
11461
+ "type": {
11462
+ "fqn": "aws-cdk-lib.aws_secretsmanager.ISecret"
11463
+ }
11464
+ },
11465
+ {
11147
11466
  "docs": {
11148
- "stability": "experimental"
11467
+ "stability": "experimental",
11468
+ "summary": "Secret containing postgres credentials (username and password)."
11149
11469
  },
11150
11470
  "immutable": true,
11151
11471
  "locationInModule": {
11152
- "filename": "src/stacks/ApplicationStack.ts",
11153
- "line": 6
11472
+ "filename": "src/platform/AuroraPostgresDB.ts",
11473
+ "line": 265
11154
11474
  },
11155
- "name": "basePlatformStackName",
11475
+ "name": "credentialsSecret",
11476
+ "overrides": "@btc-embedded/cdk-extensions.AuroraPostgresClusterBase",
11477
+ "type": {
11478
+ "fqn": "aws-cdk-lib.aws_secretsmanager.ISecret"
11479
+ }
11480
+ },
11481
+ {
11482
+ "docs": {
11483
+ "stability": "experimental",
11484
+ "summary": "Cluster endpoint in the form `host:port`."
11485
+ },
11486
+ "immutable": true,
11487
+ "locationInModule": {
11488
+ "filename": "src/platform/AuroraPostgresDB.ts",
11489
+ "line": 274
11490
+ },
11491
+ "name": "endpoint",
11492
+ "overrides": "@btc-embedded/cdk-extensions.AuroraPostgresClusterBase",
11156
11493
  "type": {
11157
11494
  "primitive": "string"
11158
11495
  }
11496
+ },
11497
+ {
11498
+ "docs": {
11499
+ "stability": "experimental",
11500
+ "summary": "Security group attached to the Aurora cluster."
11501
+ },
11502
+ "immutable": true,
11503
+ "locationInModule": {
11504
+ "filename": "src/platform/AuroraPostgresDB.ts",
11505
+ "line": 262
11506
+ },
11507
+ "name": "securityGroup",
11508
+ "overrides": "@btc-embedded/cdk-extensions.AuroraPostgresClusterBase",
11509
+ "type": {
11510
+ "fqn": "aws-cdk-lib.aws_ec2.SecurityGroup"
11511
+ }
11159
11512
  }
11160
11513
  ],
11161
- "symbolId": "src/stacks/ApplicationStack:ApplicationStackProps"
11514
+ "symbolId": "src/platform/AuroraPostgresDB:AuroraPostgresCluster"
11162
11515
  },
11163
- "@btc-embedded/cdk-extensions.AuroraPostgresCluster": {
11516
+ "@btc-embedded/cdk-extensions.AuroraPostgresClusterBase": {
11517
+ "abstract": true,
11164
11518
  "assembly": "@btc-embedded/cdk-extensions",
11165
11519
  "base": "constructs.Construct",
11166
11520
  "docs": {
11167
- "remarks": "Exports:\n- `aurora-postgres-db:secret-arn`\n- `aurora-postgres-db:credentials-secret-arn`\n- `aurora-postgres-db:cluster-endpoint`\n- `aurora-postgres-db:security-group-id`\n- `aurora-postgres-db:tunnel-instance-id` (only when tunnel host is enabled)",
11168
11521
  "stability": "experimental",
11169
- "summary": "Provisions an Aurora PostgreSQL Serverless v2 cluster and exports connection metadata."
11522
+ "summary": "Abstract base class shared by the concrete {@link AuroraPostgresCluster} and the import class created by {@link AuroraPostgresCluster.fromBasePlatform}."
11170
11523
  },
11171
- "fqn": "@btc-embedded/cdk-extensions.AuroraPostgresCluster",
11524
+ "fqn": "@btc-embedded/cdk-extensions.AuroraPostgresClusterBase",
11172
11525
  "initializer": {
11173
11526
  "docs": {
11174
- "stability": "experimental"
11527
+ "stability": "stable",
11528
+ "summary": "Creates a new construct node."
11175
11529
  },
11176
11530
  "locationInModule": {
11177
- "filename": "src/platform/AuroraPostgresDB.ts",
11178
- "line": 165
11531
+ "filename": "src/construct.ts",
11532
+ "line": 448
11179
11533
  },
11180
11534
  "parameters": [
11181
11535
  {
11536
+ "docs": {
11537
+ "summary": "The scope in which to define this construct."
11538
+ },
11182
11539
  "name": "scope",
11183
11540
  "type": {
11184
11541
  "fqn": "constructs.Construct"
11185
11542
  }
11186
11543
  },
11187
11544
  {
11545
+ "docs": {
11546
+ "remarks": "Must be unique amongst siblings. If\nthe ID includes a path separator (`/`), then it will be replaced by double\ndash `--`.",
11547
+ "summary": "The scoped construct ID."
11548
+ },
11188
11549
  "name": "id",
11189
11550
  "type": {
11190
11551
  "primitive": "string"
11191
11552
  }
11192
- },
11193
- {
11194
- "name": "props",
11195
- "type": {
11196
- "fqn": "@btc-embedded/cdk-extensions.AuroraPostgresClusterProps"
11197
- }
11198
11553
  }
11199
11554
  ]
11200
11555
  },
11556
+ "interfaces": [
11557
+ "@btc-embedded/cdk-extensions.IAuroraPostgresDB"
11558
+ ],
11201
11559
  "kind": "class",
11202
11560
  "locationInModule": {
11203
11561
  "filename": "src/platform/AuroraPostgresDB.ts",
11204
- "line": 128
11562
+ "line": 156
11205
11563
  },
11206
- "name": "AuroraPostgresCluster",
11564
+ "name": "AuroraPostgresClusterBase",
11207
11565
  "properties": [
11208
11566
  {
11567
+ "abstract": true,
11209
11568
  "docs": {
11210
11569
  "stability": "experimental",
11211
- "summary": "Aurora database cluster."
11570
+ "summary": "Secret containing the postgres connection string prefix in the form `postgresql://user:pass@host:port/`."
11571
+ },
11572
+ "immutable": true,
11573
+ "locationInModule": {
11574
+ "filename": "src/platform/AuroraPostgresDB.ts",
11575
+ "line": 161
11576
+ },
11577
+ "name": "connectionSecret",
11578
+ "overrides": "@btc-embedded/cdk-extensions.IAuroraPostgresDB",
11579
+ "type": {
11580
+ "fqn": "aws-cdk-lib.aws_secretsmanager.ISecret"
11581
+ }
11582
+ },
11583
+ {
11584
+ "abstract": true,
11585
+ "docs": {
11586
+ "stability": "experimental",
11587
+ "summary": "Secret containing postgres credentials (username and password)."
11212
11588
  },
11213
11589
  "immutable": true,
11214
11590
  "locationInModule": {
11215
11591
  "filename": "src/platform/AuroraPostgresDB.ts",
11216
11592
  "line": 160
11217
11593
  },
11218
- "name": "cluster",
11594
+ "name": "credentialsSecret",
11595
+ "overrides": "@btc-embedded/cdk-extensions.IAuroraPostgresDB",
11219
11596
  "type": {
11220
- "fqn": "aws-cdk-lib.aws_rds.DatabaseCluster"
11597
+ "fqn": "aws-cdk-lib.aws_secretsmanager.ISecret"
11598
+ }
11599
+ },
11600
+ {
11601
+ "abstract": true,
11602
+ "docs": {
11603
+ "stability": "experimental",
11604
+ "summary": "Cluster endpoint in the form `host:port`."
11605
+ },
11606
+ "immutable": true,
11607
+ "locationInModule": {
11608
+ "filename": "src/platform/AuroraPostgresDB.ts",
11609
+ "line": 162
11610
+ },
11611
+ "name": "endpoint",
11612
+ "overrides": "@btc-embedded/cdk-extensions.IAuroraPostgresDB",
11613
+ "type": {
11614
+ "primitive": "string"
11221
11615
  }
11222
11616
  },
11223
11617
  {
11618
+ "abstract": true,
11224
11619
  "docs": {
11225
11620
  "stability": "experimental",
11226
11621
  "summary": "Security group attached to the Aurora cluster."
@@ -11231,12 +11626,13 @@
11231
11626
  "line": 163
11232
11627
  },
11233
11628
  "name": "securityGroup",
11629
+ "overrides": "@btc-embedded/cdk-extensions.IAuroraPostgresDB",
11234
11630
  "type": {
11235
- "fqn": "aws-cdk-lib.aws_ec2.SecurityGroup"
11631
+ "fqn": "aws-cdk-lib.aws_ec2.ISecurityGroup"
11236
11632
  }
11237
11633
  }
11238
11634
  ],
11239
- "symbolId": "src/platform/AuroraPostgresDB:AuroraPostgresCluster"
11635
+ "symbolId": "src/platform/AuroraPostgresDB:AuroraPostgresClusterBase"
11240
11636
  },
11241
11637
  "@btc-embedded/cdk-extensions.AuroraPostgresClusterOverrides": {
11242
11638
  "assembly": "@btc-embedded/cdk-extensions",
@@ -11249,7 +11645,7 @@
11249
11645
  "kind": "interface",
11250
11646
  "locationInModule": {
11251
11647
  "filename": "src/platform/AuroraPostgresDB.ts",
11252
- "line": 81
11648
+ "line": 90
11253
11649
  },
11254
11650
  "name": "AuroraPostgresClusterOverrides",
11255
11651
  "properties": [
@@ -11263,7 +11659,7 @@
11263
11659
  "immutable": true,
11264
11660
  "locationInModule": {
11265
11661
  "filename": "src/platform/AuroraPostgresDB.ts",
11266
- "line": 87
11662
+ "line": 96
11267
11663
  },
11268
11664
  "name": "clusterIdentifier",
11269
11665
  "optional": true,
@@ -11281,7 +11677,7 @@
11281
11677
  "immutable": true,
11282
11678
  "locationInModule": {
11283
11679
  "filename": "src/platform/AuroraPostgresDB.ts",
11284
- "line": 108
11680
+ "line": 117
11285
11681
  },
11286
11682
  "name": "serverlessV2MaxCapacity",
11287
11683
  "optional": true,
@@ -11299,7 +11695,7 @@
11299
11695
  "immutable": true,
11300
11696
  "locationInModule": {
11301
11697
  "filename": "src/platform/AuroraPostgresDB.ts",
11302
- "line": 101
11698
+ "line": 110
11303
11699
  },
11304
11700
  "name": "serverlessV2MinCapacity",
11305
11701
  "optional": true,
@@ -11317,7 +11713,7 @@
11317
11713
  "immutable": true,
11318
11714
  "locationInModule": {
11319
11715
  "filename": "src/platform/AuroraPostgresDB.ts",
11320
- "line": 115
11716
+ "line": 124
11321
11717
  },
11322
11718
  "name": "storageEncrypted",
11323
11719
  "optional": true,
@@ -11335,7 +11731,7 @@
11335
11731
  "immutable": true,
11336
11732
  "locationInModule": {
11337
11733
  "filename": "src/platform/AuroraPostgresDB.ts",
11338
- "line": 94
11734
+ "line": 103
11339
11735
  },
11340
11736
  "name": "vpcSubnets",
11341
11737
  "optional": true,
@@ -11357,7 +11753,7 @@
11357
11753
  "kind": "interface",
11358
11754
  "locationInModule": {
11359
11755
  "filename": "src/platform/AuroraPostgresDB.ts",
11360
- "line": 58
11756
+ "line": 67
11361
11757
  },
11362
11758
  "name": "AuroraPostgresClusterProps",
11363
11759
  "properties": [
@@ -11370,7 +11766,7 @@
11370
11766
  "immutable": true,
11371
11767
  "locationInModule": {
11372
11768
  "filename": "src/platform/AuroraPostgresDB.ts",
11373
- "line": 65
11769
+ "line": 74
11374
11770
  },
11375
11771
  "name": "instanceName",
11376
11772
  "type": {
@@ -11386,7 +11782,7 @@
11386
11782
  "immutable": true,
11387
11783
  "locationInModule": {
11388
11784
  "filename": "src/platform/AuroraPostgresDB.ts",
11389
- "line": 60
11785
+ "line": 69
11390
11786
  },
11391
11787
  "name": "vpc",
11392
11788
  "type": {
@@ -11402,7 +11798,7 @@
11402
11798
  "immutable": true,
11403
11799
  "locationInModule": {
11404
11800
  "filename": "src/platform/AuroraPostgresDB.ts",
11405
- "line": 70
11801
+ "line": 79
11406
11802
  },
11407
11803
  "name": "clusterProps",
11408
11804
  "optional": true,
@@ -11419,7 +11815,7 @@
11419
11815
  "immutable": true,
11420
11816
  "locationInModule": {
11421
11817
  "filename": "src/platform/AuroraPostgresDB.ts",
11422
- "line": 75
11818
+ "line": 84
11423
11819
  },
11424
11820
  "name": "tunnelHost",
11425
11821
  "optional": true,
@@ -11441,10 +11837,29 @@
11441
11837
  "kind": "interface",
11442
11838
  "locationInModule": {
11443
11839
  "filename": "src/platform/AuroraPostgresDB.ts",
11444
- "line": 23
11840
+ "line": 25
11445
11841
  },
11446
11842
  "name": "AuroraPostgresTunnelHostProps",
11447
11843
  "properties": [
11844
+ {
11845
+ "abstract": true,
11846
+ "docs": {
11847
+ "default": "AmazonLinuxCpuType.ARM_64",
11848
+ "remarks": "Set it to match the {@link AuroraPostgresTunnelHostProps.instanceType}.",
11849
+ "stability": "experimental",
11850
+ "summary": "The CPU type for the tunnel host."
11851
+ },
11852
+ "immutable": true,
11853
+ "locationInModule": {
11854
+ "filename": "src/platform/AuroraPostgresDB.ts",
11855
+ "line": 61
11856
+ },
11857
+ "name": "cpuType",
11858
+ "optional": true,
11859
+ "type": {
11860
+ "fqn": "aws-cdk-lib.aws_ec2.AmazonLinuxCpuType"
11861
+ }
11862
+ },
11448
11863
  {
11449
11864
  "abstract": true,
11450
11865
  "docs": {
@@ -11456,7 +11871,7 @@
11456
11871
  "immutable": true,
11457
11872
  "locationInModule": {
11458
11873
  "filename": "src/platform/AuroraPostgresDB.ts",
11459
- "line": 52
11874
+ "line": 54
11460
11875
  },
11461
11876
  "name": "createSsmVpcEndpoints",
11462
11877
  "optional": true,
@@ -11474,7 +11889,7 @@
11474
11889
  "immutable": true,
11475
11890
  "locationInModule": {
11476
11891
  "filename": "src/platform/AuroraPostgresDB.ts",
11477
- "line": 29
11892
+ "line": 31
11478
11893
  },
11479
11894
  "name": "enabled",
11480
11895
  "optional": true,
@@ -11485,14 +11900,14 @@
11485
11900
  {
11486
11901
  "abstract": true,
11487
11902
  "docs": {
11488
- "default": "t3.nano",
11903
+ "default": "t4g.nano",
11489
11904
  "stability": "experimental",
11490
11905
  "summary": "Instance type used for the tunnel host."
11491
11906
  },
11492
11907
  "immutable": true,
11493
11908
  "locationInModule": {
11494
11909
  "filename": "src/platform/AuroraPostgresDB.ts",
11495
- "line": 36
11910
+ "line": 38
11496
11911
  },
11497
11912
  "name": "instanceType",
11498
11913
  "optional": true,
@@ -11510,7 +11925,7 @@
11510
11925
  "immutable": true,
11511
11926
  "locationInModule": {
11512
11927
  "filename": "src/platform/AuroraPostgresDB.ts",
11513
- "line": 43
11928
+ "line": 45
11514
11929
  },
11515
11930
  "name": "subnetType",
11516
11931
  "optional": true,
@@ -11870,7 +12285,7 @@
11870
12285
  },
11871
12286
  "locationInModule": {
11872
12287
  "filename": "src/extensions/CloudMapExtension.ts",
11873
- "line": 45
12288
+ "line": 60
11874
12289
  },
11875
12290
  "parameters": [
11876
12291
  {
@@ -11884,7 +12299,7 @@
11884
12299
  "kind": "class",
11885
12300
  "locationInModule": {
11886
12301
  "filename": "src/extensions/CloudMapExtension.ts",
11887
- "line": 34
12302
+ "line": 49
11888
12303
  },
11889
12304
  "methods": [
11890
12305
  {
@@ -11894,7 +12309,7 @@
11894
12309
  },
11895
12310
  "locationInModule": {
11896
12311
  "filename": "src/extensions/CloudMapExtension.ts",
11897
- "line": 135
12312
+ "line": 155
11898
12313
  },
11899
12314
  "name": "connectToService",
11900
12315
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -11921,7 +12336,7 @@
11921
12336
  },
11922
12337
  "locationInModule": {
11923
12338
  "filename": "src/extensions/CloudMapExtension.ts",
11924
- "line": 51
12339
+ "line": 66
11925
12340
  },
11926
12341
  "name": "modifyServiceProps",
11927
12342
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -11947,7 +12362,7 @@
11947
12362
  },
11948
12363
  "locationInModule": {
11949
12364
  "filename": "src/extensions/CloudMapExtension.ts",
11950
- "line": 80
12365
+ "line": 100
11951
12366
  },
11952
12367
  "name": "useService",
11953
12368
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -11978,7 +12393,7 @@
11978
12393
  },
11979
12394
  "locationInModule": {
11980
12395
  "filename": "src/extensions/CloudMapExtension.ts",
11981
- "line": 35
12396
+ "line": 50
11982
12397
  },
11983
12398
  "name": "props",
11984
12399
  "type": {
@@ -11991,7 +12406,7 @@
11991
12406
  },
11992
12407
  "locationInModule": {
11993
12408
  "filename": "src/extensions/CloudMapExtension.ts",
11994
- "line": 37
12409
+ "line": 52
11995
12410
  },
11996
12411
  "name": "serviceName",
11997
12412
  "type": {
@@ -12006,7 +12421,7 @@
12006
12421
  },
12007
12422
  "locationInModule": {
12008
12423
  "filename": "src/extensions/CloudMapExtension.ts",
12009
- "line": 43
12424
+ "line": 58
12010
12425
  },
12011
12426
  "name": "exportedServiceConstruct",
12012
12427
  "optional": true,
@@ -12034,13 +12449,14 @@
12034
12449
  {
12035
12450
  "abstract": true,
12036
12451
  "docs": {
12452
+ "remarks": "Used when {@link privateDnsNamespace} is not provided. Falls back to\n`BasePlatformStackResolver` (CDK context) when also omitted.",
12037
12453
  "stability": "experimental",
12038
12454
  "summary": "The name of the platform stack to import the namespace parameter details from."
12039
12455
  },
12040
12456
  "immutable": true,
12041
12457
  "locationInModule": {
12042
12458
  "filename": "src/extensions/CloudMapExtension.ts",
12043
- "line": 20
12459
+ "line": 23
12044
12460
  },
12045
12461
  "name": "basePlatformStackName",
12046
12462
  "optional": true,
@@ -12059,13 +12475,31 @@
12059
12475
  "immutable": true,
12060
12476
  "locationInModule": {
12061
12477
  "filename": "src/extensions/CloudMapExtension.ts",
12062
- "line": 31
12478
+ "line": 34
12063
12479
  },
12064
12480
  "name": "exportService",
12065
12481
  "optional": true,
12066
12482
  "type": {
12067
12483
  "primitive": "boolean"
12068
12484
  }
12485
+ },
12486
+ {
12487
+ "abstract": true,
12488
+ "docs": {
12489
+ "remarks": "When provided, the extension uses this construct as-is and no cross-stack\nimport via {@link PrivateDnsNamespace.fromBasePlatform} is performed. Use\nthis when the namespace resides in the same CDK stack as the ECS service.\n\nWhen omitted, the extension imports the namespace from the base platform\nstack identified by {@link basePlatformStackName}.",
12490
+ "stability": "experimental",
12491
+ "summary": "Private DNS namespace to use directly."
12492
+ },
12493
+ "immutable": true,
12494
+ "locationInModule": {
12495
+ "filename": "src/extensions/CloudMapExtension.ts",
12496
+ "line": 46
12497
+ },
12498
+ "name": "privateDnsNamespace",
12499
+ "optional": true,
12500
+ "type": {
12501
+ "fqn": "@btc-embedded/cdk-extensions.IPrivateDnsNamespace"
12502
+ }
12069
12503
  }
12070
12504
  ],
12071
12505
  "symbolId": "src/extensions/CloudMapExtension:CloudMapExtensionProps"
@@ -13306,9 +13740,9 @@
13306
13740
  },
13307
13741
  "@btc-embedded/cdk-extensions.DocumentDB": {
13308
13742
  "assembly": "@btc-embedded/cdk-extensions",
13309
- "base": "constructs.Construct",
13743
+ "base": "@btc-embedded/cdk-extensions.DocumentDBBase",
13310
13744
  "docs": {
13311
- "remarks": "Cross-stack access is supported via {@link fromBasePlatform}, which imports:\n- the MongoDB connection URL secret ARN\n- the DocumentDB security group ID",
13745
+ "remarks": "Implements {@link IDocumentDB} directly so that it can be passed to extensions\n(e.g. {@link DocumentDbAccessExtension }) when platform and application share the\nsame stack, avoiding the need for cross-stack {@link fromBasePlatform} imports.\n\nCross-stack access is still supported via {@link fromBasePlatform}, which imports:\n- the MongoDB connection URL secret ARN\n- the DocumentDB security group ID",
13312
13746
  "stability": "experimental",
13313
13747
  "summary": "Platform component that provisions an Amazon DocumentDB cluster and exports the required outputs for application stacks."
13314
13748
  },
@@ -13320,7 +13754,7 @@
13320
13754
  },
13321
13755
  "locationInModule": {
13322
13756
  "filename": "src/platform/DocumentDB.ts",
13323
- "line": 116
13757
+ "line": 126
13324
13758
  },
13325
13759
  "parameters": [
13326
13760
  {
@@ -13346,7 +13780,7 @@
13346
13780
  "kind": "class",
13347
13781
  "locationInModule": {
13348
13782
  "filename": "src/platform/DocumentDB.ts",
13349
- "line": 69
13783
+ "line": 73
13350
13784
  },
13351
13785
  "methods": [
13352
13786
  {
@@ -13356,7 +13790,7 @@
13356
13790
  },
13357
13791
  "locationInModule": {
13358
13792
  "filename": "src/platform/DocumentDB.ts",
13359
- "line": 77
13793
+ "line": 81
13360
13794
  },
13361
13795
  "name": "fromBasePlatform",
13362
13796
  "parameters": [
@@ -13398,6 +13832,40 @@
13398
13832
  }
13399
13833
  ],
13400
13834
  "name": "DocumentDB",
13835
+ "properties": [
13836
+ {
13837
+ "docs": {
13838
+ "stability": "experimental",
13839
+ "summary": "MongoDB connection URL secret for this cluster."
13840
+ },
13841
+ "immutable": true,
13842
+ "locationInModule": {
13843
+ "filename": "src/platform/DocumentDB.ts",
13844
+ "line": 117
13845
+ },
13846
+ "name": "secret",
13847
+ "overrides": "@btc-embedded/cdk-extensions.DocumentDBBase",
13848
+ "type": {
13849
+ "fqn": "aws-cdk-lib.aws_secretsmanager.ISecret"
13850
+ }
13851
+ },
13852
+ {
13853
+ "docs": {
13854
+ "stability": "experimental",
13855
+ "summary": "Security group attached to this DocumentDB cluster."
13856
+ },
13857
+ "immutable": true,
13858
+ "locationInModule": {
13859
+ "filename": "src/platform/DocumentDB.ts",
13860
+ "line": 120
13861
+ },
13862
+ "name": "securityGroup",
13863
+ "overrides": "@btc-embedded/cdk-extensions.DocumentDBBase",
13864
+ "type": {
13865
+ "fqn": "aws-cdk-lib.aws_ec2.ISecurityGroup"
13866
+ }
13867
+ }
13868
+ ],
13401
13869
  "symbolId": "src/platform/DocumentDB:DocumentDB"
13402
13870
  },
13403
13871
  "@btc-embedded/cdk-extensions.DocumentDBBase": {
@@ -13603,7 +14071,7 @@
13603
14071
  },
13604
14072
  "locationInModule": {
13605
14073
  "filename": "src/extensions/DocumentDbAccessExtension.ts",
13606
- "line": 69
14074
+ "line": 82
13607
14075
  },
13608
14076
  "parameters": [
13609
14077
  {
@@ -13617,7 +14085,7 @@
13617
14085
  "kind": "class",
13618
14086
  "locationInModule": {
13619
14087
  "filename": "src/extensions/DocumentDbAccessExtension.ts",
13620
- "line": 64
14088
+ "line": 77
13621
14089
  },
13622
14090
  "methods": [
13623
14091
  {
@@ -13627,7 +14095,7 @@
13627
14095
  },
13628
14096
  "locationInModule": {
13629
14097
  "filename": "src/extensions/DocumentDbAccessExtension.ts",
13630
- "line": 84
14098
+ "line": 103
13631
14099
  },
13632
14100
  "name": "addHooks",
13633
14101
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension"
@@ -13639,7 +14107,7 @@
13639
14107
  },
13640
14108
  "locationInModule": {
13641
14109
  "filename": "src/extensions/DocumentDbAccessExtension.ts",
13642
- "line": 74
14110
+ "line": 87
13643
14111
  },
13644
14112
  "name": "prehook",
13645
14113
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -13666,7 +14134,7 @@
13666
14134
  },
13667
14135
  "locationInModule": {
13668
14136
  "filename": "src/extensions/DocumentDbAccessExtension.ts",
13669
- "line": 92
14137
+ "line": 111
13670
14138
  },
13671
14139
  "name": "useService",
13672
14140
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -13698,7 +14166,7 @@
13698
14166
  "immutable": true,
13699
14167
  "locationInModule": {
13700
14168
  "filename": "src/extensions/DocumentDbAccessExtension.ts",
13701
- "line": 65
14169
+ "line": 78
13702
14170
  },
13703
14171
  "name": "props",
13704
14172
  "type": {
@@ -13711,7 +14179,7 @@
13711
14179
  },
13712
14180
  "locationInModule": {
13713
14181
  "filename": "src/extensions/DocumentDbAccessExtension.ts",
13714
- "line": 67
14182
+ "line": 80
13715
14183
  },
13716
14184
  "name": "documentDb",
13717
14185
  "type": {
@@ -13739,16 +14207,17 @@
13739
14207
  {
13740
14208
  "abstract": true,
13741
14209
  "docs": {
13742
- "remarks": "Note: This property is currently not referenced directly by this extension's\nimplementation, but is kept as part of the public contract.",
14210
+ "remarks": "Used when {@link documentDb} is not provided. Falls back to\n`BasePlatformStackResolver` (CDK context) when also omitted.",
13743
14211
  "stability": "experimental",
13744
- "summary": "ID of the security group associated with the database access path."
14212
+ "summary": "Name of the base platform stack to import the shared DocumentDB instance from."
13745
14213
  },
13746
14214
  "immutable": true,
13747
14215
  "locationInModule": {
13748
14216
  "filename": "src/extensions/DocumentDbAccessExtension.ts",
13749
- "line": 29
14217
+ "line": 22
13750
14218
  },
13751
- "name": "securityGroupId",
14219
+ "name": "basePlatformStackName",
14220
+ "optional": true,
13752
14221
  "type": {
13753
14222
  "primitive": "string"
13754
14223
  }
@@ -13756,16 +14225,34 @@
13756
14225
  {
13757
14226
  "abstract": true,
13758
14227
  "docs": {
13759
- "remarks": "This is passed to {@link DocumentDB.fromBasePlatform}.",
14228
+ "remarks": "When provided, the extension uses this construct as-is and no cross-stack\nimport via {@link DocumentDB.fromBasePlatform} is performed. Use this when\nthe DocumentDB resides in the same CDK stack as the ECS service.\n\nWhen omitted, the extension imports the DocumentDB from the base platform\nstack identified by {@link basePlatformStackName}.",
13760
14229
  "stability": "experimental",
13761
- "summary": "Name of the base platform stack to import the shared DocumentDB instance from."
14230
+ "summary": "DocumentDB instance to use directly."
13762
14231
  },
13763
14232
  "immutable": true,
13764
14233
  "locationInModule": {
13765
14234
  "filename": "src/extensions/DocumentDbAccessExtension.ts",
13766
- "line": 21
14235
+ "line": 42
13767
14236
  },
13768
- "name": "basePlatformStackName",
14237
+ "name": "documentDb",
14238
+ "optional": true,
14239
+ "type": {
14240
+ "fqn": "@btc-embedded/cdk-extensions.IDocumentDB"
14241
+ }
14242
+ },
14243
+ {
14244
+ "abstract": true,
14245
+ "docs": {
14246
+ "remarks": "Note: This property is currently not referenced directly by this extension's\nimplementation, but is kept as part of the public contract.",
14247
+ "stability": "experimental",
14248
+ "summary": "ID of the security group associated with the database access path."
14249
+ },
14250
+ "immutable": true,
14251
+ "locationInModule": {
14252
+ "filename": "src/extensions/DocumentDbAccessExtension.ts",
14253
+ "line": 30
14254
+ },
14255
+ "name": "securityGroupId",
13769
14256
  "optional": true,
13770
14257
  "type": {
13771
14258
  "primitive": "string"
@@ -14296,7 +14783,7 @@
14296
14783
  "kind": "enum",
14297
14784
  "locationInModule": {
14298
14785
  "filename": "src/platform/EfsFileSystem.ts",
14299
- "line": 45
14786
+ "line": 43
14300
14787
  },
14301
14788
  "members": [
14302
14789
  {
@@ -14338,7 +14825,7 @@
14338
14825
  },
14339
14826
  "locationInModule": {
14340
14827
  "filename": "src/platform/EfsFileSystem.ts",
14341
- "line": 210
14828
+ "line": 208
14342
14829
  },
14343
14830
  "parameters": [
14344
14831
  {
@@ -14367,7 +14854,7 @@
14367
14854
  "kind": "class",
14368
14855
  "locationInModule": {
14369
14856
  "filename": "src/platform/EfsFileSystem.ts",
14370
- "line": 157
14857
+ "line": 155
14371
14858
  },
14372
14859
  "methods": [
14373
14860
  {
@@ -14378,7 +14865,7 @@
14378
14865
  },
14379
14866
  "locationInModule": {
14380
14867
  "filename": "src/platform/EfsFileSystem.ts",
14381
- "line": 165
14868
+ "line": 163
14382
14869
  },
14383
14870
  "name": "fromBasePlatform",
14384
14871
  "parameters": [
@@ -14423,7 +14910,7 @@
14423
14910
  },
14424
14911
  "locationInModule": {
14425
14912
  "filename": "src/platform/EfsFileSystem.ts",
14426
- "line": 105
14913
+ "line": 98
14427
14914
  },
14428
14915
  "name": "allowConnection",
14429
14916
  "overrides": "@btc-embedded/cdk-extensions.IEfsFileSystem",
@@ -14442,7 +14929,7 @@
14442
14929
  },
14443
14930
  "locationInModule": {
14444
14931
  "filename": "src/platform/EfsFileSystem.ts",
14445
- "line": 101
14932
+ "line": 94
14446
14933
  },
14447
14934
  "name": "fileSystem",
14448
14935
  "overrides": "@btc-embedded/cdk-extensions.IEfsFileSystem",
@@ -14458,7 +14945,7 @@
14458
14945
  },
14459
14946
  "locationInModule": {
14460
14947
  "filename": "src/platform/EfsFileSystem.ts",
14461
- "line": 97
14948
+ "line": 90
14462
14949
  },
14463
14950
  "name": "fileSystemId",
14464
14951
  "overrides": "@btc-embedded/cdk-extensions.IEfsFileSystem",
@@ -14474,7 +14961,7 @@
14474
14961
  },
14475
14962
  "locationInModule": {
14476
14963
  "filename": "src/platform/EfsFileSystem.ts",
14477
- "line": 67
14964
+ "line": 65
14478
14965
  },
14479
14966
  "name": "grantAccess",
14480
14967
  "overrides": "@btc-embedded/cdk-extensions.IEfsFileSystem",
@@ -14502,7 +14989,7 @@
14502
14989
  },
14503
14990
  "locationInModule": {
14504
14991
  "filename": "src/platform/EfsFileSystem.ts",
14505
- "line": 64
14992
+ "line": 62
14506
14993
  },
14507
14994
  "name": "filesystem",
14508
14995
  "protected": true,
@@ -14516,7 +15003,7 @@
14516
15003
  },
14517
15004
  "locationInModule": {
14518
15005
  "filename": "src/platform/EfsFileSystem.ts",
14519
- "line": 65
15006
+ "line": 63
14520
15007
  },
14521
15008
  "name": "securityGroup",
14522
15009
  "protected": true,
@@ -14538,7 +15025,7 @@
14538
15025
  "kind": "interface",
14539
15026
  "locationInModule": {
14540
15027
  "filename": "src/platform/EfsFileSystem.ts",
14541
- "line": 113
15028
+ "line": 111
14542
15029
  },
14543
15030
  "name": "EfsFileSystemLookupOptions",
14544
15031
  "properties": [
@@ -14551,7 +15038,7 @@
14551
15038
  "immutable": true,
14552
15039
  "locationInModule": {
14553
15040
  "filename": "src/platform/EfsFileSystem.ts",
14554
- "line": 122
15041
+ "line": 120
14555
15042
  },
14556
15043
  "name": "filesystemName",
14557
15044
  "type": {
@@ -14567,7 +15054,7 @@
14567
15054
  "immutable": true,
14568
15055
  "locationInModule": {
14569
15056
  "filename": "src/platform/EfsFileSystem.ts",
14570
- "line": 117
15057
+ "line": 115
14571
15058
  },
14572
15059
  "name": "basePlatformStackName",
14573
15060
  "optional": true,
@@ -14588,7 +15075,7 @@
14588
15075
  "kind": "interface",
14589
15076
  "locationInModule": {
14590
15077
  "filename": "src/platform/EfsFileSystem.ts",
14591
- "line": 22
15078
+ "line": 20
14592
15079
  },
14593
15080
  "name": "EfsFileSystemProps",
14594
15081
  "properties": [
@@ -14602,7 +15089,7 @@
14602
15089
  "immutable": true,
14603
15090
  "locationInModule": {
14604
15091
  "filename": "src/platform/EfsFileSystem.ts",
14605
- "line": 31
15092
+ "line": 29
14606
15093
  },
14607
15094
  "name": "name",
14608
15095
  "type": {
@@ -14618,7 +15105,7 @@
14618
15105
  "immutable": true,
14619
15106
  "locationInModule": {
14620
15107
  "filename": "src/platform/EfsFileSystem.ts",
14621
- "line": 26
15108
+ "line": 24
14622
15109
  },
14623
15110
  "name": "vpc",
14624
15111
  "type": {
@@ -14635,7 +15122,7 @@
14635
15122
  "immutable": true,
14636
15123
  "locationInModule": {
14637
15124
  "filename": "src/platform/EfsFileSystem.ts",
14638
- "line": 35
15125
+ "line": 33
14639
15126
  },
14640
15127
  "name": "automaticBackups",
14641
15128
  "optional": true,
@@ -14653,7 +15140,7 @@
14653
15140
  "immutable": true,
14654
15141
  "locationInModule": {
14655
15142
  "filename": "src/platform/EfsFileSystem.ts",
14656
- "line": 39
15143
+ "line": 37
14657
15144
  },
14658
15145
  "name": "removalPolicy",
14659
15146
  "optional": true,
@@ -14704,7 +15191,7 @@
14704
15191
  },
14705
15192
  "locationInModule": {
14706
15193
  "filename": "src/extensions/EfsMountExtension.ts",
14707
- "line": 78
15194
+ "line": 87
14708
15195
  },
14709
15196
  "name": "useService",
14710
15197
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -15001,7 +15488,7 @@
15001
15488
  "kind": "interface",
15002
15489
  "locationInModule": {
15003
15490
  "filename": "src/extensions/PostgresDbAccessExtension.ts",
15004
- "line": 20
15491
+ "line": 21
15005
15492
  },
15006
15493
  "name": "EnvironmentVariableNames",
15007
15494
  "properties": [
@@ -15015,7 +15502,7 @@
15015
15502
  "immutable": true,
15016
15503
  "locationInModule": {
15017
15504
  "filename": "src/extensions/PostgresDbAccessExtension.ts",
15018
- "line": 26
15505
+ "line": 27
15019
15506
  },
15020
15507
  "name": "databaseUrl",
15021
15508
  "optional": true,
@@ -15033,7 +15520,7 @@
15033
15520
  "immutable": true,
15034
15521
  "locationInModule": {
15035
15522
  "filename": "src/extensions/PostgresDbAccessExtension.ts",
15036
- "line": 40
15523
+ "line": 41
15037
15524
  },
15038
15525
  "name": "postgresDatabase",
15039
15526
  "optional": true,
@@ -15051,7 +15538,7 @@
15051
15538
  "immutable": true,
15052
15539
  "locationInModule": {
15053
15540
  "filename": "src/extensions/PostgresDbAccessExtension.ts",
15054
- "line": 33
15541
+ "line": 34
15055
15542
  },
15056
15543
  "name": "postgresEndpoint",
15057
15544
  "optional": true,
@@ -15069,7 +15556,7 @@
15069
15556
  "immutable": true,
15070
15557
  "locationInModule": {
15071
15558
  "filename": "src/extensions/PostgresDbAccessExtension.ts",
15072
- "line": 54
15559
+ "line": 55
15073
15560
  },
15074
15561
  "name": "postgresPassword",
15075
15562
  "optional": true,
@@ -15087,7 +15574,7 @@
15087
15574
  "immutable": true,
15088
15575
  "locationInModule": {
15089
15576
  "filename": "src/extensions/PostgresDbAccessExtension.ts",
15090
- "line": 47
15577
+ "line": 48
15091
15578
  },
15092
15579
  "name": "postgresUsername",
15093
15580
  "optional": true,
@@ -15975,7 +16462,7 @@
15975
16462
  },
15976
16463
  "locationInModule": {
15977
16464
  "filename": "src/extensions/HTTPApiExtension.ts",
15978
- "line": 74
16465
+ "line": 110
15979
16466
  },
15980
16467
  "parameters": [
15981
16468
  {
@@ -15989,7 +16476,7 @@
15989
16476
  "kind": "class",
15990
16477
  "locationInModule": {
15991
16478
  "filename": "src/extensions/HTTPApiExtension.ts",
15992
- "line": 67
16479
+ "line": 103
15993
16480
  },
15994
16481
  "methods": [
15995
16482
  {
@@ -16000,7 +16487,7 @@
16000
16487
  },
16001
16488
  "locationInModule": {
16002
16489
  "filename": "src/extensions/HTTPApiExtension.ts",
16003
- "line": 79
16490
+ "line": 115
16004
16491
  },
16005
16492
  "name": "useService",
16006
16493
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -16032,7 +16519,7 @@
16032
16519
  "immutable": true,
16033
16520
  "locationInModule": {
16034
16521
  "filename": "src/extensions/HTTPApiExtension.ts",
16035
- "line": 68
16522
+ "line": 104
16036
16523
  },
16037
16524
  "name": "props",
16038
16525
  "type": {
@@ -16052,20 +16539,39 @@
16052
16539
  "kind": "interface",
16053
16540
  "locationInModule": {
16054
16541
  "filename": "src/extensions/HTTPApiExtension.ts",
16055
- "line": 27
16542
+ "line": 33
16056
16543
  },
16057
16544
  "name": "HTTPApiExtensionProps",
16058
16545
  "properties": [
16059
16546
  {
16060
16547
  "abstract": true,
16061
16548
  "docs": {
16549
+ "remarks": "When provided, the extension uses this construct as-is and no cross-stack\nimport via {@link ApiGatewayVpcLink.fromBasePlatform} is performed. Use\nthis when the VPC Link resides in the same CDK stack as the ECS service.\n\nWhen omitted, the extension imports the VPC Link from the base platform\nstack identified by {@link basePlatformStackName}.",
16550
+ "stability": "experimental",
16551
+ "summary": "API Gateway VPC Link to use directly."
16552
+ },
16553
+ "immutable": true,
16554
+ "locationInModule": {
16555
+ "filename": "src/extensions/HTTPApiExtension.ts",
16556
+ "line": 97
16557
+ },
16558
+ "name": "apiGatewayVpcLink",
16559
+ "optional": true,
16560
+ "type": {
16561
+ "fqn": "@btc-embedded/cdk-extensions.IApiGatewayVpcLink"
16562
+ }
16563
+ },
16564
+ {
16565
+ "abstract": true,
16566
+ "docs": {
16567
+ "remarks": "Used when {@link cognitoUserPool}, {@link apiGatewayVpcLink}, or\n{@link hostedZone} are not provided. Falls back to\n`BasePlatformStackResolver` (CDK context) when also omitted.",
16062
16568
  "stability": "experimental",
16063
16569
  "summary": "The name of the base platform stack."
16064
16570
  },
16065
16571
  "immutable": true,
16066
16572
  "locationInModule": {
16067
16573
  "filename": "src/extensions/HTTPApiExtension.ts",
16068
- "line": 36
16574
+ "line": 46
16069
16575
  },
16070
16576
  "name": "basePlatformStackName",
16071
16577
  "optional": true,
@@ -16073,6 +16579,24 @@
16073
16579
  "primitive": "string"
16074
16580
  }
16075
16581
  },
16582
+ {
16583
+ "abstract": true,
16584
+ "docs": {
16585
+ "remarks": "When provided, the extension uses this construct as-is and no cross-stack\nimport via {@link CognitoUserPool.fromBasePlatform} is performed. Use this\nwhen the user pool resides in the same CDK stack as the ECS service.\n\nWhen omitted, the extension imports the user pool from the base platform\nstack identified by {@link basePlatformStackName}.",
16586
+ "stability": "experimental",
16587
+ "summary": "Cognito User Pool to use directly for HTTP API authorization."
16588
+ },
16589
+ "immutable": true,
16590
+ "locationInModule": {
16591
+ "filename": "src/extensions/HTTPApiExtension.ts",
16592
+ "line": 85
16593
+ },
16594
+ "name": "cognitoUserPool",
16595
+ "optional": true,
16596
+ "type": {
16597
+ "fqn": "@btc-embedded/cdk-extensions.ICognitoUserPool"
16598
+ }
16599
+ },
16076
16600
  {
16077
16601
  "abstract": true,
16078
16602
  "docs": {
@@ -16082,7 +16606,7 @@
16082
16606
  "immutable": true,
16083
16607
  "locationInModule": {
16084
16608
  "filename": "src/extensions/HTTPApiExtension.ts",
16085
- "line": 41
16609
+ "line": 51
16086
16610
  },
16087
16611
  "name": "domainPrefix",
16088
16612
  "optional": true,
@@ -16100,7 +16624,7 @@
16100
16624
  "immutable": true,
16101
16625
  "locationInModule": {
16102
16626
  "filename": "src/extensions/HTTPApiExtension.ts",
16103
- "line": 56
16627
+ "line": 68
16104
16628
  },
16105
16629
  "name": "enableAccessLogs",
16106
16630
  "optional": true,
@@ -16117,7 +16641,7 @@
16117
16641
  "immutable": true,
16118
16642
  "locationInModule": {
16119
16643
  "filename": "src/extensions/HTTPApiExtension.ts",
16120
- "line": 31
16644
+ "line": 37
16121
16645
  },
16122
16646
  "name": "endpointPrefix",
16123
16647
  "optional": true,
@@ -16134,7 +16658,7 @@
16134
16658
  "immutable": true,
16135
16659
  "locationInModule": {
16136
16660
  "filename": "src/extensions/HTTPApiExtension.ts",
16137
- "line": 61
16661
+ "line": 73
16138
16662
  },
16139
16663
  "name": "extraHttpApiAttributes",
16140
16664
  "optional": true,
@@ -16146,14 +16670,14 @@
16146
16670
  "abstract": true,
16147
16671
  "docs": {
16148
16672
  "default": "- Imported from base platform using HostedZone.fromBasePlatform()",
16149
- "deprecated": "Provide only platformStackName. The hosted zone will be imported automatically.",
16150
- "stability": "deprecated",
16673
+ "remarks": "When omitted, the hosted zone is imported from the base platform stack\nvia {@link HostedZone.fromBasePlatform}.",
16674
+ "stability": "experimental",
16151
16675
  "summary": "Hosted Zone to create the gateway domain A record."
16152
16676
  },
16153
16677
  "immutable": true,
16154
16678
  "locationInModule": {
16155
16679
  "filename": "src/extensions/HTTPApiExtension.ts",
16156
- "line": 49
16680
+ "line": 61
16157
16681
  },
16158
16682
  "name": "hostedZone",
16159
16683
  "optional": true,
@@ -16466,6 +16990,57 @@
16466
16990
  ],
16467
16991
  "symbolId": "src/platform/HostedZone:HostedZoneProps"
16468
16992
  },
16993
+ "@btc-embedded/cdk-extensions.IApiGateway": {
16994
+ "assembly": "@btc-embedded/cdk-extensions",
16995
+ "docs": {
16996
+ "deprecated": "Use {@link ApiGatewayVpcLink } together with {@link HTTPApiExtension } instead.",
16997
+ "remarks": "Implementations expose the VPC Link and HTTP API identifiers so\nthat {@link ApiGatewayExtension } can be used in the same stack.",
16998
+ "stability": "deprecated",
16999
+ "summary": "Public contract for the V1 `ApiGateway` platform construct."
17000
+ },
17001
+ "fqn": "@btc-embedded/cdk-extensions.IApiGateway",
17002
+ "kind": "interface",
17003
+ "locationInModule": {
17004
+ "filename": "src/platform/ApiGateway.ts",
17005
+ "line": 28
17006
+ },
17007
+ "name": "IApiGateway",
17008
+ "properties": [
17009
+ {
17010
+ "abstract": true,
17011
+ "docs": {
17012
+ "stability": "deprecated",
17013
+ "summary": "The ID of the underlying HTTP API."
17014
+ },
17015
+ "immutable": true,
17016
+ "locationInModule": {
17017
+ "filename": "src/platform/ApiGateway.ts",
17018
+ "line": 32
17019
+ },
17020
+ "name": "apiId",
17021
+ "type": {
17022
+ "primitive": "string"
17023
+ }
17024
+ },
17025
+ {
17026
+ "abstract": true,
17027
+ "docs": {
17028
+ "stability": "deprecated",
17029
+ "summary": "The ID of the VPC Link used by the API Gateway."
17030
+ },
17031
+ "immutable": true,
17032
+ "locationInModule": {
17033
+ "filename": "src/platform/ApiGateway.ts",
17034
+ "line": 30
17035
+ },
17036
+ "name": "vpcLinkId",
17037
+ "type": {
17038
+ "primitive": "string"
17039
+ }
17040
+ }
17041
+ ],
17042
+ "symbolId": "src/platform/ApiGateway:IApiGateway"
17043
+ },
16469
17044
  "@btc-embedded/cdk-extensions.IApiGatewayVpcLink": {
16470
17045
  "assembly": "@btc-embedded/cdk-extensions",
16471
17046
  "docs": {
@@ -16613,6 +17188,88 @@
16613
17188
  ],
16614
17189
  "symbolId": "src/platform/ApplicationLoadBalancerV2:IApplicationLoadBalancerV2"
16615
17190
  },
17191
+ "@btc-embedded/cdk-extensions.IAuroraPostgresDB": {
17192
+ "assembly": "@btc-embedded/cdk-extensions",
17193
+ "docs": {
17194
+ "remarks": "Implemented by both the concrete {@link AuroraPostgresCluster} (same-stack usage) and\nthe import returned by {@link AuroraPostgresCluster.fromBasePlatform} (cross-stack usage).\nExtensions such as {@link PostgresDbAccessExtension } accept this interface so they work\nin either deployment topology.",
17195
+ "stability": "experimental",
17196
+ "summary": "Public interface for an Aurora PostgreSQL database component."
17197
+ },
17198
+ "fqn": "@btc-embedded/cdk-extensions.IAuroraPostgresDB",
17199
+ "kind": "interface",
17200
+ "locationInModule": {
17201
+ "filename": "src/platform/AuroraPostgresDB.ts",
17202
+ "line": 135
17203
+ },
17204
+ "name": "IAuroraPostgresDB",
17205
+ "properties": [
17206
+ {
17207
+ "abstract": true,
17208
+ "docs": {
17209
+ "stability": "experimental",
17210
+ "summary": "Secret containing the postgres connection string prefix in the form `postgresql://user:pass@host:port/`."
17211
+ },
17212
+ "immutable": true,
17213
+ "locationInModule": {
17214
+ "filename": "src/platform/AuroraPostgresDB.ts",
17215
+ "line": 143
17216
+ },
17217
+ "name": "connectionSecret",
17218
+ "type": {
17219
+ "fqn": "aws-cdk-lib.aws_secretsmanager.ISecret"
17220
+ }
17221
+ },
17222
+ {
17223
+ "abstract": true,
17224
+ "docs": {
17225
+ "stability": "experimental",
17226
+ "summary": "Secret containing postgres credentials (username and password)."
17227
+ },
17228
+ "immutable": true,
17229
+ "locationInModule": {
17230
+ "filename": "src/platform/AuroraPostgresDB.ts",
17231
+ "line": 137
17232
+ },
17233
+ "name": "credentialsSecret",
17234
+ "type": {
17235
+ "fqn": "aws-cdk-lib.aws_secretsmanager.ISecret"
17236
+ }
17237
+ },
17238
+ {
17239
+ "abstract": true,
17240
+ "docs": {
17241
+ "stability": "experimental",
17242
+ "summary": "Cluster endpoint in the form `host:port`."
17243
+ },
17244
+ "immutable": true,
17245
+ "locationInModule": {
17246
+ "filename": "src/platform/AuroraPostgresDB.ts",
17247
+ "line": 146
17248
+ },
17249
+ "name": "endpoint",
17250
+ "type": {
17251
+ "primitive": "string"
17252
+ }
17253
+ },
17254
+ {
17255
+ "abstract": true,
17256
+ "docs": {
17257
+ "stability": "experimental",
17258
+ "summary": "Security group attached to the Aurora cluster."
17259
+ },
17260
+ "immutable": true,
17261
+ "locationInModule": {
17262
+ "filename": "src/platform/AuroraPostgresDB.ts",
17263
+ "line": 149
17264
+ },
17265
+ "name": "securityGroup",
17266
+ "type": {
17267
+ "fqn": "aws-cdk-lib.aws_ec2.ISecurityGroup"
17268
+ }
17269
+ }
17270
+ ],
17271
+ "symbolId": "src/platform/AuroraPostgresDB:IAuroraPostgresDB"
17272
+ },
16616
17273
  "@btc-embedded/cdk-extensions.ICognitoUserPool": {
16617
17274
  "assembly": "@btc-embedded/cdk-extensions",
16618
17275
  "docs": {
@@ -16849,7 +17506,7 @@
16849
17506
  "kind": "interface",
16850
17507
  "locationInModule": {
16851
17508
  "filename": "src/platform/EfsFileSystem.ts",
16852
- "line": 128
17509
+ "line": 126
16853
17510
  },
16854
17511
  "methods": [
16855
17512
  {
@@ -16860,7 +17517,7 @@
16860
17517
  },
16861
17518
  "locationInModule": {
16862
17519
  "filename": "src/platform/EfsFileSystem.ts",
16863
- "line": 140
17520
+ "line": 138
16864
17521
  },
16865
17522
  "name": "allowConnection",
16866
17523
  "parameters": [
@@ -16883,7 +17540,7 @@
16883
17540
  },
16884
17541
  "locationInModule": {
16885
17542
  "filename": "src/platform/EfsFileSystem.ts",
16886
- "line": 150
17543
+ "line": 148
16887
17544
  },
16888
17545
  "name": "fileSystem",
16889
17546
  "returns": {
@@ -16900,7 +17557,7 @@
16900
17557
  },
16901
17558
  "locationInModule": {
16902
17559
  "filename": "src/platform/EfsFileSystem.ts",
16903
- "line": 145
17560
+ "line": 143
16904
17561
  },
16905
17562
  "name": "fileSystemId",
16906
17563
  "returns": {
@@ -16917,7 +17574,7 @@
16917
17574
  },
16918
17575
  "locationInModule": {
16919
17576
  "filename": "src/platform/EfsFileSystem.ts",
16920
- "line": 134
17577
+ "line": 132
16921
17578
  },
16922
17579
  "name": "grantAccess",
16923
17580
  "parameters": [
@@ -17540,7 +18197,7 @@
17540
18197
  },
17541
18198
  "locationInModule": {
17542
18199
  "filename": "src/extensions/OpenIdExtension.ts",
17543
- "line": 110
18200
+ "line": 125
17544
18201
  },
17545
18202
  "parameters": [
17546
18203
  {
@@ -17554,7 +18211,7 @@
17554
18211
  "kind": "class",
17555
18212
  "locationInModule": {
17556
18213
  "filename": "src/extensions/OpenIdExtension.ts",
17557
- "line": 100
18214
+ "line": 115
17558
18215
  },
17559
18216
  "methods": [
17560
18217
  {
@@ -17565,7 +18222,7 @@
17565
18222
  },
17566
18223
  "locationInModule": {
17567
18224
  "filename": "src/extensions/OpenIdExtension.ts",
17568
- "line": 121
18225
+ "line": 136
17569
18226
  },
17570
18227
  "name": "addHooks",
17571
18228
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension"
@@ -17578,7 +18235,7 @@
17578
18235
  },
17579
18236
  "locationInModule": {
17580
18237
  "filename": "src/extensions/OpenIdExtension.ts",
17581
- "line": 142
18238
+ "line": 157
17582
18239
  },
17583
18240
  "name": "prehook",
17584
18241
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -17608,7 +18265,7 @@
17608
18265
  },
17609
18266
  "locationInModule": {
17610
18267
  "filename": "src/extensions/OpenIdExtension.ts",
17611
- "line": 108
18268
+ "line": 123
17612
18269
  },
17613
18270
  "name": "cognitoUserPool",
17614
18271
  "type": {
@@ -17635,13 +18292,14 @@
17635
18292
  {
17636
18293
  "abstract": true,
17637
18294
  "docs": {
18295
+ "remarks": "Used when {@link cognitoUserPool} is not provided. Falls back to\n`BasePlatformStackResolver` (CDK context) when also omitted.",
17638
18296
  "stability": "experimental",
17639
18297
  "summary": "The name of the base platform stack."
17640
18298
  },
17641
18299
  "immutable": true,
17642
18300
  "locationInModule": {
17643
18301
  "filename": "src/extensions/OpenIdExtension.ts",
17644
- "line": 81
18302
+ "line": 84
17645
18303
  },
17646
18304
  "name": "basePlatformStackName",
17647
18305
  "optional": true,
@@ -17649,6 +18307,24 @@
17649
18307
  "primitive": "string"
17650
18308
  }
17651
18309
  },
18310
+ {
18311
+ "abstract": true,
18312
+ "docs": {
18313
+ "remarks": "When provided, the extension uses this construct as-is and no cross-stack\nimport via {@link CognitoUserPool.fromBasePlatform} is performed. Use this\nwhen the user pool resides in the same CDK stack as the ECS service.\n\nWhen omitted, the extension imports the user pool from the base platform\nstack identified by {@link basePlatformStackName}.",
18314
+ "stability": "experimental",
18315
+ "summary": "Cognito User Pool to use directly."
18316
+ },
18317
+ "immutable": true,
18318
+ "locationInModule": {
18319
+ "filename": "src/extensions/OpenIdExtension.ts",
18320
+ "line": 101
18321
+ },
18322
+ "name": "cognitoUserPool",
18323
+ "optional": true,
18324
+ "type": {
18325
+ "fqn": "@btc-embedded/cdk-extensions.ICognitoUserPool"
18326
+ }
18327
+ },
17652
18328
  {
17653
18329
  "abstract": true,
17654
18330
  "docs": {
@@ -17658,7 +18334,7 @@
17658
18334
  "immutable": true,
17659
18335
  "locationInModule": {
17660
18336
  "filename": "src/extensions/OpenIdExtension.ts",
17661
- "line": 86
18337
+ "line": 89
17662
18338
  },
17663
18339
  "name": "redirectUri",
17664
18340
  "optional": true,
@@ -17847,7 +18523,7 @@
17847
18523
  "assembly": "@btc-embedded/cdk-extensions",
17848
18524
  "base": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
17849
18525
  "docs": {
17850
- "remarks": "What it does:\n- Imports DB endpoint, secrets and security group IDs from the base platform stack outputs.\n- Allows the service SG to connect to the DB SG on port 5432.\n- Injects connection details into selected containers via container hooks.\n- Optionally adds a one-shot migration container and wires dependencies so the\n main container starts only after migrations succeed.",
18526
+ "remarks": "What it does:\n- Resolves DB endpoint, secrets and security group from either a directly\n injected {@link IAuroraPostgresDB} (same-stack) or from the base platform\n stack outputs via {@link AuroraPostgresCluster.fromBasePlatform} (cross-stack).\n- Allows the service SG to connect to the DB SG on port 5432.\n- Injects connection details into selected containers via container hooks.\n- Optionally adds a one-shot migration container and wires dependencies so the\n main container starts only after migrations succeed.",
17851
18527
  "stability": "experimental",
17852
18528
  "summary": "ECS service extension that grants an ECS service access to an Aurora Postgres database created by the base platform."
17853
18529
  },
@@ -17858,7 +18534,7 @@
17858
18534
  },
17859
18535
  "locationInModule": {
17860
18536
  "filename": "src/extensions/PostgresDbAccessExtension.ts",
17861
- "line": 200
18537
+ "line": 219
17862
18538
  },
17863
18539
  "parameters": [
17864
18540
  {
@@ -17872,7 +18548,7 @@
17872
18548
  "kind": "class",
17873
18549
  "locationInModule": {
17874
18550
  "filename": "src/extensions/PostgresDbAccessExtension.ts",
17875
- "line": 188
18551
+ "line": 204
17876
18552
  },
17877
18553
  "methods": [
17878
18554
  {
@@ -17883,7 +18559,7 @@
17883
18559
  },
17884
18560
  "locationInModule": {
17885
18561
  "filename": "src/extensions/PostgresDbAccessExtension.ts",
17886
- "line": 274
18562
+ "line": 273
17887
18563
  },
17888
18564
  "name": "addHooks",
17889
18565
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension"
@@ -17895,7 +18571,7 @@
17895
18571
  },
17896
18572
  "locationInModule": {
17897
18573
  "filename": "src/extensions/PostgresDbAccessExtension.ts",
17898
- "line": 370
18574
+ "line": 358
17899
18575
  },
17900
18576
  "name": "modifyServiceProps",
17901
18577
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -17915,12 +18591,13 @@
17915
18591
  },
17916
18592
  {
17917
18593
  "docs": {
18594
+ "remarks": "Uses the directly injected {@link IAuroraPostgresDB} when available (same-stack),\notherwise imports from the base platform stack via\n{@link AuroraPostgresCluster.fromBasePlatform}. Falls back to\n`BasePlatformStackResolver` (CDK context) when\n{@link PostgresDbAccessExtensionProps.basePlatformStackName} is also absent.",
17918
18595
  "stability": "experimental",
17919
- "summary": "Resolves base-platform outputs (endpoint, secret ARNs) and prepares a service-specific connection-string secret."
18596
+ "summary": "Resolves Aurora cluster outputs (endpoint, secret ARNs, security group) and prepares a service-specific connection-string secret."
17920
18597
  },
17921
18598
  "locationInModule": {
17922
18599
  "filename": "src/extensions/PostgresDbAccessExtension.ts",
17923
- "line": 209
18600
+ "line": 234
17924
18601
  },
17925
18602
  "name": "prehook",
17926
18603
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -17946,7 +18623,7 @@
17946
18623
  },
17947
18624
  "locationInModule": {
17948
18625
  "filename": "src/extensions/PostgresDbAccessExtension.ts",
17949
- "line": 294
18626
+ "line": 293
17950
18627
  },
17951
18628
  "name": "useService",
17952
18629
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -17976,7 +18653,7 @@
17976
18653
  },
17977
18654
  "locationInModule": {
17978
18655
  "filename": "src/extensions/PostgresDbAccessExtension.ts",
17979
- "line": 319
18656
+ "line": 307
17980
18657
  },
17981
18658
  "name": "useTaskDefinition",
17982
18659
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -17999,7 +18676,7 @@
17999
18676
  "immutable": true,
18000
18677
  "locationInModule": {
18001
18678
  "filename": "src/extensions/PostgresDbAccessExtension.ts",
18002
- "line": 189
18679
+ "line": 205
18003
18680
  },
18004
18681
  "name": "props",
18005
18682
  "type": {
@@ -18013,7 +18690,7 @@
18013
18690
  },
18014
18691
  "locationInModule": {
18015
18692
  "filename": "src/extensions/PostgresDbAccessExtension.ts",
18016
- "line": 192
18693
+ "line": 208
18017
18694
  },
18018
18695
  "name": "connectionString",
18019
18696
  "type": {
@@ -18023,11 +18700,11 @@
18023
18700
  {
18024
18701
  "docs": {
18025
18702
  "stability": "experimental",
18026
- "summary": "Credentials secret imported from base platform (populated in {@link prehook})."
18703
+ "summary": "Credentials secret resolved from the Aurora cluster (populated in {@link prehook})."
18027
18704
  },
18028
18705
  "locationInModule": {
18029
18706
  "filename": "src/extensions/PostgresDbAccessExtension.ts",
18030
- "line": 195
18707
+ "line": 211
18031
18708
  },
18032
18709
  "name": "credentialsSecret",
18033
18710
  "type": {
@@ -18037,11 +18714,11 @@
18037
18714
  {
18038
18715
  "docs": {
18039
18716
  "stability": "experimental",
18040
- "summary": "Database endpoint imported from base platform (populated in {@link prehook})."
18717
+ "summary": "Database endpoint resolved from the Aurora cluster (populated in {@link prehook})."
18041
18718
  },
18042
18719
  "locationInModule": {
18043
18720
  "filename": "src/extensions/PostgresDbAccessExtension.ts",
18044
- "line": 198
18721
+ "line": 214
18045
18722
  },
18046
18723
  "name": "endpoint",
18047
18724
  "type": {
@@ -18061,7 +18738,7 @@
18061
18738
  "kind": "interface",
18062
18739
  "locationInModule": {
18063
18740
  "filename": "src/extensions/PostgresDbAccessExtension.ts",
18064
- "line": 57
18741
+ "line": 58
18065
18742
  },
18066
18743
  "name": "PostgresDbAccessExtensionProps",
18067
18744
  "properties": [
@@ -18074,7 +18751,7 @@
18074
18751
  "immutable": true,
18075
18752
  "locationInModule": {
18076
18753
  "filename": "src/extensions/PostgresDbAccessExtension.ts",
18077
- "line": 67
18754
+ "line": 69
18078
18755
  },
18079
18756
  "name": "dbName",
18080
18757
  "type": {
@@ -18084,14 +18761,32 @@
18084
18761
  {
18085
18762
  "abstract": true,
18086
18763
  "docs": {
18087
- "remarks": "This name is used to look up output\nparameters.",
18764
+ "remarks": "When provided, the extension uses this construct as-is and no cross-stack\nimport via {@link AuroraPostgresCluster.fromBasePlatform} is performed. Use\nthis when the Aurora cluster resides in the same CDK stack as the ECS service.\n\nWhen omitted, the extension imports the cluster from the base platform stack\nidentified by {@link PostgresDbAccessExtensionProps.basePlatformStackName}.",
18765
+ "stability": "experimental",
18766
+ "summary": "Aurora PostgreSQL cluster to use directly."
18767
+ },
18768
+ "immutable": true,
18769
+ "locationInModule": {
18770
+ "filename": "src/extensions/PostgresDbAccessExtension.ts",
18771
+ "line": 121
18772
+ },
18773
+ "name": "auroraPostgresDB",
18774
+ "optional": true,
18775
+ "type": {
18776
+ "fqn": "@btc-embedded/cdk-extensions.IAuroraPostgresDB"
18777
+ }
18778
+ },
18779
+ {
18780
+ "abstract": true,
18781
+ "docs": {
18782
+ "remarks": "Used to look up output parameters when\n{@link PostgresDbAccessExtensionProps.auroraPostgresDB} is not provided. Falls back to\n`BasePlatformStackResolver` (CDK context) when also omitted.",
18088
18783
  "stability": "experimental",
18089
18784
  "summary": "The name of the base platform stack."
18090
18785
  },
18091
18786
  "immutable": true,
18092
18787
  "locationInModule": {
18093
18788
  "filename": "src/extensions/PostgresDbAccessExtension.ts",
18094
- "line": 62
18789
+ "line": 64
18095
18790
  },
18096
18791
  "name": "basePlatformStackName",
18097
18792
  "optional": true,
@@ -18109,7 +18804,7 @@
18109
18804
  "immutable": true,
18110
18805
  "locationInModule": {
18111
18806
  "filename": "src/extensions/PostgresDbAccessExtension.ts",
18112
- "line": 84
18807
+ "line": 86
18113
18808
  },
18114
18809
  "name": "dbConnectionProperties",
18115
18810
  "optional": true,
@@ -18133,7 +18828,7 @@
18133
18828
  "immutable": true,
18134
18829
  "locationInModule": {
18135
18830
  "filename": "src/extensions/PostgresDbAccessExtension.ts",
18136
- "line": 100
18831
+ "line": 102
18137
18832
  },
18138
18833
  "name": "enableMigration",
18139
18834
  "optional": true,
@@ -18151,7 +18846,7 @@
18151
18846
  "immutable": true,
18152
18847
  "locationInModule": {
18153
18848
  "filename": "src/extensions/PostgresDbAccessExtension.ts",
18154
- "line": 91
18849
+ "line": 93
18155
18850
  },
18156
18851
  "name": "environmentVariableNames",
18157
18852
  "optional": true,
@@ -18170,7 +18865,7 @@
18170
18865
  "immutable": true,
18171
18866
  "locationInModule": {
18172
18867
  "filename": "src/extensions/PostgresDbAccessExtension.ts",
18173
- "line": 76
18868
+ "line": 78
18174
18869
  },
18175
18870
  "name": "logGroup",
18176
18871
  "optional": true,
@@ -18188,7 +18883,7 @@
18188
18883
  "immutable": true,
18189
18884
  "locationInModule": {
18190
18885
  "filename": "src/extensions/PostgresDbAccessExtension.ts",
18191
- "line": 107
18886
+ "line": 109
18192
18887
  },
18193
18888
  "name": "migrationParameter",
18194
18889
  "optional": true,
@@ -20244,6 +20939,9 @@
20244
20939
  "symbolId": "src/platform/VpcV2:VpcV2Props"
20245
20940
  }
20246
20941
  },
20247
- "version": "0.22.22",
20248
- "fingerprint": "MT0U+0rZvp5+IwVeklrSYg854N7WRspuhlicBlhV0Lc="
20942
+ "usedFeatures": [
20943
+ "class-covariant-overrides"
20944
+ ],
20945
+ "version": "0.22.24",
20946
+ "fingerprint": "uC4bcrSuk36ebf6AVpbpiRdGvgwObHJjnAfczoxoAY0="
20249
20947
  }