@btc-embedded/cdk-extensions 0.20.1 → 0.20.2

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 (47) hide show
  1. package/.jsii +529 -45
  2. package/API.md +491 -15
  3. package/CHANGELOG.md +7 -0
  4. package/lib/constructs/EventPipe.js +1 -1
  5. package/lib/constructs/ExportedService.d.ts +141 -0
  6. package/lib/constructs/ExportedService.js +139 -0
  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/index.d.ts +1 -0
  11. package/lib/constructs/index.js +2 -1
  12. package/lib/extensions/ApiGatewayExtension.js +1 -1
  13. package/lib/extensions/ApplicationLoadBalancerExtension.js +1 -1
  14. package/lib/extensions/ApplicationLoadBalancerExtensionV2.js +1 -1
  15. package/lib/extensions/CloudMapExtension.d.ts +16 -0
  16. package/lib/extensions/CloudMapExtension.js +11 -2
  17. package/lib/extensions/DeactivatableServiceExtension.js +1 -1
  18. package/lib/extensions/DocumentDbAccessExtension.js +1 -1
  19. package/lib/extensions/DomainEventMessagingExtension.js +1 -1
  20. package/lib/extensions/EfsMountExtension.js +1 -1
  21. package/lib/extensions/ExtraContainerExtension.js +1 -1
  22. package/lib/extensions/HTTPApiExtension.js +1 -1
  23. package/lib/extensions/LogExtension.js +1 -1
  24. package/lib/extensions/ModifyContainerDefinitionExtension.js +1 -1
  25. package/lib/extensions/ModifyTaskDefinitionExtension.js +1 -1
  26. package/lib/extensions/OpenIdExtension.js +1 -1
  27. package/lib/extensions/OpenTelemetryExtension.js +1 -1
  28. package/lib/extensions/PostgresDbAccessExtension.js +1 -1
  29. package/lib/extensions/SharedVolumeExtension.js +1 -1
  30. package/lib/extensions/TcpKeepAliveExtension.js +1 -1
  31. package/lib/platform/ApiGateway.js +1 -1
  32. package/lib/platform/ApiGatewayVpcLink.js +2 -2
  33. package/lib/platform/ApplicationLoadBalancer.js +1 -1
  34. package/lib/platform/ApplicationLoadBalancerV2.d.ts +9 -6
  35. package/lib/platform/ApplicationLoadBalancerV2.js +6 -4
  36. package/lib/platform/BTCLogGroup.js +1 -1
  37. package/lib/platform/CognitoUserPool.js +2 -2
  38. package/lib/platform/DefaultUserPoolClients.js +1 -1
  39. package/lib/platform/DocumentDB.js +2 -2
  40. package/lib/platform/EcsCluster.js +1 -1
  41. package/lib/platform/EfsFileSystem.js +1 -1
  42. package/lib/platform/PrivateDnsNamespace.js +1 -1
  43. package/lib/platform/ResourceServer.js +1 -1
  44. package/lib/platform/Vpc.js +1 -1
  45. package/lib/platform/VpcV2.js +1 -1
  46. package/lib/utils/StackParameter.js +1 -1
  47. package/package.json +1 -1
package/.jsii CHANGED
@@ -5388,7 +5388,7 @@
5388
5388
  "immutable": true,
5389
5389
  "locationInModule": {
5390
5390
  "filename": "src/platform/ApplicationLoadBalancerV2.ts",
5391
- "line": 55
5391
+ "line": 48
5392
5392
  },
5393
5393
  "name": "healtCheckPath",
5394
5394
  "type": {
@@ -5404,7 +5404,7 @@
5404
5404
  "immutable": true,
5405
5405
  "locationInModule": {
5406
5406
  "filename": "src/platform/ApplicationLoadBalancerV2.ts",
5407
- "line": 45
5407
+ "line": 38
5408
5408
  },
5409
5409
  "name": "hostedZone",
5410
5410
  "type": {
@@ -5414,66 +5414,68 @@
5414
5414
  {
5415
5415
  "abstract": true,
5416
5416
  "docs": {
5417
- "remarks": "This name is used to register an A record in the given hosted zone.",
5418
5417
  "stability": "experimental",
5419
- "summary": "The domain prefix or record name for configuring the ALB domain."
5418
+ "summary": "The port on which the target group will receive traffic."
5420
5419
  },
5421
5420
  "immutable": true,
5422
5421
  "locationInModule": {
5423
5422
  "filename": "src/platform/ApplicationLoadBalancerV2.ts",
5424
- "line": 30
5423
+ "line": 43
5425
5424
  },
5426
- "name": "recordName",
5425
+ "name": "trafficPort",
5427
5426
  "type": {
5428
- "primitive": "string"
5427
+ "primitive": "number"
5429
5428
  }
5430
5429
  },
5431
5430
  {
5432
5431
  "abstract": true,
5433
5432
  "docs": {
5434
5433
  "stability": "experimental",
5435
- "summary": "The port on which the target group will receive traffic."
5434
+ "summary": "The Cognito User Pool of this base platform."
5436
5435
  },
5437
5436
  "immutable": true,
5438
5437
  "locationInModule": {
5439
5438
  "filename": "src/platform/ApplicationLoadBalancerV2.ts",
5440
- "line": 50
5439
+ "line": 33
5441
5440
  },
5442
- "name": "trafficPort",
5441
+ "name": "userPool",
5443
5442
  "type": {
5444
- "primitive": "number"
5443
+ "fqn": "@btc-embedded/cdk-extensions.ICognitoUserPool"
5445
5444
  }
5446
5445
  },
5447
5446
  {
5448
5447
  "abstract": true,
5449
5448
  "docs": {
5450
5449
  "stability": "experimental",
5451
- "summary": "The Cognito User Pool of this base platform."
5450
+ "summary": "The VPC in which the Application Load Balancer will be deployed."
5452
5451
  },
5453
5452
  "immutable": true,
5454
5453
  "locationInModule": {
5455
5454
  "filename": "src/platform/ApplicationLoadBalancerV2.ts",
5456
- "line": 40
5455
+ "line": 28
5457
5456
  },
5458
- "name": "userPool",
5457
+ "name": "vpc",
5459
5458
  "type": {
5460
- "fqn": "@btc-embedded/cdk-extensions.ICognitoUserPool"
5459
+ "fqn": "aws-cdk-lib.aws_ec2.IVpc"
5461
5460
  }
5462
5461
  },
5463
5462
  {
5464
5463
  "abstract": true,
5465
5464
  "docs": {
5465
+ "default": "- zone root",
5466
+ "remarks": "This name is used to register an A record in the given hosted zone. If not\nprovided, the zone's root will be used.",
5466
5467
  "stability": "experimental",
5467
- "summary": "The VPC in which the Application Load Balancer will be deployed."
5468
+ "summary": "The domain prefix or record name for configuring the ALB domain."
5468
5469
  },
5469
5470
  "immutable": true,
5470
5471
  "locationInModule": {
5471
5472
  "filename": "src/platform/ApplicationLoadBalancerV2.ts",
5472
- "line": 35
5473
+ "line": 58
5473
5474
  },
5474
- "name": "vpc",
5475
+ "name": "recordName",
5476
+ "optional": true,
5475
5477
  "type": {
5476
- "fqn": "aws-cdk-lib.aws_ec2.IVpc"
5478
+ "primitive": "string"
5477
5479
  }
5478
5480
  }
5479
5481
  ],
@@ -5494,7 +5496,7 @@
5494
5496
  },
5495
5497
  "locationInModule": {
5496
5498
  "filename": "src/platform/ApplicationLoadBalancerV2.ts",
5497
- "line": 140
5499
+ "line": 143
5498
5500
  },
5499
5501
  "parameters": [
5500
5502
  {
@@ -5520,7 +5522,7 @@
5520
5522
  "kind": "class",
5521
5523
  "locationInModule": {
5522
5524
  "filename": "src/platform/ApplicationLoadBalancerV2.ts",
5523
- "line": 90
5525
+ "line": 93
5524
5526
  },
5525
5527
  "methods": [
5526
5528
  {
@@ -5529,7 +5531,7 @@
5529
5531
  },
5530
5532
  "locationInModule": {
5531
5533
  "filename": "src/platform/ApplicationLoadBalancerV2.ts",
5532
- "line": 91
5534
+ "line": 94
5533
5535
  },
5534
5536
  "name": "fromBasePlatform",
5535
5537
  "parameters": [
@@ -5569,7 +5571,7 @@
5569
5571
  "immutable": true,
5570
5572
  "locationInModule": {
5571
5573
  "filename": "src/platform/ApplicationLoadBalancerV2.ts",
5572
- "line": 138
5574
+ "line": 141
5573
5575
  },
5574
5576
  "name": "domainName",
5575
5577
  "overrides": "@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2Base",
@@ -5584,7 +5586,7 @@
5584
5586
  "immutable": true,
5585
5587
  "locationInModule": {
5586
5588
  "filename": "src/platform/ApplicationLoadBalancerV2.ts",
5587
- "line": 137
5589
+ "line": 140
5588
5590
  },
5589
5591
  "name": "targetGroup",
5590
5592
  "overrides": "@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2Base",
@@ -5640,7 +5642,7 @@
5640
5642
  "kind": "class",
5641
5643
  "locationInModule": {
5642
5644
  "filename": "src/platform/ApplicationLoadBalancerV2.ts",
5643
- "line": 69
5645
+ "line": 72
5644
5646
  },
5645
5647
  "methods": [
5646
5648
  {
@@ -5649,7 +5651,7 @@
5649
5651
  },
5650
5652
  "locationInModule": {
5651
5653
  "filename": "src/platform/ApplicationLoadBalancerV2.ts",
5652
- "line": 76
5654
+ "line": 79
5653
5655
  },
5654
5656
  "name": "addTarget",
5655
5657
  "overrides": "@btc-embedded/cdk-extensions.IApplicationLoadBalancerV2",
@@ -5673,7 +5675,7 @@
5673
5675
  "immutable": true,
5674
5676
  "locationInModule": {
5675
5677
  "filename": "src/platform/ApplicationLoadBalancerV2.ts",
5676
- "line": 74
5678
+ "line": 77
5677
5679
  },
5678
5680
  "name": "domainName",
5679
5681
  "overrides": "@btc-embedded/cdk-extensions.IApplicationLoadBalancerV2",
@@ -5689,7 +5691,7 @@
5689
5691
  "immutable": true,
5690
5692
  "locationInModule": {
5691
5693
  "filename": "src/platform/ApplicationLoadBalancerV2.ts",
5692
- "line": 73
5694
+ "line": 76
5693
5695
  },
5694
5696
  "name": "targetGroup",
5695
5697
  "overrides": "@btc-embedded/cdk-extensions.IApplicationLoadBalancerV2",
@@ -5710,7 +5712,7 @@
5710
5712
  "kind": "interface",
5711
5713
  "locationInModule": {
5712
5714
  "filename": "src/platform/ApplicationLoadBalancerV2.ts",
5713
- "line": 58
5715
+ "line": 61
5714
5716
  },
5715
5717
  "name": "ApplicationLoadBalancerV2LookupOptions",
5716
5718
  "properties": [
@@ -5722,7 +5724,7 @@
5722
5724
  "immutable": true,
5723
5725
  "locationInModule": {
5724
5726
  "filename": "src/platform/ApplicationLoadBalancerV2.ts",
5725
- "line": 59
5727
+ "line": 62
5726
5728
  },
5727
5729
  "name": "basePlatform",
5728
5730
  "type": {
@@ -6028,7 +6030,7 @@
6028
6030
  },
6029
6031
  "locationInModule": {
6030
6032
  "filename": "src/extensions/CloudMapExtension.ts",
6031
- "line": 27
6033
+ "line": 45
6032
6034
  },
6033
6035
  "parameters": [
6034
6036
  {
@@ -6042,7 +6044,7 @@
6042
6044
  "kind": "class",
6043
6045
  "locationInModule": {
6044
6046
  "filename": "src/extensions/CloudMapExtension.ts",
6045
- "line": 22
6047
+ "line": 34
6046
6048
  },
6047
6049
  "methods": [
6048
6050
  {
@@ -6052,7 +6054,7 @@
6052
6054
  },
6053
6055
  "locationInModule": {
6054
6056
  "filename": "src/extensions/CloudMapExtension.ts",
6055
- "line": 104
6057
+ "line": 135
6056
6058
  },
6057
6059
  "name": "connectToService",
6058
6060
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -6079,7 +6081,7 @@
6079
6081
  },
6080
6082
  "locationInModule": {
6081
6083
  "filename": "src/extensions/CloudMapExtension.ts",
6082
- "line": 33
6084
+ "line": 51
6083
6085
  },
6084
6086
  "name": "modifyServiceProps",
6085
6087
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -6105,7 +6107,7 @@
6105
6107
  },
6106
6108
  "locationInModule": {
6107
6109
  "filename": "src/extensions/CloudMapExtension.ts",
6108
- "line": 62
6110
+ "line": 80
6109
6111
  },
6110
6112
  "name": "useService",
6111
6113
  "overrides": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -6136,7 +6138,7 @@
6136
6138
  },
6137
6139
  "locationInModule": {
6138
6140
  "filename": "src/extensions/CloudMapExtension.ts",
6139
- "line": 23
6141
+ "line": 35
6140
6142
  },
6141
6143
  "name": "props",
6142
6144
  "type": {
@@ -6149,12 +6151,28 @@
6149
6151
  },
6150
6152
  "locationInModule": {
6151
6153
  "filename": "src/extensions/CloudMapExtension.ts",
6152
- "line": 25
6154
+ "line": 37
6153
6155
  },
6154
6156
  "name": "serviceName",
6155
6157
  "type": {
6156
6158
  "primitive": "string"
6157
6159
  }
6160
+ },
6161
+ {
6162
+ "docs": {
6163
+ "remarks": "Available after the service has been configured.",
6164
+ "stability": "experimental",
6165
+ "summary": "The exported service construct, if exportService is enabled."
6166
+ },
6167
+ "locationInModule": {
6168
+ "filename": "src/extensions/CloudMapExtension.ts",
6169
+ "line": 43
6170
+ },
6171
+ "name": "exportedServiceConstruct",
6172
+ "optional": true,
6173
+ "type": {
6174
+ "fqn": "@btc-embedded/cdk-extensions.ExportedService"
6175
+ }
6158
6176
  }
6159
6177
  ],
6160
6178
  "symbolId": "src/extensions/CloudMapExtension:CloudMapExtension"
@@ -6169,7 +6187,7 @@
6169
6187
  "kind": "interface",
6170
6188
  "locationInModule": {
6171
6189
  "filename": "src/extensions/CloudMapExtension.ts",
6172
- "line": 15
6190
+ "line": 16
6173
6191
  },
6174
6192
  "name": "CloudMapExtensionProps",
6175
6193
  "properties": [
@@ -6182,12 +6200,31 @@
6182
6200
  "immutable": true,
6183
6201
  "locationInModule": {
6184
6202
  "filename": "src/extensions/CloudMapExtension.ts",
6185
- "line": 19
6203
+ "line": 20
6186
6204
  },
6187
6205
  "name": "platformStackName",
6188
6206
  "type": {
6189
6207
  "primitive": "string"
6190
6208
  }
6209
+ },
6210
+ {
6211
+ "abstract": true,
6212
+ "docs": {
6213
+ "default": "false",
6214
+ "remarks": "When enabled, the service metadata (security group, namespace, port) is\nexported as stack parameters, allowing other stacks to import and connect\nto this service using ExportedService.fromAttributes().",
6215
+ "stability": "experimental",
6216
+ "summary": "Whether to export this service for cross-stack consumption."
6217
+ },
6218
+ "immutable": true,
6219
+ "locationInModule": {
6220
+ "filename": "src/extensions/CloudMapExtension.ts",
6221
+ "line": 31
6222
+ },
6223
+ "name": "exportService",
6224
+ "optional": true,
6225
+ "type": {
6226
+ "primitive": "boolean"
6227
+ }
6191
6228
  }
6192
6229
  ],
6193
6230
  "symbolId": "src/extensions/CloudMapExtension:CloudMapExtensionProps"
@@ -9012,6 +9049,371 @@
9012
9049
  ],
9013
9050
  "symbolId": "src/extensions/LogExtension:ExistingLogroupOption"
9014
9051
  },
9052
+ "@btc-embedded/cdk-extensions.ExportedService": {
9053
+ "assembly": "@btc-embedded/cdk-extensions",
9054
+ "base": "constructs.Construct",
9055
+ "docs": {
9056
+ "example": "// Consumer side\nconst exportedService = ExportedService.fromAttributes(scope, id, {\n stackName: 'my-service-stack',\n serviceName: 'my-service',\n port: 8080,\n});\n\nexportedService.allowFrom(myService);\nconst url = exportedService.apiUrl();",
9057
+ "remarks": "This construct enables cross-stack service connectivity by transporting service\nmetadata (security group ID and namespace) across stack boundaries using StackParameter.\nThe port must be specified when importing the service.\n\nOn the provider side (where the service is defined), use ExportedService\nwithin the CloudMapExtension to expose the service. On the consumer side,\nuse ExportedService.fromAttributes() to import the service with the port.",
9058
+ "stability": "experimental",
9059
+ "summary": "Represents an ECS service exported from another CDK stack."
9060
+ },
9061
+ "fqn": "@btc-embedded/cdk-extensions.ExportedService",
9062
+ "initializer": {
9063
+ "docs": {
9064
+ "stability": "experimental"
9065
+ },
9066
+ "locationInModule": {
9067
+ "filename": "src/constructs/ExportedService.ts",
9068
+ "line": 245
9069
+ },
9070
+ "parameters": [
9071
+ {
9072
+ "name": "scope",
9073
+ "type": {
9074
+ "fqn": "constructs.Construct"
9075
+ }
9076
+ },
9077
+ {
9078
+ "name": "id",
9079
+ "type": {
9080
+ "primitive": "string"
9081
+ }
9082
+ },
9083
+ {
9084
+ "name": "props",
9085
+ "type": {
9086
+ "fqn": "@btc-embedded/cdk-extensions.ExportedServiceProps"
9087
+ }
9088
+ }
9089
+ ]
9090
+ },
9091
+ "interfaces": [
9092
+ "@btc-embedded/cdk-extensions.IExportedService"
9093
+ ],
9094
+ "kind": "class",
9095
+ "locationInModule": {
9096
+ "filename": "src/constructs/ExportedService.ts",
9097
+ "line": 174
9098
+ },
9099
+ "methods": [
9100
+ {
9101
+ "docs": {
9102
+ "remarks": "This method imports the service metadata (security group and namespace)\nthat was exported by the provider stack and constructs an IExportedService\ninstance that can be used for establishing connections.",
9103
+ "returns": "An IExportedService instance",
9104
+ "stability": "experimental",
9105
+ "summary": "Import an ExportedService from another stack."
9106
+ },
9107
+ "locationInModule": {
9108
+ "filename": "src/constructs/ExportedService.ts",
9109
+ "line": 187
9110
+ },
9111
+ "name": "fromAttributes",
9112
+ "parameters": [
9113
+ {
9114
+ "docs": {
9115
+ "summary": "- The scope in which to define the construct."
9116
+ },
9117
+ "name": "scope",
9118
+ "type": {
9119
+ "fqn": "constructs.Construct"
9120
+ }
9121
+ },
9122
+ {
9123
+ "docs": {
9124
+ "summary": "- The construct ID."
9125
+ },
9126
+ "name": "id",
9127
+ "type": {
9128
+ "primitive": "string"
9129
+ }
9130
+ },
9131
+ {
9132
+ "docs": {
9133
+ "summary": "- The exported service lookup options (stackName, serviceName, and port)."
9134
+ },
9135
+ "name": "attrs",
9136
+ "type": {
9137
+ "fqn": "@btc-embedded/cdk-extensions.ExportedServiceLookupOptions"
9138
+ }
9139
+ }
9140
+ ],
9141
+ "returns": {
9142
+ "type": {
9143
+ "fqn": "@btc-embedded/cdk-extensions.IExportedService"
9144
+ }
9145
+ },
9146
+ "static": true
9147
+ },
9148
+ {
9149
+ "docs": {
9150
+ "remarks": "This method adds a security group ingress rule allowing traffic from the\ngiven service to this exported service on its configured port.",
9151
+ "stability": "experimental",
9152
+ "summary": "Allow an ECS service to connect to this exported service."
9153
+ },
9154
+ "locationInModule": {
9155
+ "filename": "src/constructs/ExportedService.ts",
9156
+ "line": 132
9157
+ },
9158
+ "name": "allowFrom",
9159
+ "overrides": "@btc-embedded/cdk-extensions.IExportedService",
9160
+ "parameters": [
9161
+ {
9162
+ "docs": {
9163
+ "summary": "- The ECS service to allow connections from."
9164
+ },
9165
+ "name": "service",
9166
+ "type": {
9167
+ "fqn": "@aws-cdk-containers/ecs-service-extensions.Service"
9168
+ }
9169
+ },
9170
+ {
9171
+ "docs": {
9172
+ "summary": "- Optional description for the security group rule."
9173
+ },
9174
+ "name": "description",
9175
+ "optional": true,
9176
+ "type": {
9177
+ "primitive": "string"
9178
+ }
9179
+ }
9180
+ ]
9181
+ },
9182
+ {
9183
+ "docs": {
9184
+ "remarks": "The URL format is: http://<service-name>.<namespace>:<port>/",
9185
+ "returns": "The internal API URL",
9186
+ "stability": "experimental",
9187
+ "summary": "Get the internal API URL of the service."
9188
+ },
9189
+ "locationInModule": {
9190
+ "filename": "src/constructs/ExportedService.ts",
9191
+ "line": 109
9192
+ },
9193
+ "name": "apiUrl",
9194
+ "overrides": "@btc-embedded/cdk-extensions.IExportedService",
9195
+ "returns": {
9196
+ "type": {
9197
+ "primitive": "string"
9198
+ }
9199
+ }
9200
+ }
9201
+ ],
9202
+ "name": "ExportedService",
9203
+ "properties": [
9204
+ {
9205
+ "docs": {
9206
+ "remarks": "This allows the ExportedService to be used with the standard CDK IConnectable\npattern for security group management.",
9207
+ "stability": "experimental",
9208
+ "summary": "Get the connections object for this service."
9209
+ },
9210
+ "immutable": true,
9211
+ "locationInModule": {
9212
+ "filename": "src/constructs/ExportedService.ts",
9213
+ "line": 119
9214
+ },
9215
+ "name": "connections",
9216
+ "overrides": "aws-cdk-lib.aws_ec2.IConnectable",
9217
+ "type": {
9218
+ "fqn": "aws-cdk-lib.aws_ec2.Connections"
9219
+ }
9220
+ },
9221
+ {
9222
+ "docs": {
9223
+ "stability": "experimental"
9224
+ },
9225
+ "immutable": true,
9226
+ "locationInModule": {
9227
+ "filename": "src/constructs/ExportedService.ts",
9228
+ "line": 83
9229
+ },
9230
+ "name": "namespaceName",
9231
+ "protected": true,
9232
+ "type": {
9233
+ "primitive": "string"
9234
+ }
9235
+ },
9236
+ {
9237
+ "docs": {
9238
+ "stability": "experimental"
9239
+ },
9240
+ "immutable": true,
9241
+ "locationInModule": {
9242
+ "filename": "src/constructs/ExportedService.ts",
9243
+ "line": 84
9244
+ },
9245
+ "name": "port",
9246
+ "protected": true,
9247
+ "type": {
9248
+ "primitive": "number"
9249
+ }
9250
+ },
9251
+ {
9252
+ "docs": {
9253
+ "stability": "experimental",
9254
+ "summary": "The security group of the exported ECS service."
9255
+ },
9256
+ "immutable": true,
9257
+ "locationInModule": {
9258
+ "filename": "src/constructs/ExportedService.ts",
9259
+ "line": 85
9260
+ },
9261
+ "name": "securityGroup",
9262
+ "overrides": "@btc-embedded/cdk-extensions.IExportedService",
9263
+ "type": {
9264
+ "fqn": "aws-cdk-lib.aws_ec2.ISecurityGroup"
9265
+ }
9266
+ },
9267
+ {
9268
+ "docs": {
9269
+ "stability": "experimental"
9270
+ },
9271
+ "immutable": true,
9272
+ "locationInModule": {
9273
+ "filename": "src/constructs/ExportedService.ts",
9274
+ "line": 82
9275
+ },
9276
+ "name": "serviceName",
9277
+ "protected": true,
9278
+ "type": {
9279
+ "primitive": "string"
9280
+ }
9281
+ }
9282
+ ],
9283
+ "symbolId": "src/constructs/ExportedService:ExportedService"
9284
+ },
9285
+ "@btc-embedded/cdk-extensions.ExportedServiceLookupOptions": {
9286
+ "assembly": "@btc-embedded/cdk-extensions",
9287
+ "datatype": true,
9288
+ "docs": {
9289
+ "stability": "experimental",
9290
+ "summary": "Options for importing an ExportedService from another stack."
9291
+ },
9292
+ "fqn": "@btc-embedded/cdk-extensions.ExportedServiceLookupOptions",
9293
+ "kind": "interface",
9294
+ "locationInModule": {
9295
+ "filename": "src/constructs/ExportedService.ts",
9296
+ "line": 15
9297
+ },
9298
+ "name": "ExportedServiceLookupOptions",
9299
+ "properties": [
9300
+ {
9301
+ "abstract": true,
9302
+ "docs": {
9303
+ "stability": "experimental",
9304
+ "summary": "The port on which the service is listening."
9305
+ },
9306
+ "immutable": true,
9307
+ "locationInModule": {
9308
+ "filename": "src/constructs/ExportedService.ts",
9309
+ "line": 29
9310
+ },
9311
+ "name": "port",
9312
+ "type": {
9313
+ "primitive": "number"
9314
+ }
9315
+ },
9316
+ {
9317
+ "abstract": true,
9318
+ "docs": {
9319
+ "stability": "experimental",
9320
+ "summary": "The name of the exported ECS service."
9321
+ },
9322
+ "immutable": true,
9323
+ "locationInModule": {
9324
+ "filename": "src/constructs/ExportedService.ts",
9325
+ "line": 24
9326
+ },
9327
+ "name": "serviceName",
9328
+ "type": {
9329
+ "primitive": "string"
9330
+ }
9331
+ },
9332
+ {
9333
+ "abstract": true,
9334
+ "docs": {
9335
+ "stability": "experimental",
9336
+ "summary": "The name of the stack where the service was exported."
9337
+ },
9338
+ "immutable": true,
9339
+ "locationInModule": {
9340
+ "filename": "src/constructs/ExportedService.ts",
9341
+ "line": 19
9342
+ },
9343
+ "name": "stackName",
9344
+ "type": {
9345
+ "primitive": "string"
9346
+ }
9347
+ }
9348
+ ],
9349
+ "symbolId": "src/constructs/ExportedService:ExportedServiceLookupOptions"
9350
+ },
9351
+ "@btc-embedded/cdk-extensions.ExportedServiceProps": {
9352
+ "assembly": "@btc-embedded/cdk-extensions",
9353
+ "datatype": true,
9354
+ "docs": {
9355
+ "stability": "experimental",
9356
+ "summary": "Properties for creating a new ExportedService."
9357
+ },
9358
+ "fqn": "@btc-embedded/cdk-extensions.ExportedServiceProps",
9359
+ "kind": "interface",
9360
+ "locationInModule": {
9361
+ "filename": "src/constructs/ExportedService.ts",
9362
+ "line": 55
9363
+ },
9364
+ "name": "ExportedServiceProps",
9365
+ "properties": [
9366
+ {
9367
+ "abstract": true,
9368
+ "docs": {
9369
+ "stability": "experimental",
9370
+ "summary": "The namespace name where the service is registered (CloudMap namespace)."
9371
+ },
9372
+ "immutable": true,
9373
+ "locationInModule": {
9374
+ "filename": "src/constructs/ExportedService.ts",
9375
+ "line": 69
9376
+ },
9377
+ "name": "namespaceName",
9378
+ "type": {
9379
+ "primitive": "string"
9380
+ }
9381
+ },
9382
+ {
9383
+ "abstract": true,
9384
+ "docs": {
9385
+ "stability": "experimental",
9386
+ "summary": "The security group of the ECS service."
9387
+ },
9388
+ "immutable": true,
9389
+ "locationInModule": {
9390
+ "filename": "src/constructs/ExportedService.ts",
9391
+ "line": 64
9392
+ },
9393
+ "name": "securityGroup",
9394
+ "type": {
9395
+ "fqn": "aws-cdk-lib.aws_ec2.ISecurityGroup"
9396
+ }
9397
+ },
9398
+ {
9399
+ "abstract": true,
9400
+ "docs": {
9401
+ "stability": "experimental",
9402
+ "summary": "The name of the ECS service being exported."
9403
+ },
9404
+ "immutable": true,
9405
+ "locationInModule": {
9406
+ "filename": "src/constructs/ExportedService.ts",
9407
+ "line": 59
9408
+ },
9409
+ "name": "serviceName",
9410
+ "type": {
9411
+ "primitive": "string"
9412
+ }
9413
+ }
9414
+ ],
9415
+ "symbolId": "src/constructs/ExportedService:ExportedServiceProps"
9416
+ },
9015
9417
  "@btc-embedded/cdk-extensions.ExtraContainerExtension": {
9016
9418
  "assembly": "@btc-embedded/cdk-extensions",
9017
9419
  "base": "@aws-cdk-containers/ecs-service-extensions.ServiceExtension",
@@ -9533,7 +9935,7 @@
9533
9935
  "kind": "interface",
9534
9936
  "locationInModule": {
9535
9937
  "filename": "src/platform/ApplicationLoadBalancerV2.ts",
9536
- "line": 62
9938
+ "line": 65
9537
9939
  },
9538
9940
  "methods": [
9539
9941
  {
@@ -9543,7 +9945,7 @@
9543
9945
  },
9544
9946
  "locationInModule": {
9545
9947
  "filename": "src/platform/ApplicationLoadBalancerV2.ts",
9546
- "line": 66
9948
+ "line": 69
9547
9949
  },
9548
9950
  "name": "addTarget",
9549
9951
  "parameters": [
@@ -9566,7 +9968,7 @@
9566
9968
  "immutable": true,
9567
9969
  "locationInModule": {
9568
9970
  "filename": "src/platform/ApplicationLoadBalancerV2.ts",
9569
- "line": 64
9971
+ "line": 67
9570
9972
  },
9571
9973
  "name": "domainName",
9572
9974
  "type": {
@@ -9581,7 +9983,7 @@
9581
9983
  "immutable": true,
9582
9984
  "locationInModule": {
9583
9985
  "filename": "src/platform/ApplicationLoadBalancerV2.ts",
9584
- "line": 63
9986
+ "line": 66
9585
9987
  },
9586
9988
  "name": "targetGroup",
9587
9989
  "type": {
@@ -9921,6 +10323,88 @@
9921
10323
  "name": "IEfsFileSystem",
9922
10324
  "symbolId": "src/platform/EfsFileSystem:IEfsFileSystem"
9923
10325
  },
10326
+ "@btc-embedded/cdk-extensions.IExportedService": {
10327
+ "assembly": "@btc-embedded/cdk-extensions",
10328
+ "docs": {
10329
+ "stability": "experimental",
10330
+ "summary": "Public interface for an ExportedService."
10331
+ },
10332
+ "fqn": "@btc-embedded/cdk-extensions.IExportedService",
10333
+ "interfaces": [
10334
+ "aws-cdk-lib.aws_ec2.IConnectable"
10335
+ ],
10336
+ "kind": "interface",
10337
+ "locationInModule": {
10338
+ "filename": "src/constructs/ExportedService.ts",
10339
+ "line": 35
10340
+ },
10341
+ "methods": [
10342
+ {
10343
+ "abstract": true,
10344
+ "docs": {
10345
+ "stability": "experimental",
10346
+ "summary": "Allow an ECS service to connect to this exported service."
10347
+ },
10348
+ "locationInModule": {
10349
+ "filename": "src/constructs/ExportedService.ts",
10350
+ "line": 49
10351
+ },
10352
+ "name": "allowFrom",
10353
+ "parameters": [
10354
+ {
10355
+ "name": "service",
10356
+ "type": {
10357
+ "fqn": "@aws-cdk-containers/ecs-service-extensions.Service"
10358
+ }
10359
+ },
10360
+ {
10361
+ "name": "description",
10362
+ "optional": true,
10363
+ "type": {
10364
+ "primitive": "string"
10365
+ }
10366
+ }
10367
+ ]
10368
+ },
10369
+ {
10370
+ "abstract": true,
10371
+ "docs": {
10372
+ "stability": "experimental",
10373
+ "summary": "Get the internal API URL of the service."
10374
+ },
10375
+ "locationInModule": {
10376
+ "filename": "src/constructs/ExportedService.ts",
10377
+ "line": 44
10378
+ },
10379
+ "name": "apiUrl",
10380
+ "returns": {
10381
+ "type": {
10382
+ "primitive": "string"
10383
+ }
10384
+ }
10385
+ }
10386
+ ],
10387
+ "name": "IExportedService",
10388
+ "properties": [
10389
+ {
10390
+ "abstract": true,
10391
+ "docs": {
10392
+ "stability": "experimental",
10393
+ "summary": "The security group of the exported ECS service."
10394
+ },
10395
+ "immutable": true,
10396
+ "locationInModule": {
10397
+ "filename": "src/constructs/ExportedService.ts",
10398
+ "line": 39
10399
+ },
10400
+ "name": "securityGroup",
10401
+ "type": {
10402
+ "fqn": "aws-cdk-lib.aws_ec2.ISecurityGroup"
10403
+ }
10404
+ }
10405
+ ],
10406
+ "symbolId": "src/constructs/ExportedService:IExportedService"
10407
+ },
9924
10408
  "@btc-embedded/cdk-extensions.IPrivateDnsNamespace": {
9925
10409
  "assembly": "@btc-embedded/cdk-extensions",
9926
10410
  "docs": {
@@ -12976,6 +13460,6 @@
12976
13460
  "symbolId": "src/platform/VpcV2:VpcV2Props"
12977
13461
  }
12978
13462
  },
12979
- "version": "0.20.1",
12980
- "fingerprint": "5SR/cRAtkktltShy4QYYtlp7h+qJJtuma53MOp6Viu4="
13463
+ "version": "0.20.2",
13464
+ "fingerprint": "uFvrwOGFoOtOSFC/aA0zlCVvW7LSSDqgbzX3YQMgAa0="
12981
13465
  }