@btc-embedded/cdk-extensions 0.22.21 → 0.22.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/.jsii +880 -182
  2. package/AGENTS.md +252 -0
  3. package/API.md +777 -52
  4. package/CHANGELOG.md +4 -0
  5. package/assets/cli/catnip.js +1 -1
  6. package/lib/constructs/EventPipe.js +1 -1
  7. package/lib/constructs/ExportedService.js +1 -1
  8. package/lib/constructs/S3Bucket.js +1 -1
  9. package/lib/constructs/SecureRestApi.js +1 -1
  10. package/lib/constructs/SecureRestApiV2.js +1 -1
  11. package/lib/constructs/api-keys/ApiKeyClientAuthorization.js +1 -1
  12. package/lib/constructs/api-keys/ApiKeyManagement.js +1 -1
  13. package/lib/constructs/api-keys/ApiKeyPreTokenHandler.js +1 -1
  14. package/lib/constructs/api-keys/ApiKeyStore.js +1 -1
  15. package/lib/extensions/ApiGatewayExtension.d.ts +17 -0
  16. package/lib/extensions/ApiGatewayExtension.js +31 -32
  17. package/lib/extensions/ApplicationContainer.js +1 -1
  18. package/lib/extensions/ApplicationLoadBalancerExtension.d.ts +16 -0
  19. package/lib/extensions/ApplicationLoadBalancerExtension.js +28 -28
  20. package/lib/extensions/ApplicationLoadBalancerExtensionV2.d.ts +27 -7
  21. package/lib/extensions/ApplicationLoadBalancerExtensionV2.js +16 -7
  22. package/lib/extensions/CloudMapExtension.d.ts +15 -0
  23. package/lib/extensions/CloudMapExtension.js +7 -3
  24. package/lib/extensions/DeactivatableServiceExtension.js +1 -1
  25. package/lib/extensions/DeploymentConfigExtension.js +1 -1
  26. package/lib/extensions/DocumentDbAccessExtension.d.ts +14 -2
  27. package/lib/extensions/DocumentDbAccessExtension.js +9 -3
  28. package/lib/extensions/DomainEventMessagingExtension.js +1 -1
  29. package/lib/extensions/EfsMountExtension.js +1 -1
  30. package/lib/extensions/ExtraContainerExtension.js +1 -1
  31. package/lib/extensions/HTTPApiExtension.d.ts +30 -1
  32. package/lib/extensions/HTTPApiExtension.js +14 -7
  33. package/lib/extensions/LogExtension.js +1 -1
  34. package/lib/extensions/ModifyContainerDefinitionExtension.js +1 -1
  35. package/lib/extensions/ModifyTaskDefinitionExtension.js +1 -1
  36. package/lib/extensions/OpenIdExtension.d.ts +14 -0
  37. package/lib/extensions/OpenIdExtension.js +9 -3
  38. package/lib/extensions/OpenTelemetryExtension.js +1 -1
  39. package/lib/extensions/PostgresDbAccessExtension.d.ts +30 -7
  40. package/lib/extensions/PostgresDbAccessExtension.js +24 -29
  41. package/lib/extensions/SharedVolumeExtension.js +1 -1
  42. package/lib/extensions/TcpKeepAliveExtension.js +1 -1
  43. package/lib/platform/ApiGateway.d.ts +29 -1
  44. package/lib/platform/ApiGateway.js +31 -2
  45. package/lib/platform/ApiGatewayVpcLink.js +2 -2
  46. package/lib/platform/ApplicationLoadBalancer.js +1 -1
  47. package/lib/platform/ApplicationLoadBalancerV2.js +2 -2
  48. package/lib/platform/AuroraPostgresDB.d.ts +63 -3
  49. package/lib/platform/AuroraPostgresDB.js +45 -7
  50. package/lib/platform/BTCLogGroup.js +1 -1
  51. package/lib/platform/CognitoUserPool.js +2 -2
  52. package/lib/platform/DefaultUserPoolClients.js +1 -1
  53. package/lib/platform/DocumentDB.d.ts +10 -2
  54. package/lib/platform/DocumentDB.js +12 -7
  55. package/lib/platform/EcsCluster.js +1 -1
  56. package/lib/platform/EfsFileSystem.js +1 -1
  57. package/lib/platform/HostedZone.js +1 -1
  58. package/lib/platform/PrivateDnsNamespace.js +1 -1
  59. package/lib/platform/ResourceServer.js +1 -1
  60. package/lib/platform/Vpc.js +1 -1
  61. package/lib/platform/VpcV2.js +1 -1
  62. package/lib/stacks/ApplicationStack.js +1 -1
  63. package/lib/utils/BasePlatformStackResolver.js +1 -1
  64. package/lib/utils/StackParameter.js +1 -1
  65. package/package.json +1 -1
@@ -88,5 +88,5 @@ class ExtraContainerExtension extends ecs_service_extensions_1.ServiceExtension
88
88
  }
89
89
  exports.ExtraContainerExtension = ExtraContainerExtension;
90
90
  _a = JSII_RTTI_SYMBOL_1;
91
- ExtraContainerExtension[_a] = { fqn: "@btc-embedded/cdk-extensions.ExtraContainerExtension", version: "0.22.21" };
91
+ ExtraContainerExtension[_a] = { fqn: "@btc-embedded/cdk-extensions.ExtraContainerExtension", version: "0.22.23" };
92
92
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXh0cmFDb250YWluZXJFeHRlbnNpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXh0ZW5zaW9ucy9FeHRyYUNvbnRhaW5lckV4dGVuc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHVGQUE4RTtBQUM5RSxpREFBMkM7QUFDM0MsMkNBQTJDO0FBRTNDLHNEQUEwRDtBQTZCMUQsTUFBYSx1QkFBd0IsU0FBUSx5Q0FBZ0I7SUFJM0QsWUFBWSxJQUFZLEVBQUUsY0FBNEM7UUFDcEUsS0FBSyxDQUFDLEdBQUcsSUFBSSw0QkFBNEIsQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzFCLElBQUksQ0FBQyxLQUFLLEdBQUcsY0FBYyxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQztJQUN0QyxDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQTRDO1FBQ3JELElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUN6RCxPQUFPLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FDM0IsT0FBTyxFQUNQLGNBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUNwQyxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsY0FBa0M7UUFDbEQsSUFBSSxjQUFjLEdBQW1DLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDO1FBRTFFLGlEQUFpRDtRQUNqRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUN2QyxNQUFNLG1CQUFtQixHQUFHLElBQUEsZ0NBQWtCLEVBQzVDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLG1C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NkI7UUFDekMsQ0FBQztRQUVELE9BQU8sWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUN2QyxDQUFDOztBQWxISCwwREFtSEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZXJ2aWNlRXh0ZW5zaW9uIH0gZnJvbSBcIkBhd3MtY2RrLWNvbnRhaW5lcnMvZWNzLXNlcnZpY2UtZXh0ZW5zaW9uc1wiO1xuaW1wb3J0IHsgUG9ydCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWMyXCI7XG5pbXBvcnQgKiBhcyBlY3MgZnJvbSBcImF3cy1jZGstbGliL2F3cy1lY3NcIjtcbmltcG9ydCB7IEVuaGFuY2VkQ29udGFpbmVyUHJvcHMgfSBmcm9tIFwiLi9jb250YWluZXItY29tbW9uXCI7XG5pbXBvcnQgeyByZXNvbHZlSGVhbHRoQ2hlY2sgfSBmcm9tIFwiLi4vdXRpbHMvaGVhbHRoY2hlY2tcIjtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBVc2UgRW5oYW5jZWRDb250YWluZXJQcm9wcyBpbnN0ZWFkXG4gKi9cbmV4cG9ydCB0eXBlIENvbnRhaW5lclByb3BzID0gRW5oYW5jZWRDb250YWluZXJQcm9wcztcblxuZXhwb3J0IGludGVyZmFjZSBFeHRyYUNvbnRhaW5lckV4dGVuc2lvblByb3BzIHtcbiAgLyoqXG4gICAqIENvbnRhaW5lciBjb25maWd1cmF0aW9uIHVzaW5nIHRoZSBlbmhhbmNlZCBjb250YWluZXIgcHJvcGVydGllcy5cbiAgICovXG4gIHJlYWRvbmx5IGNvbnRhaW5lcjogRW5oYW5jZWRDb250YWluZXJQcm9wcztcblxuICAvKipcbiAgICogU3BlY2lmeSB0aGUgY29uZGl0aW9uIHdoZW4gdGhpcyBjb250YWluZXIgc2hvdWxkIGJlIGNvbnNpZGVyZWRcbiAgICogaGVhbHRoeSBzdWNoIHRoYXQgdGhlIG1haW4gY29udGFpbmVyIGNhbiBzdGFydC5cbiAgICpcbiAgICogQGRlZmF1bHQgQ29udGFpbmVyRGVwZW5kZW5jeUNvbmRpdGlvbi5IRUFMVEhZXG4gICAqL1xuICByZWFkb25seSBoZWFsdGhDaGVja0NvbmRpdGlvbj86IGVjcy5Db250YWluZXJEZXBlbmRlbmN5Q29uZGl0aW9uO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoaXMgY29udGFpbmVyIG5lZWRzIGRhdGFiYXNlIGFjY2Vzcy5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGRiQWNjZXNzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIEV4dHJhQ29udGFpbmVyRXh0ZW5zaW9uIGV4dGVuZHMgU2VydmljZUV4dGVuc2lvbiB7XG4gIHJlYWRvbmx5IGNvbnRhaW5lck5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgcHJvcHM6IEV4dHJhQ29udGFpbmVyRXh0ZW5zaW9uUHJvcHM7XG5cbiAgY29uc3RydWN0b3IobmFtZTogc3RyaW5nLCBleHRyYUNvbnRhaW5lcjogRXh0cmFDb250YWluZXJFeHRlbnNpb25Qcm9wcykge1xuICAgIHN1cGVyKGAke25hbWV9LWV4dHJhLWNvbnRhaW5lci1leHRlbnNpb25gKTtcbiAgICB0aGlzLmNvbnRhaW5lck5hbWUgPSBuYW1lO1xuICAgIHRoaXMucHJvcHMgPSBleHRyYUNvbnRhaW5lcjtcbiAgfVxuXG4gIGdldCBkYkFjY2VzcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5kYkFjY2VzcyA/PyBmYWxzZTtcbiAgfVxuXG4gIHVzZVNlcnZpY2Uoc2VydmljZTogZWNzLkVjMlNlcnZpY2UgfCBlY3MuRmFyZ2F0ZVNlcnZpY2UpOiB2b2lkIHtcbiAgICB0aGlzLnByb3BzLmNvbnRhaW5lci5wb3J0TWFwcGluZ3M/LmZvckVhY2goKHBvcnRNYXBwaW5nKSA9PiB7XG4gICAgICBzZXJ2aWNlLmNvbm5lY3Rpb25zLmFsbG93RnJvbShcbiAgICAgICAgc2VydmljZSxcbiAgICAgICAgUG9ydC50Y3AocG9ydE1hcHBpbmcuY29udGFpbmVyUG9ydCksXG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgdXNlVGFza0RlZmluaXRpb24odGFza0RlZmluaXRpb246IGVjcy5UYXNrRGVmaW5pdGlvbik6IHZvaWQge1xuICAgIGxldCBjb250YWluZXJQcm9wczogZWNzLkNvbnRhaW5lckRlZmluaXRpb25PcHRpb25zID0gdGhpcy5wcm9wcy5jb250YWluZXI7XG5cbiAgICAvLyBSZXNvbHZlIGhlYWx0aCBjaGVjayAoZW5kcG9pbnQgb3IgZnVsbCBjb25maWcpXG4gICAgY29uc3QgcG9ydCA9IHRoaXMuZ2V0SGVhbHRoQ2hlY2tQb3J0KCk7XG4gICAgY29uc3QgcmVzb2x2ZWRIZWFsdGhDaGVjayA9IHJlc29sdmVIZWFsdGhDaGVjayhcbiAgICAgIHRoaXMucHJvcHMuY29udGFpbmVyLmhlYWx0aENoZWNrRW5kcG9pbnQsXG4gICAgICB0aGlzLnByb3BzLmNvbnRhaW5lci5oZWFsdGhDaGVjayxcbiAgICAgIHBvcnQsXG4gICAgKTtcblxuICAgIC8vIEFwcGx5IHJlc29sdmVkIGhlYWx0aCBjaGVja1xuICAgIGlmIChyZXNvbHZlZEhlYWx0aENoZWNrKSB7XG4gICAgICBjb250YWluZXJQcm9wcyA9IHtcbiAgICAgICAgLi4uY29udGFpbmVyUHJvcHMsXG4gICAgICAgIGhlYWx0aENoZWNrOiByZXNvbHZlZEhlYWx0aENoZWNrLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICB0aGlzLmNvbnRhaW5lck11dGF0aW5nSG9va3MuZm9yRWFjaCgoaG9vaykgPT4ge1xuICAgICAgY29udGFpbmVyUHJvcHMgPSBob29rLm11dGF0ZUNvbnRhaW5lckRlZmluaXRpb24oY29udGFpbmVyUHJvcHMpO1xuICAgIH0pO1xuXG4gICAgaWYgKCFjb250YWluZXJQcm9wcy5sb2dnaW5nKSB7XG4gICAgICBjb250YWluZXJQcm9wcyA9IHtcbiAgICAgICAgLi4uY29udGFpbmVyUHJvcHMsXG4gICAgICAgIGxvZ2dpbmc6IG5ldyBlY3MuQXdzTG9nRHJpdmVyKHtcbiAgICAgICAgICBzdHJlYW1QcmVmaXg6IHRoaXMucGFyZW50U2VydmljZS5pZCxcbiAgICAgICAgICBsb2dHcm91cDogdGhpcy5wcm9wcy5jb250YWluZXIubG9nR3JvdXAsXG4gICAgICAgIH0pLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICB0aGlzLmNvbnRhaW5lciA9IHRhc2tEZWZpbml0aW9uLmFkZENvbnRhaW5lcihcbiAgICAgIHRoaXMuY29udGFpbmVyTmFtZSxcbiAgICAgIGNvbnRhaW5lclByb3BzLFxuICAgICk7XG5cbiAgICB0aGlzLmNvbnRhaW5lci5hZGRDb250YWluZXJEZXBlbmRlbmNpZXMoXG4gICAgICAuLi4odGhpcy5wcm9wcy5jb250YWluZXIuY29udGFpbmVyRGVwZW5kZW5jaWVzID8/IFtdKS5tYXAoKGRlcCkgPT4gKHtcbiAgICAgICAgY29udGFpbmVyOiBkZXAuZXh0LmNvbnRhaW5lciEsXG4gICAgICAgIGNvbmRpdGlvbjogZGVwLmNvbmRpdGlvbixcbiAgICAgIH0pKSxcbiAgICApO1xuXG4gICAgY29uc3QgY29udGFpbmVyID0gdGFza0RlZmluaXRpb24uZmluZENvbnRhaW5lcihcImFwcFwiKTtcblxuICAgIGlmICghY29udGFpbmVyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJZb3UgbXVzdCBzcGVjaWZ5IGEgbWFpbiBjb250YWluZXJcIik7XG4gICAgfVxuXG4gICAgLy8gd2Ugd2FudCB0byBtYWtlIHN1cmUgdGhhdCB0aGUgZXh0cmEgY29udGFpbmVyIGlzIGhlYWx0aHkgYmVmb3JlIHN0YXJ0aW5nIHRoZSBtYWluIGNvbnRhaW5lclxuICAgIGNvbnRhaW5lci5hZGRDb250YWluZXJEZXBlbmRlbmNpZXMoe1xuICAgICAgY29udGFpbmVyOiB0aGlzLmNvbnRhaW5lcixcbiAgICAgIGNvbmRpdGlvbjogdGhpcy5oZWFsdGhDb25kaXRpb24sXG4gICAgfSk7XG4gIH1cblxuICBnZXQgaGVhbHRoQ29uZGl0aW9uKCkge1xuICAgIGlmICh0aGlzLnByb3BzLmhlYWx0aENoZWNrQ29uZGl0aW9uKSB7XG4gICAgICByZXR1cm4gdGhpcy5wcm9wcy5oZWFsdGhDaGVja0NvbmRpdGlvbjtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICAhdGhpcy5wcm9wcy5jb250YWluZXIuaGVhbHRoQ2hlY2sgJiZcbiAgICAgICF0aGlzLnByb3BzLmNvbnRhaW5lci5oZWFsdGhDaGVja0VuZHBvaW50XG4gICAgKSB7XG4gICAgICByZXR1cm4gZWNzLkNvbnRhaW5lckRlcGVuZGVuY3lDb25kaXRpb24uU1RBUlQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIGVjcy5Db250YWluZXJEZXBlbmRlbmN5Q29uZGl0aW9uLkhFQUxUSFk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBwb3J0IHRvIHVzZSBmb3IgaGVhbHRoIGNoZWNrIGdlbmVyYXRpb24uXG4gICAqIFVzZXMgdGhlIGZpcnN0IHBvcnQgbWFwcGluZyBieSBkZWZhdWx0LlxuICAgKi9cbiAgcHJpdmF0ZSBnZXRIZWFsdGhDaGVja1BvcnQoKTogbnVtYmVyIHtcbiAgICBjb25zdCBwb3J0TWFwcGluZ3MgPSB0aGlzLnByb3BzLmNvbnRhaW5lci5wb3J0TWFwcGluZ3M7XG5cbiAgICBpZiAoIXBvcnRNYXBwaW5ncyB8fCBwb3J0TWFwcGluZ3MubGVuZ3RoID09PSAwKSB7XG4gICAgICAvLyBJZiBubyBwb3J0IG1hcHBpbmdzIGFuZCBoZWFsdGhDaGVja0VuZHBvaW50IGlzIHVzZWQsIHdlIG5lZWQgYSBwb3J0XG4gICAgICBpZiAodGhpcy5wcm9wcy5jb250YWluZXIuaGVhbHRoQ2hlY2tFbmRwb2ludCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYGhlYWx0aENoZWNrRW5kcG9pbnQgcmVxdWlyZXMgYXQgbGVhc3Qgb25lIHBvcnQgbWFwcGluZyB0byBkZXRlcm1pbmUgdGhlIGNvbnRhaW5lciBwb3J0IGZvciBoZWFsdGggY2hlY2sgaW4gY29udGFpbmVyICcke3RoaXMuY29udGFpbmVyTmFtZX0nYCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiAwOyAvLyBEdW1teSB2YWx1ZSwgd29uJ3QgYmUgdXNlZFxuICAgIH1cblxuICAgIHJldHVybiBwb3J0TWFwcGluZ3NbMF0uY29udGFpbmVyUG9ydDtcbiAgfVxufVxuIl19
@@ -2,6 +2,7 @@ import { ServiceExtension } from "@aws-cdk-containers/ecs-service-extensions";
2
2
  import { HttpApiAttributes } from "aws-cdk-lib/aws-apigatewayv2";
3
3
  import { Ec2Service, FargateService } from "aws-cdk-lib/aws-ecs";
4
4
  import { IHostedZone } from "aws-cdk-lib/aws-route53";
5
+ import { IApiGatewayVpcLink, ICognitoUserPool } from "../platform";
5
6
  export interface HTTPApiExtensionProps {
6
7
  /**
7
8
  * The prefix for the API Gateway endpoint.
@@ -9,6 +10,10 @@ export interface HTTPApiExtensionProps {
9
10
  readonly endpointPrefix?: string;
10
11
  /**
11
12
  * The name of the base platform stack.
13
+ *
14
+ * Used when {@link cognitoUserPool}, {@link apiGatewayVpcLink}, or
15
+ * {@link hostedZone} are not provided. Falls back to
16
+ * `BasePlatformStackResolver` (CDK context) when also omitted.
12
17
  */
13
18
  readonly basePlatformStackName?: string;
14
19
  /**
@@ -18,7 +23,9 @@ export interface HTTPApiExtensionProps {
18
23
  /**
19
24
  * Hosted Zone to create the gateway domain A record.
20
25
  *
21
- * @deprecated Provide only platformStackName. The hosted zone will be imported automatically.
26
+ * When omitted, the hosted zone is imported from the base platform stack
27
+ * via {@link HostedZone.fromBasePlatform}.
28
+ *
22
29
  * @default - Imported from base platform using HostedZone.fromBasePlatform()
23
30
  */
24
31
  readonly hostedZone?: IHostedZone;
@@ -32,6 +39,28 @@ export interface HTTPApiExtensionProps {
32
39
  * Specify additional HTTP API Attributes.
33
40
  */
34
41
  readonly extraHttpApiAttributes?: HttpApiAttributes;
42
+ /**
43
+ * Cognito User Pool to use directly for HTTP API authorization.
44
+ *
45
+ * When provided, the extension uses this construct as-is and no cross-stack
46
+ * import via {@link CognitoUserPool.fromBasePlatform} is performed. Use this
47
+ * when the user pool resides in the same CDK stack as the ECS service.
48
+ *
49
+ * When omitted, the extension imports the user pool from the base platform
50
+ * stack identified by {@link basePlatformStackName}.
51
+ */
52
+ readonly cognitoUserPool?: ICognitoUserPool;
53
+ /**
54
+ * API Gateway VPC Link to use directly.
55
+ *
56
+ * When provided, the extension uses this construct as-is and no cross-stack
57
+ * import via {@link ApiGatewayVpcLink.fromBasePlatform} is performed. Use
58
+ * this when the VPC Link resides in the same CDK stack as the ECS service.
59
+ *
60
+ * When omitted, the extension imports the VPC Link from the base platform
61
+ * stack identified by {@link basePlatformStackName}.
62
+ */
63
+ readonly apiGatewayVpcLink?: IApiGatewayVpcLink;
35
64
  }
36
65
  /**
37
66
  * Configures the service to be reachable via an Http Api.
@@ -42,7 +42,11 @@ class HTTPApiExtension extends ecs_service_extensions_1.ServiceExtension {
42
42
  target: aws_route53_1.RecordTarget.fromAlias(new aws_route53_targets_1.ApiGatewayv2DomainProperties(domain.regionalDomainName, domain.regionalHostedZoneId)),
43
43
  });
44
44
  const serviceName = `${aws_cdk_lib_1.Stack.of(this.scope).stackName}/${this.parentService.id}`;
45
- const cognito = platform_1.CognitoUserPool.fromBasePlatform(this.scope, this.parentService.id + "CognitoUserPool", this.props.basePlatformStackName);
45
+ // Use the directly injected user pool when available (same-stack usage).
46
+ // Otherwise fall back to cross-stack import, which in turn falls back to
47
+ // BasePlatformStackResolver (CDK context) when basePlatformStackName is absent.
48
+ const cognito = this.props.cognitoUserPool ??
49
+ platform_1.CognitoUserPool.fromBasePlatform(this.scope, this.parentService.id + "CognitoUserPool", this.props.basePlatformStackName);
46
50
  const httpApi = new aws_apigatewayv2_1.HttpApi(this.scope, "HttpApi", {
47
51
  apiName: serviceName + " API",
48
52
  defaultAuthorizer: cognito.createHttpUserPoolAuthorizer(),
@@ -51,10 +55,13 @@ class HTTPApiExtension extends ecs_service_extensions_1.ServiceExtension {
51
55
  },
52
56
  ...this.props.extraHttpApiAttributes,
53
57
  });
54
- const apiGateway = platform_1.ApiGatewayVpcLink.fromBasePlatform(this.scope, this.parentService.id + "ApiGatewayV2", {
55
- basePlatformStackName: this.props.basePlatformStackName,
56
- vpc: service.cluster.vpc,
57
- });
58
+ // Use the directly injected VPC Link when available (same-stack usage).
59
+ // Otherwise fall back to cross-stack import via fromBasePlatform.
60
+ const apiGateway = this.props.apiGatewayVpcLink ??
61
+ platform_1.ApiGatewayVpcLink.fromBasePlatform(this.scope, this.parentService.id + "ApiGatewayV2", {
62
+ basePlatformStackName: this.props.basePlatformStackName,
63
+ vpc: service.cluster.vpc,
64
+ });
58
65
  const integration = new aws_apigatewayv2_integrations_1.HttpServiceDiscoveryIntegration(`${this.parentService.id}ServiceDiscoveryIntegration`, service.cloudMapService, {
59
66
  method: aws_apigatewayv2_1.HttpMethod.ANY,
60
67
  vpcLink: apiGateway.vpcLink,
@@ -105,5 +112,5 @@ class HTTPApiExtension extends ecs_service_extensions_1.ServiceExtension {
105
112
  }
106
113
  exports.HTTPApiExtension = HTTPApiExtension;
107
114
  _a = JSII_RTTI_SYMBOL_1;
108
- HTTPApiExtension[_a] = { fqn: "@btc-embedded/cdk-extensions.HTTPApiExtension", version: "0.22.21" };
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSFRUUEFwaUV4dGVuc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHRlbnNpb25zL0hUVFBBcGlFeHRlbnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx1RkFHb0Q7QUFDcEQsNkNBQW9DO0FBQ3BDLG1FQVFzQztBQUN0Qyw2RkFBNEY7QUFDNUYsK0VBRzRDO0FBRTVDLGlEQUF1RDtBQUN2RCxtREFBZ0Q7QUFDaEQseURBQTZFO0FBQzdFLHlFQUErRTtBQUMvRSwwQ0FBNkU7QUF1QzdFOztHQUVHO0FBQ0gsTUFBYSxnQkFBaUIsU0FBUSx5Q0FBZ0I7SUFHcEQ7OztPQUdHO0lBQ0gsWUFBWSxLQUE0QjtRQUN0QyxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQW9DO1FBQzdDLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDN0IsTUFBTSxJQUFJLEtBQUssQ0FDYiw0REFBNEQsQ0FDN0QsQ0FBQztRQUNKLENBQUM7UUFFRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FDekQsbUJBQW1CLENBQ1AsQ0FBQztRQUNmLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDekMsTUFBTSxJQUFJLEtBQUssQ0FDYixpRUFBaUUsQ0FDbEUsQ0FBQztRQUNKLENBQUM7UUFFRCxNQUFNLFVBQVUsR0FDZCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVU7WUFDckIscUJBQVUsQ0FBQyxnQkFBZ0IsQ0FDekIsSUFBSSxDQUFDLEtBQUssRUFDVixJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsR0FBRyxZQUFZLEVBQ3BDLEVBQUUscUJBQXFCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxx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SUgsNENBZ0pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29udGFpbmVyLFxuICBTZXJ2aWNlRXh0ZW5zaW9uLFxufSBmcm9tIFwiQGF3cy1jZGstY29udGFpbmVycy9lY3Mtc2VydmljZS1leHRlbnNpb25zXCI7XG5pbXBvcnQgeyBTdGFjayB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHtcbiAgQ2ZuU3RhZ2UsXG4gIERvbWFpbk5hbWUsXG4gIEh0dHBBcGksXG4gIEh0dHBBcGlBdHRyaWJ1dGVzLFxuICBIdHRwTWV0aG9kLFxuICBNYXBwaW5nVmFsdWUsXG4gIFBhcmFtZXRlck1hcHBpbmcsXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtYXBpZ2F0ZXdheXYyXCI7XG5pbXBvcnQgeyBIdHRwU2VydmljZURpc2NvdmVyeUludGVncmF0aW9uIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1hcGlnYXRld2F5djItaW50ZWdyYXRpb25zXCI7XG5pbXBvcnQge1xuICBDZXJ0aWZpY2F0ZSxcbiAgQ2VydGlmaWNhdGVWYWxpZGF0aW9uLFxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNlcnRpZmljYXRlbWFuYWdlclwiO1xuaW1wb3J0IHsgRWMyU2VydmljZSwgRmFyZ2F0ZVNlcnZpY2UgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjc1wiO1xuaW1wb3J0IHsgU2VydmljZVByaW5jaXBhbCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtaWFtXCI7XG5pbXBvcnQgeyBMb2dHcm91cCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbG9nc1wiO1xuaW1wb3J0IHsgQVJlY29yZCwgSUhvc3RlZFpvbmUsIFJlY29yZFRhcmdldCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtcm91dGU1M1wiO1xuaW1wb3J0IHsgQXBpR2F0ZXdheXYyRG9tYWluUHJvcGVydGllcyB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtcm91dGU1My10YXJnZXRzXCI7XG5pbXBvcnQgeyBBcGlHYXRld2F5VnBjTGluaywgQ29nbml0b1VzZXJQb29sLCBIb3N0ZWRab25lIH0gZnJvbSBcIi4uL3BsYXRmb3JtXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSFRUUEFwaUV4dGVuc2lvblByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBwcmVmaXggZm9yIHRoZSBBUEkgR2F0ZXdheSBlbmRwb2ludC5cbiAgICovXG4gIHJlYWRvbmx5IGVuZHBvaW50UHJlZml4Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgYmFzZSBwbGF0Zm9ybSBzdGFjay5cbiAgICovXG4gIHJlYWRvbmx5IGJhc2VQbGF0Zm9ybVN0YWNrTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogRG9tYWluIHByZWZpeCBmb3IgdGhlIEFQSSBHYXRld2F5IGVuZHBvaW50LlxuICAgKi9cbiAgcmVhZG9ubHkgZG9tYWluUHJlZml4Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBIb3N0ZWQgWm9uZSB0byBjcmVhdGUgdGhlIGdhdGV3YXkgZG9tYWluIEEgcmVjb3JkLlxuICAgKlxuICAgKiBAZGVwcmVjYXRlZCBQcm92aWRlIG9ubHkgcGxhdGZvcm1TdGFja05hbWUuIFRoZSBob3N0ZWQgem9uZSB3aWxsIGJlIGltcG9ydGVkIGF1dG9tYXRpY2FsbHkuXG4gICAqIEBkZWZhdWx0IC0gSW1wb3J0ZWQgZnJvbSBiYXNlIHBsYXRmb3JtIHVzaW5nIEhvc3RlZFpvbmUuZnJvbUJhc2VQbGF0Zm9ybSgpXG4gICAqL1xuICByZWFkb25seSBob3N0ZWRab25lPzogSUhvc3RlZFpvbmU7XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBhY2Nlc3MgbG9ncyBmb3IgdGhlIEFQSSBHYXRld2F5LlxuICAgKlxuICAgKiBkZWZhdWx0OiB0cnVlXG4gICAqL1xuICByZWFkb25seSBlbmFibGVBY2Nlc3NMb2dzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogU3BlY2lmeSBhZGRpdGlvbmFsIEhUVFAgQVBJIEF0dHJpYnV0ZXMuXG4gICAqL1xuICByZWFkb25seSBleHRyYUh0dHBBcGlBdHRyaWJ1dGVzPzogSHR0cEFwaUF0dHJpYnV0ZXM7XG59XG5cbi8qKlxuICogQ29uZmlndXJlcyB0aGUgc2VydmljZSB0byBiZSByZWFjaGFibGUgdmlhIGFuIEh0dHAgQXBpLlxuICovXG5leHBvcnQgY2xhc3MgSFRUUEFwaUV4dGVuc2lvbiBleHRlbmRzIFNlcnZpY2VFeHRlbnNpb24ge1xuICByZWFkb25seSBwcm9wczogSFRUUEFwaUV4dGVuc2lvblByb3BzO1xuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gcHJvcHNcbiAgICovXG4gIGNvbnN0cnVjdG9yKHByb3BzOiBIVFRQQXBpRXh0ZW5zaW9uUHJvcHMpIHtcbiAgICBzdXBlcihcImFwaS1nYXRld2F5LWV4dGVuc2lvblwiKTtcbiAgICB0aGlzLnByb3BzID0gcHJvcHM7XG4gIH1cblxuICB1c2VTZXJ2aWNlKHNlcnZpY2U6IEVjMlNlcnZpY2UgfCBGYXJnYXRlU2VydmljZSk6IHZvaWQge1xuICAgIGlmICghc2VydmljZS5jbG91ZE1hcFNlcnZpY2UpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJUaGlzIGV4dGVuc2lvbiByZXF1aXJlcyB0aGUgQ2xvdWRNYXAgZXh0ZW5zaW9uIHRvIGJlIGFkZGVkXCIsXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMucGFyZW50U2VydmljZS5zZXJ2aWNlRGVzY3JpcHRpb24uZ2V0KFxuICAgICAgXCJzZXJ2aWNlLWNvbnRhaW5lclwiLFxuICAgICkgYXMgQ29udGFpbmVyO1xuICAgIGlmICghY29udGFpbmVyIHx8ICFjb250YWluZXIudHJhZmZpY1BvcnQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJDYW5ub3QgYXBwbHkgQVBJIEdhdGV3YXkgRXh0ZW5zaW9uLCBubyBtYWluIGFwcCBjb250YWluZXIgZm91bmRcIixcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgaG9zdGVkWm9uZSA9XG4gICAgICB0aGlzLnByb3BzLmhvc3RlZFpvbmUgPz9cbiAgICAgIEhvc3RlZFpvbmUuZnJvbUJhc2VQbGF0Zm9ybShcbiAgICAgICAgdGhpcy5zY29wZSxcbiAgICAgICAgdGhpcy5wYXJlbnRTZXJ2aWNlLmlkICsgXCJIb3N0ZWRab25lXCIsXG4gICAgICAgIHsgYmFzZVBsYXRmb3JtU3RhY2tOYW1lOiB0aGlzLnByb3BzLmJhc2VQbGF0Zm9ybVN0YWNrTmFtZSB9LFxuICAgICAgKS56b25lO1xuXG4gICAgY29uc3QgZG9tYWluID0gdGhpcy5jcmVhdGVEb21haW4oaG9zdGVkWm9uZSwgdGhpcy5wcm9wcy5kb21haW5QcmVmaXgpO1xuXG4gICAgbmV3IEFSZWNvcmQodGhpcy5zY29wZSwgXCJBUElHV0FSZWNvcmRcIiwge1xuICAgICAgem9uZTogaG9zdGVkWm9uZSxcbiAgICAgIHJlY29yZE5hbWU6IHRoaXMucHJvcHMuZG9tYWluUHJlZml4LFxuICAgICAgdGFyZ2V0OiBSZWNvcmRUYXJnZXQuZnJvbUFsaWFzKFxuICAgICAgICBuZXcgQXBpR2F0ZXdheXYyRG9tYWluUHJvcGVydGllcyhcbiAgICAgICAgICBkb21haW4ucmVnaW9uYWxEb21haW5OYW1lLFxuICAgICAgICAgIGRvbWFpbi5yZWdpb25hbEhvc3RlZFpvbmVJZCxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgfSk7XG5cbiAgICBjb25zdCBzZXJ2aWNlTmFtZSA9IGAke1N0YWNrLm9mKHRoaXMuc2NvcGUpLnN0YWNrTmFtZX0vJHt0aGlzLnBhcmVudFNlcnZpY2UuaWR9YDtcblxuICAgIGNvbnN0IGNvZ25pdG8gPSBDb2duaXRvVXNlclBvb2wuZnJvbUJhc2VQbGF0Zm9ybShcbiAgICAgIHRoaXMuc2NvcGUsXG4gICAgICB0aGlzLnBhcmVudFNlcnZpY2UuaWQgKyBcIkNvZ25pdG9Vc2VyUG9vbFwiLFxuICAgICAgdGhpcy5wcm9wcy5iYXNlUGxhdGZvcm1TdGFja05hbWUsXG4gICAgKTtcblxuICAgIGNvbnN0IGh0dHBBcGkgPSBuZXcgSHR0cEFwaSh0aGlzLnNjb3BlLCBcIkh0dHBBcGlcIiwge1xuICAgICAgYXBpTmFtZTogc2VydmljZU5hbWUgKyBcIiBBUElcIixcbiAgICAgIGRlZmF1bHRBdXRob3JpemVyOiBjb2duaXRvLmNyZWF0ZUh0dHBVc2VyUG9vbEF1dGhvcml6ZXIoKSxcbiAgICAgIGRlZmF1bHREb21haW5NYXBwaW5nOiB7XG4gICAgICAgIGRvbWFpbk5hbWU6IGRvbWFpbixcbiAgICAgIH0sXG4gICAgICAuLi50aGlzLnByb3BzLmV4dHJhSHR0cEFwaUF0dHJpYnV0ZXMsXG4gICAgfSk7XG5cbiAgICBjb25zdCBhcGlHYXRld2F5ID0gQXBpR2F0ZXdheVZwY0xpbmsuZnJvbUJhc2VQbGF0Zm9ybShcbiAgICAgIHRoaXMuc2NvcGUsXG4gICAgICB0aGlzLnBhcmVudFNlcnZpY2UuaWQgKyBcIkFwaUdhdGV3YXlWMlwiLFxuICAgICAge1xuICAgICAgICBiYXNlUGxhdGZvcm1TdGFja05hbWU6IHRoaXMucHJvcHMuYmFzZVBsYXRmb3JtU3RhY2tOYW1lLFxuICAgICAgICB2cGM6IHNlcnZpY2UuY2x1c3Rlci52cGMsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICBjb25zdCBpbnRlZ3JhdGlvbiA9IG5ldyBIdHRwU2VydmljZURpc2NvdmVyeUludGVncmF0aW9uKFxuICAgICAgYCR7dGhpcy5wYXJlbnRTZXJ2aWNlLmlkfVNlcnZpY2VEaXNjb3ZlcnlJbnRlZ3JhdGlvbmAsXG4gICAgICBzZXJ2aWNlLmNsb3VkTWFwU2VydmljZSxcbiAgICAgIHtcbiAgICAgICAgbWV0aG9kOiBIdHRwTWV0aG9kLkFOWSxcbiAgICAgICAgdnBjTGluazogYXBpR2F0ZXdheS52cGNMaW5rLFxuICAgICAgICBwYXJhbWV0ZXJNYXBwaW5nOiBuZXcgUGFyYW1ldGVyTWFwcGluZygpLm92ZXJ3cml0ZVBhdGgoXG4gICAgICAgICAgTWFwcGluZ1ZhbHVlLmN1c3RvbShcIi8kcmVxdWVzdC5wYXRoLnByb3h5XCIpLFxuICAgICAgICApLFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgaHR0cEFwaS5hZGRSb3V0ZXMoe1xuICAgICAgaW50ZWdyYXRpb24sXG4gICAgICBwYXRoOiBgJHt0aGlzLnByb3BzLmVuZHBvaW50UHJlZml4ID8/IFwiXCJ9L3twcm94eSt9YCxcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLnByb3BzLmVuYWJsZUFjY2Vzc0xvZ3MgPz8gdHJ1ZSkge1xuICAgICAgdGhpcy5lbmFibGVBY2Nlc3NMb2dzKGh0dHBBcGkpO1xuICAgIH1cblxuICAgIGFwaUdhdGV3YXkuYWxsb3dBY2Nlc3NUbyhcbiAgICAgIHNlcnZpY2UsXG4gICAgICBjb250YWluZXIudHJhZmZpY1BvcnQsXG4gICAgICBgQWxsb3cgYWNjZXNzIHRvICR7c2VydmljZU5hbWV9IEVDUyBzZXJ2aWNlYCxcbiAgICApO1xuXG4gICAgdGhpcy5wYXJlbnRTZXJ2aWNlLmFkZFVSTChcbiAgICAgIFwicHVibGljXCIsXG4gICAgICBgaHR0cHM6Ly8ke2RvbWFpbi5uYW1lfSR7dGhpcy5wcm9wcy5lbmRwb2ludFByZWZpeCA/PyBcIi9cIn1gLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZURvbWFpbihob3N0ZWRab25lOiBJSG9zdGVkWm9uZSwgcHJlZml4Pzogc3RyaW5nKSB7XG4gICAgY29uc3QgZG9tYWluTmFtZSA9IHByZWZpeFxuICAgICAgPyBgJHtwcmVmaXh9LiR7aG9zdGVkWm9uZS56b25lTmFtZX1gXG4gICAgICA6IGhvc3RlZFpvbmUuem9uZU5hbWU7XG5cbiAgICByZXR1cm4gbmV3IERvbWFpbk5hbWUodGhpcy5zY29wZSwgXCJEb21haW5OYW1lXCIsIHtcbiAgICAgIGRvbWFpbk5hbWUsXG4gICAgICBjZXJ0aWZpY2F0ZTogbmV3IENlcnRpZmljYXRlKHRoaXMuc2NvcGUsIFwiQ2VydGlmaWNhdGVcIiwge1xuICAgICAgICBkb21haW5OYW1lLFxuICAgICAgICB2YWxpZGF0aW9uOiBDZXJ0aWZpY2F0ZVZhbGlkYXRpb24uZnJvbURucyhob3N0ZWRab25lKSxcbiAgICAgIH0pLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBlbmFibGVBY2Nlc3NMb2dzKGFwaUVuZHBvaW50OiBIdHRwQXBpKSB7XG4gICAgY29uc3Qgc3RhZ2UgPSBhcGlFbmRwb2ludC5kZWZhdWx0U3RhZ2UhLm5vZGUuZGVmYXVsdENoaWxkIGFzIENmblN0YWdlO1xuICAgIGNvbnN0IGxvZ0dyb3VwID0gbmV3IExvZ0dyb3VwKGFwaUVuZHBvaW50LCBcIkFQSUdXQWNjZXNzTG9nc1wiLCB7XG4gICAgICByZXRlbnRpb246IDkwLFxuICAgIH0pO1xuXG4gICAgc3RhZ2UuYWNjZXNzTG9nU2V0dGluZ3MgPSB7XG4gICAgICBkZXN0aW5hdGlvbkFybjogbG9nR3JvdXAubG9nR3JvdXBBcm4sXG4gICAgICBmb3JtYXQ6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgcmVxdWVzdElkOiBcIiRjb250ZXh0LnJlcXVlc3RJZFwiLFxuICAgICAgICB1c2VyQWdlbnQ6IFwiJGNvbnRleHQuaWRlbnRpdHkudXNlckFnZW50XCIsXG4gICAgICAgIHNvdXJjZUlwOiBcIiRjb250ZXh0LmlkZW50aXR5LnNvdXJjZUlwXCIsXG4gICAgICAgIHJlcXVlc3RUaW1lOiBcIiRjb250ZXh0LnJlcXVlc3RUaW1lXCIsXG4gICAgICAgIGh0dHBNZXRob2Q6IFwiJGNvbnRleHQuaHR0cE1ldGhvZFwiLFxuICAgICAgICBwYXRoOiBcIiRjb250ZXh0LnBhdGhcIixcbiAgICAgICAgc3RhdHVzOiBcIiRjb250ZXh0LnN0YXR1c1wiLFxuICAgICAgICByZXNwb25zZUxlbmd0aDogXCIkY29udGV4dC5yZXNwb25zZUxlbmd0aFwiLFxuICAgICAgfSksXG4gICAgfTtcblxuICAgIGxvZ0dyb3VwLmdyYW50V3JpdGUobmV3IFNlcnZpY2VQcmluY2lwYWwoXCJhcGlnYXRld2F5LmFtYXpvbmF3cy5jb21cIikpO1xuICB9XG59XG4iXX0=
115
+ HTTPApiExtension[_a] = { fqn: "@btc-embedded/cdk-extensions.HTTPApiExtension", version: "0.22.23" };
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSFRUUEFwaUV4dGVuc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHRlbnNpb25zL0hUVFBBcGlFeHRlbnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx1RkFHb0Q7QUFDcEQsNkNBQW9DO0FBQ3BDLG1FQVFzQztBQUN0Qyw2RkFBNEY7QUFDNUYsK0VBRzRDO0FBRTVDLGlEQUF1RDtBQUN2RCxtREFBZ0Q7QUFDaEQseURBQTZFO0FBQzdFLHlFQUErRTtBQUMvRSwwQ0FNcUI7QUFxRXJCOztHQUVHO0FBQ0gsTUFBYSxnQkFBaUIsU0FBUSx5Q0FBZ0I7SUFHcEQ7OztPQUdHO0lBQ0gsWUFBWSxLQUE0QjtRQUN0QyxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQW9DO1FBQzdDLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDN0IsTUFBTSxJQUFJLEtBQUssQ0FDYiw0REFBNEQsQ0FDN0QsQ0FBQztRQUNKLENBQUM7UUFFRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FDekQsbUJBQW1CLENBQ1AsQ0FBQztRQUNmLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDekMsTUFBTSxJQUFJLEtBQUssQ0FDYixpRUFBaUUsQ0FDbEUsQ0FBQztRQUNKLENBQUM7UUFFRCxNQUFNLFVBQVUsR0FDZCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVU7WUFDckIscUJBQVUsQ0FBQyxnQkFBZ0IsQ0FDekIsSUFBSSxDQUFDLEtBQUssRUFDVixJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsR0FBRyxZQUFZLEVBQ3BDLEVBQUUscUJBQXFCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxx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aUJBQWlCO2dCQUN6QixjQUFjLEVBQUUseUJBQXlCO2FBQzFDLENBQUM7U0FDSCxDQUFDO1FBRUYsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLDBCQUFnQixDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQztJQUN4RSxDQUFDOztBQXhKSCw0Q0F5SkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb250YWluZXIsXG4gIFNlcnZpY2VFeHRlbnNpb24sXG59IGZyb20gXCJAYXdzLWNkay1jb250YWluZXJzL2Vjcy1zZXJ2aWNlLWV4dGVuc2lvbnNcIjtcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQge1xuICBDZm5TdGFnZSxcbiAgRG9tYWluTmFtZSxcbiAgSHR0cEFwaSxcbiAgSHR0cEFwaUF0dHJpYnV0ZXMsXG4gIEh0dHBNZXRob2QsXG4gIE1hcHBpbmdWYWx1ZSxcbiAgUGFyYW1ldGVyTWFwcGluZyxcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1hcGlnYXRld2F5djJcIjtcbmltcG9ydCB7IEh0dHBTZXJ2aWNlRGlzY292ZXJ5SW50ZWdyYXRpb24gfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWFwaWdhdGV3YXl2Mi1pbnRlZ3JhdGlvbnNcIjtcbmltcG9ydCB7XG4gIENlcnRpZmljYXRlLFxuICBDZXJ0aWZpY2F0ZVZhbGlkYXRpb24sXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2VydGlmaWNhdGVtYW5hZ2VyXCI7XG5pbXBvcnQgeyBFYzJTZXJ2aWNlLCBGYXJnYXRlU2VydmljZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWNzXCI7XG5pbXBvcnQgeyBTZXJ2aWNlUHJpbmNpcGFsIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIjtcbmltcG9ydCB7IExvZ0dyb3VwIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sb2dzXCI7XG5pbXBvcnQgeyBBUmVjb3JkLCBJSG9zdGVkWm9uZSwgUmVjb3JkVGFyZ2V0IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1yb3V0ZTUzXCI7XG5pbXBvcnQgeyBBcGlHYXRld2F5djJEb21haW5Qcm9wZXJ0aWVzIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1yb3V0ZTUzLXRhcmdldHNcIjtcbmltcG9ydCB7XG4gIEFwaUdhdGV3YXlWcGNMaW5rLFxuICBDb2duaXRvVXNlclBvb2wsXG4gIEhvc3RlZFpvbmUsXG4gIElBcGlHYXRld2F5VnBjTGluayxcbiAgSUNvZ25pdG9Vc2VyUG9vbCxcbn0gZnJvbSBcIi4uL3BsYXRmb3JtXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSFRUUEFwaUV4dGVuc2lvblByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBwcmVmaXggZm9yIHRoZSBBUEkgR2F0ZXdheSBlbmRwb2ludC5cbiAgICovXG4gIHJlYWRvbmx5IGVuZHBvaW50UHJlZml4Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgYmFzZSBwbGF0Zm9ybSBzdGFjay5cbiAgICpcbiAgICogVXNlZCB3aGVuIHtAbGluayBjb2duaXRvVXNlclBvb2x9LCB7QGxpbmsgYXBpR2F0ZXdheVZwY0xpbmt9LCBvclxuICAgKiB7QGxpbmsgaG9zdGVkWm9uZX0gYXJlIG5vdCBwcm92aWRlZC4gRmFsbHMgYmFjayB0b1xuICAgKiBgQmFzZVBsYXRmb3JtU3RhY2tSZXNvbHZlcmAgKENESyBjb250ZXh0KSB3aGVuIGFsc28gb21pdHRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGJhc2VQbGF0Zm9ybVN0YWNrTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogRG9tYWluIHByZWZpeCBmb3IgdGhlIEFQSSBHYXRld2F5IGVuZHBvaW50LlxuICAgKi9cbiAgcmVhZG9ubHkgZG9tYWluUHJlZml4Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBIb3N0ZWQgWm9uZSB0byBjcmVhdGUgdGhlIGdhdGV3YXkgZG9tYWluIEEgcmVjb3JkLlxuICAgKlxuICAgKiBXaGVuIG9taXR0ZWQsIHRoZSBob3N0ZWQgem9uZSBpcyBpbXBvcnRlZCBmcm9tIHRoZSBiYXNlIHBsYXRmb3JtIHN0YWNrXG4gICAqIHZpYSB7QGxpbmsgSG9zdGVkWm9uZS5mcm9tQmFzZVBsYXRmb3JtfS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBJbXBvcnRlZCBmcm9tIGJhc2UgcGxhdGZvcm0gdXNpbmcgSG9zdGVkWm9uZS5mcm9tQmFzZVBsYXRmb3JtKClcbiAgICovXG4gIHJlYWRvbmx5IGhvc3RlZFpvbmU/OiBJSG9zdGVkWm9uZTtcblxuICAvKipcbiAgICogRW5hYmxlIGFjY2VzcyBsb2dzIGZvciB0aGUgQVBJIEdhdGV3YXkuXG4gICAqXG4gICAqIGRlZmF1bHQ6IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZUFjY2Vzc0xvZ3M/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZ5IGFkZGl0aW9uYWwgSFRUUCBBUEkgQXR0cmlidXRlcy5cbiAgICovXG4gIHJlYWRvbmx5IGV4dHJhSHR0cEFwaUF0dHJpYnV0ZXM/OiBIdHRwQXBpQXR0cmlidXRlcztcblxuICAvKipcbiAgICogQ29nbml0byBVc2VyIFBvb2wgdG8gdXNlIGRpcmVjdGx5IGZvciBIVFRQIEFQSSBhdXRob3JpemF0aW9uLlxuICAgKlxuICAgKiBXaGVuIHByb3ZpZGVkLCB0aGUgZXh0ZW5zaW9uIHVzZXMgdGhpcyBjb25zdHJ1Y3QgYXMtaXMgYW5kIG5vIGNyb3NzLXN0YWNrXG4gICAqIGltcG9ydCB2aWEge0BsaW5rIENvZ25pdG9Vc2VyUG9vbC5mcm9tQmFzZVBsYXRmb3JtfSBpcyBwZXJmb3JtZWQuIFVzZSB0aGlzXG4gICAqIHdoZW4gdGhlIHVzZXIgcG9vbCByZXNpZGVzIGluIHRoZSBzYW1lIENESyBzdGFjayBhcyB0aGUgRUNTIHNlcnZpY2UuXG4gICAqXG4gICAqIFdoZW4gb21pdHRlZCwgdGhlIGV4dGVuc2lvbiBpbXBvcnRzIHRoZSB1c2VyIHBvb2wgZnJvbSB0aGUgYmFzZSBwbGF0Zm9ybVxuICAgKiBzdGFjayBpZGVudGlmaWVkIGJ5IHtAbGluayBiYXNlUGxhdGZvcm1TdGFja05hbWV9LlxuICAgKi9cbiAgcmVhZG9ubHkgY29nbml0b1VzZXJQb29sPzogSUNvZ25pdG9Vc2VyUG9vbDtcblxuICAvKipcbiAgICogQVBJIEdhdGV3YXkgVlBDIExpbmsgdG8gdXNlIGRpcmVjdGx5LlxuICAgKlxuICAgKiBXaGVuIHByb3ZpZGVkLCB0aGUgZXh0ZW5zaW9uIHVzZXMgdGhpcyBjb25zdHJ1Y3QgYXMtaXMgYW5kIG5vIGNyb3NzLXN0YWNrXG4gICAqIGltcG9ydCB2aWEge0BsaW5rIEFwaUdhdGV3YXlWcGNMaW5rLmZyb21CYXNlUGxhdGZvcm19IGlzIHBlcmZvcm1lZC4gVXNlXG4gICAqIHRoaXMgd2hlbiB0aGUgVlBDIExpbmsgcmVzaWRlcyBpbiB0aGUgc2FtZSBDREsgc3RhY2sgYXMgdGhlIEVDUyBzZXJ2aWNlLlxuICAgKlxuICAgKiBXaGVuIG9taXR0ZWQsIHRoZSBleHRlbnNpb24gaW1wb3J0cyB0aGUgVlBDIExpbmsgZnJvbSB0aGUgYmFzZSBwbGF0Zm9ybVxuICAgKiBzdGFjayBpZGVudGlmaWVkIGJ5IHtAbGluayBiYXNlUGxhdGZvcm1TdGFja05hbWV9LlxuICAgKi9cbiAgcmVhZG9ubHkgYXBpR2F0ZXdheVZwY0xpbms/OiBJQXBpR2F0ZXdheVZwY0xpbms7XG59XG5cbi8qKlxuICogQ29uZmlndXJlcyB0aGUgc2VydmljZSB0byBiZSByZWFjaGFibGUgdmlhIGFuIEh0dHAgQXBpLlxuICovXG5leHBvcnQgY2xhc3MgSFRUUEFwaUV4dGVuc2lvbiBleHRlbmRzIFNlcnZpY2VFeHRlbnNpb24ge1xuICByZWFkb25seSBwcm9wczogSFRUUEFwaUV4dGVuc2lvblByb3BzO1xuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gcHJvcHNcbiAgICovXG4gIGNvbnN0cnVjdG9yKHByb3BzOiBIVFRQQXBpRXh0ZW5zaW9uUHJvcHMpIHtcbiAgICBzdXBlcihcImFwaS1nYXRld2F5LWV4dGVuc2lvblwiKTtcbiAgICB0aGlzLnByb3BzID0gcHJvcHM7XG4gIH1cblxuICB1c2VTZXJ2aWNlKHNlcnZpY2U6IEVjMlNlcnZpY2UgfCBGYXJnYXRlU2VydmljZSk6IHZvaWQge1xuICAgIGlmICghc2VydmljZS5jbG91ZE1hcFNlcnZpY2UpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJUaGlzIGV4dGVuc2lvbiByZXF1aXJlcyB0aGUgQ2xvdWRNYXAgZXh0ZW5zaW9uIHRvIGJlIGFkZGVkXCIsXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMucGFyZW50U2VydmljZS5zZXJ2aWNlRGVzY3JpcHRpb24uZ2V0KFxuICAgICAgXCJzZXJ2aWNlLWNvbnRhaW5lclwiLFxuICAgICkgYXMgQ29udGFpbmVyO1xuICAgIGlmICghY29udGFpbmVyIHx8ICFjb250YWluZXIudHJhZmZpY1BvcnQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJDYW5ub3QgYXBwbHkgQVBJIEdhdGV3YXkgRXh0ZW5zaW9uLCBubyBtYWluIGFwcCBjb250YWluZXIgZm91bmRcIixcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgaG9zdGVkWm9uZSA9XG4gICAgICB0aGlzLnByb3BzLmhvc3RlZFpvbmUgPz9cbiAgICAgIEhvc3RlZFpvbmUuZnJvbUJhc2VQbGF0Zm9ybShcbiAgICAgICAgdGhpcy5zY29wZSxcbiAgICAgICAgdGhpcy5wYXJlbnRTZXJ2aWNlLmlkICsgXCJIb3N0ZWRab25lXCIsXG4gICAgICAgIHsgYmFzZVBsYXRmb3JtU3RhY2tOYW1lOiB0aGlzLnByb3BzLmJhc2VQbGF0Zm9ybVN0YWNrTmFtZSB9LFxuICAgICAgKS56b25lO1xuXG4gICAgY29uc3QgZG9tYWluID0gdGhpcy5jcmVhdGVEb21haW4oaG9zdGVkWm9uZSwgdGhpcy5wcm9wcy5kb21haW5QcmVmaXgpO1xuXG4gICAgbmV3IEFSZWNvcmQodGhpcy5zY29wZSwgXCJBUElHV0FSZWNvcmRcIiwge1xuICAgICAgem9uZTogaG9zdGVkWm9uZSxcbiAgICAgIHJlY29yZE5hbWU6IHRoaXMucHJvcHMuZG9tYWluUHJlZml4LFxuICAgICAgdGFyZ2V0OiBSZWNvcmRUYXJnZXQuZnJvbUFsaWFzKFxuICAgICAgICBuZXcgQXBpR2F0ZXdheXYyRG9tYWluUHJvcGVydGllcyhcbiAgICAgICAgICBkb21haW4ucmVnaW9uYWxEb21haW5OYW1lLFxuICAgICAgICAgIGRvbWFpbi5yZWdpb25hbEhvc3RlZFpvbmVJZCxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgfSk7XG5cbiAgICBjb25zdCBzZXJ2aWNlTmFtZSA9IGAke1N0YWNrLm9mKHRoaXMuc2NvcGUpLnN0YWNrTmFtZX0vJHt0aGlzLnBhcmVudFNlcnZpY2UuaWR9YDtcblxuICAgIC8vIFVzZSB0aGUgZGlyZWN0bHkgaW5qZWN0ZWQgdXNlciBwb29sIHdoZW4gYXZhaWxhYmxlIChzYW1lLXN0YWNrIHVzYWdlKS5cbiAgICAvLyBPdGhlcndpc2UgZmFsbCBiYWNrIHRvIGNyb3NzLXN0YWNrIGltcG9ydCwgd2hpY2ggaW4gdHVybiBmYWxscyBiYWNrIHRvXG4gICAgLy8gQmFzZVBsYXRmb3JtU3RhY2tSZXNvbHZlciAoQ0RLIGNvbnRleHQpIHdoZW4gYmFzZVBsYXRmb3JtU3RhY2tOYW1lIGlzIGFic2VudC5cbiAgICBjb25zdCBjb2duaXRvID1cbiAgICAgIHRoaXMucHJvcHMuY29nbml0b1VzZXJQb29sID8/XG4gICAgICBDb2duaXRvVXNlclBvb2wuZnJvbUJhc2VQbGF0Zm9ybShcbiAgICAgICAgdGhpcy5zY29wZSxcbiAgICAgICAgdGhpcy5wYXJlbnRTZXJ2aWNlLmlkICsgXCJDb2duaXRvVXNlclBvb2xcIixcbiAgICAgICAgdGhpcy5wcm9wcy5iYXNlUGxhdGZvcm1TdGFja05hbWUsXG4gICAgICApO1xuXG4gICAgY29uc3QgaHR0cEFwaSA9IG5ldyBIdHRwQXBpKHRoaXMuc2NvcGUsIFwiSHR0cEFwaVwiLCB7XG4gICAgICBhcGlOYW1lOiBzZXJ2aWNlTmFtZSArIFwiIEFQSVwiLFxuICAgICAgZGVmYXVsdEF1dGhvcml6ZXI6IGNvZ25pdG8uY3JlYXRlSHR0cFVzZXJQb29sQXV0aG9yaXplcigpLFxuICAgICAgZGVmYXVsdERvbWFpbk1hcHBpbmc6IHtcbiAgICAgICAgZG9tYWluTmFtZTogZG9tYWluLFxuICAgICAgfSxcbiAgICAgIC4uLnRoaXMucHJvcHMuZXh0cmFIdHRwQXBpQXR0cmlidXRlcyxcbiAgICB9KTtcblxuICAgIC8vIFVzZSB0aGUgZGlyZWN0bHkgaW5qZWN0ZWQgVlBDIExpbmsgd2hlbiBhdmFpbGFibGUgKHNhbWUtc3RhY2sgdXNhZ2UpLlxuICAgIC8vIE90aGVyd2lzZSBmYWxsIGJhY2sgdG8gY3Jvc3Mtc3RhY2sgaW1wb3J0IHZpYSBmcm9tQmFzZVBsYXRmb3JtLlxuICAgIGNvbnN0IGFwaUdhdGV3YXkgPVxuICAgICAgdGhpcy5wcm9wcy5hcGlHYXRld2F5VnBjTGluayA/P1xuICAgICAgQXBpR2F0ZXdheVZwY0xpbmsuZnJvbUJhc2VQbGF0Zm9ybShcbiAgICAgICAgdGhpcy5zY29wZSxcbiAgICAgICAgdGhpcy5wYXJlbnRTZXJ2aWNlLmlkICsgXCJBcGlHYXRld2F5VjJcIixcbiAgICAgICAge1xuICAgICAgICAgIGJhc2VQbGF0Zm9ybVN0YWNrTmFtZTogdGhpcy5wcm9wcy5iYXNlUGxhdGZvcm1TdGFja05hbWUsXG4gICAgICAgICAgdnBjOiBzZXJ2aWNlLmNsdXN0ZXIudnBjLFxuICAgICAgICB9LFxuICAgICAgKTtcblxuICAgIGNvbnN0IGludGVncmF0aW9uID0gbmV3IEh0dHBTZXJ2aWNlRGlzY292ZXJ5SW50ZWdyYXRpb24oXG4gICAgICBgJHt0aGlzLnBhcmVudFNlcnZpY2UuaWR9U2VydmljZURpc2NvdmVyeUludGVncmF0aW9uYCxcbiAgICAgIHNlcnZpY2UuY2xvdWRNYXBTZXJ2aWNlLFxuICAgICAge1xuICAgICAgICBtZXRob2Q6IEh0dHBNZXRob2QuQU5ZLFxuICAgICAgICB2cGNMaW5rOiBhcGlHYXRld2F5LnZwY0xpbmssXG4gICAgICAgIHBhcmFtZXRlck1hcHBpbmc6IG5ldyBQYXJhbWV0ZXJNYXBwaW5nKCkub3ZlcndyaXRlUGF0aChcbiAgICAgICAgICBNYXBwaW5nVmFsdWUuY3VzdG9tKFwiLyRyZXF1ZXN0LnBhdGgucHJveHlcIiksXG4gICAgICAgICksXG4gICAgICB9LFxuICAgICk7XG5cbiAgICBodHRwQXBpLmFkZFJvdXRlcyh7XG4gICAgICBpbnRlZ3JhdGlvbixcbiAgICAgIHBhdGg6IGAke3RoaXMucHJvcHMuZW5kcG9pbnRQcmVmaXggPz8gXCJcIn0ve3Byb3h5K31gLFxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMucHJvcHMuZW5hYmxlQWNjZXNzTG9ncyA/PyB0cnVlKSB7XG4gICAgICB0aGlzLmVuYWJsZUFjY2Vzc0xvZ3MoaHR0cEFwaSk7XG4gICAgfVxuXG4gICAgYXBpR2F0ZXdheS5hbGxvd0FjY2Vzc1RvKFxuICAgICAgc2VydmljZSxcbiAgICAgIGNvbnRhaW5lci50cmFmZmljUG9ydCxcbiAgICAgIGBBbGxvdyBhY2Nlc3MgdG8gJHtzZXJ2aWNlTmFtZX0gRUNTIHNlcnZpY2VgLFxuICAgICk7XG5cbiAgICB0aGlzLnBhcmVudFNlcnZpY2UuYWRkVVJMKFxuICAgICAgXCJwdWJsaWNcIixcbiAgICAgIGBodHRwczovLyR7ZG9tYWluLm5hbWV9JHt0aGlzLnByb3BzLmVuZHBvaW50UHJlZml4ID8/IFwiL1wifWAsXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRG9tYWluKGhvc3RlZFpvbmU6IElIb3N0ZWRab25lLCBwcmVmaXg/OiBzdHJpbmcpIHtcbiAgICBjb25zdCBkb21haW5OYW1lID0gcHJlZml4XG4gICAgICA/IGAke3ByZWZpeH0uJHtob3N0ZWRab25lLnpvbmVOYW1lfWBcbiAgICAgIDogaG9zdGVkWm9uZS56b25lTmFtZTtcblxuICAgIHJldHVybiBuZXcgRG9tYWluTmFtZSh0aGlzLnNjb3BlLCBcIkRvbWFpbk5hbWVcIiwge1xuICAgICAgZG9tYWluTmFtZSxcbiAgICAgIGNlcnRpZmljYXRlOiBuZXcgQ2VydGlmaWNhdGUodGhpcy5zY29wZSwgXCJDZXJ0aWZpY2F0ZVwiLCB7XG4gICAgICAgIGRvbWFpbk5hbWUsXG4gICAgICAgIHZhbGlkYXRpb246IENlcnRpZmljYXRlVmFsaWRhdGlvbi5mcm9tRG5zKGhvc3RlZFpvbmUpLFxuICAgICAgfSksXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGVuYWJsZUFjY2Vzc0xvZ3MoYXBpRW5kcG9pbnQ6IEh0dHBBcGkpIHtcbiAgICBjb25zdCBzdGFnZSA9IGFwaUVuZHBvaW50LmRlZmF1bHRTdGFnZSEubm9kZS5kZWZhdWx0Q2hpbGQgYXMgQ2ZuU3RhZ2U7XG4gICAgY29uc3QgbG9nR3JvdXAgPSBuZXcgTG9nR3JvdXAoYXBpRW5kcG9pbnQsIFwiQVBJR1dBY2Nlc3NMb2dzXCIsIHtcbiAgICAgIHJldGVudGlvbjogOTAsXG4gICAgfSk7XG5cbiAgICBzdGFnZS5hY2Nlc3NMb2dTZXR0aW5ncyA9IHtcbiAgICAgIGRlc3RpbmF0aW9uQXJuOiBsb2dHcm91cC5sb2dHcm91cEFybixcbiAgICAgIGZvcm1hdDogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICByZXF1ZXN0SWQ6IFwiJGNvbnRleHQucmVxdWVzdElkXCIsXG4gICAgICAgIHVzZXJBZ2VudDogXCIkY29udGV4dC5pZGVudGl0eS51c2VyQWdlbnRcIixcbiAgICAgICAgc291cmNlSXA6IFwiJGNvbnRleHQuaWRlbnRpdHkuc291cmNlSXBcIixcbiAgICAgICAgcmVxdWVzdFRpbWU6IFwiJGNvbnRleHQucmVxdWVzdFRpbWVcIixcbiAgICAgICAgaHR0cE1ldGhvZDogXCIkY29udGV4dC5odHRwTWV0aG9kXCIsXG4gICAgICAgIHBhdGg6IFwiJGNvbnRleHQucGF0aFwiLFxuICAgICAgICBzdGF0dXM6IFwiJGNvbnRleHQuc3RhdHVzXCIsXG4gICAgICAgIHJlc3BvbnNlTGVuZ3RoOiBcIiRjb250ZXh0LnJlc3BvbnNlTGVuZ3RoXCIsXG4gICAgICB9KSxcbiAgICB9O1xuXG4gICAgbG9nR3JvdXAuZ3JhbnRXcml0ZShuZXcgU2VydmljZVByaW5jaXBhbChcImFwaWdhdGV3YXkuYW1hem9uYXdzLmNvbVwiKSk7XG4gIH1cbn1cbiJdfQ==
@@ -61,5 +61,5 @@ class LogExtension extends ecs_service_extensions_1.ServiceExtension {
61
61
  }
62
62
  exports.LogExtension = LogExtension;
63
63
  _a = JSII_RTTI_SYMBOL_1;
64
- LogExtension[_a] = { fqn: "@btc-embedded/cdk-extensions.LogExtension", version: "0.22.21" };
64
+ LogExtension[_a] = { fqn: "@btc-embedded/cdk-extensions.LogExtension", version: "0.22.23" };
65
65
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9nRXh0ZW5zaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V4dGVuc2lvbnMvTG9nRXh0ZW5zaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsdUZBSW9EO0FBQ3BELDJDQUEyQztBQUczQywwQ0FBMEM7QUFDMUMsb0NBQStDO0FBa0IvQzs7R0FFRztBQUNILE1BQU0sY0FBZSxTQUFRLDhDQUFxQjtJQUNoRDs7O09BR0c7SUFDSCxZQUNVLFFBQW1CLEVBQ25CLFlBQW9CO1FBRTVCLEtBQUssRUFBRSxDQUFDO1FBSEEsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixpQkFBWSxHQUFaLFlBQVksQ0FBUTtJQUc5QixDQUFDO0lBRUQseUJBQXlCLENBQ3ZCLEtBQXFDO1FBRXJDLE9BQU87WUFDTCxHQUFHLEtBQUs7WUFDUixPQUFPLEVBQUUsSUFBSSxHQUFHLENBQUMsWUFBWSxDQUFDO2dCQUM1QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7Z0JBQ3ZCLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTthQUNoQyxDQUFDO1NBQ0gsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQUVEOzs7Ozs7R0FNRztBQUNILE1BQWEsWUFBYSxTQUFRLHlDQUFnQjtJQUdoRDs7T0FFRztJQUNILFlBQW9CLE9BQXFEO1FBQ3ZFLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztRQURMLFlBQU8sR0FBUCxPQUFPLENBQThDO0lBRXpFLENBQUM7SUFFTSxPQUFPLENBQUMsTUFBZSxFQUFFLE1BQWlCO1FBQy9DLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDO1FBRTVCLElBQUksVUFBVSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQ3hDLENBQUM7YUFBTSxDQUFDO1lBQ04sc0dBQXNHO1lBQ3RHLElBQUksQ0FBQyxRQUFRLEdBQUcsc0JBQVcsQ0FBQyxnQkFBZ0IsQ0FDMUMsTUFBTSxFQUNOLGdDQUFnQyxFQUNoQyxFQUFFLHFCQUFxQixFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMscUJBQXFCLEVBQUUsQ0FDOUQsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUEsMkJBQW1CLEVBQ2pCLElBQUksQ0FBQyxhQUFhLEVBQ2xCLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FDekQsQ0FBQztJQUNKLENBQUM7O0FBOUJILG9DQStCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbnRhaW5lck11dGF0aW5nSG9vayxcbiAgU2VydmljZSxcbiAgU2VydmljZUV4dGVuc2lvbixcbn0gZnJvbSBcIkBhd3MtY2RrLWNvbnRhaW5lcnMvZWNzLXNlcnZpY2UtZXh0ZW5zaW9uc1wiO1xuaW1wb3J0ICogYXMgZWNzIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWNzXCI7XG5pbXBvcnQgeyBJTG9nR3JvdXAgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxvZ3NcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBCVENMb2dHcm91cCB9IGZyb20gXCIuLi9wbGF0Zm9ybVwiO1xuaW1wb3J0IHsgYWRkSG9va1RvRXh0ZW5zaW9ucyB9IGZyb20gXCIuLi91dGlsc1wiO1xuXG4vKipcbiAqIE9wdGlvbiB0byB1c2UgYW4gYWxyZWFkeSBjcmVhdGVkIENsb3VkV2F0Y2ggTG9nIEdyb3VwIGZvciBjb250YWluZXIgbG9nZ2luZy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFeGlzdGluZ0xvZ3JvdXBPcHRpb24ge1xuICAvKiogVGFyZ2V0IENsb3VkV2F0Y2ggbG9nIGdyb3VwIGZvciBjb250YWluZXIgc3Rkb3V0L3N0ZGVyci4gKi9cbiAgcmVhZG9ubHkgbG9nR3JvdXA6IElMb2dHcm91cDtcbn1cblxuLyoqXG4gKiBPcHRpb24gdG8gaW1wb3J0IHRoZSBzaGFyZWQgYmFzZSBwbGF0Zm9ybSBsb2cgZ3JvdXAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW1wb3J0TG9nR3JvdXBPcHRpb24ge1xuICAvKiogQmFzZSBwbGF0Zm9ybSBzdGFjayBuYW1lIHVzZWQgdG8gaW1wb3J0IHRoZSBsb2cgZ3JvdXAgdmlhIHtAbGluayBCVENMb2dHcm91cC5mcm9tQmFzZVBsYXRmb3JtfS4gKi9cbiAgcmVhZG9ubHkgYmFzZVBsYXRmb3JtU3RhY2tOYW1lPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvbnRhaW5lciBtdXRhdGlvbiBob29rIHRoYXQgY29uZmlndXJlcyB0aGUgQ2xvdWRXYXRjaCBMb2dzIGRyaXZlciBvbiBhIGNvbnRhaW5lci5cbiAqL1xuY2xhc3MgQWRkTG9nZ2luZ0hvb2sgZXh0ZW5kcyBDb250YWluZXJNdXRhdGluZ0hvb2sge1xuICAvKipcbiAgICogQHBhcmFtIGxvZ0dyb3VwIERlc3RpbmF0aW9uIENsb3VkV2F0Y2ggbG9nIGdyb3VwXG4gICAqIEBwYXJhbSBzdHJlYW1QcmVmaXggTG9nIHN0cmVhbSBwcmVmaXggKHR5cGljYWxseSB0aGUgc2VydmljZS9jb25zdHJ1Y3QgaWQpXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGxvZ0dyb3VwOiBJTG9nR3JvdXAsXG4gICAgcHJpdmF0ZSBzdHJlYW1QcmVmaXg6IHN0cmluZyxcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG11dGF0ZUNvbnRhaW5lckRlZmluaXRpb24oXG4gICAgcHJvcHM6IGVjcy5Db250YWluZXJEZWZpbml0aW9uT3B0aW9ucyxcbiAgKTogZWNzLkNvbnRhaW5lckRlZmluaXRpb25PcHRpb25zIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4ucHJvcHMsXG4gICAgICBsb2dnaW5nOiBuZXcgZWNzLkF3c0xvZ0RyaXZlcih7XG4gICAgICAgIGxvZ0dyb3VwOiB0aGlzLmxvZ0dyb3VwLFxuICAgICAgICBzdHJlYW1QcmVmaXg6IHRoaXMuc3RyZWFtUHJlZml4LFxuICAgICAgfSksXG4gICAgfTtcbiAgfVxufVxuXG4vKipcbiAqIEVDUyBTZXJ2aWNlIEV4dGVuc2lvbiB0aGF0IGNvbmZpZ3VyZXMgQ2xvdWRXYXRjaCBMb2dzIGZvciBhbGwgY29udGFpbmVycyBpbiBhIHNlcnZpY2UuXG4gKlxuICogWW91IGNhbiBlaXRoZXI6XG4gKiAtIHBhc3MgYW4gZXhpc3RpbmcgbG9nIGdyb3VwICh7QGxpbmsgRXhpc3RpbmdMb2dyb3VwT3B0aW9ufSksIG9yXG4gKiAtIGltcG9ydCBhIHNoYXJlZCBiYXNlIHBsYXRmb3JtIGxvZyBncm91cCAoe0BsaW5rIEltcG9ydExvZ0dyb3VwT3B0aW9ufSkuXG4gKi9cbmV4cG9ydCBjbGFzcyBMb2dFeHRlbnNpb24gZXh0ZW5kcyBTZXJ2aWNlRXh0ZW5zaW9uIHtcbiAgcHJpdmF0ZSBsb2dHcm91cCE6IElMb2dHcm91cDtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyB7QGxpbmsgTG9nRXh0ZW5zaW9ufS5cbiAgICovXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgb3B0aW9uczogRXhpc3RpbmdMb2dyb3VwT3B0aW9uIHwgSW1wb3J0TG9nR3JvdXBPcHRpb24pIHtcbiAgICBzdXBlcihcImxvZy1leHRlbnNpb25cIik7XG4gIH1cblxuICBwdWJsaWMgcHJlaG9vayhwYXJlbnQ6IFNlcnZpY2UsIF9zY29wZTogQ29uc3RydWN0KTogdm9pZCB7XG4gICAgdGhpcy5wYXJlbnRTZXJ2aWNlID0gcGFyZW50O1xuXG4gICAgaWYgKFwibG9nR3JvdXBcIiBpbiB0aGlzLm9wdGlvbnMpIHtcbiAgICAgIHRoaXMubG9nR3JvdXAgPSB0aGlzLm9wdGlvbnMubG9nR3JvdXA7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEltcG9ydExvZ0dyb3VwT3B0aW9uIC0gcmVzb2x2ZSBmcm9tIGJhc2UgcGxhdGZvcm0gKGhhbmRsZXMgdW5kZWZpbmVkIHZpYSBCYXNlUGxhdGZvcm1TdGFja1Jlc29sdmVyKVxuICAgICAgdGhpcy5sb2dHcm91cCA9IEJUQ0xvZ0dyb3VwLmZyb21CYXNlUGxhdGZvcm0oXG4gICAgICAgIHBhcmVudCxcbiAgICAgICAgXCJJbXBvcnRMb2dHcm91cEZyb21CYXNlUGxhdGZvcm1cIixcbiAgICAgICAgeyBiYXNlUGxhdGZvcm1TdGFja05hbWU6IHRoaXMub3B0aW9ucy5iYXNlUGxhdGZvcm1TdGFja05hbWUgfSxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFkZEhvb2tzKCkge1xuICAgIGFkZEhvb2tUb0V4dGVuc2lvbnMoXG4gICAgICB0aGlzLnBhcmVudFNlcnZpY2UsXG4gICAgICBuZXcgQWRkTG9nZ2luZ0hvb2sodGhpcy5sb2dHcm91cCwgdGhpcy5wYXJlbnRTZXJ2aWNlLmlkKSxcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -40,5 +40,5 @@ class ModifyContainerDefinitionExtension extends ecs_service_extensions_1.Servic
40
40
  }
41
41
  exports.ModifyContainerDefinitionExtension = ModifyContainerDefinitionExtension;
42
42
  _a = JSII_RTTI_SYMBOL_1;
43
- ModifyContainerDefinitionExtension[_a] = { fqn: "@btc-embedded/cdk-extensions.ModifyContainerDefinitionExtension", version: "0.22.21" };
43
+ ModifyContainerDefinitionExtension[_a] = { fqn: "@btc-embedded/cdk-extensions.ModifyContainerDefinitionExtension", version: "0.22.23" };
44
44
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kaWZ5Q29udGFpbmVyRGVmaW5pdGlvbkV4dGVuc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHRlbnNpb25zL01vZGlmeUNvbnRhaW5lckRlZmluaXRpb25FeHRlbnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx1RkFJb0Q7QUFHcEQsTUFBTSxJQUFLLFNBQVEsOENBQXFCO0lBQ3RDLFlBQTZCLEtBQXdDO1FBQ25FLEtBQUssRUFBRSxDQUFDO1FBRG1CLFVBQUssR0FBTCxLQUFLLENBQW1DO0lBRXJFLENBQUM7SUFFRCx5QkFBeUIsQ0FDdkIsT0FBbUM7UUFFbkMsT0FBTztZQUNMLEdBQUcsT0FBTztZQUNWLEdBQUcsSUFBSSxDQUFDLEtBQUs7U0FDZCxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBR0Q7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFhLGtDQUFtQyxTQUFRLHlDQUFnQjtJQUd0RSxZQUFZLEtBQXdDO1FBQ2xELEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFTSxRQUFRO1FBQ2IsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQ3pELG1CQUFtQixDQUNQLENBQUM7UUFFZixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDZixNQUFNLElBQUksS0FBSyxDQUFDLHFEQUFxRCxDQUFDLENBQUM7UUFDekUsQ0FBQztRQUVELFNBQVMsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUMzRCxDQUFDOztBQWxCSCxnRkFtQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb250YWluZXIsXG4gIENvbnRhaW5lck11dGF0aW5nSG9vayxcbiAgU2VydmljZUV4dGVuc2lvbixcbn0gZnJvbSBcIkBhd3MtY2RrLWNvbnRhaW5lcnMvZWNzLXNlcnZpY2UtZXh0ZW5zaW9uc1wiO1xuaW1wb3J0IHsgQ29udGFpbmVyRGVmaW5pdGlvbk9wdGlvbnMgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjc1wiO1xuXG5jbGFzcyBIb29rIGV4dGVuZHMgQ29udGFpbmVyTXV0YXRpbmdIb29rIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBwcm9wczogQ29udGFpbmVyRGVmaW5pdGlvbkV4dGVuc2lvblByb3BzKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG11dGF0ZUNvbnRhaW5lckRlZmluaXRpb24oXG4gICAgb3B0aW9uczogQ29udGFpbmVyRGVmaW5pdGlvbk9wdGlvbnMsXG4gICk6IENvbnRhaW5lckRlZmluaXRpb25PcHRpb25zIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIC4uLnRoaXMucHJvcHMsXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbnRhaW5lckRlZmluaXRpb25FeHRlbnNpb25Qcm9wcyBleHRlbmRzIENvbnRhaW5lckRlZmluaXRpb25PcHRpb25zIHt9XG4vKipcbiAqIEFuIGV4dGVuc2lvbiB0aGF0IGFsbG93cyBtb2RpZnlpbmcgdGhlIG1haW4gY29udGFpbmVyIGRlZmluaXRpb24gb3B0aW9ucy5cbiAqXG4gKiBTb21lIGNvbnRhaW5lciBwcm9wZXJ0aWVzIGFyZSBub3QgZXhwb3NlZCB0aGUgdXBzdHJlYW0gRUNTIENvbnRhaW5lclxuICogZXh0ZW5zaW9uLiBUaGlzIGV4dGVuc2lvbiBhbGxvd3MgeW91IHRvIGFkanVzdCB0aGUgY29udGFpbmVyIGRlZmluaXRpb25cbiAqIG9wdGlvbnMgYWZ0ZXIgdGhlIENvbnRhaW5lciBleHRlbnNpb24gaGFzIGJlZW4gYWRkZWQgdG8gdGhlIHNlcnZpY2UuXG4gKlxuICogQHNlZSBDb250YWluZXJEZWZpbml0aW9uT3B0aW9uc1xuICovXG5leHBvcnQgY2xhc3MgTW9kaWZ5Q29udGFpbmVyRGVmaW5pdGlvbkV4dGVuc2lvbiBleHRlbmRzIFNlcnZpY2VFeHRlbnNpb24ge1xuICByZWFkb25seSBwcm9wczogQ29udGFpbmVyRGVmaW5pdGlvbkV4dGVuc2lvblByb3BzO1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzOiBDb250YWluZXJEZWZpbml0aW9uRXh0ZW5zaW9uUHJvcHMpIHtcbiAgICBzdXBlcihcIm1vZGlmeS1jb250YWluZXJcIik7XG4gICAgdGhpcy5wcm9wcyA9IHByb3BzO1xuICB9XG5cbiAgcHVibGljIGFkZEhvb2tzKCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMucGFyZW50U2VydmljZS5zZXJ2aWNlRGVzY3JpcHRpb24uZ2V0KFxuICAgICAgXCJzZXJ2aWNlLWNvbnRhaW5lclwiLFxuICAgICkgYXMgQ29udGFpbmVyO1xuXG4gICAgaWYgKCFjb250YWluZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkNhbm5vdCBhcHBseSBleHRlbnNpb24sIG5vIG1haW4gYXBwIGNvbnRhaW5lciBmb3VuZFwiKTtcbiAgICB9XG5cbiAgICBjb250YWluZXIuYWRkQ29udGFpbmVyTXV0YXRpbmdIb29rKG5ldyBIb29rKHRoaXMucHJvcHMpKTtcbiAgfVxufVxuIl19
@@ -21,5 +21,5 @@ class ModifyTaskDefinitionExtension extends ecs_service_extensions_1.ServiceExte
21
21
  }
22
22
  exports.ModifyTaskDefinitionExtension = ModifyTaskDefinitionExtension;
23
23
  _a = JSII_RTTI_SYMBOL_1;
24
- ModifyTaskDefinitionExtension[_a] = { fqn: "@btc-embedded/cdk-extensions.ModifyTaskDefinitionExtension", version: "0.22.21" };
24
+ ModifyTaskDefinitionExtension[_a] = { fqn: "@btc-embedded/cdk-extensions.ModifyTaskDefinitionExtension", version: "0.22.23" };
25
25
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kaWZ5VGFza0RlZmluaXRpb25FeHRlbnNpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXh0ZW5zaW9ucy9Nb2RpZnlUYXNrRGVmaW5pdGlvbkV4dGVuc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHVGQUE4RTtBQUc5RTs7R0FFRztBQUNILE1BQWEsNkJBQThCLFNBQVEseUNBQWdCO0lBR2pFLFlBQVksS0FBMEI7UUFDcEMsS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVELHlCQUF5QixDQUFDLEtBQTBCO1FBQ2xELE9BQU87WUFDTCxHQUFHLEtBQUs7WUFDUixHQUFHLElBQUksQ0FBQyxLQUFLO1NBQ2QsQ0FBQztJQUNKLENBQUM7O0FBYkgsc0VBY0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZXJ2aWNlRXh0ZW5zaW9uIH0gZnJvbSBcIkBhd3MtY2RrLWNvbnRhaW5lcnMvZWNzLXNlcnZpY2UtZXh0ZW5zaW9uc1wiO1xuaW1wb3J0IHsgVGFza0RlZmluaXRpb25Qcm9wcyB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWNzXCI7XG5cbi8qKlxuICogQW4gZXh0ZW5zaW9uIHRoYXQgYWxsb3dzIG1vZGlmeWluZyB0aGUgdGFzayBkZWZpbml0aW9uIHByb3BlcnRpZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBNb2RpZnlUYXNrRGVmaW5pdGlvbkV4dGVuc2lvbiBleHRlbmRzIFNlcnZpY2VFeHRlbnNpb24ge1xuICByZWFkb25seSBwcm9wczogVGFza0RlZmluaXRpb25Qcm9wcztcblxuICBjb25zdHJ1Y3Rvcihwcm9wczogVGFza0RlZmluaXRpb25Qcm9wcykge1xuICAgIHN1cGVyKFwibW9kaWZ5LXRhc2stZGVmaW5pdGlvblwiKTtcbiAgICB0aGlzLnByb3BzID0gcHJvcHM7XG4gIH1cblxuICBtb2RpZnlUYXNrRGVmaW5pdGlvblByb3BzKHByb3BzOiBUYXNrRGVmaW5pdGlvblByb3BzKTogVGFza0RlZmluaXRpb25Qcm9wcyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnByb3BzLFxuICAgICAgLi4udGhpcy5wcm9wcyxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -4,12 +4,26 @@ import { ICognitoUserPool } from "../platform";
4
4
  export interface OpenIdExtensionProps {
5
5
  /**
6
6
  * The name of the base platform stack.
7
+ *
8
+ * Used when {@link cognitoUserPool} is not provided. Falls back to
9
+ * `BasePlatformStackResolver` (CDK context) when also omitted.
7
10
  */
8
11
  readonly basePlatformStackName?: string;
9
12
  /**
10
13
  * Adds OIDC_REDIRECT_URI environment variable to the container if set.
11
14
  */
12
15
  readonly redirectUri?: string;
16
+ /**
17
+ * Cognito User Pool to use directly.
18
+ *
19
+ * When provided, the extension uses this construct as-is and no cross-stack
20
+ * import via {@link CognitoUserPool.fromBasePlatform} is performed. Use this
21
+ * when the user pool resides in the same CDK stack as the ECS service.
22
+ *
23
+ * When omitted, the extension imports the user pool from the base platform
24
+ * stack identified by {@link basePlatformStackName}.
25
+ */
26
+ readonly cognitoUserPool?: ICognitoUserPool;
13
27
  }
14
28
  /**
15
29
  * ECS service extension that wires the service to OpenID Connect settings from
@@ -69,10 +69,16 @@ class OpenIdExtension extends ecs_service_extensions_1.ServiceExtension {
69
69
  */
70
70
  prehook(service, _scope) {
71
71
  this.parentService = service;
72
- this.cognitoUserPool = platform_1.CognitoUserPool.fromBasePlatform(service, "CognitoUserPool", this.props.basePlatformStackName);
72
+ // Use the directly injected construct when available (same-stack usage).
73
+ // Otherwise fall back to cross-stack import via fromBasePlatform, which in
74
+ // turn falls back to BasePlatformStackResolver (CDK context) when
75
+ // basePlatformStackName is also absent.
76
+ this.cognitoUserPool =
77
+ this.props.cognitoUserPool ??
78
+ platform_1.CognitoUserPool.fromBasePlatform(service, "CognitoUserPool", this.props.basePlatformStackName);
73
79
  }
74
80
  }
75
81
  exports.OpenIdExtension = OpenIdExtension;
76
82
  _a = JSII_RTTI_SYMBOL_1;
77
- OpenIdExtension[_a] = { fqn: "@btc-embedded/cdk-extensions.OpenIdExtension", version: "0.22.21" };
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlbklkRXh0ZW5zaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V4dGVuc2lvbnMvT3BlbklkRXh0ZW5zaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsdUZBS29EO0FBQ3BELDJDQUEyQztBQUkzQywwQ0FBZ0U7QUFrQ2hFLE1BQU0sZUFBZ0IsU0FBUSw4Q0FBcUI7SUFFakQsWUFBWSxLQUF3QjtRQUNsQyxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7O09BR0c7SUFDSCx5QkFBeUIsQ0FDdkIsS0FBaUM7UUFFakMsT0FBTztZQUNMLEdBQUcsS0FBSztZQUNSLE9BQU8sRUFBRTtnQkFDUCxrQkFBa0IsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO2FBQ3JFO1lBQ0QsV0FBVyxFQUFFO2dCQUNYLEdBQUcsS0FBSyxDQUFDLFdBQVc7Z0JBQ3BCLGVBQWUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVM7Z0JBQ3JDLGNBQWMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVE7Z0JBQ25DLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUs7Z0JBQzVCLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVc7b0JBQ3hCLENBQUMsQ0FBQyxFQUFFLGlCQUFpQixFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFO29CQUMvQyxDQUFDLENBQUMsRUFBRSxDQUFDO2FBQ1I7U0FDRixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBY0Q7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQWEsZUFBZ0IsU0FBUSx5Q0FBZ0I7SUFVbkQsWUFBWSxLQUEyQjtRQUNyQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsUUFBUTtRQUNOLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUN6RCxtQkFBbUIsQ0FDUCxDQUFDO1FBRWYsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN6QyxNQUFNLElBQUksS0FBSyxDQUNiLDREQUE0RCxDQUM3RCxDQUFDO1FBQ0osQ0FBQztRQUVELFNBQVMsQ0FBQyx3QkFBd0IsQ0FDaEMsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUM5RCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxPQUFPLENBQUMsT0FBZ0IsRUFBRSxNQUFpQjtRQUN6QyxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQztRQUU3QixJQUFJLENBQUMsZUFBZSxHQUFHLDBCQUFlLENBQUMsZ0JBQWdCLENBQ3JELE9BQU8sRUFDUCxpQkFBaUIsRUFDakIsSUFBSSxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FDakMsQ0FBQztJQUNKLENBQUM7O0FBbERILDBDQW1EQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbnRhaW5lcixcbiAgQ29udGFpbmVyTXV0YXRpbmdIb29rLFxuICBTZXJ2aWNlLFxuICBTZXJ2aWNlRXh0ZW5zaW9uLFxufSBmcm9tIFwiQGF3cy1jZGstY29udGFpbmVycy9lY3Mtc2VydmljZS1leHRlbnNpb25zXCI7XG5pbXBvcnQgKiBhcyBlY3MgZnJvbSBcImF3cy1jZGstbGliL2F3cy1lY3NcIjtcbmltcG9ydCB7IENvbnRhaW5lckRlZmluaXRpb25PcHRpb25zIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lY3NcIjtcbmltcG9ydCB7IElTZWNyZXQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXNlY3JldHNtYW5hZ2VyXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgQ29nbml0b1VzZXJQb29sLCBJQ29nbml0b1VzZXJQb29sIH0gZnJvbSBcIi4uL3BsYXRmb3JtXCI7XG5cbi8qKlxuICogUGFyYW1ldGVycyB1c2VkIHRvIGluamVjdCBPSURDLXJlbGF0ZWQgY29uZmlndXJhdGlvbiBpbnRvIGFuIEVDUyBjb250YWluZXIuXG4gKi9cbmludGVyZmFjZSBPaWRjVmFyc0hvb2tQcm9wcyB7XG4gIC8qKlxuICAgKiBPSURDIGlzc3VlciBVUkwgKGUuZy4gaHR0cHM6Ly88ZG9tYWluPi8ud2VsbC1rbm93bi9vcGVuaWQtY29uZmlndXJhdGlvbiBiYXNlKS5cbiAgICovXG4gIHJlYWRvbmx5IGlzc3VlclVybDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBPSURDIGNsaWVudCBpZGVudGlmaWVyIHJlZ2lzdGVyZWQgd2l0aCB0aGUgaXNzdWVyLlxuICAgKi9cbiAgcmVhZG9ubHkgY2xpZW50SWQ6IHN0cmluZztcblxuICAvKipcbiAgICogU2VjcmV0IHRoYXQgY29udGFpbnMgdGhlIE9JREMgY2xpZW50IHNlY3JldC5cbiAgICovXG4gIHJlYWRvbmx5IHNlY3JldDogSVNlY3JldDtcblxuICAvKipcbiAgICogU3BhY2UtZGVsaW1pdGVkIE9JREMgc2NvcGVzIHRvIHJlcXVlc3QuXG4gICAqL1xuICByZWFkb25seSBzY29wZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCByZWRpcmVjdC9jYWxsYmFjayBVUkkgZm9yIHRoZSByZWx5aW5nIHBhcnR5LlxuICAgKlxuICAgKiBXaGVuIHNldCwgYW4gYE9JRENfUkVESVJFQ1RfVVJJYCBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBpbmplY3RlZC5cbiAgICovXG4gIHJlYWRvbmx5IHJlZGlyZWN0VXJpPzogc3RyaW5nO1xufVxuXG5jbGFzcyBBZGRPaWRjVmFyc0hvb2sgZXh0ZW5kcyBDb250YWluZXJNdXRhdGluZ0hvb2sge1xuICByZWFkb25seSBwcm9wczogT2lkY1ZhcnNIb29rUHJvcHM7XG4gIGNvbnN0cnVjdG9yKHByb3BzOiBPaWRjVmFyc0hvb2tQcm9wcykge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5wcm9wcyA9IHByb3BzO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgT0lEQy1yZWxhdGVkIGVudmlyb25tZW50IHZhcmlhYmxlcyBhbmQgbWFwcyBgT0lEQ19DTElFTlRfU0VDUkVUYCBmcm9tXG4gICAqIFNlY3JldHMgTWFuYWdlci5cbiAgICovXG4gIG11dGF0ZUNvbnRhaW5lckRlZmluaXRpb24oXG4gICAgcHJvcHM6IENvbnRhaW5lckRlZmluaXRpb25PcHRpb25zLFxuICApOiBDb250YWluZXJEZWZpbml0aW9uT3B0aW9ucyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnByb3BzLFxuICAgICAgc2VjcmV0czoge1xuICAgICAgICBPSURDX0NMSUVOVF9TRUNSRVQ6IGVjcy5TZWNyZXQuZnJvbVNlY3JldHNNYW5hZ2VyKHRoaXMucHJvcHMuc2VjcmV0KSxcbiAgICAgIH0sXG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICAuLi5wcm9wcy5lbnZpcm9ubWVudCxcbiAgICAgICAgT0lEQ19JU1NVRVJfVVJMOiB0aGlzLnByb3BzLmlzc3VlclVybCxcbiAgICAgICAgT0lEQ19DTElFTlRfSUQ6IHRoaXMucHJvcHMuY2xpZW50SWQsXG4gICAgICAgIE9JRENfU0NPUEU6IHRoaXMucHJvcHMuc2NvcGUsXG4gICAgICAgIC4uLih0aGlzLnByb3BzLnJlZGlyZWN0VXJpXG4gICAgICAgICAgPyB7IE9JRENfUkVESVJFQ1RfVVJJOiB0aGlzLnByb3BzLnJlZGlyZWN0VXJpIH1cbiAgICAgICAgICA6IHt9KSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9wZW5JZEV4dGVuc2lvblByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBiYXNlIHBsYXRmb3JtIHN0YWNrLlxuICAgKi9cbiAgcmVhZG9ubHkgYmFzZVBsYXRmb3JtU3RhY2tOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBZGRzIE9JRENfUkVESVJFQ1RfVVJJIGVudmlyb25tZW50IHZhcmlhYmxlIHRvIHRoZSBjb250YWluZXIgaWYgc2V0LlxuICAgKi9cbiAgcmVhZG9ubHkgcmVkaXJlY3RVcmk/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogRUNTIHNlcnZpY2UgZXh0ZW5zaW9uIHRoYXQgd2lyZXMgdGhlIHNlcnZpY2UgdG8gT3BlbklEIENvbm5lY3Qgc2V0dGluZ3MgZnJvbVxuICogdGhlIGJhc2UgcGxhdGZvcm0ncyBDb2duaXRvIHVzZXIgcG9vbC5cbiAqXG4gKiBUaGlzIGV4dGVuc2lvbiBpbmplY3RzIHRoZSBmb2xsb3dpbmcgaW50byB0aGUgbWFpbiBhcHBsaWNhdGlvbiBjb250YWluZXI6XG4gKiAtIGBPSURDX0lTU1VFUl9VUkxgXG4gKiAtIGBPSURDX0NMSUVOVF9JRGBcbiAqIC0gYE9JRENfU0NPUEVgXG4gKiAtIGBPSURDX0NMSUVOVF9TRUNSRVRgIChhcyBhIFNlY3JldHMgTWFuYWdlciBzZWNyZXQpXG4gKiAtIGBPSURDX1JFRElSRUNUX1VSSWAgKG9wdGlvbmFsKVxuICovXG5leHBvcnQgY2xhc3MgT3BlbklkRXh0ZW5zaW9uIGV4dGVuZHMgU2VydmljZUV4dGVuc2lvbiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcHJvcHM6IE9wZW5JZEV4dGVuc2lvblByb3BzO1xuXG4gIC8qKlxuICAgKiBSZXNvbHZlZCBDb2duaXRvIHVzZXIgcG9vbCBmcm9tIHRoZSBiYXNlIHBsYXRmb3JtLlxuICAgKlxuICAgKiBQb3B1bGF0ZWQgZHVyaW5nIHtAbGluayBwcmVob29rfS5cbiAgICovXG4gIGNvZ25pdG9Vc2VyUG9vbCE6IElDb2duaXRvVXNlclBvb2w7XG5cbiAgY29uc3RydWN0b3IocHJvcHM6IE9wZW5JZEV4dGVuc2lvblByb3BzKSB7XG4gICAgc3VwZXIoXCJvcGVuaWRcIik7XG4gICAgdGhpcy5wcm9wcyA9IHByb3BzO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBjb250YWluZXIgaG9va3MgYWZ0ZXIgdGhlIHBhcmVudCBzZXJ2aWNlIGFuZCB1c2VyIHBvb2wgYXJlIGtub3duLlxuICAgKlxuICAgKiBSZXF1aXJlcyBhIG1haW4gY29udGFpbmVyIG5hbWVkIGBzZXJ2aWNlLWNvbnRhaW5lcmAgd2l0aCBhIGNvbmZpZ3VyZWRcbiAgICogdHJhZmZpYyBwb3J0LlxuICAgKi9cbiAgYWRkSG9va3MoKTogdm9pZCB7XG4gICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5wYXJlbnRTZXJ2aWNlLnNlcnZpY2VEZXNjcmlwdGlvbi5nZXQoXG4gICAgICBcInNlcnZpY2UtY29udGFpbmVyXCIsXG4gICAgKSBhcyBDb250YWluZXI7XG5cbiAgICBpZiAoIWNvbnRhaW5lciB8fCAhY29udGFpbmVyLnRyYWZmaWNQb3J0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiQ2Fubm90IGFwcGx5IE9wZW5JRCBleHRlbnNpb24sIG5vIG1haW4gYXBwIGNvbnRhaW5lciBmb3VuZFwiLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb250YWluZXIuYWRkQ29udGFpbmVyTXV0YXRpbmdIb29rKFxuICAgICAgbmV3IEFkZE9pZGNWYXJzSG9vayh0aGlzLmNvZ25pdG9Vc2VyUG9vbC5hcHBPcGVuSWRQYXJhbWV0ZXJzKSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc29sdmVzIGJhc2UtcGxhdGZvcm0gcmVzb3VyY2VzIG5lZWRlZCBieSB0aGUgZXh0ZW5zaW9uLlxuICAgKlxuICAgKiBDYWxsZWQgYnkgdGhlIGV4dGVuc2lvbnMgZnJhbWV3b3JrIGJlZm9yZSBob29rcyBhcmUgYXBwbGllZC5cbiAgICovXG4gIHByZWhvb2soc2VydmljZTogU2VydmljZSwgX3Njb3BlOiBDb25zdHJ1Y3QpOiB2b2lkIHtcbiAgICB0aGlzLnBhcmVudFNlcnZpY2UgPSBzZXJ2aWNlO1xuXG4gICAgdGhpcy5jb2duaXRvVXNlclBvb2wgPSBDb2duaXRvVXNlclBvb2wuZnJvbUJhc2VQbGF0Zm9ybShcbiAgICAgIHNlcnZpY2UsXG4gICAgICBcIkNvZ25pdG9Vc2VyUG9vbFwiLFxuICAgICAgdGhpcy5wcm9wcy5iYXNlUGxhdGZvcm1TdGFja05hbWUsXG4gICAgKTtcbiAgfVxufVxuIl19
83
+ OpenIdExtension[_a] = { fqn: "@btc-embedded/cdk-extensions.OpenIdExtension", version: "0.22.23" };
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlbklkRXh0ZW5zaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V4dGVuc2lvbnMvT3BlbklkRXh0ZW5zaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsdUZBS29EO0FBQ3BELDJDQUEyQztBQUkzQywwQ0FBZ0U7QUFrQ2hFLE1BQU0sZUFBZ0IsU0FBUSw4Q0FBcUI7SUFFakQsWUFBWSxLQUF3QjtRQUNsQyxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7O09BR0c7SUFDSCx5QkFBeUIsQ0FDdkIsS0FBaUM7UUFFakMsT0FBTztZQUNMLEdBQUcsS0FBSztZQUNSLE9BQU8sRUFBRTtnQkFDUCxrQkFBa0IsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO2FBQ3JFO1lBQ0QsV0FBVyxFQUFFO2dCQUNYLEdBQUcsS0FBSyxDQUFDLFdBQVc7Z0JBQ3BCLGVBQWUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVM7Z0JBQ3JDLGNBQWMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVE7Z0JBQ25DLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUs7Z0JBQzVCLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVc7b0JBQ3hCLENBQUMsQ0FBQyxFQUFFLGlCQUFpQixFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFO29CQUMvQyxDQUFDLENBQUMsRUFBRSxDQUFDO2FBQ1I7U0FDRixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBNkJEOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFhLGVBQWdCLFNBQVEseUNBQWdCO0lBVW5ELFlBQVksS0FBMkI7UUFDckMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFFBQVE7UUFDTixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FDekQsbUJBQW1CLENBQ1AsQ0FBQztRQUVmLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDekMsTUFBTSxJQUFJLEtBQUssQ0FDYiw0REFBNEQsQ0FDN0QsQ0FBQztRQUNKLENBQUM7UUFFRCxTQUFTLENBQUMsd0JBQXdCLENBQ2hDLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsbUJBQW1CLENBQUMsQ0FDOUQsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsT0FBTyxDQUFDLE9BQWdCLEVBQUUsTUFBaUI7UUFDekMsSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUM7UUFFN0IseUVBQXlFO1FBQ3pFLDJFQUEyRTtRQUMzRSxrRUFBa0U7UUFDbEUsd0NBQXdDO1FBQ3hDLElBQUksQ0FBQyxlQUFlO1lBQ2xCLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZTtnQkFDMUIsMEJBQWUsQ0FBQyxnQkFBZ0IsQ0FDOUIsT0FBTyxFQUNQLGlCQUFpQixFQUNqQixJQUFJLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUNqQyxDQUFDO0lBQ04sQ0FBQzs7QUF4REgsMENBeURDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29udGFpbmVyLFxuICBDb250YWluZXJNdXRhdGluZ0hvb2ssXG4gIFNlcnZpY2UsXG4gIFNlcnZpY2VFeHRlbnNpb24sXG59IGZyb20gXCJAYXdzLWNkay1jb250YWluZXJzL2Vjcy1zZXJ2aWNlLWV4dGVuc2lvbnNcIjtcbmltcG9ydCAqIGFzIGVjcyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjc1wiO1xuaW1wb3J0IHsgQ29udGFpbmVyRGVmaW5pdGlvbk9wdGlvbnMgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjc1wiO1xuaW1wb3J0IHsgSVNlY3JldCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtc2VjcmV0c21hbmFnZXJcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBDb2duaXRvVXNlclBvb2wsIElDb2duaXRvVXNlclBvb2wgfSBmcm9tIFwiLi4vcGxhdGZvcm1cIjtcblxuLyoqXG4gKiBQYXJhbWV0ZXJzIHVzZWQgdG8gaW5qZWN0IE9JREMtcmVsYXRlZCBjb25maWd1cmF0aW9uIGludG8gYW4gRUNTIGNvbnRhaW5lci5cbiAqL1xuaW50ZXJmYWNlIE9pZGNWYXJzSG9va1Byb3BzIHtcbiAgLyoqXG4gICAqIE9JREMgaXNzdWVyIFVSTCAoZS5nLiBodHRwczovLzxkb21haW4+Ly53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uIGJhc2UpLlxuICAgKi9cbiAgcmVhZG9ubHkgaXNzdWVyVXJsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE9JREMgY2xpZW50IGlkZW50aWZpZXIgcmVnaXN0ZXJlZCB3aXRoIHRoZSBpc3N1ZXIuXG4gICAqL1xuICByZWFkb25seSBjbGllbnRJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTZWNyZXQgdGhhdCBjb250YWlucyB0aGUgT0lEQyBjbGllbnQgc2VjcmV0LlxuICAgKi9cbiAgcmVhZG9ubHkgc2VjcmV0OiBJU2VjcmV0O1xuXG4gIC8qKlxuICAgKiBTcGFjZS1kZWxpbWl0ZWQgT0lEQyBzY29wZXMgdG8gcmVxdWVzdC5cbiAgICovXG4gIHJlYWRvbmx5IHNjb3BlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIHJlZGlyZWN0L2NhbGxiYWNrIFVSSSBmb3IgdGhlIHJlbHlpbmcgcGFydHkuXG4gICAqXG4gICAqIFdoZW4gc2V0LCBhbiBgT0lEQ19SRURJUkVDVF9VUklgIGVudmlyb25tZW50IHZhcmlhYmxlIGlzIGluamVjdGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVkaXJlY3RVcmk/OiBzdHJpbmc7XG59XG5cbmNsYXNzIEFkZE9pZGNWYXJzSG9vayBleHRlbmRzIENvbnRhaW5lck11dGF0aW5nSG9vayB7XG4gIHJlYWRvbmx5IHByb3BzOiBPaWRjVmFyc0hvb2tQcm9wcztcbiAgY29uc3RydWN0b3IocHJvcHM6IE9pZGNWYXJzSG9va1Byb3BzKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnByb3BzID0gcHJvcHM7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBPSURDLXJlbGF0ZWQgZW52aXJvbm1lbnQgdmFyaWFibGVzIGFuZCBtYXBzIGBPSURDX0NMSUVOVF9TRUNSRVRgIGZyb21cbiAgICogU2VjcmV0cyBNYW5hZ2VyLlxuICAgKi9cbiAgbXV0YXRlQ29udGFpbmVyRGVmaW5pdGlvbihcbiAgICBwcm9wczogQ29udGFpbmVyRGVmaW5pdGlvbk9wdGlvbnMsXG4gICk6IENvbnRhaW5lckRlZmluaXRpb25PcHRpb25zIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4ucHJvcHMsXG4gICAgICBzZWNyZXRzOiB7XG4gICAgICAgIE9JRENfQ0xJRU5UX1NFQ1JFVDogZWNzLlNlY3JldC5mcm9tU2VjcmV0c01hbmFnZXIodGhpcy5wcm9wcy5zZWNyZXQpLFxuICAgICAgfSxcbiAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgIC4uLnByb3BzLmVudmlyb25tZW50LFxuICAgICAgICBPSURDX0lTU1VFUl9VUkw6IHRoaXMucHJvcHMuaXNzdWVyVXJsLFxuICAgICAgICBPSURDX0NMSUVOVF9JRDogdGhpcy5wcm9wcy5jbGllbnRJZCxcbiAgICAgICAgT0lEQ19TQ09QRTogdGhpcy5wcm9wcy5zY29wZSxcbiAgICAgICAgLi4uKHRoaXMucHJvcHMucmVkaXJlY3RVcmlcbiAgICAgICAgICA/IHsgT0lEQ19SRURJUkVDVF9VUkk6IHRoaXMucHJvcHMucmVkaXJlY3RVcmkgfVxuICAgICAgICAgIDoge30pLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3BlbklkRXh0ZW5zaW9uUHJvcHMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGJhc2UgcGxhdGZvcm0gc3RhY2suXG4gICAqXG4gICAqIFVzZWQgd2hlbiB7QGxpbmsgY29nbml0b1VzZXJQb29sfSBpcyBub3QgcHJvdmlkZWQuIEZhbGxzIGJhY2sgdG9cbiAgICogYEJhc2VQbGF0Zm9ybVN0YWNrUmVzb2x2ZXJgIChDREsgY29udGV4dCkgd2hlbiBhbHNvIG9taXR0ZWQuXG4gICAqL1xuICByZWFkb25seSBiYXNlUGxhdGZvcm1TdGFja05hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFkZHMgT0lEQ19SRURJUkVDVF9VUkkgZW52aXJvbm1lbnQgdmFyaWFibGUgdG8gdGhlIGNvbnRhaW5lciBpZiBzZXQuXG4gICAqL1xuICByZWFkb25seSByZWRpcmVjdFVyaT86IHN0cmluZztcblxuICAvKipcbiAgICogQ29nbml0byBVc2VyIFBvb2wgdG8gdXNlIGRpcmVjdGx5LlxuICAgKlxuICAgKiBXaGVuIHByb3ZpZGVkLCB0aGUgZXh0ZW5zaW9uIHVzZXMgdGhpcyBjb25zdHJ1Y3QgYXMtaXMgYW5kIG5vIGNyb3NzLXN0YWNrXG4gICAqIGltcG9ydCB2aWEge0BsaW5rIENvZ25pdG9Vc2VyUG9vbC5mcm9tQmFzZVBsYXRmb3JtfSBpcyBwZXJmb3JtZWQuIFVzZSB0aGlzXG4gICAqIHdoZW4gdGhlIHVzZXIgcG9vbCByZXNpZGVzIGluIHRoZSBzYW1lIENESyBzdGFjayBhcyB0aGUgRUNTIHNlcnZpY2UuXG4gICAqXG4gICAqIFdoZW4gb21pdHRlZCwgdGhlIGV4dGVuc2lvbiBpbXBvcnRzIHRoZSB1c2VyIHBvb2wgZnJvbSB0aGUgYmFzZSBwbGF0Zm9ybVxuICAgKiBzdGFjayBpZGVudGlmaWVkIGJ5IHtAbGluayBiYXNlUGxhdGZvcm1TdGFja05hbWV9LlxuICAgKi9cbiAgcmVhZG9ubHkgY29nbml0b1VzZXJQb29sPzogSUNvZ25pdG9Vc2VyUG9vbDtcbn1cblxuLyoqXG4gKiBFQ1Mgc2VydmljZSBleHRlbnNpb24gdGhhdCB3aXJlcyB0aGUgc2VydmljZSB0byBPcGVuSUQgQ29ubmVjdCBzZXR0aW5ncyBmcm9tXG4gKiB0aGUgYmFzZSBwbGF0Zm9ybSdzIENvZ25pdG8gdXNlciBwb29sLlxuICpcbiAqIFRoaXMgZXh0ZW5zaW9uIGluamVjdHMgdGhlIGZvbGxvd2luZyBpbnRvIHRoZSBtYWluIGFwcGxpY2F0aW9uIGNvbnRhaW5lcjpcbiAqIC0gYE9JRENfSVNTVUVSX1VSTGBcbiAqIC0gYE9JRENfQ0xJRU5UX0lEYFxuICogLSBgT0lEQ19TQ09QRWBcbiAqIC0gYE9JRENfQ0xJRU5UX1NFQ1JFVGAgKGFzIGEgU2VjcmV0cyBNYW5hZ2VyIHNlY3JldClcbiAqIC0gYE9JRENfUkVESVJFQ1RfVVJJYCAob3B0aW9uYWwpXG4gKi9cbmV4cG9ydCBjbGFzcyBPcGVuSWRFeHRlbnNpb24gZXh0ZW5kcyBTZXJ2aWNlRXh0ZW5zaW9uIHtcbiAgcHJpdmF0ZSByZWFkb25seSBwcm9wczogT3BlbklkRXh0ZW5zaW9uUHJvcHM7XG5cbiAgLyoqXG4gICAqIFJlc29sdmVkIENvZ25pdG8gdXNlciBwb29sIGZyb20gdGhlIGJhc2UgcGxhdGZvcm0uXG4gICAqXG4gICAqIFBvcHVsYXRlZCBkdXJpbmcge0BsaW5rIHByZWhvb2t9LlxuICAgKi9cbiAgY29nbml0b1VzZXJQb29sITogSUNvZ25pdG9Vc2VyUG9vbDtcblxuICBjb25zdHJ1Y3Rvcihwcm9wczogT3BlbklkRXh0ZW5zaW9uUHJvcHMpIHtcbiAgICBzdXBlcihcIm9wZW5pZFwiKTtcbiAgICB0aGlzLnByb3BzID0gcHJvcHM7XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0ZXJzIGNvbnRhaW5lciBob29rcyBhZnRlciB0aGUgcGFyZW50IHNlcnZpY2UgYW5kIHVzZXIgcG9vbCBhcmUga25vd24uXG4gICAqXG4gICAqIFJlcXVpcmVzIGEgbWFpbiBjb250YWluZXIgbmFtZWQgYHNlcnZpY2UtY29udGFpbmVyYCB3aXRoIGEgY29uZmlndXJlZFxuICAgKiB0cmFmZmljIHBvcnQuXG4gICAqL1xuICBhZGRIb29rcygpOiB2b2lkIHtcbiAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLnBhcmVudFNlcnZpY2Uuc2VydmljZURlc2NyaXB0aW9uLmdldChcbiAgICAgIFwic2VydmljZS1jb250YWluZXJcIixcbiAgICApIGFzIENvbnRhaW5lcjtcblxuICAgIGlmICghY29udGFpbmVyIHx8ICFjb250YWluZXIudHJhZmZpY1BvcnQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJDYW5ub3QgYXBwbHkgT3BlbklEIGV4dGVuc2lvbiwgbm8gbWFpbiBhcHAgY29udGFpbmVyIGZvdW5kXCIsXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnRhaW5lci5hZGRDb250YWluZXJNdXRhdGluZ0hvb2soXG4gICAgICBuZXcgQWRkT2lkY1ZhcnNIb29rKHRoaXMuY29nbml0b1VzZXJQb29sLmFwcE9wZW5JZFBhcmFtZXRlcnMpLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmVzb2x2ZXMgYmFzZS1wbGF0Zm9ybSByZXNvdXJjZXMgbmVlZGVkIGJ5IHRoZSBleHRlbnNpb24uXG4gICAqXG4gICAqIENhbGxlZCBieSB0aGUgZXh0ZW5zaW9ucyBmcmFtZXdvcmsgYmVmb3JlIGhvb2tzIGFyZSBhcHBsaWVkLlxuICAgKi9cbiAgcHJlaG9vayhzZXJ2aWNlOiBTZXJ2aWNlLCBfc2NvcGU6IENvbnN0cnVjdCk6IHZvaWQge1xuICAgIHRoaXMucGFyZW50U2VydmljZSA9IHNlcnZpY2U7XG5cbiAgICAvLyBVc2UgdGhlIGRpcmVjdGx5IGluamVjdGVkIGNvbnN0cnVjdCB3aGVuIGF2YWlsYWJsZSAoc2FtZS1zdGFjayB1c2FnZSkuXG4gICAgLy8gT3RoZXJ3aXNlIGZhbGwgYmFjayB0byBjcm9zcy1zdGFjayBpbXBvcnQgdmlhIGZyb21CYXNlUGxhdGZvcm0sIHdoaWNoIGluXG4gICAgLy8gdHVybiBmYWxscyBiYWNrIHRvIEJhc2VQbGF0Zm9ybVN0YWNrUmVzb2x2ZXIgKENESyBjb250ZXh0KSB3aGVuXG4gICAgLy8gYmFzZVBsYXRmb3JtU3RhY2tOYW1lIGlzIGFsc28gYWJzZW50LlxuICAgIHRoaXMuY29nbml0b1VzZXJQb29sID1cbiAgICAgIHRoaXMucHJvcHMuY29nbml0b1VzZXJQb29sID8/XG4gICAgICBDb2duaXRvVXNlclBvb2wuZnJvbUJhc2VQbGF0Zm9ybShcbiAgICAgICAgc2VydmljZSxcbiAgICAgICAgXCJDb2duaXRvVXNlclBvb2xcIixcbiAgICAgICAgdGhpcy5wcm9wcy5iYXNlUGxhdGZvcm1TdGFja05hbWUsXG4gICAgICApO1xuICB9XG59XG4iXX0=
@@ -83,5 +83,5 @@ class OpenTelemetryExtension extends ecs_service_extensions_1.ServiceExtension {
83
83
  }
84
84
  exports.OpenTelemetryExtension = OpenTelemetryExtension;
85
85
  _a = JSII_RTTI_SYMBOL_1;
86
- OpenTelemetryExtension[_a] = { fqn: "@btc-embedded/cdk-extensions.OpenTelemetryExtension", version: "0.22.21" };
86
+ OpenTelemetryExtension[_a] = { fqn: "@btc-embedded/cdk-extensions.OpenTelemetryExtension", version: "0.22.23" };
87
87
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlblRlbGVtZXRyeUV4dGVuc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHRlbnNpb25zL09wZW5UZWxlbWV0cnlFeHRlbnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx1RkFJb0Q7QUFDcEQsNkNBQW9DO0FBQ3BDLGlEQUk2QjtBQUM3QixpREFBNkU7QUFFaEUsUUFBQSxvQkFBb0IsR0FDL0IsNERBQTRELENBQUM7QUF1Qi9ELE1BQU0sSUFBSyxTQUFRLDhDQUFxQjtJQUN0QyxZQUE2QixLQUEwQztRQUNyRSxLQUFLLEVBQUUsQ0FBQztRQURtQixVQUFLLEdBQUwsS0FBSyxDQUFxQztJQUV2RSxDQUFDO0lBRUQseUJBQXlCLENBQ3ZCLE9BQW1DO1FBRW5DLE9BQU87WUFDTCxHQUFHLE9BQU87WUFDVixHQUFHLElBQUksQ0FBQyxLQUFLO1lBQ2IsV0FBVyxFQUFFO2dCQUNYLEdBQUcsT0FBTyxDQUFDLFdBQVc7Z0JBQ3RCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXO2FBQzFCO1NBQ0YsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQUVEOztHQUVHO0FBQ0gsTUFBYSxzQkFBdUIsU0FBUSx5Q0FBZ0I7SUFHMUQsWUFBWSxLQUFrQztRQUM1QyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRU0saUJBQWlCLENBQUMsY0FBOEI7UUFDckQsSUFBSSxjQUFjLEdBQStCO1lBQy9DLEtBQUssRUFBRSxrQkFBUSxDQUFDLFlBQVksQ0FBQyw0QkFBb0IsQ0FBQztZQUNsRCxPQUFPLEVBQUUsQ0FBQywyQ0FBMkMsQ0FBQztZQUN0RCxXQUFXLEVBQUU7Z0JBQ1gsVUFBVSxFQUFFLGNBQWMsQ0FBQyxLQUFLLENBQUMsTUFBTTthQUN4QztTQUNGLENBQUM7UUFFRixJQUFJLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDM0MsY0FBYyxHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNsRSxDQUFDLENBQUMsQ0FBQztRQUVILGNBQWMsQ0FBQyxZQUFZLENBQUMsd0JBQXdCLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFFdEUsY0FBYyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FDdEMsdUJBQWEsQ0FBQyx3QkFBd0IsQ0FBQyx3QkFBd0IsQ0FBQyxDQUNqRSxDQUFDO1FBRUYsY0FBYyxDQUFDLG1CQUFtQixDQUNoQyxJQUFJLHlCQUFlLENBQUM7WUFDbEIsT0FBTyxFQUFFO2dCQUNQLG1CQUFtQjtnQkFDbkIseUJBQXlCO2dCQUN6Qix3QkFBd0I7Z0JBQ3hCLDBCQUEwQjtnQkFDMUIscUJBQXFCO2dCQUNyQixrQkFBa0I7YUFDbkI7WUFDRCxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUM7WUFDaEIsTUFBTSxFQUFFLGdCQUFNLENBQUMsS0FBSztTQUNyQixDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxRQUFRO1FBQ04sTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQ3pELG1CQUFtQixDQUNQLENBQUM7UUFFZixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDZixNQUFNLElBQUksS0FBSyxDQUFDLHFEQUFxRCxDQUFDLENBQUM7UUFDekUsQ0FBQztRQUVELElBQUksVUFBVSxHQUEyQjtZQUN2Qyx3QkFBd0IsRUFDdEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsSUFBSSxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsU0FBUztZQUN2RSxtQkFBbUIsRUFDakIsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsSUFBSSxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsU0FBUztZQUN2RSxjQUFjLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFO1NBQ2hFLENBQUM7UUFFRixNQUFNLHNCQUFzQixHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO2FBQ3RELEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQzthQUM1QixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFYixTQUFTLENBQUMsd0JBQXdCLENBQ2hDLElBQUksSUFBSSxDQUFDO1lBQ1AsV0FBVyxFQUFFO2dCQUNYLDJEQUEyRDtnQkFDM0QsZ0RBQWdEO2dCQUNoRCx3QkFBd0IsRUFBRSxzQkFBc0I7Z0JBQ2hELEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixJQUFJLEVBQUUsQ0FBQzthQUN2QztTQUNGLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7QUExRUgsd0RBMkVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29udGFpbmVyLFxuICBDb250YWluZXJNdXRhdGluZ0hvb2ssXG4gIFNlcnZpY2VFeHRlbnNpb24sXG59IGZyb20gXCJAYXdzLWNkay1jb250YWluZXJzL2Vjcy1zZXJ2aWNlLWV4dGVuc2lvbnNcIjtcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQge1xuICBDb250YWluZXJEZWZpbml0aW9uT3B0aW9ucyxcbiAgRWNySW1hZ2UsXG4gIFRhc2tEZWZpbml0aW9uLFxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjc1wiO1xuaW1wb3J0IHsgRWZmZWN0LCBNYW5hZ2VkUG9saWN5LCBQb2xpY3lTdGF0ZW1lbnQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiO1xuXG5leHBvcnQgY29uc3QgT1RFTF9DT0xMRUNUT1JfSU1BR0UgPVxuICBcInB1YmxpYy5lY3IuYXdzL2F3cy1vYnNlcnZhYmlsaXR5L2F3cy1vdGVsLWNvbGxlY3RvcjpsYXRlc3RcIjtcblxuZXhwb3J0IGludGVyZmFjZSBPcGVuVGVsZW1ldHJ5RXh0ZW5zaW9uUHJvcHMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHNlcnZpY2UgdG8gdXNlIGluIHRoZSBPVGVsIGF0dHJpYnV0ZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdXNlIHRoZSBzZXJ2aWNlIGlkXG4gICAqL1xuICByZWFkb25seSBzZXJ2aWNlTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWVzcGFjZSBvZiB0aGUgc2VydmljZSB0byB1c2UgaW4gdGhlIE9UZWwgYXR0cmlidXRlcy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB1c2UgdGhlIHN0YWNrIG5hbWVcbiAgICovXG4gIHJlYWRvbmx5IHNlcnZpY2VOYW1lc3BhY2U/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEV4dHJhIGVudmlyb25tZW50IHNldHRpbmdzIHRvIHBhc3MgdG8gdGhlIHNlcnZpY2UgY29udGFpbmVyLlxuICAgKi9cbiAgcmVhZG9ubHkgZXh0cmFFbnZTZXR0aW5ncz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG59XG5cbmNsYXNzIEhvb2sgZXh0ZW5kcyBDb250YWluZXJNdXRhdGluZ0hvb2sge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHByb3BzOiBQYXJ0aWFsPENvbnRhaW5lckRlZmluaXRpb25PcHRpb25zPikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBtdXRhdGVDb250YWluZXJEZWZpbml0aW9uKFxuICAgIG9wdGlvbnM6IENvbnRhaW5lckRlZmluaXRpb25PcHRpb25zLFxuICApOiBDb250YWluZXJEZWZpbml0aW9uT3B0aW9ucyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAuLi50aGlzLnByb3BzLFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgLi4ub3B0aW9ucy5lbnZpcm9ubWVudCxcbiAgICAgICAgLi4udGhpcy5wcm9wcy5lbnZpcm9ubWVudCxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxufVxuXG4vKipcbiAqIEFkZHMgdGhlIE9wZW5UZWxlbWV0cnkgY29sbGVjdG9yIGFzIGEgc2lkZWNhciB0byB0aGUgRUNTIHRhc2suXG4gKi9cbmV4cG9ydCBjbGFzcyBPcGVuVGVsZW1ldHJ5RXh0ZW5zaW9uIGV4dGVuZHMgU2VydmljZUV4dGVuc2lvbiB7XG4gIHJlYWRvbmx5IHByb3BzOiBPcGVuVGVsZW1ldHJ5RXh0ZW5zaW9uUHJvcHM7XG5cbiAgY29uc3RydWN0b3IocHJvcHM6IE9wZW5UZWxlbWV0cnlFeHRlbnNpb25Qcm9wcykge1xuICAgIHN1cGVyKFwib3RlbC1leHRlbnNpb25cIik7XG4gICAgdGhpcy5wcm9wcyA9IHByb3BzO1xuICB9XG5cbiAgcHVibGljIHVzZVRhc2tEZWZpbml0aW9uKHRhc2tEZWZpbml0aW9uOiBUYXNrRGVmaW5pdGlvbik6IHZvaWQge1xuICAgIGxldCBjb250YWluZXJQcm9wczogQ29udGFpbmVyRGVmaW5pdGlvbk9wdGlvbnMgPSB7XG4gICAgICBpbWFnZTogRWNySW1hZ2UuZnJvbVJlZ2lzdHJ5KE9URUxfQ09MTEVDVE9SX0lNQUdFKSxcbiAgICAgIGNvbW1hbmQ6IFtcIi0tY29uZmlnPS9ldGMvZWNzL2Vjcy1kZWZhdWx0LWNvbmZpZy55YW1sXCJdLFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgQVdTX1JFR0lPTjogdGFza0RlZmluaXRpb24uc3RhY2sucmVnaW9uLFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgdGhpcy5jb250YWluZXJNdXRhdGluZ0hvb2tzLmZvckVhY2goKGhvb2spID0+IHtcbiAgICAgIGNvbnRhaW5lclByb3BzID0gaG9vay5tdXRhdGVDb250YWluZXJEZWZpbml0aW9uKGNvbnRhaW5lclByb3BzKTtcbiAgICB9KTtcblxuICAgIHRhc2tEZWZpbml0aW9uLmFkZENvbnRhaW5lcihcIm90ZWwtY29sbGVjdG9yLXNpZGVjYXJcIiwgY29udGFpbmVyUHJvcHMpO1xuXG4gICAgdGFza0RlZmluaXRpb24udGFza1JvbGUuYWRkTWFuYWdlZFBvbGljeShcbiAgICAgIE1hbmFnZWRQb2xpY3kuZnJvbUF3c01hbmFnZWRQb2xpY3lOYW1lKFwiQVdTWHJheVdyaXRlT25seUFjY2Vzc1wiKSxcbiAgICApO1xuXG4gICAgdGFza0RlZmluaXRpb24uYWRkVG9UYXNrUm9sZVBvbGljeShcbiAgICAgIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgXCJsb2dzOlB1dExvZ0V2ZW50c1wiLFxuICAgICAgICAgIFwibG9nczpEZXNjcmliZUxvZ1N0cmVhbXNcIixcbiAgICAgICAgICBcImxvZ3M6RGVzY3JpYmVMb2dHcm91cHNcIixcbiAgICAgICAgICBcImNsb3Vkd2F0Y2g6UHV0TWV0cmljRGF0YVwiLFxuICAgICAgICAgIFwiZWMyOkRlc2NyaWJlVm9sdW1lc1wiLFxuICAgICAgICAgIFwiZWMyOkRlc2NyaWJlVGFnc1wiLFxuICAgICAgICBdLFxuICAgICAgICByZXNvdXJjZXM6IFtcIipcIl0sXG4gICAgICAgIGVmZmVjdDogRWZmZWN0LkFMTE9XLFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIGFkZEhvb2tzKCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMucGFyZW50U2VydmljZS5zZXJ2aWNlRGVzY3JpcHRpb24uZ2V0KFxuICAgICAgXCJzZXJ2aWNlLWNvbnRhaW5lclwiLFxuICAgICkgYXMgQ29udGFpbmVyO1xuXG4gICAgaWYgKCFjb250YWluZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkNhbm5vdCBhcHBseSBleHRlbnNpb24sIG5vIG1haW4gYXBwIGNvbnRhaW5lciBmb3VuZFwiKTtcbiAgICB9XG5cbiAgICBsZXQgYXR0cmlidXRlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAgIFwiZGVwbG95bWVudC5lbnZpcm9ubWVudFwiOlxuICAgICAgICB0aGlzLnByb3BzLnNlcnZpY2VOYW1lc3BhY2UgPz8gU3RhY2sub2YodGhpcy5wYXJlbnRTZXJ2aWNlKS5zdGFja05hbWUsXG4gICAgICBcInNlcnZpY2UubmFtZXNwYWNlXCI6XG4gICAgICAgIHRoaXMucHJvcHMuc2VydmljZU5hbWVzcGFjZSA/PyBTdGFjay5vZih0aGlzLnBhcmVudFNlcnZpY2UpLnN0YWNrTmFtZSxcbiAgICAgIFwic2VydmljZS5uYW1lXCI6IHRoaXMucHJvcHMuc2VydmljZU5hbWUgPz8gdGhpcy5wYXJlbnRTZXJ2aWNlLmlkLFxuICAgIH07XG5cbiAgICBjb25zdCByZXNvdXJjZUF0dHJpYnV0ZXNMaXN0ID0gT2JqZWN0LmVudHJpZXMoYXR0cmlidXRlcylcbiAgICAgIC5tYXAoKFtrLCB2XSkgPT4gYCR7a309JHt2fWApXG4gICAgICAuam9pbihcIixcIik7XG5cbiAgICBjb250YWluZXIuYWRkQ29udGFpbmVyTXV0YXRpbmdIb29rKFxuICAgICAgbmV3IEhvb2soe1xuICAgICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICAgIC8vIFRPRE86IG5lZWQgdG8gaW50ZWdyYXRlIGNsb3Vkd2F0Y2ggYXBwIHNpZ25hbHMgY29sbGVjdG9yXG4gICAgICAgICAgLy8gT1RFTF9BV1NfQVBQTElDQVRJT05fU0lHTkFMU19FTkFCTEVEOiBcInRydWVcIixcbiAgICAgICAgICBPVEVMX1JFU09VUkNFX0FUVFJJQlVURVM6IHJlc291cmNlQXR0cmlidXRlc0xpc3QsXG4gICAgICAgICAgLi4uKHRoaXMucHJvcHMuZXh0cmFFbnZTZXR0aW5ncyA/PyB7fSksXG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -3,6 +3,7 @@ import * as ecs from "aws-cdk-lib/aws-ecs";
3
3
  import { ILogGroup } from "aws-cdk-lib/aws-logs";
4
4
  import { ISecret } from "aws-cdk-lib/aws-secretsmanager";
5
5
  import { Construct } from "constructs";
6
+ import { IAuroraPostgresDB } from "../platform";
6
7
  /**
7
8
  * Optional overrides for the environment variable names injected into
8
9
  * application containers.
@@ -41,8 +42,9 @@ export interface EnvironmentVariableNames {
41
42
  }
42
43
  export interface PostgresDbAccessExtensionProps {
43
44
  /**
44
- * The name of the base platform stack. This name is used to look up output
45
- * parameters.
45
+ * The name of the base platform stack. Used to look up output parameters when
46
+ * {@link PostgresDbAccessExtensionProps.auroraPostgresDB} is not provided. Falls back to
47
+ * `BasePlatformStackResolver` (CDK context) when also omitted.
46
48
  */
47
49
  readonly basePlatformStackName?: string;
48
50
  /**
@@ -84,13 +86,26 @@ export interface PostgresDbAccessExtensionProps {
84
86
  * @default "migrate"
85
87
  */
86
88
  readonly migrationParameter?: string;
89
+ /**
90
+ * Aurora PostgreSQL cluster to use directly.
91
+ *
92
+ * When provided, the extension uses this construct as-is and no cross-stack
93
+ * import via {@link AuroraPostgresCluster.fromBasePlatform} is performed. Use
94
+ * this when the Aurora cluster resides in the same CDK stack as the ECS service.
95
+ *
96
+ * When omitted, the extension imports the cluster from the base platform stack
97
+ * identified by {@link PostgresDbAccessExtensionProps.basePlatformStackName}.
98
+ */
99
+ readonly auroraPostgresDB?: IAuroraPostgresDB;
87
100
  }
88
101
  /**
89
102
  * ECS service extension that grants an ECS service access to an Aurora Postgres
90
103
  * database created by the base platform.
91
104
  *
92
105
  * What it does:
93
- * - Imports DB endpoint, secrets and security group IDs from the base platform stack outputs.
106
+ * - Resolves DB endpoint, secrets and security group from either a directly
107
+ * injected {@link IAuroraPostgresDB} (same-stack) or from the base platform
108
+ * stack outputs via {@link AuroraPostgresCluster.fromBasePlatform} (cross-stack).
94
109
  * - Allows the service SG to connect to the DB SG on port 5432.
95
110
  * - Injects connection details into selected containers via container hooks.
96
111
  * - Optionally adds a one-shot migration container and wires dependencies so the
@@ -100,14 +115,22 @@ export declare class PostgresDbAccessExtension extends ServiceExtension {
100
115
  readonly props: PostgresDbAccessExtensionProps;
101
116
  /** Connection-string secret created for this service (populated in {@link prehook}). */
102
117
  connectionString: ISecret;
103
- /** Credentials secret imported from base platform (populated in {@link prehook}). */
118
+ /** Credentials secret resolved from the Aurora cluster (populated in {@link prehook}). */
104
119
  credentialsSecret: ISecret;
105
- /** Database endpoint imported from base platform (populated in {@link prehook}). */
120
+ /** Database endpoint resolved from the Aurora cluster (populated in {@link prehook}). */
106
121
  endpoint: string;
122
+ /** Security group of the Aurora cluster, used for network access (populated in {@link prehook}). */
123
+ private resolvedDb;
107
124
  constructor(props: PostgresDbAccessExtensionProps);
108
125
  /**
109
- * Resolves base-platform outputs (endpoint, secret ARNs) and prepares a
110
- * service-specific connection-string secret.
126
+ * Resolves Aurora cluster outputs (endpoint, secret ARNs, security group) and
127
+ * prepares a service-specific connection-string secret.
128
+ *
129
+ * Uses the directly injected {@link IAuroraPostgresDB} when available (same-stack),
130
+ * otherwise imports from the base platform stack via
131
+ * {@link AuroraPostgresCluster.fromBasePlatform}. Falls back to
132
+ * `BasePlatformStackResolver` (CDK context) when
133
+ * {@link PostgresDbAccessExtensionProps.basePlatformStackName} is also absent.
111
134
  */
112
135
  prehook(parent: Service, _scope: Construct): void;
113
136
  /**