@btc-embedded/cdk-extensions 0.15.0 → 0.17.0

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 (46) hide show
  1. package/.jsii +225 -177
  2. package/API.md +175 -140
  3. package/CHANGELOG.md +35 -0
  4. package/lib/constructs/EventPipe.js +1 -1
  5. package/lib/constructs/S3Bucket.js +1 -1
  6. package/lib/constructs/SecureRestApi.js +1 -1
  7. package/lib/constructs/SecureRestApiV2.js +1 -1
  8. package/lib/extensions/ApiGatewayExtension.js +1 -1
  9. package/lib/extensions/ApplicationLoadBalancerExtension.js +1 -1
  10. package/lib/extensions/ApplicationLoadBalancerExtensionV2.js +1 -1
  11. package/lib/extensions/CloudMapExtension.js +1 -1
  12. package/lib/extensions/DeactivatableServiceExtension.js +1 -1
  13. package/lib/extensions/DocumentDbAccessExtension.js +1 -1
  14. package/lib/extensions/DomainEventMessagingExtension.js +1 -1
  15. package/lib/extensions/EfsMountExtension.js +1 -1
  16. package/lib/extensions/ExtraContainerExtension.js +1 -1
  17. package/lib/extensions/HTTPApiExtension.d.ts +9 -2
  18. package/lib/extensions/HTTPApiExtension.js +22 -21
  19. package/lib/extensions/LogExtension.js +1 -1
  20. package/lib/extensions/ModifyContainerDefinitionExtension.js +1 -1
  21. package/lib/extensions/ModifyTaskDefinitionExtension.js +1 -1
  22. package/lib/extensions/OpenTelemetryExtension.js +1 -1
  23. package/lib/extensions/PostgresDbAccessExtension.d.ts +0 -4
  24. package/lib/extensions/PostgresDbAccessExtension.js +4 -3
  25. package/lib/extensions/SharedVolumeExtension.js +1 -1
  26. package/lib/extensions/TcpKeepAliveExtension.js +1 -1
  27. package/lib/platform/ApiGateway.js +1 -1
  28. package/lib/platform/{ApiGatewayV2.d.ts → ApiGatewayVpcLink.d.ts} +13 -13
  29. package/lib/platform/ApiGatewayVpcLink.js +78 -0
  30. package/lib/platform/ApplicationLoadBalancer.js +1 -1
  31. package/lib/platform/ApplicationLoadBalancerV2.d.ts +2 -2
  32. package/lib/platform/ApplicationLoadBalancerV2.js +3 -3
  33. package/lib/platform/BTCLogGroup.js +1 -1
  34. package/lib/platform/CognitoUserPool.d.ts +8 -1
  35. package/lib/platform/CognitoUserPool.js +19 -3
  36. package/lib/platform/DefaultUserPoolClients.js +1 -1
  37. package/lib/platform/DocumentDB.js +2 -2
  38. package/lib/platform/EfsFileSystem.js +1 -1
  39. package/lib/platform/PrivateDnsNamespace.js +1 -1
  40. package/lib/platform/ResourceServer.js +1 -1
  41. package/lib/platform/Vpc.js +1 -1
  42. package/lib/platform/index.d.ts +1 -1
  43. package/lib/platform/index.js +2 -2
  44. package/lib/utils/StackParameter.js +1 -1
  45. package/package.json +1 -1
  46. package/lib/platform/ApiGatewayV2.js +0 -78
@@ -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.15.0" };
86
+ OpenTelemetryExtension[_a] = { fqn: "@btc-embedded/cdk-extensions.OpenTelemetryExtension", version: "0.17.0" };
87
87
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlblRlbGVtZXRyeUV4dGVuc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHRlbnNpb25zL09wZW5UZWxlbWV0cnlFeHRlbnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx1RkFJb0Q7QUFDcEQsNkNBQW9DO0FBQ3BDLGlEQUk2QjtBQUM3QixpREFBNkU7QUFFaEUsUUFBQSxvQkFBb0IsR0FDL0IsNERBQTRELENBQUM7QUF1Qi9ELE1BQU0sSUFBSyxTQUFRLDhDQUFxQjtJQUN0QyxZQUE2QixLQUEwQztRQUNyRSxLQUFLLEVBQUUsQ0FBQztRQURtQixVQUFLLEdBQUwsS0FBSyxDQUFxQztJQUV2RSxDQUFDO0lBRUQseUJBQXlCLENBQ3ZCLE9BQW1DO1FBRW5DLE9BQU87WUFDTCxHQUFHLE9BQU87WUFDVixHQUFHLElBQUksQ0FBQyxLQUFLO1lBQ2IsV0FBVyxFQUFFO2dCQUNYLEdBQUcsT0FBTyxDQUFDLFdBQVc7Z0JBQ3RCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXO2FBQzFCO1NBQ0YsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQUVEOztHQUVHO0FBQ0gsTUFBYSxzQkFBdUIsU0FBUSx5Q0FBZ0I7SUFHMUQsWUFBWSxLQUFrQztRQUM1QyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRU0saUJBQWlCLENBQUMsY0FBOEI7UUFDckQsSUFBSSxjQUFjLEdBQStCO1lBQy9DLEtBQUssRUFBRSxrQkFBUSxDQUFDLFlBQVksQ0FBQyw0QkFBb0IsQ0FBQztZQUNsRCxPQUFPLEVBQUUsQ0FBQywyQ0FBMkMsQ0FBQztZQUN0RCxXQUFXLEVBQUU7Z0JBQ1gsVUFBVSxFQUFFLGNBQWMsQ0FBQyxLQUFLLENBQUMsTUFBTTthQUN4QztTQUNGLENBQUM7UUFFRixJQUFJLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDM0MsY0FBYyxHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNsRSxDQUFDLENBQUMsQ0FBQztRQUVILGNBQWMsQ0FBQyxZQUFZLENBQUMsd0JBQXdCLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFFdEUsY0FBYyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FDdEMsdUJBQWEsQ0FBQyx3QkFBd0IsQ0FBQyx3QkFBd0IsQ0FBQyxDQUNqRSxDQUFDO1FBRUYsY0FBYyxDQUFDLG1CQUFtQixDQUNoQyxJQUFJLHlCQUFlLENBQUM7WUFDbEIsT0FBTyxFQUFFO2dCQUNQLG1CQUFtQjtnQkFDbkIseUJBQXlCO2dCQUN6Qix3QkFBd0I7Z0JBQ3hCLDBCQUEwQjtnQkFDMUIscUJBQXFCO2dCQUNyQixrQkFBa0I7YUFDbkI7WUFDRCxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUM7WUFDaEIsTUFBTSxFQUFFLGdCQUFNLENBQUMsS0FBSztTQUNyQixDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxRQUFRO1FBQ04sTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQ3pELG1CQUFtQixDQUNQLENBQUM7UUFFZixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDZixNQUFNLElBQUksS0FBSyxDQUFDLHFEQUFxRCxDQUFDLENBQUM7UUFDekUsQ0FBQztRQUVELElBQUksVUFBVSxHQUEyQjtZQUN2Qyx3QkFBd0IsRUFDdEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsSUFBSSxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsU0FBUztZQUN2RSxtQkFBbUIsRUFDakIsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsSUFBSSxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsU0FBUztZQUN2RSxjQUFjLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFO1NBQ2hFLENBQUM7UUFFRixNQUFNLHNCQUFzQixHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO2FBQ3RELEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQzthQUM1QixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFYixTQUFTLENBQUMsd0JBQXdCLENBQ2hDLElBQUksSUFBSSxDQUFDO1lBQ1AsV0FBVyxFQUFFO2dCQUNYLDJEQUEyRDtnQkFDM0QsZ0RBQWdEO2dCQUNoRCx3QkFBd0IsRUFBRSxzQkFBc0I7Z0JBQ2hELEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixJQUFJLEVBQUUsQ0FBQzthQUN2QztTQUNGLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7QUExRUgsd0RBMkVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29udGFpbmVyLFxuICBDb250YWluZXJNdXRhdGluZ0hvb2ssXG4gIFNlcnZpY2VFeHRlbnNpb24sXG59IGZyb20gXCJAYXdzLWNkay1jb250YWluZXJzL2Vjcy1zZXJ2aWNlLWV4dGVuc2lvbnNcIjtcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQge1xuICBDb250YWluZXJEZWZpbml0aW9uT3B0aW9ucyxcbiAgRWNySW1hZ2UsXG4gIFRhc2tEZWZpbml0aW9uLFxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjc1wiO1xuaW1wb3J0IHsgRWZmZWN0LCBNYW5hZ2VkUG9saWN5LCBQb2xpY3lTdGF0ZW1lbnQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiO1xuXG5leHBvcnQgY29uc3QgT1RFTF9DT0xMRUNUT1JfSU1BR0UgPVxuICBcInB1YmxpYy5lY3IuYXdzL2F3cy1vYnNlcnZhYmlsaXR5L2F3cy1vdGVsLWNvbGxlY3RvcjpsYXRlc3RcIjtcblxuZXhwb3J0IGludGVyZmFjZSBPcGVuVGVsZW1ldHJ5RXh0ZW5zaW9uUHJvcHMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHNlcnZpY2UgdG8gdXNlIGluIHRoZSBPVGVsIGF0dHJpYnV0ZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdXNlIHRoZSBzZXJ2aWNlIGlkXG4gICAqL1xuICByZWFkb25seSBzZXJ2aWNlTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWVzcGFjZSBvZiB0aGUgc2VydmljZSB0byB1c2UgaW4gdGhlIE9UZWwgYXR0cmlidXRlcy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB1c2UgdGhlIHN0YWNrIG5hbWVcbiAgICovXG4gIHJlYWRvbmx5IHNlcnZpY2VOYW1lc3BhY2U/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEV4dHJhIGVudmlyb25tZW50IHNldHRpbmdzIHRvIHBhc3MgdG8gdGhlIHNlcnZpY2UgY29udGFpbmVyLlxuICAgKi9cbiAgcmVhZG9ubHkgZXh0cmFFbnZTZXR0aW5ncz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG59XG5cbmNsYXNzIEhvb2sgZXh0ZW5kcyBDb250YWluZXJNdXRhdGluZ0hvb2sge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHByb3BzOiBQYXJ0aWFsPENvbnRhaW5lckRlZmluaXRpb25PcHRpb25zPikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBtdXRhdGVDb250YWluZXJEZWZpbml0aW9uKFxuICAgIG9wdGlvbnM6IENvbnRhaW5lckRlZmluaXRpb25PcHRpb25zLFxuICApOiBDb250YWluZXJEZWZpbml0aW9uT3B0aW9ucyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAuLi50aGlzLnByb3BzLFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgLi4ub3B0aW9ucy5lbnZpcm9ubWVudCxcbiAgICAgICAgLi4udGhpcy5wcm9wcy5lbnZpcm9ubWVudCxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxufVxuXG4vKipcbiAqIEFkZHMgdGhlIE9wZW5UZWxlbWV0cnkgY29sbGVjdG9yIGFzIGEgc2lkZWNhciB0byB0aGUgRUNTIHRhc2suXG4gKi9cbmV4cG9ydCBjbGFzcyBPcGVuVGVsZW1ldHJ5RXh0ZW5zaW9uIGV4dGVuZHMgU2VydmljZUV4dGVuc2lvbiB7XG4gIHJlYWRvbmx5IHByb3BzOiBPcGVuVGVsZW1ldHJ5RXh0ZW5zaW9uUHJvcHM7XG5cbiAgY29uc3RydWN0b3IocHJvcHM6IE9wZW5UZWxlbWV0cnlFeHRlbnNpb25Qcm9wcykge1xuICAgIHN1cGVyKFwib3RlbC1leHRlbnNpb25cIik7XG4gICAgdGhpcy5wcm9wcyA9IHByb3BzO1xuICB9XG5cbiAgcHVibGljIHVzZVRhc2tEZWZpbml0aW9uKHRhc2tEZWZpbml0aW9uOiBUYXNrRGVmaW5pdGlvbik6IHZvaWQge1xuICAgIGxldCBjb250YWluZXJQcm9wczogQ29udGFpbmVyRGVmaW5pdGlvbk9wdGlvbnMgPSB7XG4gICAgICBpbWFnZTogRWNySW1hZ2UuZnJvbVJlZ2lzdHJ5KE9URUxfQ09MTEVDVE9SX0lNQUdFKSxcbiAgICAgIGNvbW1hbmQ6IFtcIi0tY29uZmlnPS9ldGMvZWNzL2Vjcy1kZWZhdWx0LWNvbmZpZy55YW1sXCJdLFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgQVdTX1JFR0lPTjogdGFza0RlZmluaXRpb24uc3RhY2sucmVnaW9uLFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgdGhpcy5jb250YWluZXJNdXRhdGluZ0hvb2tzLmZvckVhY2goKGhvb2spID0+IHtcbiAgICAgIGNvbnRhaW5lclByb3BzID0gaG9vay5tdXRhdGVDb250YWluZXJEZWZpbml0aW9uKGNvbnRhaW5lclByb3BzKTtcbiAgICB9KTtcblxuICAgIHRhc2tEZWZpbml0aW9uLmFkZENvbnRhaW5lcihcIm90ZWwtY29sbGVjdG9yLXNpZGVjYXJcIiwgY29udGFpbmVyUHJvcHMpO1xuXG4gICAgdGFza0RlZmluaXRpb24udGFza1JvbGUuYWRkTWFuYWdlZFBvbGljeShcbiAgICAgIE1hbmFnZWRQb2xpY3kuZnJvbUF3c01hbmFnZWRQb2xpY3lOYW1lKFwiQVdTWHJheVdyaXRlT25seUFjY2Vzc1wiKSxcbiAgICApO1xuXG4gICAgdGFza0RlZmluaXRpb24uYWRkVG9UYXNrUm9sZVBvbGljeShcbiAgICAgIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgXCJsb2dzOlB1dExvZ0V2ZW50c1wiLFxuICAgICAgICAgIFwibG9nczpEZXNjcmliZUxvZ1N0cmVhbXNcIixcbiAgICAgICAgICBcImxvZ3M6RGVzY3JpYmVMb2dHcm91cHNcIixcbiAgICAgICAgICBcImNsb3Vkd2F0Y2g6UHV0TWV0cmljRGF0YVwiLFxuICAgICAgICAgIFwiZWMyOkRlc2NyaWJlVm9sdW1lc1wiLFxuICAgICAgICAgIFwiZWMyOkRlc2NyaWJlVGFnc1wiLFxuICAgICAgICBdLFxuICAgICAgICByZXNvdXJjZXM6IFtcIipcIl0sXG4gICAgICAgIGVmZmVjdDogRWZmZWN0LkFMTE9XLFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIGFkZEhvb2tzKCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMucGFyZW50U2VydmljZS5zZXJ2aWNlRGVzY3JpcHRpb24uZ2V0KFxuICAgICAgXCJzZXJ2aWNlLWNvbnRhaW5lclwiLFxuICAgICkgYXMgQ29udGFpbmVyO1xuXG4gICAgaWYgKCFjb250YWluZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkNhbm5vdCBhcHBseSBleHRlbnNpb24sIG5vIG1haW4gYXBwIGNvbnRhaW5lciBmb3VuZFwiKTtcbiAgICB9XG5cbiAgICBsZXQgYXR0cmlidXRlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAgIFwiZGVwbG95bWVudC5lbnZpcm9ubWVudFwiOlxuICAgICAgICB0aGlzLnByb3BzLnNlcnZpY2VOYW1lc3BhY2UgPz8gU3RhY2sub2YodGhpcy5wYXJlbnRTZXJ2aWNlKS5zdGFja05hbWUsXG4gICAgICBcInNlcnZpY2UubmFtZXNwYWNlXCI6XG4gICAgICAgIHRoaXMucHJvcHMuc2VydmljZU5hbWVzcGFjZSA/PyBTdGFjay5vZih0aGlzLnBhcmVudFNlcnZpY2UpLnN0YWNrTmFtZSxcbiAgICAgIFwic2VydmljZS5uYW1lXCI6IHRoaXMucHJvcHMuc2VydmljZU5hbWUgPz8gdGhpcy5wYXJlbnRTZXJ2aWNlLmlkLFxuICAgIH07XG5cbiAgICBjb25zdCByZXNvdXJjZUF0dHJpYnV0ZXNMaXN0ID0gT2JqZWN0LmVudHJpZXMoYXR0cmlidXRlcylcbiAgICAgIC5tYXAoKFtrLCB2XSkgPT4gYCR7a309JHt2fWApXG4gICAgICAuam9pbihcIixcIik7XG5cbiAgICBjb250YWluZXIuYWRkQ29udGFpbmVyTXV0YXRpbmdIb29rKFxuICAgICAgbmV3IEhvb2soe1xuICAgICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICAgIC8vIFRPRE86IG5lZWQgdG8gaW50ZWdyYXRlIGNsb3Vkd2F0Y2ggYXBwIHNpZ25hbHMgY29sbGVjdG9yXG4gICAgICAgICAgLy8gT1RFTF9BV1NfQVBQTElDQVRJT05fU0lHTkFMU19FTkFCTEVEOiBcInRydWVcIixcbiAgICAgICAgICBPVEVMX1JFU09VUkNFX0FUVFJJQlVURVM6IHJlc291cmNlQXR0cmlidXRlc0xpc3QsXG4gICAgICAgICAgLi4uKHRoaXMucHJvcHMuZXh0cmFFbnZTZXR0aW5ncyA/PyB7fSksXG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -41,10 +41,6 @@ export interface PostgresDbAccessExtensionProps {
41
41
  * parameters.
42
42
  */
43
43
  readonly basePlatformStackName: string;
44
- /**
45
- * Security group ID of the Postgres DB cluster.
46
- */
47
- readonly securityGroupId: string;
48
44
  /**
49
45
  * The name of the database.
50
46
  */
@@ -80,7 +80,8 @@ class PostgresDbAccessExtension extends ecs_service_extensions_1.ServiceExtensio
80
80
  }
81
81
  }
82
82
  useService(service) {
83
- aws_ec2_1.SecurityGroup.fromLookupById(service, "PostgresDbSecurityGroup", this.props.securityGroupId).connections.allowFrom(service, aws_ec2_1.Port.tcp(5432));
83
+ const sgId = (0, utils_1.importValue)(this.props.basePlatformStackName, "aurora-postgres-db", "security-group-id");
84
+ aws_ec2_1.SecurityGroup.fromSecurityGroupId(service, "PostgresDbSecurityGroup", sgId).connections.allowFrom(service, aws_ec2_1.Port.tcp(5432));
84
85
  }
85
86
  useTaskDefinition(taskDefinition) {
86
87
  if (!this.props.enableMigration) {
@@ -123,5 +124,5 @@ class PostgresDbAccessExtension extends ecs_service_extensions_1.ServiceExtensio
123
124
  }
124
125
  exports.PostgresDbAccessExtension = PostgresDbAccessExtension;
125
126
  _a = JSII_RTTI_SYMBOL_1;
126
- PostgresDbAccessExtension[_a] = { fqn: "@btc-embedded/cdk-extensions.PostgresDbAccessExtension", version: "0.15.0" };
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUG9zdGdyZXNEYkFjY2Vzc0V4dGVuc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHRlbnNpb25zL1Bvc3RncmVzRGJBY2Nlc3NFeHRlbnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx1RkFLb0Q7QUFDcEQsNkNBQTBDO0FBQzFDLGlEQUEwRDtBQUMxRCxpREFBaUQ7QUFDakQsMkNBQTJDO0FBRTNDLHVFQUFpRTtBQUVqRSxvQ0FBaUU7QUFpR2pFLE1BQU0saUJBQWtCLFNBQVEsOENBQXFCO0lBR25ELFlBQ1Usc0JBQStCLEVBQy9CLGlCQUEwQixFQUMxQixRQUFnQixFQUNoQixNQUFjLEVBQ3RCLDJCQUFxRCxFQUFFO1FBRXZELEtBQUssRUFBRSxDQUFDO1FBTkEsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUFTO1FBQy9CLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBUztRQUMxQixhQUFRLEdBQVIsUUFBUSxDQUFRO1FBQ2hCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFLdEIsSUFBSSxDQUFDLFdBQVcsR0FBRztZQUNqQixXQUFXLEVBQUUsY0FBYztZQUMzQixnQkFBZ0IsRUFBRSxtQkFBbUI7WUFDckMsZ0JBQWdCLEVBQUUsbUJBQW1CO1lBQ3JDLGdCQUFnQixFQUFFLG1CQUFtQjtZQUNyQyxnQkFBZ0IsRUFBRSxtQkFBbUI7WUFDckMsR0FBRyx3QkFBd0I7U0FDNUIsQ0FBQztJQUNKLENBQUM7SUFFRCx5QkFBeUIsQ0FDdkIsS0FBcUM7UUFFckMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRXBFLE9BQU87WUFDTCxHQUFHLEtBQUs7WUFDUixPQUFPLEVBQUU7Z0JBQ1AsR0FBRyxLQUFLLENBQUMsT0FBTztnQkFDaEIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMs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QUFHLENBQUMsNEJBQTRCLENBQUMsT0FBTztTQUNwRCxDQUFDLENBQUM7UUFDSCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7O0FBNUlILDhEQTZJQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbnRhaW5lck11dGF0aW5nSG9vayxcbiAgU2VydmljZSxcbiAgU2VydmljZUJ1aWxkLFxuICBTZXJ2aWNlRXh0ZW5zaW9uLFxufSBmcm9tIFwiQGF3cy1jZGstY29udGFpbmVycy9lY3Mtc2VydmljZS1leHRlbnNpb25zXCI7XG5pbXBvcnQgeyBTZWNyZXRWYWx1ZSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgUG9ydCwgU2VjdXJpdHlHcm91cCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWMyXCI7XG5pbXBvcnQgeyBSZXBvc2l0b3J5IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lY3JcIjtcbmltcG9ydCAqIGFzIGVjcyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjc1wiO1xuaW1wb3J0IHsgSUxvZ0dyb3VwIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sb2dzXCI7XG5pbXBvcnQgeyBJU2VjcmV0LCBTZWNyZXQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXNlY3JldHNtYW5hZ2VyXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgZmlsdGVyRGJBY2Nlc3NDb250YWluZXJzLCBpbXBvcnRWYWx1ZSB9IGZyb20gXCIuLi91dGlsc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEVudmlyb25tZW50VmFyaWFibGVOYW1lcyB7XG4gIC8qKlxuICAgKiBFbnZpcm9ubWVudCB2YXJpYWJsZSBmb3IgdGhlIGNvbm5jdGlvbiBzdHJpbmcuXG4gICAqXG4gICAqIEBkZWZhdWx0IERBVEFCQVNFX1VSTFxuICAgKi9cbiAgcmVhZG9ubHkgZGF0YWJhc2VVcmw/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEVudmlyb25tZW50IHZhcmlhYmxlIGZvciB0aGUgUG9zdGdyZXMgZW5kcG9pbnQuXG4gICAqXG4gICAqIEBkZWZhdWx0IFBPU1RHUkVTX0VORFBPSU5UXG4gICAqL1xuICByZWFkb25seSBwb3N0Z3Jlc0VuZHBvaW50Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFbnZpcm9ubWVudCB2YXJpYWJsZSBmb3IgdGhlIFBvc3RncmVzIGRhdGFiYXNlIG5hbWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IFBPU1RHUkVTX0RBVEFCQVNFXG4gICAqL1xuICByZWFkb25seSBwb3N0Z3Jlc0RhdGFiYXNlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFbnZpcm9ubWVudCB2YXJpYWJsZSBmb3IgdGhlIFBvc3RncmVzIHVzZXJuYW1lLlxuICAgKlxuICAgKiBAZGVmYXVsdCBQT1NUR1JFU19VU0VSTkFNRVxuICAgKi9cbiAgcmVhZG9ubHkgcG9zdGdyZXNVc2VybmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogRW52aXJvbm1lbnQgdmFyaWFibGUgZm9yIHRoZSBQb3N0Z3JlcyBwYXNzd29yZC5cbiAgICpcbiAgICogQGRlZmF1bHQgUE9TVEdSRVNfUEFTU1dPUkRcbiAgICovXG4gIHJlYWRvbmx5IHBvc3RncmVzUGFzc3dvcmQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9zdGdyZXNEYkFjY2Vzc0V4dGVuc2lvblByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBiYXNlIHBsYXRmb3JtIHN0YWNrLiBUaGlzIG5hbWUgaXMgdXNlZCB0byBsb29rIHVwIG91dHB1dFxuICAgKiBwYXJhbWV0ZXJzLlxuICAgKi9cbiAgcmVhZG9ubHkgYmFzZVBsYXRmb3JtU3RhY2tOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNlY3VyaXR5IGdyb3VwIElEIG9mIHRoZSBQb3N0Z3JlcyBEQiBjbHVzdGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgc2VjdXJpdHlHcm91cElkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBkYXRhYmFzZS5cbiAgICovXG4gIHJlYWRvbmx5IGRiTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZ5IGEgbG9nIGdyb3VwIHRvIHVzZSBmb3IgdGhlIGRhdGFiYXNlIG1pZ3JhdGlvbiBjb250YWluZXIuXG4gICAqXG4gICAqIFRoaXMgbG9nIGdyb3VwIGlzIHVzZWQgd2hlbiB0aGUgbG9nIGV4dGVuc2lvbiBpcyBub3QgYWRkZWQgdG8gdGhlIHNlcnZpY2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gY3JlYXRlcyBhIG5ldyBsb2cgZ3JvdXBcbiAgICovXG4gIHJlYWRvbmx5IGxvZ0dyb3VwPzogSUxvZ0dyb3VwO1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIGNvbm5lY3Rpb24gcHJvcGVydGllcyB0byBiZSBhZGRlZCB0byB0aGUgZGF0YWJhc2UgY29ubmVjdGlvblxuICAgKiBzdHJpbmcgYXMgcXVlcnkgcGFyYW1ldGVycy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBhZGRzIFwic2NoZW1hPXB1YmxpY1wiIHRvIHRoZSBjb25uZWN0aW9uIHN0cmluZ1xuICAgKi9cbiAgcmVhZG9ubHkgZGJDb25uZWN0aW9uUHJvcGVydGllcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbiAgLyoqXG4gICAqIEFkanVzdCB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGVzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVzZXMgdGhlIGRlZmF1bHQgZW52aXJvbm1lbnQgdmFyaWFibGUgbmFtZXNcbiAgICovXG4gIHJlYWRvbmx5IGVudmlyb25tZW50VmFyaWFibGVOYW1lcz86IEVudmlyb25tZW50VmFyaWFibGVOYW1lcztcblxuICAvKipcbiAgICogRW5hYmxlIGRhdGFiYXNlIG1pZ3JhdGlvbiBieSBjYWxsaW5nIHRoZSBkZWZhdWx0IGltYWdlIHdpdGggdGhlIG1pZ3JhdGlvblxuICAgKiBwYXJhbWV0ZXIuIFRoZSBpbWFnZSBoYXMgdG8gc3VwcG9ydCBtaWdyYXRpb24uXG4gICAqIFRoZSBkYXRhYmFzZSB2YXJpYWJsZXMgd2lsbCBiZSBwYXNzZWQgdG8gdGhlIGNvbnRhaW5lciBhcyBjb25maWd1cmVkIGZvclxuICAgKiB0aGUgZXh0ZW5zaW9uLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlTWlncmF0aW9uPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIHBhcmFtZXRlciBwYXNzZWQgdG8gdGhlIGRlZmF1bHQgY29udGFpbmVyIHRvIHBlcmZvcm0gdGhlIGRhdGFiYXNlIG1pZ3JhdGlvbi5cbiAgICpcbiAgICogQGRlZmF1bHQgXCJtaWdyYXRlXCJcbiAgICovXG4gIHJlYWRvbmx5IG1pZ3JhdGlvblBhcmFtZXRlcj86IHN0cmluZztcbn1cblxuY2xhc3MgQWRkUG9zdGdyZXNEYkhvb2sgZXh0ZW5kcyBDb250YWluZXJNdXRhdGluZ0hvb2sge1xuICByZWFkb25seSBlbnZWYXJOYW1lczogUmVxdWlyZWQ8RW52aXJvbm1lbnRWYXJpYWJsZU5hbWVzPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvbm5lY3Rpb25TdHJpbmdTZWNyZXQ6IElTZWNyZXQsXG4gICAgcHJpdmF0ZSBjcmVkZW50aWFsc1NlY3JldDogSVNlY3JldCxcbiAgICBwcml2YXRlIGVuZHBvaW50OiBzdHJpbmcsXG4gICAgcHJpdmF0ZSBkYk5hbWU6IHN0cmluZyxcbiAgICBlbnZpcm9ubWVudFZhcmlhYmxlTmFtZXM6IEVudmlyb25tZW50VmFyaWFibGVOYW1lcyA9IHt9LFxuICApIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5lbnZWYXJOYW1lcyA9IHtcbiAgICAgIGRhdGFiYXNlVXJsOiBcIkRBVEFCQVNFX1VSTFwiLFxuICAgICAgcG9zdGdyZXNFbmRwb2ludDogXCJQT1NUR1JFU19FTkRQT0lOVFwiLFxuICAgICAgcG9zdGdyZXNEYXRhYmFzZTogXCJQT1NUR1JFU19EQVRBQkFTRVwiLFxuICAgICAgcG9zdGdyZXNVc2VybmFtZTogXCJQT1NUR1JFU19VU0VSTkFNRVwiLFxuICAgICAgcG9zdGdyZXNQYXNzd29yZDogXCJQT1NUR1JFU19QQVNTV09SRFwiLFxuICAgICAgLi4uZW52aXJvbm1lbnRWYXJpYWJsZU5hbWVzLFxuICAgIH07XG4gIH1cblxuICBtdXRhdGVDb250YWluZXJEZWZpbml0aW9uKFxuICAgIHByb3BzOiBlY3MuQ29udGFpbmVyRGVmaW5pdGlvbk9wdGlvbnMsXG4gICk6IGVjcy5Db250YWluZXJEZWZpbml0aW9uT3B0aW9ucyB7XG4gICAgY29uc3QgY3JlZGVudGlhbHMgPSB0aGlzLmV4dHJhY3RDcmVkZW50aWFscyh0aGlzLmNyZWRlbnRpYWxzU2VjcmV0KTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5wcm9wcyxcbiAgICAgIHNlY3JldHM6IHtcbiAgICAgICAgLi4ucHJvcHMuc2VjcmV0cyxcbiAgICAgICAgW3RoaXMuZW52VmFyTmFtZXMuZGF0YWJhc2VVcmxdOiBlY3MuU2VjcmV0LmZyb21TZWNyZXRzTWFuYWdlcihcbiAgICAgICAgICB0aGlzLmNvbm5lY3Rpb25TdHJpbmdTZWNyZXQsXG4gICAgICAgICksXG4gICAgICAgIC4uLmNyZWRlbnRpYWxzLFxuICAgICAgfSxcbiAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgIC4uLnByb3BzLmVudmlyb25tZW50LFxuICAgICAgICBbdGhpcy5lbnZWYXJOYW1lcy5wb3N0Z3Jlc0VuZHBvaW50XTogdGhpcy5lbmRwb2ludCxcbiAgICAgICAgW3RoaXMuZW52VmFyTmFtZXMucG9zdGdyZXNEYXRhYmFzZV06IHRoaXMuZGJOYW1lLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBleHRyYWN0Q3JlZGVudGlhbHMoc2VjcmV0OiBJU2VjcmV0KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIFt0aGlzLmVudlZhck5hbWVzLnBvc3RncmVzVXNlcm5hbWVdOiBlY3MuU2VjcmV0LmZyb21TZWNyZXRzTWFuYWdlcihcbiAgICAgICAgc2VjcmV0LFxuICAgICAgICBcInVzZXJuYW1lXCIsXG4gICAgICApLFxuICAgICAgW3RoaXMuZW52VmFyTmFtZXMucG9zdGdyZXNQYXNzd29yZF06IGVjcy5TZWNyZXQuZnJvbVNlY3JldHNNYW5hZ2VyKFxuICAgICAgICBzZWNyZXQsXG4gICAgICAgIFwicGFzc3dvcmRcIixcbiAgICAgICksXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgUG9zdGdyZXNEYkFjY2Vzc0V4dGVuc2lvbiBleHRlbmRzIFNlcnZpY2VFeHRlbnNpb24ge1xuICByZWFkb25seSBwcm9wczogUG9zdGdyZXNEYkFjY2Vzc0V4dGVuc2lvblByb3BzO1xuICBjb25uZWN0aW9uU3RyaW5nITogSVNlY3JldDtcbiAgY3JlZGVudGlhbHNTZWNyZXQhOiBJU2VjcmV0O1xuICBlbmRwb2ludCE6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcm9wczogUG9zdGdyZXNEYkFjY2Vzc0V4dGVuc2lvblByb3BzKSB7XG4gICAgc3VwZXIoXCJwb3N0Z3Jlc2RiLWFjY2Vzcy1leHRlbnNpb25cIik7XG4gICAgdGhpcy5wcm9wcyA9IHByb3BzO1xuICB9XG5cbiAgcHJlaG9vayhwYXJlbnQ6IFNlcnZpY2UsIF9zY29wZTogQ29uc3RydWN0KTogdm9pZCB7XG4gICAgdGhpcy5wYXJlbnRTZXJ2aWNlID0gcGFyZW50O1xuXG4gICAgY29uc3QgY3JlZGVudGlhbHNTZWNyZXRBcm4gPSBpbXBvcnRWYWx1ZShcbiAgICAgIHRoaXMucHJvcHMuYmFzZVBsYXRmb3JtU3RhY2tOYW1lLFxuICAgICAgXCJhdXJvcmEtcG9zdGdyZXMtZGJcIixcbiAgICAgIFwiY3JlZGVudGlhbHMtc2VjcmV0LWFyblwiLFxuICAgICk7XG5cbiAgICB0aGlzLmVuZHBvaW50ID0gaW1wb3J0VmFsdWUoXG4gICAgICB0aGlzLnByb3BzLmJhc2VQbGF0Zm9ybVN0YWNrTmFtZSxcbiAgICAgIFwiYXVyb3JhLXBvc3RncmVzLWRiXCIsXG4gICAgICBcImNsdXN0ZXItZW5kcG9pbnRcIixcbiAgICApO1xuXG4gICAgdGhpcy5jcmVkZW50aWFsc1NlY3JldCA9IFNlY3JldC5mcm9tU2VjcmV0Q29tcGxldGVBcm4oXG4gICAgICBwYXJlbnQsXG4gICAgICBcIkNyZWRlbnRpYWxzU2VjcmV0XCIsXG4gICAgICBjcmVkZW50aWFsc1NlY3JldEFybixcbiAgICApO1xuXG4gICAgY29uc3Qgc2VjcmV0QXJuID0gaW1wb3J0VmFsdWUoXG4gICAgICB0aGlzLnByb3BzLmJhc2VQbGF0Zm9ybVN0YWNrTmFtZSxcbiAgICAgIFwiYXVyb3JhLXBvc3RncmVzLWRiXCIsXG4gICAgICBcInNlY3JldC1hcm5cIixcbiAgICApO1xuXG4gICAgY29uc3QgcHJvcGVydGllcyA9IHRoaXMucHJvcHMuZGJDb25uZWN0aW9uUHJvcGVydGllcyA/PyB7XG4gICAgICBzY2hlbWE6IFwicHVibGljXCIsXG4gICAgfTtcblxuICAgIGNvbnN0IHF1ZXJ5UGFyYW1ldGVycyA9IE9iamVjdC5lbnRyaWVzKHByb3BlcnRpZXMpXG4gICAgICAubWFwKChba2V5LCB2YWx1ZV0pID0+IGAke2tleX09JHt2YWx1ZX1gKVxuICAgICAgLmpvaW4oXCImXCIpO1xuXG4gICAgY29uc3QgdXJsU2VjcmV0ID0gU2VjcmV0LmZyb21TZWNyZXRDb21wbGV0ZUFybihcbiAgICAgIHBhcmVudCxcbiAgICAgIFwiRGJTZWNyZXRcIixcbiAgICAgIHNlY3JldEFybixcbiAgICApO1xuXG4gICAgdGhpcy5jb25uZWN0aW9uU3RyaW5nID0gbmV3IFNlY3JldChwYXJlbnQsIFwiREJDb25uZWN0aW9uU3RyaW5nU2VjcmV0XCIsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiBgUG9zdGdyZXNEYiBDb25uZWN0aW9uIFN0cmluZyBmb3Igc2VydmljZSAke3BhcmVudC5pZH0gdG8gYWNjZXNzIGRhdGFiYXNlICR7dGhpcy5wcm9wcy5kYk5hbWV9YCxcbiAgICAgIHNlY3JldFN0cmluZ1ZhbHVlOiBuZXcgU2VjcmV0VmFsdWUoXG4gICAgICAgIGAke3VybFNlY3JldC5zZWNyZXRWYWx1ZX0ke3RoaXMucHJvcHMuZGJOYW1lfT8ke3F1ZXJ5UGFyYW1ldGVycyA/PyBcIlwifWAsXG4gICAgICApLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFkZEhvb2tzKCkge1xuICAgIGNvbnN0IGhvb2sgPSBuZXcgQWRkUG9zdGdyZXNEYkhvb2soXG4gICAgICB0aGlzLmNvbm5lY3Rpb25TdHJpbmcsXG4gICAgICB0aGlzLmNyZWRlbnRpYWxzU2VjcmV0LFxuICAgICAgdGhpcy5lbmRwb2ludCxcbiAgICAgIHRoaXMucHJvcHMuZGJOYW1lLFxuICAgICAgdGhpcy5wcm9wcy5lbnZpcm9ubWVudFZhcmlhYmxlTmFtZXMsXG4gICAgKTtcbiAgICBmaWx0ZXJEYkFjY2Vzc0NvbnRhaW5lcnModGhpcy5wYXJlbnRTZXJ2aWNlKS5mb3JFYWNoKChleHRlbnNpb24pID0+XG4gICAgICBleHRlbnNpb24uYWRkQ29udGFpbmVyTXV0YXRpbmdIb29rKGhvb2spLFxuICAgICk7XG4gICAgaWYgKHRoaXMucHJvcHMuZW5hYmxlTWlncmF0aW9uKSB7XG4gICAgICB0aGlzLmFkZENvbnRhaW5lck11dGF0aW5nSG9vayhob29rKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgdXNlU2VydmljZShzZXJ2aWNlOiBlY3MuRWMyU2VydmljZSB8IGVjcy5GYXJnYXRlU2VydmljZSk6IHZvaWQge1xuICAgIFNlY3VyaXR5R3JvdXAuZnJvbUxvb2t1cEJ5SWQoXG4gICAgICBzZXJ2aWNlLFxuICAgICAgXCJQb3N0Z3Jlc0RiU2VjdXJpdHlHcm91cFwiLFxuICAgICAgdGhpcy5wcm9wcy5zZWN1cml0eUdyb3VwSWQsXG4gICAgKS5jb25uZWN0aW9ucy5hbGxvd0Zyb20oc2VydmljZSwgUG9ydC50Y3AoNTQzMikpO1xuICB9XG5cbiAgcHVibGljIHVzZVRhc2tEZWZpbml0aW9uKHRhc2tEZWZpbml0aW9uOiBlY3MuVGFza0RlZmluaXRpb24pOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMucHJvcHMuZW5hYmxlTWlncmF0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaW1hZ2VOYW1lU3RyaW5nID0gdGFza0RlZmluaXRpb24uZGVmYXVsdENvbnRhaW5lciEuaW1hZ2VOYW1lO1xuXG4gICAgY29uc3QgaW1hZ2VQYXJ0cyA9IGltYWdlTmFtZVN0cmluZy5zcGxpdChcIi9cIik7XG4gICAgY29uc3QgaW1hZ2VOYW1lID0gaW1hZ2VQYXJ0cy5zbGljZSgxKS5qb2luKFwiL1wiKTtcblxuICAgIGNvbnN0IFtyZXBvTmFtZSwgaW1hZ2VUYWddID0gaW1hZ2VOYW1lLnNwbGl0KFwiOlwiKTtcblxuICAgIGNvbnN0IGltYWdlID0gZWNzLkVjckltYWdlLmZyb21FY3JSZXBvc2l0b3J5KFxuICAgICAgUmVwb3NpdG9yeS5mcm9tUmVwb3NpdG9yeU5hbWUoXG4gICAgICAgIHRhc2tEZWZpbml0aW9uLFxuICAgICAgICBcIkRhdGFiYXNlTWlncmF0aW9uUmVwb3NpdG9yeVwiLFxuICAgICAgICByZXBvTmFtZSxcbiAgICAgICksXG4gICAgICBpbWFnZVRhZyxcbiAgICApO1xuXG4gICAgbGV0IGNvbnRhaW5lclByb3BzOiBlY3MuQ29udGFpbmVyRGVmaW5pdGlvbk9wdGlvbnMgPSB7XG4gICAgICBpbWFnZTogaW1hZ2UsXG4gICAgICBlc3NlbnRpYWw6IGZhbHNlLFxuICAgICAgY29tbWFuZDogW3RoaXMucHJvcHMubWlncmF0aW9uUGFyYW1ldGVyID8/IFwibWlncmF0ZVwiXSxcbiAgICB9O1xuXG4gICAgdGhpcy5jb250YWluZXJNdXRhdGluZ0hvb2tzLmZvckVhY2goKGhvb2spID0+IHtcbiAgICAgIGNvbnRhaW5lclByb3BzID0gaG9vay5tdXRhdGVDb250YWluZXJEZWZpbml0aW9uKGNvbnRhaW5lclByb3BzKTtcbiAgICB9KTtcblxuICAgIGlmICghY29udGFpbmVyUHJvcHMubG9nZ2luZykge1xuICAgICAgY29udGFpbmVyUHJvcHMgPSB7XG4gICAgICAgIC4uLmNvbnRhaW5lclByb3BzLFxuICAgICAgICBsb2dnaW5nOiBuZXcgZWNzLkF3c0xvZ0RyaXZlcih7XG4gICAgICAgICAgc3RyZWFtUHJlZml4OiB0aGlzLnBhcmVudFNlcnZpY2UuaWQsXG4gICAgICAgICAgbG9nR3JvdXA6IHRoaXMucHJvcHMubG9nR3JvdXAsXG4gICAgICAgIH0pLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICB0aGlzLmNvbnRhaW5lciA9IHRhc2tEZWZpbml0aW9uLmFkZENvbnRhaW5lcihcbiAgICAgIFwiRGF0YWJhc2VNaWdyYXRpb25Db250YWluZXJcIixcbiAgICAgIGNvbnRhaW5lclByb3BzLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgbW9kaWZ5U2VydmljZVByb3BzKHByb3BzOiBTZXJ2aWNlQnVpbGQpOiBTZXJ2aWNlQnVpbGQge1xuICAgIGlmICghdGhpcy5wcm9wcy5lbmFibGVNaWdyYXRpb24pIHtcbiAgICAgIHJldHVybiBwcm9wcztcbiAgICB9XG4gICAgcHJvcHMudGFza0RlZmluaXRpb24uZGVmYXVsdENvbnRhaW5lcj8uYWRkQ29udGFpbmVyRGVwZW5kZW5jaWVzKHtcbiAgICAgIGNvbnRhaW5lcjogdGhpcy5jb250YWluZXIhLFxuICAgICAgY29uZGl0aW9uOiBlY3MuQ29udGFpbmVyRGVwZW5kZW5jeUNvbmRpdGlvbi5TVUNDRVNTLFxuICAgIH0pO1xuICAgIHJldHVybiBwcm9wcztcbiAgfVxufVxuIl19
127
+ PostgresDbAccessExtension[_a] = { fqn: "@btc-embedded/cdk-extensions.PostgresDbAccessExtension", version: "0.17.0" };
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUG9zdGdyZXNEYkFjY2Vzc0V4dGVuc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHRlbnNpb25zL1Bvc3RncmVzRGJBY2Nlc3NFeHRlbnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx1RkFLb0Q7QUFDcEQsNkNBQTBDO0FBQzFDLGlEQUEwRDtBQUMxRCxpREFBaUQ7QUFDakQsMkNBQTJDO0FBRTNDLHVFQUFpRTtBQUVqRSxvQ0FBaUU7QUE0RmpFLE1BQU0saUJBQWtCLFNBQVEsOENBQXFCO0lBR25ELFlBQ1Usc0JBQStCLEVBQy9CLGlCQUEwQixFQUMxQixRQUFnQixFQUNoQixNQUFjLEVBQ3RCLDJCQUFxRCxFQUFFO1FBRXZELEtBQUssRUFBRSxDQUFDO1FBTkEsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUFTO1FBQy9CLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBUztRQUMxQixhQUFRLEdBQVIsUUFBUSxDQUFRO1FBQ2hCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFLdEIsSUFBSSxDQUFDLFdBQVcsR0FBRztZQUNqQixXQUFXLEVBQUUsY0FBYztZQUMzQixnQkFBZ0IsRUFBRSxtQkFBbUI7WUFDckMsZ0JBQWdCLEVBQUUsbUJBQW1CO1lBQ3JDLGdCQUFnQixFQUFFLG1CQUFtQjtZQUNyQyxnQkFBZ0IsRUFBRSxtQkFBbUI7WUFDckMsR0FBRyx3QkFBd0I7U0FDNUIsQ0FBQztJQUNKLENBQUM7SUFFRCx5QkFBeUIsQ0FDdkIsS0FBcUM7UUFFckMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRXBFLE9BQU87WUFDTCxHQUFHLEtBQUs7WUFDUixPQUFPLEVBQUU7Z0JBQ1AsR0FBRyxLQUFLLENBQUMsT0FBTztnQkFDaEIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMs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Y0FBYyxDQUFDLGdCQUFnQixFQUFFLHdCQUF3QixDQUFDO1lBQzlELFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBVTtZQUMxQixTQUFTLEVBQUUsR0FBRyxDQUFDLDRCQUE0QixDQUFDLE9BQU87U0FDcEQsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOztBQWxKSCw4REFtSkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb250YWluZXJNdXRhdGluZ0hvb2ssXG4gIFNlcnZpY2UsXG4gIFNlcnZpY2VCdWlsZCxcbiAgU2VydmljZUV4dGVuc2lvbixcbn0gZnJvbSBcIkBhd3MtY2RrLWNvbnRhaW5lcnMvZWNzLXNlcnZpY2UtZXh0ZW5zaW9uc1wiO1xuaW1wb3J0IHsgU2VjcmV0VmFsdWUgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IFBvcnQsIFNlY3VyaXR5R3JvdXAgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjMlwiO1xuaW1wb3J0IHsgUmVwb3NpdG9yeSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWNyXCI7XG5pbXBvcnQgKiBhcyBlY3MgZnJvbSBcImF3cy1jZGstbGliL2F3cy1lY3NcIjtcbmltcG9ydCB7IElMb2dHcm91cCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbG9nc1wiO1xuaW1wb3J0IHsgSVNlY3JldCwgU2VjcmV0IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zZWNyZXRzbWFuYWdlclwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IGZpbHRlckRiQWNjZXNzQ29udGFpbmVycywgaW1wb3J0VmFsdWUgfSBmcm9tIFwiLi4vdXRpbHNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBFbnZpcm9ubWVudFZhcmlhYmxlTmFtZXMge1xuICAvKipcbiAgICogRW52aXJvbm1lbnQgdmFyaWFibGUgZm9yIHRoZSBjb25uY3Rpb24gc3RyaW5nLlxuICAgKlxuICAgKiBAZGVmYXVsdCBEQVRBQkFTRV9VUkxcbiAgICovXG4gIHJlYWRvbmx5IGRhdGFiYXNlVXJsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFbnZpcm9ubWVudCB2YXJpYWJsZSBmb3IgdGhlIFBvc3RncmVzIGVuZHBvaW50LlxuICAgKlxuICAgKiBAZGVmYXVsdCBQT1NUR1JFU19FTkRQT0lOVFxuICAgKi9cbiAgcmVhZG9ubHkgcG9zdGdyZXNFbmRwb2ludD86IHN0cmluZztcblxuICAvKipcbiAgICogRW52aXJvbm1lbnQgdmFyaWFibGUgZm9yIHRoZSBQb3N0Z3JlcyBkYXRhYmFzZSBuYW1lLlxuICAgKlxuICAgKiBAZGVmYXVsdCBQT1NUR1JFU19EQVRBQkFTRVxuICAgKi9cbiAgcmVhZG9ubHkgcG9zdGdyZXNEYXRhYmFzZT86IHN0cmluZztcblxuICAvKipcbiAgICogRW52aXJvbm1lbnQgdmFyaWFibGUgZm9yIHRoZSBQb3N0Z3JlcyB1c2VybmFtZS5cbiAgICpcbiAgICogQGRlZmF1bHQgUE9TVEdSRVNfVVNFUk5BTUVcbiAgICovXG4gIHJlYWRvbmx5IHBvc3RncmVzVXNlcm5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEVudmlyb25tZW50IHZhcmlhYmxlIGZvciB0aGUgUG9zdGdyZXMgcGFzc3dvcmQuXG4gICAqXG4gICAqIEBkZWZhdWx0IFBPU1RHUkVTX1BBU1NXT1JEXG4gICAqL1xuICByZWFkb25seSBwb3N0Z3Jlc1Bhc3N3b3JkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBvc3RncmVzRGJBY2Nlc3NFeHRlbnNpb25Qcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgYmFzZSBwbGF0Zm9ybSBzdGFjay4gVGhpcyBuYW1lIGlzIHVzZWQgdG8gbG9vayB1cCBvdXRwdXRcbiAgICogcGFyYW1ldGVycy5cbiAgICovXG4gIHJlYWRvbmx5IGJhc2VQbGF0Zm9ybVN0YWNrTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgZGF0YWJhc2UuXG4gICAqL1xuICByZWFkb25seSBkYk5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogU3BlY2lmeSBhIGxvZyBncm91cCB0byB1c2UgZm9yIHRoZSBkYXRhYmFzZSBtaWdyYXRpb24gY29udGFpbmVyLlxuICAgKlxuICAgKiBUaGlzIGxvZyBncm91cCBpcyB1c2VkIHdoZW4gdGhlIGxvZyBleHRlbnNpb24gaXMgbm90IGFkZGVkIHRvIHRoZSBzZXJ2aWNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGNyZWF0ZXMgYSBuZXcgbG9nIGdyb3VwXG4gICAqL1xuICByZWFkb25seSBsb2dHcm91cD86IElMb2dHcm91cDtcblxuICAvKipcbiAgICogQWRkaXRpb25hbCBjb25uZWN0aW9uIHByb3BlcnRpZXMgdG8gYmUgYWRkZWQgdG8gdGhlIGRhdGFiYXNlIGNvbm5lY3Rpb25cbiAgICogc3RyaW5nIGFzIHF1ZXJ5IHBhcmFtZXRlcnMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gYWRkcyBcInNjaGVtYT1wdWJsaWNcIiB0byB0aGUgY29ubmVjdGlvbiBzdHJpbmdcbiAgICovXG4gIHJlYWRvbmx5IGRiQ29ubmVjdGlvblByb3BlcnRpZXM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG4gIC8qKlxuICAgKiBBZGp1c3QgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlcy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB1c2VzIHRoZSBkZWZhdWx0IGVudmlyb25tZW50IHZhcmlhYmxlIG5hbWVzXG4gICAqL1xuICByZWFkb25seSBlbnZpcm9ubWVudFZhcmlhYmxlTmFtZXM/OiBFbnZpcm9ubWVudFZhcmlhYmxlTmFtZXM7XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBkYXRhYmFzZSBtaWdyYXRpb24gYnkgY2FsbGluZyB0aGUgZGVmYXVsdCBpbWFnZSB3aXRoIHRoZSBtaWdyYXRpb25cbiAgICogcGFyYW1ldGVyLiBUaGUgaW1hZ2UgaGFzIHRvIHN1cHBvcnQgbWlncmF0aW9uLlxuICAgKiBUaGUgZGF0YWJhc2UgdmFyaWFibGVzIHdpbGwgYmUgcGFzc2VkIHRvIHRoZSBjb250YWluZXIgYXMgY29uZmlndXJlZCBmb3JcbiAgICogdGhlIGV4dGVuc2lvbi5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZU1pZ3JhdGlvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBwYXJhbWV0ZXIgcGFzc2VkIHRvIHRoZSBkZWZhdWx0IGNvbnRhaW5lciB0byBwZXJmb3JtIHRoZSBkYXRhYmFzZSBtaWdyYXRpb24uXG4gICAqXG4gICAqIEBkZWZhdWx0IFwibWlncmF0ZVwiXG4gICAqL1xuICByZWFkb25seSBtaWdyYXRpb25QYXJhbWV0ZXI/OiBzdHJpbmc7XG59XG5cbmNsYXNzIEFkZFBvc3RncmVzRGJIb29rIGV4dGVuZHMgQ29udGFpbmVyTXV0YXRpbmdIb29rIHtcbiAgcmVhZG9ubHkgZW52VmFyTmFtZXM6IFJlcXVpcmVkPEVudmlyb25tZW50VmFyaWFibGVOYW1lcz47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjb25uZWN0aW9uU3RyaW5nU2VjcmV0OiBJU2VjcmV0LFxuICAgIHByaXZhdGUgY3JlZGVudGlhbHNTZWNyZXQ6IElTZWNyZXQsXG4gICAgcHJpdmF0ZSBlbmRwb2ludDogc3RyaW5nLFxuICAgIHByaXZhdGUgZGJOYW1lOiBzdHJpbmcsXG4gICAgZW52aXJvbm1lbnRWYXJpYWJsZU5hbWVzOiBFbnZpcm9ubWVudFZhcmlhYmxlTmFtZXMgPSB7fSxcbiAgKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMuZW52VmFyTmFtZXMgPSB7XG4gICAgICBkYXRhYmFzZVVybDogXCJEQVRBQkFTRV9VUkxcIixcbiAgICAgIHBvc3RncmVzRW5kcG9pbnQ6IFwiUE9TVEdSRVNfRU5EUE9JTlRcIixcbiAgICAgIHBvc3RncmVzRGF0YWJhc2U6IFwiUE9TVEdSRVNfREFUQUJBU0VcIixcbiAgICAgIHBvc3RncmVzVXNlcm5hbWU6IFwiUE9TVEdSRVNfVVNFUk5BTUVcIixcbiAgICAgIHBvc3RncmVzUGFzc3dvcmQ6IFwiUE9TVEdSRVNfUEFTU1dPUkRcIixcbiAgICAgIC4uLmVudmlyb25tZW50VmFyaWFibGVOYW1lcyxcbiAgICB9O1xuICB9XG5cbiAgbXV0YXRlQ29udGFpbmVyRGVmaW5pdGlvbihcbiAgICBwcm9wczogZWNzLkNvbnRhaW5lckRlZmluaXRpb25PcHRpb25zLFxuICApOiBlY3MuQ29udGFpbmVyRGVmaW5pdGlvbk9wdGlvbnMge1xuICAgIGNvbnN0IGNyZWRlbnRpYWxzID0gdGhpcy5leHRyYWN0Q3JlZGVudGlhbHModGhpcy5jcmVkZW50aWFsc1NlY3JldCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4ucHJvcHMsXG4gICAgICBzZWNyZXRzOiB7XG4gICAgICAgIC4uLnByb3BzLnNlY3JldHMsXG4gICAgICAgIFt0aGlzLmVudlZhck5hbWVzLmRhdGFiYXNlVXJsXTogZWNzLlNlY3JldC5mcm9tU2VjcmV0c01hbmFnZXIoXG4gICAgICAgICAgdGhpcy5jb25uZWN0aW9uU3RyaW5nU2VjcmV0LFxuICAgICAgICApLFxuICAgICAgICAuLi5jcmVkZW50aWFscyxcbiAgICAgIH0sXG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICAuLi5wcm9wcy5lbnZpcm9ubWVudCxcbiAgICAgICAgW3RoaXMuZW52VmFyTmFtZXMucG9zdGdyZXNFbmRwb2ludF06IHRoaXMuZW5kcG9pbnQsXG4gICAgICAgIFt0aGlzLmVudlZhck5hbWVzLnBvc3RncmVzRGF0YWJhc2VdOiB0aGlzLmRiTmFtZSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZXh0cmFjdENyZWRlbnRpYWxzKHNlY3JldDogSVNlY3JldCkge1xuICAgIHJldHVybiB7XG4gICAgICBbdGhpcy5lbnZWYXJOYW1lcy5wb3N0Z3Jlc1VzZXJuYW1lXTogZWNzLlNlY3JldC5mcm9tU2VjcmV0c01hbmFnZXIoXG4gICAgICAgIHNlY3JldCxcbiAgICAgICAgXCJ1c2VybmFtZVwiLFxuICAgICAgKSxcbiAgICAgIFt0aGlzLmVudlZhck5hbWVzLnBvc3RncmVzUGFzc3dvcmRdOiBlY3MuU2VjcmV0LmZyb21TZWNyZXRzTWFuYWdlcihcbiAgICAgICAgc2VjcmV0LFxuICAgICAgICBcInBhc3N3b3JkXCIsXG4gICAgICApLFxuICAgIH07XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFBvc3RncmVzRGJBY2Nlc3NFeHRlbnNpb24gZXh0ZW5kcyBTZXJ2aWNlRXh0ZW5zaW9uIHtcbiAgcmVhZG9ubHkgcHJvcHM6IFBvc3RncmVzRGJBY2Nlc3NFeHRlbnNpb25Qcm9wcztcbiAgY29ubmVjdGlvblN0cmluZyE6IElTZWNyZXQ7XG4gIGNyZWRlbnRpYWxzU2VjcmV0ITogSVNlY3JldDtcbiAgZW5kcG9pbnQhOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHJvcHM6IFBvc3RncmVzRGJBY2Nlc3NFeHRlbnNpb25Qcm9wcykge1xuICAgIHN1cGVyKFwicG9zdGdyZXNkYi1hY2Nlc3MtZXh0ZW5zaW9uXCIpO1xuICAgIHRoaXMucHJvcHMgPSBwcm9wcztcbiAgfVxuXG4gIHByZWhvb2socGFyZW50OiBTZXJ2aWNlLCBfc2NvcGU6IENvbnN0cnVjdCk6IHZvaWQge1xuICAgIHRoaXMucGFyZW50U2VydmljZSA9IHBhcmVudDtcblxuICAgIGNvbnN0IGNyZWRlbnRpYWxzU2VjcmV0QXJuID0gaW1wb3J0VmFsdWUoXG4gICAgICB0aGlzLnByb3BzLmJhc2VQbGF0Zm9ybVN0YWNrTmFtZSxcbiAgICAgIFwiYXVyb3JhLXBvc3RncmVzLWRiXCIsXG4gICAgICBcImNyZWRlbnRpYWxzLXNlY3JldC1hcm5cIixcbiAgICApO1xuXG4gICAgdGhpcy5lbmRwb2ludCA9IGltcG9ydFZhbHVlKFxuICAgICAgdGhpcy5wcm9wcy5iYXNlUGxhdGZvcm1TdGFja05hbWUsXG4gICAgICBcImF1cm9yYS1wb3N0Z3Jlcy1kYlwiLFxuICAgICAgXCJjbHVzdGVyLWVuZHBvaW50XCIsXG4gICAgKTtcblxuICAgIHRoaXMuY3JlZGVudGlhbHNTZWNyZXQgPSBTZWNyZXQuZnJvbVNlY3JldENvbXBsZXRlQXJuKFxuICAgICAgcGFyZW50LFxuICAgICAgXCJDcmVkZW50aWFsc1NlY3JldFwiLFxuICAgICAgY3JlZGVudGlhbHNTZWNyZXRBcm4sXG4gICAgKTtcblxuICAgIGNvbnN0IHNlY3JldEFybiA9IGltcG9ydFZhbHVlKFxuICAgICAgdGhpcy5wcm9wcy5iYXNlUGxhdGZvcm1TdGFja05hbWUsXG4gICAgICBcImF1cm9yYS1wb3N0Z3Jlcy1kYlwiLFxuICAgICAgXCJzZWNyZXQtYXJuXCIsXG4gICAgKTtcblxuICAgIGNvbnN0IHByb3BlcnRpZXMgPSB0aGlzLnByb3BzLmRiQ29ubmVjdGlvblByb3BlcnRpZXMgPz8ge1xuICAgICAgc2NoZW1hOiBcInB1YmxpY1wiLFxuICAgIH07XG5cbiAgICBjb25zdCBxdWVyeVBhcmFtZXRlcnMgPSBPYmplY3QuZW50cmllcyhwcm9wZXJ0aWVzKVxuICAgICAgLm1hcCgoW2tleSwgdmFsdWVdKSA9PiBgJHtrZXl9PSR7dmFsdWV9YClcbiAgICAgIC5qb2luKFwiJlwiKTtcblxuICAgIGNvbnN0IHVybFNlY3JldCA9IFNlY3JldC5mcm9tU2VjcmV0Q29tcGxldGVBcm4oXG4gICAgICBwYXJlbnQsXG4gICAgICBcIkRiU2VjcmV0XCIsXG4gICAgICBzZWNyZXRBcm4sXG4gICAgKTtcblxuICAgIHRoaXMuY29ubmVjdGlvblN0cmluZyA9IG5ldyBTZWNyZXQocGFyZW50LCBcIkRCQ29ubmVjdGlvblN0cmluZ1NlY3JldFwiLCB7XG4gICAgICBkZXNjcmlwdGlvbjogYFBvc3RncmVzRGIgQ29ubmVjdGlvbiBTdHJpbmcgZm9yIHNlcnZpY2UgJHtwYXJlbnQuaWR9IHRvIGFjY2VzcyBkYXRhYmFzZSAke3RoaXMucHJvcHMuZGJOYW1lfWAsXG4gICAgICBzZWNyZXRTdHJpbmdWYWx1ZTogbmV3IFNlY3JldFZhbHVlKFxuICAgICAgICBgJHt1cmxTZWNyZXQuc2VjcmV0VmFsdWV9JHt0aGlzLnByb3BzLmRiTmFtZX0/JHtxdWVyeVBhcmFtZXRlcnMgPz8gXCJcIn1gLFxuICAgICAgKSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRIb29rcygpIHtcbiAgICBjb25zdCBob29rID0gbmV3IEFkZFBvc3RncmVzRGJIb29rKFxuICAgICAgdGhpcy5jb25uZWN0aW9uU3RyaW5nLFxuICAgICAgdGhpcy5jcmVkZW50aWFsc1NlY3JldCxcbiAgICAgIHRoaXMuZW5kcG9pbnQsXG4gICAgICB0aGlzLnByb3BzLmRiTmFtZSxcbiAgICAgIHRoaXMucHJvcHMuZW52aXJvbm1lbnRWYXJpYWJsZU5hbWVzLFxuICAgICk7XG4gICAgZmlsdGVyRGJBY2Nlc3NDb250YWluZXJzKHRoaXMucGFyZW50U2VydmljZSkuZm9yRWFjaCgoZXh0ZW5zaW9uKSA9PlxuICAgICAgZXh0ZW5zaW9uLmFkZENvbnRhaW5lck11dGF0aW5nSG9vayhob29rKSxcbiAgICApO1xuICAgIGlmICh0aGlzLnByb3BzLmVuYWJsZU1pZ3JhdGlvbikge1xuICAgICAgdGhpcy5hZGRDb250YWluZXJNdXRhdGluZ0hvb2soaG9vayk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHVzZVNlcnZpY2Uoc2VydmljZTogZWNzLkVjMlNlcnZpY2UgfCBlY3MuRmFyZ2F0ZVNlcnZpY2UpOiB2b2lkIHtcbiAgICBjb25zdCBzZ0lkID0gaW1wb3J0VmFsdWUoXG4gICAgICB0aGlzLnByb3BzLmJhc2VQbGF0Zm9ybVN0YWNrTmFtZSxcbiAgICAgIFwiYXVyb3JhLXBvc3RncmVzLWRiXCIsXG4gICAgICBcInNlY3VyaXR5LWdyb3VwLWlkXCIsXG4gICAgKTtcblxuICAgIFNlY3VyaXR5R3JvdXAuZnJvbVNlY3VyaXR5R3JvdXBJZChcbiAgICAgIHNlcnZpY2UsXG4gICAgICBcIlBvc3RncmVzRGJTZWN1cml0eUdyb3VwXCIsXG4gICAgICBzZ0lkLFxuICAgICkuY29ubmVjdGlvbnMuYWxsb3dGcm9tKHNlcnZpY2UsIFBvcnQudGNwKDU0MzIpKTtcbiAgfVxuXG4gIHB1YmxpYyB1c2VUYXNrRGVmaW5pdGlvbih0YXNrRGVmaW5pdGlvbjogZWNzLlRhc2tEZWZpbml0aW9uKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnByb3BzLmVuYWJsZU1pZ3JhdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGltYWdlTmFtZVN0cmluZyA9IHRhc2tEZWZpbml0aW9uLmRlZmF1bHRDb250YWluZXIhLmltYWdlTmFtZTtcblxuICAgIGNvbnN0IGltYWdlUGFydHMgPSBpbWFnZU5hbWVTdHJpbmcuc3BsaXQoXCIvXCIpO1xuICAgIGNvbnN0IGltYWdlTmFtZSA9IGltYWdlUGFydHMuc2xpY2UoMSkuam9pbihcIi9cIik7XG5cbiAgICBjb25zdCBbcmVwb05hbWUsIGltYWdlVGFnXSA9IGltYWdlTmFtZS5zcGxpdChcIjpcIik7XG5cbiAgICBjb25zdCBpbWFnZSA9IGVjcy5FY3JJbWFnZS5mcm9tRWNyUmVwb3NpdG9yeShcbiAgICAgIFJlcG9zaXRvcnkuZnJvbVJlcG9zaXRvcnlOYW1lKFxuICAgICAgICB0YXNrRGVmaW5pdGlvbixcbiAgICAgICAgXCJEYXRhYmFzZU1pZ3JhdGlvblJlcG9zaXRvcnlcIixcbiAgICAgICAgcmVwb05hbWUsXG4gICAgICApLFxuICAgICAgaW1hZ2VUYWcsXG4gICAgKTtcblxuICAgIGxldCBjb250YWluZXJQcm9wczogZWNzLkNvbnRhaW5lckRlZmluaXRpb25PcHRpb25zID0ge1xuICAgICAgaW1hZ2U6IGltYWdlLFxuICAgICAgZXNzZW50aWFsOiBmYWxzZSxcbiAgICAgIGNvbW1hbmQ6IFt0aGlzLnByb3BzLm1pZ3JhdGlvblBhcmFtZXRlciA/PyBcIm1pZ3JhdGVcIl0sXG4gICAgfTtcblxuICAgIHRoaXMuY29udGFpbmVyTXV0YXRpbmdIb29rcy5mb3JFYWNoKChob29rKSA9PiB7XG4gICAgICBjb250YWluZXJQcm9wcyA9IGhvb2subXV0YXRlQ29udGFpbmVyRGVmaW5pdGlvbihjb250YWluZXJQcm9wcyk7XG4gICAgfSk7XG5cbiAgICBpZiAoIWNvbnRhaW5lclByb3BzLmxvZ2dpbmcpIHtcbiAgICAgIGNvbnRhaW5lclByb3BzID0ge1xuICAgICAgICAuLi5jb250YWluZXJQcm9wcyxcbiAgICAgICAgbG9nZ2luZzogbmV3IGVjcy5Bd3NMb2dEcml2ZXIoe1xuICAgICAgICAgIHN0cmVhbVByZWZpeDogdGhpcy5wYXJlbnRTZXJ2aWNlLmlkLFxuICAgICAgICAgIGxvZ0dyb3VwOiB0aGlzLnByb3BzLmxvZ0dyb3VwLFxuICAgICAgICB9KSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgdGhpcy5jb250YWluZXIgPSB0YXNrRGVmaW5pdGlvbi5hZGRDb250YWluZXIoXG4gICAgICBcIkRhdGFiYXNlTWlncmF0aW9uQ29udGFpbmVyXCIsXG4gICAgICBjb250YWluZXJQcm9wcyxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG1vZGlmeVNlcnZpY2VQcm9wcyhwcm9wczogU2VydmljZUJ1aWxkKTogU2VydmljZUJ1aWxkIHtcbiAgICBpZiAoIXRoaXMucHJvcHMuZW5hYmxlTWlncmF0aW9uKSB7XG4gICAgICByZXR1cm4gcHJvcHM7XG4gICAgfVxuICAgIHByb3BzLnRhc2tEZWZpbml0aW9uLmRlZmF1bHRDb250YWluZXI/LmFkZENvbnRhaW5lckRlcGVuZGVuY2llcyh7XG4gICAgICBjb250YWluZXI6IHRoaXMuY29udGFpbmVyISxcbiAgICAgIGNvbmRpdGlvbjogZWNzLkNvbnRhaW5lckRlcGVuZGVuY3lDb25kaXRpb24uU1VDQ0VTUyxcbiAgICB9KTtcbiAgICByZXR1cm4gcHJvcHM7XG4gIH1cbn1cbiJdfQ==
@@ -33,5 +33,5 @@ class SharedVolumeExtension extends ecs_service_extensions_1.ServiceExtension {
33
33
  }
34
34
  exports.SharedVolumeExtension = SharedVolumeExtension;
35
35
  _a = JSII_RTTI_SYMBOL_1;
36
- SharedVolumeExtension[_a] = { fqn: "@btc-embedded/cdk-extensions.SharedVolumeExtension", version: "0.15.0" };
36
+ SharedVolumeExtension[_a] = { fqn: "@btc-embedded/cdk-extensions.SharedVolumeExtension", version: "0.17.0" };
37
37
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2hhcmVkVm9sdW1lRXh0ZW5zaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V4dGVuc2lvbnMvU2hhcmVkVm9sdW1lRXh0ZW5zaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsdUZBQThFO0FBRTlFLG9DQUFnRDtBQXNCaEQ7OztHQUdHO0FBQ0gsTUFBYSxxQkFBc0IsU0FBUSx5Q0FBZ0I7SUFLekQsWUFBWSxVQUFrQixFQUFFLEtBQWlDO1FBQy9ELEtBQUssQ0FBQyxHQUFHLFVBQVUsZ0JBQWdCLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUMvQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsY0FBa0M7UUFDbEQsY0FBYyxDQUFDLFNBQVMsQ0FBQztZQUN2QixJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVU7U0FDdEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFVBQVUsQ0FBQyxRQUE2QztRQUN0RCxxREFBcUQ7UUFDckQsSUFBQSw0QkFBb0IsRUFBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDN0QsU0FBUyxDQUFDLGNBQWMsQ0FBQztnQkFDdkIsWUFBWSxFQUFFLElBQUksQ0FBQyxVQUFVO2dCQUM3QixhQUFhLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJO2dCQUM5QixRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksS0FBSzthQUN2QyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBMUJILHNEQTJCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlcnZpY2VFeHRlbnNpb24gfSBmcm9tIFwiQGF3cy1jZGstY29udGFpbmVycy9lY3Mtc2VydmljZS1leHRlbnNpb25zXCI7XG5pbXBvcnQgKiBhcyBlY3MgZnJvbSBcImF3cy1jZGstbGliL2F3cy1lY3NcIjtcbmltcG9ydCB7IGdldFNlcnZpY2VDb250YWluZXJzIH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgZGVmaW5pbmcgYW4gZXBoZXJtYWwgc2hhcmVkIHZvbHVtZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTaGFyZWRWb2x1bWVFeHRlbnNpb25Qcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgcGF0aCBpbnNpZGUgdGhlIGNvbnRhaW5lciB0byBtb3VudCB0aGUgdm9sdW1lLlxuICAgKi9cbiAgcmVhZG9ubHkgcGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSB2b2x1bWUgc2hvdWxkIGJlIHJlYWQtb25seS4gRGVmYXVsdDogZmFsc2UuXG4gICAqL1xuICByZWFkb25seSByZWFkb25seT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNjb3BlIG9mIHRoZSB2b2x1bWUuIERlZmF1bHQ6IFNIQVJFRC5cbiAgICovXG4gIHJlYWRvbmx5IHNjb3BlPzogZWNzLlNjb3BlO1xufVxuXG4vKipcbiAqIENyZWF0ZSBhIHNoYXJlZCB2b2x1bWUgYW5kIGF0dGFjaCBpdCB0byBhbGwgY29udGFpbmVycyBpbiB0aGlzIHRhc2tcbiAqIGRlZmluaXRpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBTaGFyZWRWb2x1bWVFeHRlbnNpb24gZXh0ZW5kcyBTZXJ2aWNlRXh0ZW5zaW9uIHtcbiAgcmVhZG9ubHkgcHJvcHM6IFNoYXJlZFZvbHVtZUV4dGVuc2lvblByb3BzO1xuXG4gIHJlYWRvbmx5IHZvbHVtZU5hbWU6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcih2b2x1bWVOYW1lOiBzdHJpbmcsIHByb3BzOiBTaGFyZWRWb2x1bWVFeHRlbnNpb25Qcm9wcykge1xuICAgIHN1cGVyKGAke3ZvbHVtZU5hbWV9LXNoYXJlZC12b2x1bWVgKTtcbiAgICB0aGlzLnByb3BzID0gcHJvcHM7XG4gICAgdGhpcy52b2x1bWVOYW1lID0gdm9sdW1lTmFtZTtcbiAgfVxuXG4gIHVzZVRhc2tEZWZpbml0aW9uKHRhc2tEZWZpbml0aW9uOiBlY3MuVGFza0RlZmluaXRpb24pOiB2b2lkIHtcbiAgICB0YXNrRGVmaW5pdGlvbi5hZGRWb2x1bWUoe1xuICAgICAgbmFtZTogdGhpcy52b2x1bWVOYW1lLFxuICAgIH0pO1xuICB9XG5cbiAgdXNlU2VydmljZShfc2VydmljZTogZWNzLkVjMlNlcnZpY2UgfCBlY3MuRmFyZ2F0ZVNlcnZpY2UpOiB2b2lkIHtcbiAgICAvLyBuZWRkIHRvIHVzZSB0aGUgYWN0dWFsIGNvbnRhaW5lciBkZWZpbml0aW9ucyBoZXJlLlxuICAgIGdldFNlcnZpY2VDb250YWluZXJzKHRoaXMucGFyZW50U2VydmljZSkuZm9yRWFjaCgoY29udGFpbmVyKSA9PiB7XG4gICAgICBjb250YWluZXIuYWRkTW91bnRQb2ludHMoe1xuICAgICAgICBzb3VyY2VWb2x1bWU6IHRoaXMudm9sdW1lTmFtZSxcbiAgICAgICAgY29udGFpbmVyUGF0aDogdGhpcy5wcm9wcy5wYXRoLFxuICAgICAgICByZWFkT25seTogdGhpcy5wcm9wcy5yZWFkb25seSB8fCBmYWxzZSxcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -50,5 +50,5 @@ class TcpKeepAliveExtension extends ecs_service_extensions_1.ServiceExtension {
50
50
  }
51
51
  exports.TcpKeepAliveExtension = TcpKeepAliveExtension;
52
52
  _a = JSII_RTTI_SYMBOL_1;
53
- TcpKeepAliveExtension[_a] = { fqn: "@btc-embedded/cdk-extensions.TcpKeepAliveExtension", version: "0.15.0" };
53
+ TcpKeepAliveExtension[_a] = { fqn: "@btc-embedded/cdk-extensions.TcpKeepAliveExtension", version: "0.17.0" };
54
54
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGNwS2VlcEFsaXZlRXh0ZW5zaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V4dGVuc2lvbnMvVGNwS2VlcEFsaXZlRXh0ZW5zaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsdUZBR29EO0FBRXBELG9DQUErQztBQVEvQyxNQUFNLHFCQUFzQixTQUFRLDhDQUFxQjtJQUN2RCxZQUFvQixLQUFpQztRQUNuRCxLQUFLLEVBQUUsQ0FBQztRQURVLFVBQUssR0FBTCxLQUFLLENBQTRCO0lBRXJELENBQUM7SUFFRCx5QkFBeUIsQ0FDdkIsS0FBcUM7UUFFckMsT0FBTztZQUNMLEdBQUcsS0FBSztZQUNSLGNBQWMsRUFBRTtnQkFDZDtvQkFDRSxTQUFTLEVBQUUsNkJBQTZCO29CQUN4QyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO2lCQUNsQztnQkFDRDtvQkFDRSxTQUFTLEVBQUUsOEJBQThCO29CQUN6QyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFO2lCQUN0QztnQkFDRDtvQkFDRSxTQUFTLEVBQUUsK0JBQStCO29CQUMxQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFO2lCQUNwQzthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQUVELE1BQWEscUJBQXNCLFNBQVEseUNBQWdCO0lBR3pELFlBQVksS0FBa0M7UUFDNUMsS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFFakMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLEtBQUssR0FBRztnQkFDWCxJQUFJLEVBQUUsR0FBRztnQkFDVCxRQUFRLEVBQUUsR0FBRztnQkFDYixNQUFNLEVBQUUsQ0FBQzthQUNWLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFBLDJCQUFtQixFQUNqQixJQUFJLENBQUMsYUFBYSxFQUNsQixJQUFJLHFCQUFxQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FDdEMsQ0FBQztJQUNKLENBQUM7O0FBdEJILHNEQXVCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbnRhaW5lck11dGF0aW5nSG9vayxcbiAgU2VydmljZUV4dGVuc2lvbixcbn0gZnJvbSBcIkBhd3MtY2RrLWNvbnRhaW5lcnMvZWNzLXNlcnZpY2UtZXh0ZW5zaW9uc1wiO1xuaW1wb3J0ICogYXMgZWNzIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWNzXCI7XG5pbXBvcnQgeyBhZGRIb29rVG9FeHRlbnNpb25zIH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGNwS2VlcEFsaXZlRXh0ZW5zaW9uUHJvcHMge1xuICByZWFkb25seSB0aW1lOiBudW1iZXI7XG4gIHJlYWRvbmx5IGludGVydmFsOiBudW1iZXI7XG4gIHJlYWRvbmx5IHByb2JlczogbnVtYmVyO1xufVxuXG5jbGFzcyBBZGRTeXN0ZW1Db250cm9sc0hvb2sgZXh0ZW5kcyBDb250YWluZXJNdXRhdGluZ0hvb2sge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHByb3BzOiBUY3BLZWVwQWxpdmVFeHRlbnNpb25Qcm9wcykge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBtdXRhdGVDb250YWluZXJEZWZpbml0aW9uKFxuICAgIHByb3BzOiBlY3MuQ29udGFpbmVyRGVmaW5pdGlvbk9wdGlvbnMsXG4gICk6IGVjcy5Db250YWluZXJEZWZpbml0aW9uT3B0aW9ucyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnByb3BzLFxuICAgICAgc3lzdGVtQ29udHJvbHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWVzcGFjZTogXCJuZXQuaXB2NC50Y3Bfa2VlcGFsaXZlX3RpbWVcIixcbiAgICAgICAgICB2YWx1ZTogdGhpcy5wcm9wcy50aW1lLnRvU3RyaW5nKCksXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lc3BhY2U6IFwibmV0LmlwdjQudGNwX2tlZXBhbGl2ZV9pbnR2bFwiLFxuICAgICAgICAgIHZhbHVlOiB0aGlzLnByb3BzLmludGVydmFsLnRvU3RyaW5nKCksXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lc3BhY2U6IFwibmV0LmlwdjQudGNwX2tlZXBhbGl2ZV9wcm9iZXNcIixcbiAgICAgICAgICB2YWx1ZTogdGhpcy5wcm9wcy5wcm9iZXMudG9TdHJpbmcoKSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgVGNwS2VlcEFsaXZlRXh0ZW5zaW9uIGV4dGVuZHMgU2VydmljZUV4dGVuc2lvbiB7XG4gIHJlYWRvbmx5IHByb3BzOiBUY3BLZWVwQWxpdmVFeHRlbnNpb25Qcm9wcztcblxuICBjb25zdHJ1Y3Rvcihwcm9wcz86IFRjcEtlZXBBbGl2ZUV4dGVuc2lvblByb3BzKSB7XG4gICAgc3VwZXIoXCJ0Y3Ata2VlcGFsaXZlLWV4dGVuc2lvblwiKTtcblxuICAgIGlmIChwcm9wcykge1xuICAgICAgdGhpcy5wcm9wcyA9IHByb3BzO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnByb3BzID0ge1xuICAgICAgICB0aW1lOiAyMDAsXG4gICAgICAgIGludGVydmFsOiAyMDAsXG4gICAgICAgIHByb2JlczogNSxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFkZEhvb2tzKCkge1xuICAgIGFkZEhvb2tUb0V4dGVuc2lvbnMoXG4gICAgICB0aGlzLnBhcmVudFNlcnZpY2UsXG4gICAgICBuZXcgQWRkU3lzdGVtQ29udHJvbHNIb29rKHRoaXMucHJvcHMpLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -106,5 +106,5 @@ class ApiGateway extends constructs_1.Construct {
106
106
  }
107
107
  exports.ApiGateway = ApiGateway;
108
108
  _a = JSII_RTTI_SYMBOL_1;
109
- ApiGateway[_a] = { fqn: "@btc-embedded/cdk-extensions.ApiGateway", version: "0.15.0" };
109
+ ApiGateway[_a] = { fqn: "@btc-embedded/cdk-extensions.ApiGateway", version: "0.17.0" };
110
110
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBpR2F0ZXdheS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wbGF0Zm9ybS9BcGlHYXRld2F5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsbUVBTXNDO0FBQ3RDLDJGQUFrRjtBQUNsRiwrRUFHNEM7QUFFNUMsaURBQTBFO0FBQzFFLGlEQUF1RDtBQUV2RCx5REFBNkU7QUFDN0UseUVBQStFO0FBQy9FLDJDQUF1QztBQUN2QyxvQ0FBMEM7QUF3QzFDOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILE1BQWEsVUFBVyxTQUFRLHNCQUFTO0lBT3ZDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBc0I7UUFDOUQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUhGLDRCQUF1QixHQUFHLGFBQWEsQ0FBQztRQUt2RCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksdUJBQWEsQ0FBQyxJQUFJLEVBQUUsc0JBQXNCLEVBQUU7WUFDbkUsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHO1lBQ2QsZ0JBQWdCLEVBQUUsS0FBSztTQUN4QixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksMEJBQU8sQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFO1lBQzlDLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRztZQUNkLFdBQVcsRUFBRSxtQkFBbUI7WUFDaEMsY0FBYyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztTQUNyQyxDQUFDLENBQUM7UUFFSCxNQUFNLFVBQVUsR0FBRyxHQUFHLEtBQUssQ0FBQyxZQUFZLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUV4RSxNQUFNLFdBQVcsR0FBRyxJQUFJLG9DQUFXLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRTtZQUN2RCxVQUFVLEVBQUUsVUFBVTtZQUN0QixVQUFVLEVBQUUsOENBQXFCLENBQUMsT0FBTyxDQUFDLEtB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b3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDZm5TdGFnZSxcbiAgRG9tYWluTmFtZSxcbiAgSHR0cEFwaSxcbiAgSVZwY0xpbmssXG4gIFZwY0xpbmssXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtYXBpZ2F0ZXdheXYyXCI7XG5pbXBvcnQgeyBIdHRwVXNlclBvb2xBdXRob3JpemVyIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1hcGlnYXRld2F5djItYXV0aG9yaXplcnNcIjtcbmltcG9ydCB7XG4gIENlcnRpZmljYXRlLFxuICBDZXJ0aWZpY2F0ZVZhbGlkYXRpb24sXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2VydGlmaWNhdGVtYW5hZ2VyXCI7XG5pbXBvcnQgeyBJVXNlclBvb2wsIElVc2VyUG9vbENsaWVudCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY29nbml0b1wiO1xuaW1wb3J0IHsgSVNlY3VyaXR5R3JvdXAsIElWcGMsIFNlY3VyaXR5R3JvdXAgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjMlwiO1xuaW1wb3J0IHsgU2VydmljZVByaW5jaXBhbCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtaWFtXCI7XG5pbXBvcnQgeyBJTG9nR3JvdXAgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxvZ3NcIjtcbmltcG9ydCB7IEFSZWNvcmQsIElIb3N0ZWRab25lLCBSZWNvcmRUYXJnZXQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJvdXRlNTNcIjtcbmltcG9ydCB7IEFwaUdhdGV3YXl2MkRvbWFpblByb3BlcnRpZXMgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJvdXRlNTMtdGFyZ2V0c1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IGNyZWF0ZUV4cG9ydGVyIH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXBpR2F0ZXdheVByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBzdGFjaywgdXNlZCBmb3IgcHJlZml4aW5nIHRoZSBvdXRwdXQgcGFyYW1ldGVyIG5hbWVzLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhY2tOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFZQQyB3aGVyZSB0aGUgQVBJIEdXIFNlY3VyaXR5IGdyb3VwIGFuZCBWUEMgTGluayB3aWxsIGJlIGNyZWF0ZWQuXG4gICAqL1xuICByZWFkb25seSB2cGM6IElWcGM7XG5cbiAgLyoqXG4gICAqIFNwZWNpZnkgdGhlIENvZ25pdG8gVXNlciBQb29sIHRvIGJlIHVzZWQgZm9yIGF1dGhvcml6aW5nIHJlcXVlc3RzIG9uIHRoZSBBUEkgR2F0ZXdheS5cbiAgICovXG4gIHJlYWRvbmx5IHVzZXJQb29sOiBJVXNlclBvb2w7XG5cbiAgLyoqXG4gICAqIExpc3Qgb2YgVXNlciBQb29sIENsaWVudHMgdGhhdCBhcmUgYWxsb3dlZCB0byBhY2Nlc3MgdGhlIEFQSSBHYXRld2F5LlxuICAgKi9cbiAgcmVhZG9ubHkgdXNlclBvb2xDbGllbnRzOiBBcnJheTxJVXNlclBvb2xDbGllbnQ+O1xuXG4gIC8qKlxuICAgKiBEb21haW4gcHJlZml4IGZvciB0aGUgQVBJIEdhdGV3YXkgZW5kcG9pbnQuXG4gICAqL1xuICByZWFkb25seSBkb21haW5QcmVmaXg6IHN0cmluZztcblxuICAvKipcbiAgICogSG9zdGVkIFpvbmUgdG8gY3JlYXRlIHRoZSBnYXRld2F5IGRvbWFpbiBBIHJlY29yZC5cbiAgICovXG4gIHJlYWRvbmx5IGhvc3RlZFpvbmU6IElIb3N0ZWRab25lO1xuXG4gIC8qKlxuICAgKiBJZiBwcm92aWRlZCB0aGVuIGVuYWJsZSB0aGUgYWNjZXNzIGxvZ3MgZm9yIHRoZSBBUEkgR2F0ZXdheS5cbiAgICpcbiAgICovXG4gIHJlYWRvbmx5IGxvZ0dyb3VwPzogSUxvZ0dyb3VwO1xufVxuXG4vKipcbiAqIEFQSSBHYXRld2F5IGNvbnN0cnVjdCB0byBiZSB1c2VkIGluIGJhc2UgcGxhdGZvcm1zLlxuICpcbiAqIFRoaXMgQVBJIEdhdGV3YXkgY29uc3RydWN0IHNldHMgdXAgYW4gQVBJIEdhdGV3YXkgVjIgYW5kIGEgZGVmYXVsdCBIVFRQIEFQSVxuICogcHJvdGVjdGVkIGJ5IHRoZSBwcm92aWRlZCBDb2duaXRvIHVzZXIgcG9vbCBhbmQgY2xpZW50KHMpLiBUaGUgY29uc3RydWN0XG4gKiByZWdpc3RlcnMgYW4gQSByZWNvcmQgZm9yIHRoZSBzdWJkb21haW4gaW4gdGhlIHByb3ZpZGVkIGhvc3RlZCB6b25lLiBJdCBhbHNvXG4gKiBjcmVhdGVzIGEgVlBDIExpbmsgKGFuZCBzZWN1cml0eSBncm91cCkgZm9yIHRoZSBBUEkgR2F0ZXdheSB0byBjb25uZWN0IHRvXG4gKiBzZXJ2aWNlcyBpbiB0aGUgVlBDLlxuICpcbiAqIFRoZSByZWxldmFudCBwYXJhbWV0ZXJzIGFyZSBleHBvc2VkIGFzIENsb3VkRm9ybWF0aW9uIG91dHB1dHMgc28gdGhhdCB0aGV5XG4gKiBjYW4gYmUgdXNlZCBieSB0aGUgQ0RLIGV4dGVuc2lvbnMgcHJvdmlkZWQgaW4gdGhpcyBsaWJyYXJ5LlxuICogQGRlcHJlY2F0ZWQgVXNlIHRoZSB7QGxpbmsgQXBpR2F0ZXdheVYyfSBjb25zdHJ1Y3QgaW5zdGVhZC5cbiAqL1xuZXhwb3J0IGNsYXNzIEFwaUdhdGV3YXkgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwcml2YXRlIHNlY3VyaXR5R3JvdXA6IElTZWN1cml0eUdyb3VwO1xuICBwcml2YXRlIHZwY0xpbms6IElWcGNMaW5rO1xuICBwcml2YXRlIGh0dHBBcGk6IEh0dHBBcGk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBPVVRQVVRfUEFSQU1FVEVSX1BSRUZJWCA9IFwiYXBpLWdhdGV3YXlcIjtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQXBpR2F0ZXdheVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHRoaXMuc2VjdXJpdHlHcm91cCA9IG5ldyBTZWN1cml0eUdyb3VwKHRoaXMsIFwiVnBjTGlua1NlY3VyaXR5R3JvdXBcIiwge1xuICAgICAgdnBjOiBwcm9wcy52cGMsXG4gICAgICBhbGxvd0FsbE91dGJvdW5kOiBmYWxzZSxcbiAgICB9KTtcblxuICAgIHRoaXMudnBjTGluayA9IG5ldyBWcGNMaW5rKHRoaXMsIFwiSHR0cFZwY0xpbmtcIiwge1xuICAgICAgdnBjOiBwcm9wcy52cGMsXG4gICAgICB2cGNMaW5rTmFtZTogXCJBUElHVyBWMiBWUEMgTGlua1wiLFxuICAgICAgc2VjdXJpdHlHcm91cHM6IFt0aGlzLnNlY3VyaXR5R3JvdXBdLFxuICAgIH0pO1xuXG4gICAgY29uc3QgZG9tYWluTmFtZSA9IGAke3Byb3BzLmRvbWFpblByZWZpeH0uJHtwcm9wcy5ob3N0ZWRab25lLnpvbmVOYW1lfWA7XG5cbiAgICBjb25zdCBjZXJ0aWZpY2F0ZSA9IG5ldyBDZXJ0aWZpY2F0ZSh0aGlzLCBcIkNlcnRpZmljYXRlXCIsIHtcbiAgICAgIGRvbWFpbk5hbWU6IGRvbWFpbk5hbWUsXG4gICAgICB2YWxpZGF0aW9uOiBDZXJ0aWZpY2F0ZVZhbGlkYXRpb24uZnJvbURucyhwcm9wcy5ob3N0ZWRab25lKSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGRvbWFpbiA9IG5ldyBEb21haW5OYW1lKHRoaXMsIFwiRG9tYWluTmFtZVwiLCB7XG4gICAgICBkb21haW5OYW1lOiBkb21haW5OYW1lLFxuICAgICAgY2VydGlmaWNhdGU6IGNlcnRpZmljYXRlLFxuICAgIH0pO1xuXG4gICAgbmV3IEFSZWNvcmQodGhpcywgXCJBUElHV0FSZWNvcmRcIiwge1xuICAgICAgem9uZTogcHJvcHMuaG9zdGVkWm9uZSxcbiAgICAgIHJlY29yZE5hbWU6IHByb3BzLmRvbWFpblByZWZpeCxcbiAgICAgIHRhcmdldDogUmVjb3JkVGFyZ2V0LmZyb21BbGlhcyhcbiAgICAgICAgbmV3IEFwaUdhdGV3YXl2MkRvbWFpblByb3BlcnRpZXMoXG4gICAgICAgICAgZG9tYWluLnJlZ2lvbmFsRG9tYWluTmFtZSxcbiAgICAgICAgICBkb21haW4ucmVnaW9uYWxIb3N0ZWRab25lSWQsXG4gICAgICAgICksXG4gICAgICApLFxuICAgIH0pO1xuXG4gICAgY29uc3QgZGVmYXVsdEF1dGhvcml6ZXIgPSBuZXcgSHR0cFVzZXJQb29sQXV0aG9yaXplcihcbiAgICAgIFwiQ29nbml0b0F1dGhvcml6ZXJcIixcbiAgICAgIHByb3BzLnVzZXJQb29sLFxuICAgICAge1xuICAgICAgICB1c2VyUG9vbENsaWVudHM6IHByb3BzLnVzZXJQb29sQ2xpZW50cyxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIHRoaXMuaHR0cEFwaSA9IG5ldyBIdHRwQXBpKHRoaXMsIFwiSHR0cEFwaVwiLCB7XG4gICAgICBhcGlOYW1lOiBgJHtwcm9wcy5zdGFja05hbWV9SHR0cEFwaWAsXG4gICAgICBkZXNjcmlwdGlvbjogXCJEZWZhdWx0IEhUVFAgQVBJXCIsXG4gICAgICBkZWZhdWx0QXV0aG9yaXplcjogZGVmYXVsdEF1dGhvcml6ZXIsXG4gICAgICBkZWZhdWx0RG9tYWluTWFwcGluZzoge1xuICAgICAgICBkb21haW5OYW1lOiBkb21haW4sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgaWYgKHByb3BzLmxvZ0dyb3VwKSB7XG4gICAgICB0aGlzLmVuYWJsZUFjY2Vzc0xvZ3ModGhpcy5odHRwQXBpLCBwcm9wcy5sb2dHcm91cCk7XG4gICAgfVxuXG4gICAgdGhpcy5leHBvc2VQYXJhbWV0ZXJzKCk7XG4gIH1cblxuICBwcml2YXRlIGV4cG9zZVBhcmFtZXRlcnMoKSB7XG4gICAgY29uc3QgZXhwb3J0VmFsdWUgPSBjcmVhdGVFeHBvcnRlcih0aGlzLCB0aGlzLk9VVFBVVF9QQVJBTUVURVJfUFJFRklYKTtcblxuICAgIGV4cG9ydFZhbHVlKHtcbiAgICAgIG5hbWU6IFwiQVBJR2F0ZXdheSBJZFwiLFxuICAgICAga2V5OiBcImlkXCIsXG4gICAgICB2YWx1ZTogdGhpcy5odHRwQXBpLmFwaUlkLFxuICAgIH0pO1xuXG4gICAgZXhwb3J0VmFsdWUoe1xuICAgICAgbmFtZTogXCJBUElHYXRld2F5IFZQQ0xpbmsgSWRcIixcbiAgICAgIGtleTogXCJ2cGMtbGluay1pZFwiLFxuICAgICAgdmFsdWU6IHRoaXMudnBjTGluay52cGNMaW5rSWQsXG4gICAgfSk7XG5cbiAgICBleHBvcnRWYWx1ZSh7XG4gICAgICBuYW1lOiBcIkFQSUdhdGV3YXkgU2VjdXJpdHkgR3JvdXAgSWRcIixcbiAgICAgIGtleTogXCJzZWN1cml0eS1ncm91cC1pZFwiLFxuICAgICAgdmFsdWU6IHRoaXMuc2VjdXJpdHlHcm91cC5zZWN1cml0eUdyb3VwSWQsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGVuYWJsZUFjY2Vzc0xvZ3MoYXBpRW5kcG9pbnQ6IEh0dHBBcGksIGxvZ0dyb3VwOiBJTG9nR3JvdXApIHtcbiAgICBjb25zdCBzdGFnZSA9IGFwaUVuZHBvaW50LmRlZmF1bHRTdGFnZSEubm9kZS5kZWZhdWx0Q2hpbGQgYXMgQ2ZuU3RhZ2U7XG4gICAgc3RhZ2UuYWNjZXNzTG9nU2V0dGluZ3MgPSB7XG4gICAgICBkZXN0aW5hdGlvbkFybjogbG9nR3JvdXAubG9nR3JvdXBBcm4sXG4gICAgICBmb3JtYXQ6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgcmVxdWVzdElkOiBcIiRjb250ZXh0LnJlcXVlc3RJZFwiLFxuICAgICAgICB1c2VyQWdlbnQ6IFwiJGNvbnRleHQuaWRlbnRpdHkudXNlckFnZW50XCIsXG4gICAgICAgIHNvdXJjZUlwOiBcIiRjb250ZXh0LmlkZW50aXR5LnNvdXJjZUlwXCIsXG4gICAgICAgIHJlcXVlc3RUaW1lOiBcIiRjb250ZXh0LnJlcXVlc3RUaW1lXCIsXG4gICAgICAgIGh0dHBNZXRob2Q6IFwiJGNvbnRleHQuaHR0cE1ldGhvZFwiLFxuICAgICAgICBwYXRoOiBcIiRjb250ZXh0LnBhdGhcIixcbiAgICAgICAgc3RhdHVzOiBcIiRjb250ZXh0LnN0YXR1c1wiLFxuICAgICAgICByZXNwb25zZUxlbmd0aDogXCIkY29udGV4dC5yZXNwb25zZUxlbmd0aFwiLFxuICAgICAgfSksXG4gICAgfTtcblxuICAgIGxvZ0dyb3VwLmdyYW50V3JpdGUobmV3IFNlcnZpY2VQcmluY2lwYWwoXCJhcGlnYXRld2F5LmFtYXpvbmF3cy5jb21cIikpO1xuICB9XG59XG4iXX0=
@@ -1,7 +1,7 @@
1
1
  import { IVpcLink } from "aws-cdk-lib/aws-apigatewayv2";
2
2
  import { IConnectable, ISecurityGroup, IVpc } from "aws-cdk-lib/aws-ec2";
3
3
  import { Construct } from "constructs";
4
- export interface ApiGatewayPropsV2 {
4
+ export interface ApiGatewayVpcLinkProps {
5
5
  /**
6
6
  * VPC where the API GW Security group and VPC Link will be created.
7
7
  */
@@ -11,38 +11,38 @@ export interface ApiGatewayPropsV2 {
11
11
  */
12
12
  readonly vpcLinkName?: string;
13
13
  }
14
- export interface IApiGatewayV2 {
14
+ export interface IApiGatewayVpcLink {
15
15
  readonly vpcLink: IVpcLink;
16
16
  readonly securityGroup: ISecurityGroup;
17
- allowAccessTo(source: IConnectable, port: number, description?: string): void;
17
+ allowAccessTo(other: IConnectable, port: number, description?: string): void;
18
18
  }
19
- export interface ApiGatewayV2LookupOptions {
19
+ export interface ApiGatewayVpcLinkLookupOptions {
20
20
  readonly basePlatform: string;
21
21
  readonly vpc: IVpc;
22
22
  }
23
- export declare abstract class ApiGatewayV2Base extends Construct implements IApiGatewayV2 {
23
+ export declare abstract class ApiGatewayVpcLinkBase extends Construct implements IApiGatewayVpcLink {
24
24
  abstract readonly vpcLink: IVpcLink;
25
25
  abstract readonly securityGroup: ISecurityGroup;
26
26
  allowAccessTo(other: IConnectable, port: number, description?: string): void;
27
27
  }
28
28
  /**
29
- * Constructs an API Gateway V2 resource for use in base platforms.
29
+ * Constructs an API Gateway VPC link and an associated security group.
30
+ *
31
+ * This construct is intended to be used once in an AWS account and provides a
32
+ * mechanism to set up the security group for access to services deployed in the
33
+ * VPC.
30
34
  *
31
35
  * This construct creates:
32
36
  * - A VPC Link for the API Gateway to connect to services within the specified VPC.
33
37
  * - A Security Group associated with the VPC Link to control network traffic.
34
38
  *
35
- * Additionally, the following parameters are exposed as CloudFormation outputs:
36
- * - The VPC Link ID.
37
- * - The Security Group ID.
38
- *
39
39
  * These outputs can be utilized by other CDK extensions provided in this library.
40
40
  */
41
- export declare class ApiGatewayV2 extends ApiGatewayV2Base {
42
- static fromBasePlatform(scope: Construct, id: string, options: ApiGatewayV2LookupOptions): IApiGatewayV2;
41
+ export declare class ApiGatewayVpcLink extends ApiGatewayVpcLinkBase {
42
+ static fromBasePlatform(scope: Construct, id: string, options: ApiGatewayVpcLinkLookupOptions): IApiGatewayVpcLink;
43
43
  private static readonly vpcLinkParameter;
44
44
  private static readonly securityGroupIdParameter;
45
45
  readonly securityGroup: ISecurityGroup;
46
46
  readonly vpcLink: IVpcLink;
47
- constructor(scope: Construct, id: string, props: ApiGatewayPropsV2);
47
+ constructor(scope: Construct, id: string, props: ApiGatewayVpcLinkProps);
48
48
  }
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ var _a, _b;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.ApiGatewayVpcLink = exports.ApiGatewayVpcLinkBase = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const aws_apigatewayv2_1 = require("aws-cdk-lib/aws-apigatewayv2");
7
+ const aws_ec2_1 = require("aws-cdk-lib/aws-ec2");
8
+ const constructs_1 = require("constructs");
9
+ const utils_1 = require("../utils");
10
+ class ApiGatewayVpcLinkBase extends constructs_1.Construct {
11
+ allowAccessTo(other, port, description = "Allow HTTP Traffic") {
12
+ this.securityGroup.connections.allowTo(other, aws_ec2_1.Port.tcp(port), description);
13
+ }
14
+ }
15
+ exports.ApiGatewayVpcLinkBase = ApiGatewayVpcLinkBase;
16
+ _a = JSII_RTTI_SYMBOL_1;
17
+ ApiGatewayVpcLinkBase[_a] = { fqn: "@btc-embedded/cdk-extensions.ApiGatewayVpcLinkBase", version: "0.17.0" };
18
+ /**
19
+ * Constructs an API Gateway VPC link and an associated security group.
20
+ *
21
+ * This construct is intended to be used once in an AWS account and provides a
22
+ * mechanism to set up the security group for access to services deployed in the
23
+ * VPC.
24
+ *
25
+ * This construct creates:
26
+ * - A VPC Link for the API Gateway to connect to services within the specified VPC.
27
+ * - A Security Group associated with the VPC Link to control network traffic.
28
+ *
29
+ * These outputs can be utilized by other CDK extensions provided in this library.
30
+ */
31
+ class ApiGatewayVpcLink extends ApiGatewayVpcLinkBase {
32
+ static fromBasePlatform(scope, id, options) {
33
+ const { vpc, basePlatform } = options;
34
+ const vpcLink = aws_apigatewayv2_1.VpcLink.fromVpcLinkAttributes(scope, "VPCLink", {
35
+ vpc,
36
+ vpcLinkId: ApiGatewayVpcLink.vpcLinkParameter.import(basePlatform),
37
+ });
38
+ const securityGroup = aws_ec2_1.SecurityGroup.fromSecurityGroupId(scope, "SecurityGroup", ApiGatewayVpcLink.securityGroupIdParameter.import(basePlatform), { allowAllOutbound: false });
39
+ class Import extends ApiGatewayVpcLinkBase {
40
+ constructor() {
41
+ super(...arguments);
42
+ this.securityGroup = securityGroup;
43
+ this.vpcLink = vpcLink;
44
+ }
45
+ }
46
+ return new Import(scope, id);
47
+ }
48
+ constructor(scope, id, props) {
49
+ super(scope, id);
50
+ this.securityGroup = new aws_ec2_1.SecurityGroup(this, "VpcLinkSecurityGroup", {
51
+ vpc: props.vpc,
52
+ allowAllOutbound: false,
53
+ });
54
+ this.vpcLink = new aws_apigatewayv2_1.VpcLink(this, "VpcLink", {
55
+ vpc: props.vpc,
56
+ vpcLinkName: props.vpcLinkName,
57
+ securityGroups: [this.securityGroup],
58
+ });
59
+ ApiGatewayVpcLink.vpcLinkParameter.export(this, this.vpcLink.vpcLinkId);
60
+ ApiGatewayVpcLink.securityGroupIdParameter.export(this, this.securityGroup.securityGroupId);
61
+ }
62
+ }
63
+ exports.ApiGatewayVpcLink = ApiGatewayVpcLink;
64
+ _b = JSII_RTTI_SYMBOL_1;
65
+ ApiGatewayVpcLink[_b] = { fqn: "@btc-embedded/cdk-extensions.ApiGatewayVpcLink", version: "0.17.0" };
66
+ ApiGatewayVpcLink.vpcLinkParameter = new utils_1.StackParameter({
67
+ name: "APIGateway VPCLink Id",
68
+ key: "vpc-link-id",
69
+ prefix: "api-gateway",
70
+ version: 2,
71
+ });
72
+ ApiGatewayVpcLink.securityGroupIdParameter = new utils_1.StackParameter({
73
+ name: "APIGateway Security Group Id",
74
+ key: "security-group-id",
75
+ prefix: "api-gateway",
76
+ version: 2,
77
+ });
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBpR2F0ZXdheVZwY0xpbmsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGxhdGZvcm0vQXBpR2F0ZXdheVZwY0xpbmsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtRUFBaUU7QUFDakUsaURBTTZCO0FBQzdCLDJDQUF1QztBQUN2QyxvQ0FBMEM7QUF5QjFDLE1BQXNCLHFCQUNwQixTQUFRLHNCQUFTO0lBTWpCLGFBQWEsQ0FDWCxLQUFtQixFQUNuQixJQUFZLEVBQ1osY0FBc0Isb0JBQW9CO1FBRTFDLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsY0FBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUM3RSxDQUFDOztBQWJILHNEQWNDOzs7QUFDRDs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSCxNQUFhLGlCQUFrQixTQUFRLHFCQUFxQjtJQUNuRCxNQUFNLENBQUMsZ0JBQWdCLENBQzVCLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixPQUF1QztRQUV2QyxNQUFNLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUV0QyxNQUFNLE9BQU8sR0FBRywwQkFBTyxDQUFDLHFCQUFxQixDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUU7WUFDOUQsR0FBRztZQUNILFNBQVMsRUFBRSxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDO1NBQ25FLENBQUMsQ0FBQztRQUVILE1BQU0sYUFBYSxHQUFHLHVCQUFhLENBQUMsbUJBQW1CLENBQ3JELEtBQUssRUFDTCxlQUFlLEVBQ2YsaUJBQWlCLENBQUMsd0JBQXdCLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUMvRCxFQUFFLGdCQUFnQixFQUFFLEtBQUssRUFBRSxDQUM1QixDQUFDO1FBRUYsTUFBTSxNQUFPLFNBQVEscUJBQXFCO1lBQTFDOztnQkFDa0Isa0JBQWEsR0FBbUIsYUFBYSxDQUFDO2dCQUM5QyxZQUFPLEdBQWEsT0FBTyxDQUFDO1lBQzlDLENBQUM7U0FBQTtRQUVELE9BQU8sSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFtQkQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUE2QjtRQUNyRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSx1QkFBYSxDQUFDLElBQUksRUFBRSxzQkFBc0IsRUFBRTtZQUNuRSxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUc7WUFDZCxnQkFBZ0IsRUFBRSxLQUFLO1NBQ3hCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSwwQkFBTyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUU7WUFDMUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHO1lBQ2QsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO1lBQzlCLGNBQWMsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7U0FDckMsQ0FBQyxDQUFDO1FBRUgsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3hFLGlCQUFpQixDQUFDLHdCQUF3QixDQUFDLE1BQU0sQ0FDL0MsSUFBSSxFQUNKLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUNuQyxDQUFDO0lBQ0osQ0FBQzs7QUFoRUgsOENBaUVDOzs7QUFyQ3lCLGtDQUFnQixHQUFHLElBQUksc0JBQWMsQ0FBQztJQUM1RCxJQUFJLEVBQUUsdUJBQXVCO0lBQzdCLEdBQUcsRUFBRSxhQUFhO0lBQ2xCLE1BQU0sRUFBRSxhQUFhO0lBQ3JCLE9BQU8sRUFBRSxDQUFDO0NBQ1gsQ0FBQyxDQUFDO0FBRXFCLDBDQUF3QixHQUFHLElBQUksc0JBQWMsQ0FBQztJQUNwRSxJQUFJLEVBQUUsOEJBQThCO0lBQ3BDLEdBQUcsRUFBRSxtQkFBbUI7SUFDeEIsTUFBTSxFQUFFLGFBQWE7SUFDckIsT0FBTyxFQUFFLENBQUM7Q0FDWCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJVnBjTGluaywgVnBjTGluayB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtYXBpZ2F0ZXdheXYyXCI7XG5pbXBvcnQge1xuICBJQ29ubmVjdGFibGUsXG4gIElTZWN1cml0eUdyb3VwLFxuICBJVnBjLFxuICBQb3J0LFxuICBTZWN1cml0eUdyb3VwLFxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjMlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IFN0YWNrUGFyYW1ldGVyIH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXBpR2F0ZXdheVZwY0xpbmtQcm9wcyB7XG4gIC8qKlxuICAgKiBWUEMgd2hlcmUgdGhlIEFQSSBHVyBTZWN1cml0eSBncm91cCBhbmQgVlBDIExpbmsgd2lsbCBiZSBjcmVhdGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgdnBjOiBJVnBjO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBuYW1lIGZvciB0aGUgVlBDIExpbmsuXG4gICAqL1xuICByZWFkb25seSB2cGNMaW5rTmFtZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQXBpR2F0ZXdheVZwY0xpbmsge1xuICByZWFkb25seSB2cGNMaW5rOiBJVnBjTGluaztcbiAgcmVhZG9ubHkgc2VjdXJpdHlHcm91cDogSVNlY3VyaXR5R3JvdXA7XG4gIGFsbG93QWNjZXNzVG8ob3RoZXI6IElDb25uZWN0YWJsZSwgcG9ydDogbnVtYmVyLCBkZXNjcmlwdGlvbj86IHN0cmluZyk6IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXBpR2F0ZXdheVZwY0xpbmtMb29rdXBPcHRpb25zIHtcbiAgcmVhZG9ubHkgYmFzZVBsYXRmb3JtOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHZwYzogSVZwYztcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFwaUdhdGV3YXlWcGNMaW5rQmFzZVxuICBleHRlbmRzIENvbnN0cnVjdFxuICBpbXBsZW1lbnRzIElBcGlHYXRld2F5VnBjTGlua1xue1xuICBhYnN0cmFjdCByZWFkb25seSB2cGNMaW5rOiBJVnBjTGluaztcbiAgYWJzdHJhY3QgcmVhZG9ubHkgc2VjdXJpdHlHcm91cDogSVNlY3VyaXR5R3JvdXA7XG5cbiAgYWxsb3dBY2Nlc3NUbyhcbiAgICBvdGhlcjogSUNvbm5lY3RhYmxlLFxuICAgIHBvcnQ6IG51bWJlcixcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nID0gXCJBbGxvdyBIVFRQIFRyYWZmaWNcIixcbiAgKSB7XG4gICAgdGhpcy5zZWN1cml0eUdyb3VwLmNvbm5lY3Rpb25zLmFsbG93VG8ob3RoZXIsIFBvcnQudGNwKHBvcnQpLCBkZXNjcmlwdGlvbik7XG4gIH1cbn1cbi8qKlxuICogQ29uc3RydWN0cyBhbiBBUEkgR2F0ZXdheSBWUEMgbGluayBhbmQgYW4gYXNzb2NpYXRlZCBzZWN1cml0eSBncm91cC5cbiAqXG4gKiBUaGlzIGNvbnN0cnVjdCBpcyBpbnRlbmRlZCB0byBiZSB1c2VkIG9uY2UgaW4gYW4gQVdTIGFjY291bnQgYW5kIHByb3ZpZGVzIGFcbiAqIG1lY2hhbmlzbSB0byBzZXQgdXAgdGhlIHNlY3VyaXR5IGdyb3VwIGZvciBhY2Nlc3MgdG8gc2VydmljZXMgZGVwbG95ZWQgaW4gdGhlXG4gKiBWUEMuXG4gKlxuICogVGhpcyBjb25zdHJ1Y3QgY3JlYXRlczpcbiAqIC0gQSBWUEMgTGluayBmb3IgdGhlIEFQSSBHYXRld2F5IHRvIGNvbm5lY3QgdG8gc2VydmljZXMgd2l0aGluIHRoZSBzcGVjaWZpZWQgVlBDLlxuICogLSBBIFNlY3VyaXR5IEdyb3VwIGFzc29jaWF0ZWQgd2l0aCB0aGUgVlBDIExpbmsgdG8gY29udHJvbCBuZXR3b3JrIHRyYWZmaWMuXG4gKlxuICogVGhlc2Ugb3V0cHV0cyBjYW4gYmUgdXRpbGl6ZWQgYnkgb3RoZXIgQ0RLIGV4dGVuc2lvbnMgcHJvdmlkZWQgaW4gdGhpcyBsaWJyYXJ5LlxuICovXG5leHBvcnQgY2xhc3MgQXBpR2F0ZXdheVZwY0xpbmsgZXh0ZW5kcyBBcGlHYXRld2F5VnBjTGlua0Jhc2Uge1xuICBwdWJsaWMgc3RhdGljIGZyb21CYXNlUGxhdGZvcm0oXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIG9wdGlvbnM6IEFwaUdhdGV3YXlWcGNMaW5rTG9va3VwT3B0aW9ucyxcbiAgKTogSUFwaUdhdGV3YXlWcGNMaW5rIHtcbiAgICBjb25zdCB7IHZwYywgYmFzZVBsYXRmb3JtIH0gPSBvcHRpb25zO1xuXG4gICAgY29uc3QgdnBjTGluayA9IFZwY0xpbmsuZnJvbVZwY0xpbmtBdHRyaWJ1dGVzKHNjb3BlLCBcIlZQQ0xpbmtcIiwge1xuICAgICAgdnBjLFxuICAgICAgdnBjTGlua0lkOiBBcGlHYXRld2F5VnBjTGluay52cGNMaW5rUGFyYW1ldGVyLmltcG9ydChiYXNlUGxhdGZvcm0pLFxuICAgIH0pO1xuXG4gICAgY29uc3Qgc2VjdXJpdHlHcm91cCA9IFNlY3VyaXR5R3JvdXAuZnJvbVNlY3VyaXR5R3JvdXBJZChcbiAgICAgIHNjb3BlLFxuICAgICAgXCJTZWN1cml0eUdyb3VwXCIsXG4gICAgICBBcGlHYXRld2F5VnBjTGluay5zZWN1cml0eUdyb3VwSWRQYXJhbWV0ZXIuaW1wb3J0KGJhc2VQbGF0Zm9ybSksXG4gICAgICB7IGFsbG93QWxsT3V0Ym91bmQ6IGZhbHNlIH0sIC8vIHNlZSBiZWxvd1xuICAgICk7XG5cbiAgICBjbGFzcyBJbXBvcnQgZXh0ZW5kcyBBcGlHYXRld2F5VnBjTGlua0Jhc2Uge1xuICAgICAgcHVibGljIHJlYWRvbmx5IHNlY3VyaXR5R3JvdXA6IElTZWN1cml0eUdyb3VwID0gc2VjdXJpdHlHcm91cDtcbiAgICAgIHB1YmxpYyByZWFkb25seSB2cGNMaW5rOiBJVnBjTGluayA9IHZwY0xpbms7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBJbXBvcnQoc2NvcGUsIGlkKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IHZwY0xpbmtQYXJhbWV0ZXIgPSBuZXcgU3RhY2tQYXJhbWV0ZXIoe1xuICAgIG5hbWU6IFwiQVBJR2F0ZXdheSBWUENMaW5rIElkXCIsXG4gICAga2V5OiBcInZwYy1saW5rLWlkXCIsXG4gICAgcHJlZml4OiBcImFwaS1nYXRld2F5XCIsXG4gICAgdmVyc2lvbjogMixcbiAgfSk7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgc2VjdXJpdHlHcm91cElkUGFyYW1ldGVyID0gbmV3IFN0YWNrUGFyYW1ldGVyKHtcbiAgICBuYW1lOiBcIkFQSUdhdGV3YXkgU2VjdXJpdHkgR3JvdXAgSWRcIixcbiAgICBrZXk6IFwic2VjdXJpdHktZ3JvdXAtaWRcIixcbiAgICBwcmVmaXg6IFwiYXBpLWdhdGV3YXlcIixcbiAgICB2ZXJzaW9uOiAyLFxuICB9KTtcblxuICBwdWJsaWMgcmVhZG9ubHkgc2VjdXJpdHlHcm91cDogSVNlY3VyaXR5R3JvdXA7XG4gIHB1YmxpYyByZWFkb25seSB2cGNMaW5rOiBJVnBjTGluaztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQXBpR2F0ZXdheVZwY0xpbmtQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICB0aGlzLnNlY3VyaXR5R3JvdXAgPSBuZXcgU2VjdXJpdHlHcm91cCh0aGlzLCBcIlZwY0xpbmtTZWN1cml0eUdyb3VwXCIsIHtcbiAgICAgIHZwYzogcHJvcHMudnBjLFxuICAgICAgYWxsb3dBbGxPdXRib3VuZDogZmFsc2UsXG4gICAgfSk7XG5cbiAgICB0aGlzLnZwY0xpbmsgPSBuZXcgVnBjTGluayh0aGlzLCBcIlZwY0xpbmtcIiwge1xuICAgICAgdnBjOiBwcm9wcy52cGMsXG4gICAgICB2cGNMaW5rTmFtZTogcHJvcHMudnBjTGlua05hbWUsXG4gICAgICBzZWN1cml0eUdyb3VwczogW3RoaXMuc2VjdXJpdHlHcm91cF0sXG4gICAgfSk7XG5cbiAgICBBcGlHYXRld2F5VnBjTGluay52cGNMaW5rUGFyYW1ldGVyLmV4cG9ydCh0aGlzLCB0aGlzLnZwY0xpbmsudnBjTGlua0lkKTtcbiAgICBBcGlHYXRld2F5VnBjTGluay5zZWN1cml0eUdyb3VwSWRQYXJhbWV0ZXIuZXhwb3J0KFxuICAgICAgdGhpcyxcbiAgICAgIHRoaXMuc2VjdXJpdHlHcm91cC5zZWN1cml0eUdyb3VwSWQsXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -61,5 +61,5 @@ class ApplicationLoadBalancer extends constructs_1.Construct {
61
61
  }
62
62
  exports.ApplicationLoadBalancer = ApplicationLoadBalancer;
63
63
  _a = JSII_RTTI_SYMBOL_1;
64
- ApplicationLoadBalancer[_a] = { fqn: "@btc-embedded/cdk-extensions.ApplicationLoadBalancer", version: "0.15.0" };
64
+ ApplicationLoadBalancer[_a] = { fqn: "@btc-embedded/cdk-extensions.ApplicationLoadBalancer", version: "0.17.0" };
65
65
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwbGljYXRpb25Mb2FkQmFsYW5jZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGxhdGZvcm0vQXBwbGljYXRpb25Mb2FkQmFsYW5jZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBaUM7QUFDakMsK0VBRzRDO0FBTzVDLHVGQU1nRDtBQUNoRCx1R0FBMkY7QUFDM0YseURBQTZFO0FBQzdFLHlFQUFxRTtBQUNyRSwyQ0FBdUM7QUFDdkMsb0NBQTBDO0FBVTFDOztHQUVHO0FBQ0gsTUFBYSx1QkFBd0IsU0FBUSxzQkFBUztJQUlwRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFFRCxZQUNFLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixLQUFtQztRQUVuQyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sV0FBVyxHQUFHLElBQUksb0NBQVcsQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFO1lBQ3ZELFVBQVUsRUFBRSxLQUFLLENBQUMsSUFBSTtZQUN0QixVQUFVLEVBQUUsOENBQXFCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUM7U0FDNUQsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLG9EQUEwQixDQUFDLElBQUksRUFBRSxLQUFLLEVBQUU7WUFDOUQsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHO1lBQ2QsY0FBYyxFQUFFLElBQUk7U0FDckIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUU7WUFDeEQsSUFBSSxFQUFFLEdBQUc7WUFDVCxZQUFZLEVBQUUsQ0FBQyxXQUFXLENBQUM7WUFDM0IsYUFBYSxFQUFFLElBQUksOERBQXlCLENBQUM7Z0JBQzNDLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtnQkFDeEIsY0FBYyxFQUFFLEtBQUssQ0FBQyxjQUFjO2dCQUNwQyxjQUFjLEVBQUUsS0FBSyxDQUFDLGNBQWM7Z0JBQ3BDLElBQUksRUFBRSwyQ0FBYyxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQUU7b0JBQ3RDLFdBQVcsRUFBRSxnQ0FBZ0M7aUJBQzlDLENBQUM7Z0JBQ0Ysd0JBQXdCLEVBQUUsa0RBQXFCLENBQUMsWUFBWTthQUM3RCxDQUFDO1NBQ0gsQ0FBQyxDQUFDO1FBRUgsSUFBSSxxQkFBTyxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUU7WUFDOUIsSUFBSSxFQUFFLEtBQUssQ0FBQyxVQUFVO1lBQ3RCLFVBQVUsRUFBRSxLQUFLLENBQUMsSUFBSTtZQUN0QixNQUFNLEVBQUUsMEJBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSx3Q0FBa0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDMUUsQ0FBQyxDQUFDO1FBRUgsTUFBTSxXQUFXLEdBQUcsSUFBQSxzQkFBYyxFQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUVoRCxXQUFXLENBQUM7WUFDVixJQUFJLEVBQUUsa0JBQWtCO1lBQ3hCLEdBQUcsRUFBRSxjQUFjO1lBQ25CLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVc7U0FDakMsQ0FBQyxDQUFDO1FBRUgsV0FBVyxDQUFDO1lBQ1YsSUFBSSxFQUFFLHVCQUF1QjtZQUM3QixHQUFHLEVBQUUsbUJBQW1CO1lBQ3hCLEtBQUssRUFBRSxnQkFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQywwQkFBMEIsQ0FBQztTQUNsRSxDQUFDLENBQUM7SUFDTCxDQUFDOztBQTFESCwwREEyREMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGbiB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHtcbiAgQ2VydGlmaWNhdGUsXG4gIENlcnRpZmljYXRlVmFsaWRhdGlvbixcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jZXJ0aWZpY2F0ZW1hbmFnZXJcIjtcbmltcG9ydCB7XG4gIElVc2VyUG9vbCxcbiAgSVVzZXJQb29sQ2xpZW50LFxuICBJVXNlclBvb2xEb21haW4sXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY29nbml0b1wiO1xuaW1wb3J0IHsgSVZwYyB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWMyXCI7XG5pbXBvcnQge1xuICBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlciBhcyBBV1NBcHBsaWNhdGlvbkxvYWRCYWxhbmNlcixcbiAgSUFwcGxpY2F0aW9uTGlzdGVuZXIsXG4gIElBcHBsaWNhdGlvbkxvYWRCYWxhbmNlcixcbiAgTGlzdGVuZXJBY3Rpb24sXG4gIFVuYXV0aGVudGljYXRlZEFjdGlvbixcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lbGFzdGljbG9hZGJhbGFuY2luZ3YyXCI7XG5pbXBvcnQgeyBBdXRoZW50aWNhdGVDb2duaXRvQWN0aW9uIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lbGFzdGljbG9hZGJhbGFuY2luZ3YyLWFjdGlvbnNcIjtcbmltcG9ydCB7IEFSZWNvcmQsIElIb3N0ZWRab25lLCBSZWNvcmRUYXJnZXQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJvdXRlNTNcIjtcbmltcG9ydCB7IExvYWRCYWxhbmNlclRhcmdldCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtcm91dGU1My10YXJnZXRzXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgY3JlYXRlRXhwb3J0ZXIgfSBmcm9tIFwiLi4vdXRpbHNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlclByb3BzIHtcbiAgcmVhZG9ubHkgZnFkbjogc3RyaW5nO1xuICByZWFkb25seSB2cGM6IElWcGM7XG4gIHJlYWRvbmx5IHVzZXJQb29sOiBJVXNlclBvb2w7XG4gIHJlYWRvbmx5IHVzZXJQb29sQ2xpZW50OiBJVXNlclBvb2xDbGllbnQ7XG4gIHJlYWRvbmx5IHVzZXJQb29sRG9tYWluOiBJVXNlclBvb2xEb21haW47XG4gIHJlYWRvbmx5IGhvc3RlZFpvbmU6IElIb3N0ZWRab25lO1xufVxuLyoqXG4gKiBAZGVwcmVjYXRlZCBVc2Uge0BsaW5rIEFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyVjJ9IGluc3RlYWRcbiAqL1xuZXhwb3J0IGNsYXNzIEFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcHVibGljIHJlYWRvbmx5IGxvYWRiYWxhbmNlcjogQVdTQXBwbGljYXRpb25Mb2FkQmFsYW5jZXI7XG4gIHB1YmxpYyByZWFkb25seSBsaXN0ZW5lcjogSUFwcGxpY2F0aW9uTGlzdGVuZXI7XG5cbiAgcHVibGljIGdldCBsb2FkQmFsYW5jZXIoKTogSUFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyIHtcbiAgICByZXR1cm4gdGhpcy5sb2FkYmFsYW5jZXI7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IEFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyUHJvcHMsXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCBjZXJ0aWZpY2F0ZSA9IG5ldyBDZXJ0aWZpY2F0ZSh0aGlzLCBcIkNlcnRpZmljYXRlXCIsIHtcbiAgICAgIGRvbWFpbk5hbWU6IHByb3BzLmZxZG4sXG4gICAgICB2YWxpZGF0aW9uOiBDZXJ0aWZpY2F0ZVZhbGlkYXRpb24uZnJvbURucyhwcm9wcy5ob3N0ZWRab25lKSxcbiAgICB9KTtcblxuICAgIHRoaXMubG9hZGJhbGFuY2VyID0gbmV3IEFXU0FwcGxpY2F0aW9uTG9hZEJhbGFuY2VyKHRoaXMsIFwiQUxCXCIsIHtcbiAgICAgIHZwYzogcHJvcHMudnBjLFxuICAgICAgaW50ZXJuZXRGYWNpbmc6IHRydWUsXG4gICAgfSk7XG5cbiAgICB0aGlzLmxpc3RlbmVyID0gdGhpcy5sb2FkYmFsYW5jZXIuYWRkTGlzdGVuZXIoXCJMaXN0ZW5lclwiLCB7XG4gICAgICBwb3J0OiA0NDMsXG4gICAgICBjZXJ0aWZpY2F0ZXM6IFtjZXJ0aWZpY2F0ZV0sXG4gICAgICBkZWZhdWx0QWN0aW9uOiBuZXcgQXV0aGVudGljYXRlQ29nbml0b0FjdGlvbih7XG4gICAgICAgIHVzZXJQb29sOiBwcm9wcy51c2VyUG9vbCxcbiAgICAgICAgdXNlclBvb2xDbGllbnQ6IHByb3BzLnVzZXJQb29sQ2xpZW50LFxuICAgICAgICB1c2VyUG9vbERvbWFpbjogcHJvcHMudXNlclBvb2xEb21haW4sXG4gICAgICAgIG5leHQ6IExpc3RlbmVyQWN0aW9uLmZpeGVkUmVzcG9uc2UoMjAwLCB7XG4gICAgICAgICAgbWVzc2FnZUJvZHk6IFwiVGhpcyBpcyB0aGUgQUxCIGRlZmF1bHQgYWN0aW9uXCIsXG4gICAgICAgIH0pLFxuICAgICAgICBvblVuYXV0aGVudGljYXRlZFJlcXVlc3Q6IFVuYXV0aGVudGljYXRlZEFjdGlvbi5BVVRIRU5USUNBVEUsXG4gICAgICB9KSxcbiAgICB9KTtcblxuICAgIG5ldyBBUmVjb3JkKHRoaXMsIFwiQUxCQVJlY29yZFwiLCB7XG4gICAgICB6b25lOiBwcm9wcy5ob3N0ZWRab25lLFxuICAgICAgcmVjb3JkTmFtZTogcHJvcHMuZnFkbixcbiAgICAgIHRhcmdldDogUmVjb3JkVGFyZ2V0LmZyb21BbGlhcyhuZXcgTG9hZEJhbGFuY2VyVGFyZ2V0KHRoaXMubG9hZEJhbGFuY2VyKSksXG4gICAgfSk7XG5cbiAgICBjb25zdCBleHBvcnRWYWx1ZSA9IGNyZWF0ZUV4cG9ydGVyKHRoaXMsIFwiYWxiXCIpO1xuXG4gICAgZXhwb3J0VmFsdWUoe1xuICAgICAgbmFtZTogXCJBTEIgTGlzdGVuZXIgQVJOXCIsXG4gICAgICBrZXk6IFwibGlzdGVuZXItYXJuXCIsXG4gICAgICB2YWx1ZTogdGhpcy5saXN0ZW5lci5saXN0ZW5lckFybixcbiAgICB9KTtcblxuICAgIGV4cG9ydFZhbHVlKHtcbiAgICAgIG5hbWU6IFwiQUxCIFNlY3VyaXR5IEdyb3VwIElkXCIsXG4gICAgICBrZXk6IFwic2VjdXJpdHktZ3JvdXAtaWRcIixcbiAgICAgIHZhbHVlOiBGbi5zZWxlY3QoMCwgdGhpcy5sb2FkYmFsYW5jZXIubG9hZEJhbGFuY2VyU2VjdXJpdHlHcm91cHMpLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -3,7 +3,7 @@ import { IVpc } from "aws-cdk-lib/aws-ec2";
3
3
  import { IApplicationLoadBalancerTarget, IApplicationTargetGroup } from "aws-cdk-lib/aws-elasticloadbalancingv2";
4
4
  import { IHostedZone } from "aws-cdk-lib/aws-route53";
5
5
  import { Construct } from "constructs";
6
- import { CognitoUserPool } from "./CognitoUserPool";
6
+ import { ICognitoUserPool } from "./CognitoUserPool";
7
7
  export interface ApplicationLoadBalancerPropsV2 {
8
8
  /**
9
9
  * The fully qualified domain name (FQDN) for the Application Load Balancer (ALB).
@@ -17,7 +17,7 @@ export interface ApplicationLoadBalancerPropsV2 {
17
17
  /**
18
18
  * The Cognito User Pool of this base platform.
19
19
  */
20
- readonly userPool: CognitoUserPool;
20
+ readonly userPool: ICognitoUserPool;
21
21
  /**
22
22
  * The Cognito User Pool Domain used for authentication.
23
23
  */
@@ -18,7 +18,7 @@ class ApplicationLoadBalancerV2Base extends constructs_1.Construct {
18
18
  }
19
19
  exports.ApplicationLoadBalancerV2Base = ApplicationLoadBalancerV2Base;
20
20
  _a = JSII_RTTI_SYMBOL_1;
21
- ApplicationLoadBalancerV2Base[_a] = { fqn: "@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2Base", version: "0.15.0" };
21
+ ApplicationLoadBalancerV2Base[_a] = { fqn: "@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2Base", version: "0.17.0" };
22
22
  /**
23
23
  * A construct that creates an Application Load Balancer (ALB) with Cognito authentication.
24
24
  *
@@ -95,7 +95,7 @@ class ApplicationLoadBalancerV2 extends ApplicationLoadBalancerV2Base {
95
95
  }
96
96
  exports.ApplicationLoadBalancerV2 = ApplicationLoadBalancerV2;
97
97
  _b = JSII_RTTI_SYMBOL_1;
98
- ApplicationLoadBalancerV2[_b] = { fqn: "@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2", version: "0.15.0" };
98
+ ApplicationLoadBalancerV2[_b] = { fqn: "@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2", version: "0.17.0" };
99
99
  ApplicationLoadBalancerV2.securityGroupIdParameter = new utils_1.StackParameter({
100
100
  name: "ALB Security Group Id",
101
101
  key: "security-group-id",
@@ -108,4 +108,4 @@ ApplicationLoadBalancerV2.targetGroupIdParameter = new utils_1.StackParameter({
108
108
  prefix: "alb",
109
109
  version: 2,
110
110
  });
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJWMi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wbGF0Zm9ybS9BcHBsaWNhdGlvbkxvYWRCYWxhbmNlclYyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQTJDO0FBQzNDLCtFQUc0QztBQUc1Qyx1RkFTZ0Q7QUFDaEQsdUdBQTJGO0FBQzNGLHlEQUE2RTtBQUM3RSx5RUFBcUU7QUFDckUsMkNBQXVDO0FBQ3ZDLG9DQUEwQztBQTBEMUMsTUFBc0IsNkJBQ3BCLFNBQVEsc0JBQVM7SUFLakIsU0FBUyxDQUFDLE1BQXNDO1FBQzlDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDNUMsQ0FBQzs7QUFSSCxzRUFTQzs7O0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFhLHlCQUEwQixTQUFRLDZCQUE2QjtJQUMxRSxNQUFNLENBQUMsZ0JBQWdCLENBQ3JCLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixFQUFFLFlBQVksRUFBMEM7UUFFeEQsTUFBTSxNQUFPLFNBQVEsNkJBQTZCO1lBQWxEOztnQkFDVyxnQkFBVyxHQUNsQixtREFBc0IsQ0FBQyx5QkFBeUIsQ0FDOUMsSUFBSSxFQUNKLG1CQUFtQixFQUNuQjtvQkFDRSxjQUFjLEVBQ1oseUJBQXlCLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUNyRCxZQUFZLENBQ2I7aUJBQ0osQ0FDRixDQUFDO1lBQ04sQ0FBQztTQUFBO1FBRUQsT0FBTyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQW1CRCxZQUNFLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixLQUFxQztRQUVyQyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sV0FBVyxHQUFHLElBQUksb0NBQVcsQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFO1lB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QUF2RnlCLGtEQUF3QixHQUFHLElBQUksc0JBQWMsQ0FBQztJQUNwRSxJQUFJLEVBQUUsdUJBQXVCO0lBQzdCLEdBQUcsRUFBRSxtQkFBbUI7SUFDeEIsTUFBTSxFQUFFLEtBQUs7SUFDYixPQUFPLEVBQUUsQ0FBQztDQUNYLENBQUMsQ0FBQztBQUVxQixnREFBc0IsR0FBRyxJQUFJLHNCQUFjLENBQUM7SUFDbEUsSUFBSSxFQUFFLHFCQUFxQjtJQUMzQixHQUFHLEVBQUUsaUJBQWlCO0lBQ3RCLE1BQU0sRUFBRSxLQUFLO0lBQ2IsT0FBTyxFQUFFLENBQUM7Q0FDWCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEdXJhdGlvbiwgRm4gfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7XG4gIENlcnRpZmljYXRlLFxuICBDZXJ0aWZpY2F0ZVZhbGlkYXRpb24sXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2VydGlmaWNhdGVtYW5hZ2VyXCI7XG5pbXBvcnQgeyBJVXNlclBvb2xEb21haW4gfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNvZ25pdG9cIjtcbmltcG9ydCB7IElWcGMgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjMlwiO1xuaW1wb3J0IHtcbiAgQXBwbGljYXRpb25Qcm90b2NvbCxcbiAgQXBwbGljYXRpb25UYXJnZXRHcm91cCxcbiAgQXBwbGljYXRpb25Mb2FkQmFsYW5jZXIgYXMgQVdTQXBwbGljYXRpb25Mb2FkQmFsYW5jZXIsXG4gIElBcHBsaWNhdGlvbkxvYWRCYWxhbmNlclRhcmdldCxcbiAgSUFwcGxpY2F0aW9uVGFyZ2V0R3JvdXAsXG4gIExpc3RlbmVyQWN0aW9uLFxuICBMaXN0ZW5lckNvbmRpdGlvbixcbiAgVW5hdXRoZW50aWNhdGVkQWN0aW9uLFxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVsYXN0aWNsb2FkYmFsYW5jaW5ndjJcIjtcbmltcG9ydCB7IEF1dGhlbnRpY2F0ZUNvZ25pdG9BY3Rpb24gfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVsYXN0aWNsb2FkYmFsYW5jaW5ndjItYWN0aW9uc1wiO1xuaW1wb3J0IHsgQVJlY29yZCwgSUhvc3RlZFpvbmUsIFJlY29yZFRhcmdldCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtcm91dGU1M1wiO1xuaW1wb3J0IHsgTG9hZEJhbGFuY2VyVGFyZ2V0IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1yb3V0ZTUzLXRhcmdldHNcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBTdGFja1BhcmFtZXRlciB9IGZyb20gXCIuLi91dGlsc1wiO1xuaW1wb3J0IHsgQ29nbml0b1VzZXJQb29sIH0gZnJvbSBcIi4vQ29nbml0b1VzZXJQb29sXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJQcm9wc1YyIHtcbiAgLyoqXG4gICAqIFRoZSBmdWxseSBxdWFsaWZpZWQgZG9tYWluIG5hbWUgKEZRRE4pIGZvciB0aGUgQXBwbGljYXRpb24gTG9hZCBCYWxhbmNlciAoQUxCKS5cbiAgICogVGhpcyBpcyB1c2VkIGZvciBjb25maWd1cmluZyBETlMgcmVjb3Jkcy5cbiAgICovXG4gIHJlYWRvbmx5IGZxZG46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIFZQQyBpbiB3aGljaCB0aGUgQXBwbGljYXRpb24gTG9hZCBCYWxhbmNlciB3aWxsIGJlIGRlcGxveWVkLlxuICAgKi9cbiAgcmVhZG9ubHkgdnBjOiBJVnBjO1xuXG4gIC8qKlxuICAgKiBUaGUgQ29nbml0byBVc2VyIFBvb2wgb2YgdGhpcyBiYXNlIHBsYXRmb3JtLlxuICAgKi9cbiAgcmVhZG9ubHkgdXNlclBvb2w6IENvZ25pdG9Vc2VyUG9vbDtcblxuICAvKipcbiAgICogVGhlIENvZ25pdG8gVXNlciBQb29sIERvbWFpbiB1c2VkIGZvciBhdXRoZW50aWNhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IHVzZXJQb29sRG9tYWluOiBJVXNlclBvb2xEb21haW47XG5cbiAgLyoqXG4gICAqIFRoZSBSb3V0ZSA1MyBob3N0ZWQgem9uZSB3aGVyZSB0aGUgQUxCJ3MgRE5TIHJlY29yZCB3aWxsIGJlIGNyZWF0ZWQuXG4gICAqL1xuICByZWFkb25seSBob3N0ZWRab25lOiBJSG9zdGVkWm9uZTtcblxuICAvKipcbiAgICogQWRkaXRpb25hbCBjYWxsYmFjayBVUkxzIHRvIGJlIGFkZGVkIHRvIHRoZSBDb2duaXRvIFVzZXIgUG9vbCBDbGllbnQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gYWRkaXRpb25hbCBjYWxsYmFjayBVUkxzIGFyZSBjb25maWd1cmVkLlxuICAgKi9cbiAgcmVhZG9ubHkgYWRkaXRpb25hbENhbGxiYWNrVXJscz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgcG9ydCBvbiB3aGljaCB0aGUgdGFyZ2V0IGdyb3VwIHdpbGwgcmVjZWl2ZSB0cmFmZmljLlxuICAgKi9cbiAgcmVhZG9ubHkgdHJhZmZpY1BvcnQ6IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIGhlYWx0aCBjaGVjayBwYXRoIGZvciB0aGUgdGFyZ2V0IGdyb3VwLlxuICAgKi9cbiAgcmVhZG9ubHkgaGVhbHRDaGVja1BhdGg6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlclYyTG9va3VwT3B0aW9ucyB7XG4gIHJlYWRvbmx5IGJhc2VQbGF0Zm9ybTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElBcHBsaWNhdGlvbkxvYWRCYWxhbmNlclYyIHtcbiAgcmVhZG9ubHkgdGFyZ2V0R3JvdXA6IElBcHBsaWNhdGlvblRhcmdldEdyb3VwO1xuXG4gIGFkZFRhcmdldCh0YXJnZXQ6IElBcHBsaWNhdGlvbkxvYWRCYWxhbmNlclRhcmdldCk6IHZvaWQ7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlclYyQmFzZVxuICBleHRlbmRzIENvbnN0cnVjdFxuICBpbXBsZW1lbnRzIElBcHBsaWNhdGlvbkxvYWRCYWxhbmNlclYyXG57XG4gIGFic3RyYWN0IHJlYWRvbmx5IHRhcmdldEdyb3VwOiBJQXBwbGljYXRpb25UYXJnZXRHcm91cDtcblxuICBhZGRUYXJnZXQodGFyZ2V0OiBJQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJUYXJnZXQpIHtcbiAgICByZXR1cm4gdGhpcy50YXJnZXRHcm91cC5hZGRUYXJnZXQodGFyZ2V0KTtcbiAgfVxufVxuXG4vKipcbiAqIEEgY29uc3RydWN0IHRoYXQgY3JlYXRlcyBhbiBBcHBsaWNhdGlvbiBMb2FkIEJhbGFuY2VyIChBTEIpIHdpdGggQ29nbml0byBhdXRoZW50aWNhdGlvbi5cbiAqXG4gKiBUaGlzIGNvbnN0cnVjdDpcbiAqIC0gQ3JlYXRlcyBhbiBBTEIgd2l0aCBhbiBIVFRQUyBsaXN0ZW5lciBhbmQgYSBDb2duaXRvIGF1dGhlbnRpY2F0aW9uIGFjdGlvbi5cbiAqIC0gQ29uZmlndXJlcyBhIHRhcmdldCBncm91cCB3aXRoIGhlYWx0aCBjaGVja3MuXG4gKiAtIEFkZHMgYSBSb3V0ZSA1MyBETlMgcmVjb3JkIGZvciB0aGUgQUxCLlxuICogLSBFeHBvcnRzIGtleSBBTEIgcHJvcGVydGllcyAobGlzdGVuZXIgQVJOLCB0YXJnZXQgZ3JvdXAgQVJOLCBzZWN1cml0eSBncm91cCBJRCkgYXMgQ2xvdWRGb3JtYXRpb24gb3V0cHV0cy5cbiAqL1xuZXhwb3J0IGNsYXNzIEFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyVjIgZXh0ZW5kcyBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlclYyQmFzZSB7XG4gIHN0YXRpYyBmcm9tQmFzZVBsYXRmb3JtKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICB7IGJhc2VQbGF0Zm9ybSB9OiBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlclYyTG9va3VwT3B0aW9ucyxcbiAgKTogSUFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyVjIge1xuICAgIGNsYXNzIEltcG9ydCBleHRlbmRzIEFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyVjJCYXNlIHtcbiAgICAgIHJlYWRvbmx5IHRhcmdldEdyb3VwOiBJQXBwbGljYXRpb25UYXJnZXRHcm91cCA9XG4gICAgICAgIEFwcGxpY2F0aW9uVGFyZ2V0R3JvdXAuZnJvbVRhcmdldEdyb3VwQXR0cmlidXRlcyhcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgIFwiVGFyZ2V0R3JvdXBMb29rdXBcIixcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0YXJnZXRHcm91cEFybjpcbiAgICAgICAgICAgICAgQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJWMi50YXJnZXRHcm91cElkUGFyYW1ldGVyLmltcG9ydChcbiAgICAgICAgICAgICAgICBiYXNlUGxhdGZvcm0sXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgfSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IEltcG9ydChzY29wZSwgaWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgc2VjdXJpdHlHcm91cElkUGFyYW1ldGVyID0gbmV3IFN0YWNrUGFyYW1ldGVyKHtcbiAgICBuYW1lOiBcIkFMQiBTZWN1cml0eSBHcm91cCBJZFwiLFxuICAgIGtleTogXCJzZWN1cml0eS1ncm91cC1pZFwiLFxuICAgIHByZWZpeDogXCJhbGJcIixcbiAgICB2ZXJzaW9uOiAyLFxuICB9KTtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSB0YXJnZXRHcm91cElkUGFyYW1ldGVyID0gbmV3IFN0YWNrUGFyYW1ldGVyKHtcbiAgICBuYW1lOiBcIkFMQiBUYXJnZXQgR3JvdXAgSWRcIixcbiAgICBrZXk6IFwidGFyZ2V0LWdyb3VwLWlkXCIsXG4gICAgcHJlZml4OiBcImFsYlwiLFxuICAgIHZlcnNpb246IDIsXG4gIH0pO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgYWxiOiBBV1NBcHBsaWNhdGlvbkxvYWRCYWxhbmNlcjtcbiAgcmVhZG9ubHkgdGFyZ2V0R3JvdXA6IElBcHBsaWNhdGlvblRhcmdldEdyb3VwO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wczogQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJQcm9wc1YyLFxuICApIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgY2VydGlmaWNhdGUgPSBuZXcgQ2VydGlmaWNhdGUodGhpcywgXCJDZXJ0aWZpY2F0ZVwiLCB7XG4gICAgICBkb21haW5OYW1lOiBwcm9wcy5mcWRuLFxuICAgICAgdmFsaWRhdGlvbjogQ2VydGlmaWNhdGVWYWxpZGF0aW9uLmZyb21EbnMocHJvcHMuaG9zdGVkWm9uZSksXG4gICAgfSk7XG5cbiAgICB0aGlzLmFsYiA9IG5ldyBBV1NBcHBsaWNhdGlvbkxvYWRCYWxhbmNlcih0aGlzLCBcIkFMQlwiLCB7XG4gICAgICB2cGM6IHByb3BzLnZwYyxcbiAgICAgIGludGVybmV0RmFjaW5nOiB0cnVlLFxuICAgIH0pO1xuXG4gICAgY29uc3QgbGlzdGVuZXIgPSB0aGlzLmFsYi5hZGRMaXN0ZW5lcihcIkxpc3RlbmVyXCIsIHtcbiAgICAgIHBvcnQ6IDQ0MyxcbiAgICAgIGNlcnRpZmljYXRlczogW2NlcnRpZmljYXRlXSxcbiAgICAgIGRlZmF1bHRBY3Rpb246IG5ldyBBdXRoZW50aWNhdGVDb2duaXRvQWN0aW9uKHtcbiAgICAgICAgdXNlclBvb2w6IHByb3BzLnVzZXJQb29sLnVzZXJQb29sLFxuICAgICAgICB1c2VyUG9vbENsaWVudDogcHJvcHMudXNlclBvb2wuYXBwVXNlclBvb2xDbGllbnQsXG4gICAgICAgIHVzZXJQb29sRG9tYWluOiBwcm9wcy51c2VyUG9vbERvbWFpbixcbiAgICAgICAgbmV4dDogTGlzdGVuZXJBY3Rpb24uZml4ZWRSZXNwb25zZSgyMDAsIHtcbiAgICAgICAgICBtZXNzYWdlQm9keTogXCJUaGlzIGlzIHRoZSBBTEIgZGVmYXVsdCBhY3Rpb25cIixcbiAgICAgICAgfSksXG4gICAgICAgIG9uVW5hdXRoZW50aWNhdGVkUmVxdWVzdDogVW5hdXRoZW50aWNhdGVkQWN0aW9uLkFVVEhFTlRJQ0FURSxcbiAgICAgIH0pLFxuICAgIH0pO1xuXG4gICAgdGhpcy50YXJnZXRHcm91cCA9IG5ldyBBcHBsaWNhdGlvblRhcmdldEdyb3VwKHRoaXMsIGAke2lkfVRhcmdldEdyb3VwYCwge1xuICAgICAgdnBjOiBwcm9wcy52cGMsXG4gICAgICBwb3J0OiBwcm9wcy50cmFmZmljUG9ydCxcbiAgICAgIHByb3RvY29sOiBBcHBsaWNhdGlvblByb3RvY29sLkhUVFAsXG4gICAgICBkZXJlZ2lzdHJhdGlvbkRlbGF5OiBEdXJhdGlvbi5zZWNvbmRzKDEwKSxcbiAgICAgIHRhcmdldHM6IFtdLFxuICAgICAgaGVhbHRoQ2hlY2s6IHtcbiAgICAgICAgcGF0aDogcHJvcHMuaGVhbHRDaGVja1BhdGgsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgbGlzdGVuZXIuYWRkQWN0aW9uKGAke2lkfUFjdGlvbmAsIHtcbiAgICAgIHByaW9yaXR5OiA1NSxcbiAgICAgIGNvbmRpdGlvbnM6IFtMaXN0ZW5lckNvbmRpdGlvbi5ob3N0SGVhZGVycyhbcHJvcHMuZnFkbl0pXSxcbiAgICAgIGFjdGlvbjogbmV3IEF1dGhlbnRpY2F0ZUNvZ25pdG9BY3Rpb24oe1xuICAgICAgICB1c2VyUG9vbDogcHJvcHMudXNlclBvb2wudXNlclBvb2wsXG4gICAgICAgIHVzZXJQb29sQ2xpZW50OiBwcm9wcy51c2VyUG9vbC5hcHBVc2VyUG9vbENsaWVudCxcbiAgICAgICAgdXNlclBvb2xEb21haW46IHByb3BzLnVzZXJQb29sRG9tYWluLFxuICAgICAgICBuZXh0OiBMaXN0ZW5lckFjdGlvbi5mb3J3YXJkKFt0aGlzLnRhcmdldEdyb3VwXSksXG4gICAgICAgIG9uVW5hdXRoZW50aWNhdGVkUmVxdWVzdDogVW5hdXRoZW50aWNhdGVkQWN0aW9uLkFVVEhFTlRJQ0FURSxcbiAgICAgIH0pLFxuICAgIH0pO1xuXG4gICAgbmV3IEFSZWNvcmQodGhpcywgXCJBTEJBUmVjb3JkXCIsIHtcbiAgICAgIHpvbmU6IHByb3BzLmhvc3RlZFpvbmUsXG4gICAgICByZWNvcmROYW1lOiBwcm9wcy5mcWRuLFxuICAgICAgdGFyZ2V0OiBSZWNvcmRUYXJnZXQuZnJvbUFsaWFzKG5ldyBMb2FkQmFsYW5jZXJUYXJnZXQodGhpcy5hbGIpKSxcbiAgICB9KTtcblxuICAgIEFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyVjIudGFyZ2V0R3JvdXBJZFBhcmFtZXRlci5leHBvcnQoXG4gICAgICB0aGlzLFxuICAgICAgdGhpcy50YXJnZXRHcm91cC50YXJnZXRHcm91cEFybixcbiAgICApO1xuXG4gICAgQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJWMi5zZWN1cml0eUdyb3VwSWRQYXJhbWV0ZXIuZXhwb3J0KFxuICAgICAgdGhpcyxcbiAgICAgIEZuLnNlbGVjdCgwLCB0aGlzLmFsYi5sb2FkQmFsYW5jZXJTZWN1cml0eUdyb3VwcyksXG4gICAgKTtcbiAgfVxufVxuIl19
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJWMi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wbGF0Zm9ybS9BcHBsaWNhdGlvbkxvYWRCYWxhbmNlclYyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQTJDO0FBQzNDLCtFQUc0QztBQUc1Qyx1RkFTZ0Q7QUFDaEQsdUdBQTJGO0FBQzNGLHlEQUE2RTtBQUM3RSx5RUFBcUU7QUFDckUsMkNBQXVDO0FBQ3ZDLG9DQUEwQztBQTBEMUMsTUFBc0IsNkJBQ3BCLFNBQVEsc0JBQVM7SUFLakIsU0FBUyxDQUFDLE1BQXNDO1FBQzlDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDNUMsQ0FBQzs7QUFSSCxzRUFTQzs7O0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFhLHlCQUEwQixTQUFRLDZCQUE2QjtJQUMxRSxNQUFNLENBQUMsZ0JBQWdCLENBQ3JCLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixFQUFFLFlBQVksRUFBMEM7UUFFeEQsTUFBTSxNQUFPLFNBQVEsNkJBQTZCO1lBQWxEOztnQkFDVyxnQkFBVyxHQUNsQixtREFBc0IsQ0FBQyx5QkFBeUIsQ0FDOUMsSUFBSSxFQUNKLG1CQUFtQixFQUNuQjtvQkFDRSxjQUFjLEVBQ1oseUJBQXlCLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUNyRCxZQUFZLENBQ2I7aUJBQ0osQ0FDRixDQUFDO1lBQ04sQ0FBQztTQUFBO1FBRUQsT0FBTyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQW1CRCxZQUNFLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixLQUFxQztRQUVyQyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sV0FBVyxHQUFHLElBQUksb0NBQVcsQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFO1lB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QUF2RnlCLGtEQUF3QixHQUFHLElBQUksc0JBQWMsQ0FBQztJQUNwRSxJQUFJLEVBQUUsdUJBQXVCO0lBQzdCLEdBQUcsRUFBRSxtQkFBbUI7SUFDeEIsTUFBTSxFQUFFLEtBQUs7SUFDYixPQUFPLEVBQUUsQ0FBQztDQUNYLENBQUMsQ0FBQztBQUVxQixnREFBc0IsR0FBRyxJQUFJLHNCQUFjLENBQUM7SUFDbEUsSUFBSSxFQUFFLHFCQUFxQjtJQUMzQixHQUFHLEVBQUUsaUJBQWlCO0lBQ3RCLE1BQU0sRUFBRSxLQUFLO0lBQ2IsT0FBTyxFQUFFLENBQUM7Q0FDWCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEdXJhdGlvbiwgRm4gfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7XG4gIENlcnRpZmljYXRlLFxuICBDZXJ0aWZpY2F0ZVZhbGlkYXRpb24sXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2VydGlmaWNhdGVtYW5hZ2VyXCI7XG5pbXBvcnQgeyBJVXNlclBvb2xEb21haW4gfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNvZ25pdG9cIjtcbmltcG9ydCB7IElWcGMgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjMlwiO1xuaW1wb3J0IHtcbiAgQXBwbGljYXRpb25Qcm90b2NvbCxcbiAgQXBwbGljYXRpb25UYXJnZXRHcm91cCxcbiAgQXBwbGljYXRpb25Mb2FkQmFsYW5jZXIgYXMgQVdTQXBwbGljYXRpb25Mb2FkQmFsYW5jZXIsXG4gIElBcHBsaWNhdGlvbkxvYWRCYWxhbmNlclRhcmdldCxcbiAgSUFwcGxpY2F0aW9uVGFyZ2V0R3JvdXAsXG4gIExpc3RlbmVyQWN0aW9uLFxuICBMaXN0ZW5lckNvbmRpdGlvbixcbiAgVW5hdXRoZW50aWNhdGVkQWN0aW9uLFxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVsYXN0aWNsb2FkYmFsYW5jaW5ndjJcIjtcbmltcG9ydCB7IEF1dGhlbnRpY2F0ZUNvZ25pdG9BY3Rpb24gfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVsYXN0aWNsb2FkYmFsYW5jaW5ndjItYWN0aW9uc1wiO1xuaW1wb3J0IHsgQVJlY29yZCwgSUhvc3RlZFpvbmUsIFJlY29yZFRhcmdldCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtcm91dGU1M1wiO1xuaW1wb3J0IHsgTG9hZEJhbGFuY2VyVGFyZ2V0IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1yb3V0ZTUzLXRhcmdldHNcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBTdGFja1BhcmFtZXRlciB9IGZyb20gXCIuLi91dGlsc1wiO1xuaW1wb3J0IHsgSUNvZ25pdG9Vc2VyUG9vbCB9IGZyb20gXCIuL0NvZ25pdG9Vc2VyUG9vbFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyUHJvcHNWMiB7XG4gIC8qKlxuICAgKiBUaGUgZnVsbHkgcXVhbGlmaWVkIGRvbWFpbiBuYW1lIChGUUROKSBmb3IgdGhlIEFwcGxpY2F0aW9uIExvYWQgQmFsYW5jZXIgKEFMQikuXG4gICAqIFRoaXMgaXMgdXNlZCBmb3IgY29uZmlndXJpbmcgRE5TIHJlY29yZHMuXG4gICAqL1xuICByZWFkb25seSBmcWRuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBWUEMgaW4gd2hpY2ggdGhlIEFwcGxpY2F0aW9uIExvYWQgQmFsYW5jZXIgd2lsbCBiZSBkZXBsb3llZC5cbiAgICovXG4gIHJlYWRvbmx5IHZwYzogSVZwYztcblxuICAvKipcbiAgICogVGhlIENvZ25pdG8gVXNlciBQb29sIG9mIHRoaXMgYmFzZSBwbGF0Zm9ybS5cbiAgICovXG4gIHJlYWRvbmx5IHVzZXJQb29sOiBJQ29nbml0b1VzZXJQb29sO1xuXG4gIC8qKlxuICAgKiBUaGUgQ29nbml0byBVc2VyIFBvb2wgRG9tYWluIHVzZWQgZm9yIGF1dGhlbnRpY2F0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgdXNlclBvb2xEb21haW46IElVc2VyUG9vbERvbWFpbjtcblxuICAvKipcbiAgICogVGhlIFJvdXRlIDUzIGhvc3RlZCB6b25lIHdoZXJlIHRoZSBBTEIncyBETlMgcmVjb3JkIHdpbGwgYmUgY3JlYXRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGhvc3RlZFpvbmU6IElIb3N0ZWRab25lO1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIGNhbGxiYWNrIFVSTHMgdG8gYmUgYWRkZWQgdG8gdGhlIENvZ25pdG8gVXNlciBQb29sIENsaWVudC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBhZGRpdGlvbmFsIGNhbGxiYWNrIFVSTHMgYXJlIGNvbmZpZ3VyZWQuXG4gICAqL1xuICByZWFkb25seSBhZGRpdGlvbmFsQ2FsbGJhY2tVcmxzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBwb3J0IG9uIHdoaWNoIHRoZSB0YXJnZXQgZ3JvdXAgd2lsbCByZWNlaXZlIHRyYWZmaWMuXG4gICAqL1xuICByZWFkb25seSB0cmFmZmljUG9ydDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgaGVhbHRoIGNoZWNrIHBhdGggZm9yIHRoZSB0YXJnZXQgZ3JvdXAuXG4gICAqL1xuICByZWFkb25seSBoZWFsdENoZWNrUGF0aDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyVjJMb29rdXBPcHRpb25zIHtcbiAgcmVhZG9ubHkgYmFzZVBsYXRmb3JtOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyVjIge1xuICByZWFkb25seSB0YXJnZXRHcm91cDogSUFwcGxpY2F0aW9uVGFyZ2V0R3JvdXA7XG5cbiAgYWRkVGFyZ2V0KHRhcmdldDogSUFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyVGFyZ2V0KTogdm9pZDtcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyVjJCYXNlXG4gIGV4dGVuZHMgQ29uc3RydWN0XG4gIGltcGxlbWVudHMgSUFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyVjJcbntcbiAgYWJzdHJhY3QgcmVhZG9ubHkgdGFyZ2V0R3JvdXA6IElBcHBsaWNhdGlvblRhcmdldEdyb3VwO1xuXG4gIGFkZFRhcmdldCh0YXJnZXQ6IElBcHBsaWNhdGlvbkxvYWRCYWxhbmNlclRhcmdldCkge1xuICAgIHJldHVybiB0aGlzLnRhcmdldEdyb3VwLmFkZFRhcmdldCh0YXJnZXQpO1xuICB9XG59XG5cbi8qKlxuICogQSBjb25zdHJ1Y3QgdGhhdCBjcmVhdGVzIGFuIEFwcGxpY2F0aW9uIExvYWQgQmFsYW5jZXIgKEFMQikgd2l0aCBDb2duaXRvIGF1dGhlbnRpY2F0aW9uLlxuICpcbiAqIFRoaXMgY29uc3RydWN0OlxuICogLSBDcmVhdGVzIGFuIEFMQiB3aXRoIGFuIEhUVFBTIGxpc3RlbmVyIGFuZCBhIENvZ25pdG8gYXV0aGVudGljYXRpb24gYWN0aW9uLlxuICogLSBDb25maWd1cmVzIGEgdGFyZ2V0IGdyb3VwIHdpdGggaGVhbHRoIGNoZWNrcy5cbiAqIC0gQWRkcyBhIFJvdXRlIDUzIEROUyByZWNvcmQgZm9yIHRoZSBBTEIuXG4gKiAtIEV4cG9ydHMga2V5IEFMQiBwcm9wZXJ0aWVzIChsaXN0ZW5lciBBUk4sIHRhcmdldCBncm91cCBBUk4sIHNlY3VyaXR5IGdyb3VwIElEKSBhcyBDbG91ZEZvcm1hdGlvbiBvdXRwdXRzLlxuICovXG5leHBvcnQgY2xhc3MgQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJWMiBleHRlbmRzIEFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyVjJCYXNlIHtcbiAgc3RhdGljIGZyb21CYXNlUGxhdGZvcm0oXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHsgYmFzZVBsYXRmb3JtIH06IEFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyVjJMb29rdXBPcHRpb25zLFxuICApOiBJQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJWMiB7XG4gICAgY2xhc3MgSW1wb3J0IGV4dGVuZHMgQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJWMkJhc2Uge1xuICAgICAgcmVhZG9ubHkgdGFyZ2V0R3JvdXA6IElBcHBsaWNhdGlvblRhcmdldEdyb3VwID1cbiAgICAgICAgQXBwbGljYXRpb25UYXJnZXRHcm91cC5mcm9tVGFyZ2V0R3JvdXBBdHRyaWJ1dGVzKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgXCJUYXJnZXRHcm91cExvb2t1cFwiLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHRhcmdldEdyb3VwQXJuOlxuICAgICAgICAgICAgICBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlclYyLnRhcmdldEdyb3VwSWRQYXJhbWV0ZXIuaW1wb3J0KFxuICAgICAgICAgICAgICAgIGJhc2VQbGF0Zm9ybSxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgSW1wb3J0KHNjb3BlLCBpZCk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBzZWN1cml0eUdyb3VwSWRQYXJhbWV0ZXIgPSBuZXcgU3RhY2tQYXJhbWV0ZXIoe1xuICAgIG5hbWU6IFwiQUxCIFNlY3VyaXR5IEdyb3VwIElkXCIsXG4gICAga2V5OiBcInNlY3VyaXR5LWdyb3VwLWlkXCIsXG4gICAgcHJlZml4OiBcImFsYlwiLFxuICAgIHZlcnNpb246IDIsXG4gIH0pO1xuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IHRhcmdldEdyb3VwSWRQYXJhbWV0ZXIgPSBuZXcgU3RhY2tQYXJhbWV0ZXIoe1xuICAgIG5hbWU6IFwiQUxCIFRhcmdldCBHcm91cCBJZFwiLFxuICAgIGtleTogXCJ0YXJnZXQtZ3JvdXAtaWRcIixcbiAgICBwcmVmaXg6IFwiYWxiXCIsXG4gICAgdmVyc2lvbjogMixcbiAgfSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBhbGI6IEFXU0FwcGxpY2F0aW9uTG9hZEJhbGFuY2VyO1xuICByZWFkb25seSB0YXJnZXRHcm91cDogSUFwcGxpY2F0aW9uVGFyZ2V0R3JvdXA7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzOiBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlclByb3BzVjIsXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCBjZXJ0aWZpY2F0ZSA9IG5ldyBDZXJ0aWZpY2F0ZSh0aGlzLCBcIkNlcnRpZmljYXRlXCIsIHtcbiAgICAgIGRvbWFpbk5hbWU6IHByb3BzLmZxZG4sXG4gICAgICB2YWxpZGF0aW9uOiBDZXJ0aWZpY2F0ZVZhbGlkYXRpb24uZnJvbURucyhwcm9wcy5ob3N0ZWRab25lKSxcbiAgICB9KTtcblxuICAgIHRoaXMuYWxiID0gbmV3IEFXU0FwcGxpY2F0aW9uTG9hZEJhbGFuY2VyKHRoaXMsIFwiQUxCXCIsIHtcbiAgICAgIHZwYzogcHJvcHMudnBjLFxuICAgICAgaW50ZXJuZXRGYWNpbmc6IHRydWUsXG4gICAgfSk7XG5cbiAgICBjb25zdCBsaXN0ZW5lciA9IHRoaXMuYWxiLmFkZExpc3RlbmVyKFwiTGlzdGVuZXJcIiwge1xuICAgICAgcG9ydDogNDQzLFxuICAgICAgY2VydGlmaWNhdGVzOiBbY2VydGlmaWNhdGVdLFxuICAgICAgZGVmYXVsdEFjdGlvbjogbmV3IEF1dGhlbnRpY2F0ZUNvZ25pdG9BY3Rpb24oe1xuICAgICAgICB1c2VyUG9vbDogcHJvcHMudXNlclBvb2wudXNlclBvb2wsXG4gICAgICAgIHVzZXJQb29sQ2xpZW50OiBwcm9wcy51c2VyUG9vbC5hcHBVc2VyUG9vbENsaWVudCxcbiAgICAgICAgdXNlclBvb2xEb21haW46IHByb3BzLnVzZXJQb29sRG9tYWluLFxuICAgICAgICBuZXh0OiBMaXN0ZW5lckFjdGlvbi5maXhlZFJlc3BvbnNlKDIwMCwge1xuICAgICAgICAgIG1lc3NhZ2VCb2R5OiBcIlRoaXMgaXMgdGhlIEFMQiBkZWZhdWx0IGFjdGlvblwiLFxuICAgICAgICB9KSxcbiAgICAgICAgb25VbmF1dGhlbnRpY2F0ZWRSZXF1ZXN0OiBVbmF1dGhlbnRpY2F0ZWRBY3Rpb24uQVVUSEVOVElDQVRFLFxuICAgICAgfSksXG4gICAgfSk7XG5cbiAgICB0aGlzLnRhcmdldEdyb3VwID0gbmV3IEFwcGxpY2F0aW9uVGFyZ2V0R3JvdXAodGhpcywgYCR7aWR9VGFyZ2V0R3JvdXBgLCB7XG4gICAgICB2cGM6IHByb3BzLnZwYyxcbiAgICAgIHBvcnQ6IHByb3BzLnRyYWZmaWNQb3J0LFxuICAgICAgcHJvdG9jb2w6IEFwcGxpY2F0aW9uUHJvdG9jb2wuSFRUUCxcbiAgICAgIGRlcmVnaXN0cmF0aW9uRGVsYXk6IER1cmF0aW9uLnNlY29uZHMoMTApLFxuICAgICAgdGFyZ2V0czogW10sXG4gICAgICBoZWFsdGhDaGVjazoge1xuICAgICAgICBwYXRoOiBwcm9wcy5oZWFsdENoZWNrUGF0aCxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBsaXN0ZW5lci5hZGRBY3Rpb24oYCR7aWR9QWN0aW9uYCwge1xuICAgICAgcHJpb3JpdHk6IDU1LFxuICAgICAgY29uZGl0aW9uczogW0xpc3RlbmVyQ29uZGl0aW9uLmhvc3RIZWFkZXJzKFtwcm9wcy5mcWRuXSldLFxuICAgICAgYWN0aW9uOiBuZXcgQXV0aGVudGljYXRlQ29nbml0b0FjdGlvbih7XG4gICAgICAgIHVzZXJQb29sOiBwcm9wcy51c2VyUG9vbC51c2VyUG9vbCxcbiAgICAgICAgdXNlclBvb2xDbGllbnQ6IHByb3BzLnVzZXJQb29sLmFwcFVzZXJQb29sQ2xpZW50LFxuICAgICAgICB1c2VyUG9vbERvbWFpbjogcHJvcHMudXNlclBvb2xEb21haW4sXG4gICAgICAgIG5leHQ6IExpc3RlbmVyQWN0aW9uLmZvcndhcmQoW3RoaXMudGFyZ2V0R3JvdXBdKSxcbiAgICAgICAgb25VbmF1dGhlbnRpY2F0ZWRSZXF1ZXN0OiBVbmF1dGhlbnRpY2F0ZWRBY3Rpb24uQVVUSEVOVElDQVRFLFxuICAgICAgfSksXG4gICAgfSk7XG5cbiAgICBuZXcgQVJlY29yZCh0aGlzLCBcIkFMQkFSZWNvcmRcIiwge1xuICAgICAgem9uZTogcHJvcHMuaG9zdGVkWm9uZSxcbiAgICAgIHJlY29yZE5hbWU6IHByb3BzLmZxZG4sXG4gICAgICB0YXJnZXQ6IFJlY29yZFRhcmdldC5mcm9tQWxpYXMobmV3IExvYWRCYWxhbmNlclRhcmdldCh0aGlzLmFsYikpLFxuICAgIH0pO1xuXG4gICAgQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJWMi50YXJnZXRHcm91cElkUGFyYW1ldGVyLmV4cG9ydChcbiAgICAgIHRoaXMsXG4gICAgICB0aGlzLnRhcmdldEdyb3VwLnRhcmdldEdyb3VwQXJuLFxuICAgICk7XG5cbiAgICBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlclYyLnNlY3VyaXR5R3JvdXBJZFBhcmFtZXRlci5leHBvcnQoXG4gICAgICB0aGlzLFxuICAgICAgRm4uc2VsZWN0KDAsIHRoaXMuYWxiLmxvYWRCYWxhbmNlclNlY3VyaXR5R3JvdXBzKSxcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -35,7 +35,7 @@ class BTCLogGroup extends aws_logs_1.LogGroup {
35
35
  }
36
36
  exports.BTCLogGroup = BTCLogGroup;
37
37
  _a = JSII_RTTI_SYMBOL_1;
38
- BTCLogGroup[_a] = { fqn: "@btc-embedded/cdk-extensions.BTCLogGroup", version: "0.15.0" };
38
+ BTCLogGroup[_a] = { fqn: "@btc-embedded/cdk-extensions.BTCLogGroup", version: "0.17.0" };
39
39
  BTCLogGroup.logGroupParameter = new utils_1.StackParameter({
40
40
  name: "Log Group Name",
41
41
  key: "log-group-name",
@@ -1,6 +1,6 @@
1
1
  import { CognitoUserPoolsAuthorizer } from "aws-cdk-lib/aws-apigateway";
2
2
  import { HttpUserPoolAuthorizer } from "aws-cdk-lib/aws-apigatewayv2-authorizers";
3
- import { IUserPool, IUserPoolClient, UserPoolClientOptions } from "aws-cdk-lib/aws-cognito";
3
+ import { IUserPool, IUserPoolClient, IUserPoolDomain, UserPoolClientOptions } from "aws-cdk-lib/aws-cognito";
4
4
  import { Construct } from "constructs";
5
5
  import { ResourceServer } from "./ResourceServer";
6
6
  export interface CognitoUserPoolProps {
@@ -8,6 +8,7 @@ export interface CognitoUserPoolProps {
8
8
  * The ID of the Cognito User Pool to be imported.
9
9
  */
10
10
  readonly userPoolId: string;
11
+ readonly userPoolDomain: string;
11
12
  /**
12
13
  * The fully qualified domain name which the ALB will listen to.
13
14
  *
@@ -43,6 +44,10 @@ export interface CognitoUserPoolProps {
43
44
  * Client options for the app client, extending and overwriting the defaults.
44
45
  */
45
46
  readonly appClientOptions?: UserPoolClientOptions;
47
+ /**
48
+ * Enable creation of managed login branding for the user pool.
49
+ */
50
+ readonly createManagedLoginBranding?: boolean;
46
51
  }
47
52
  export interface ICognitoUserPool {
48
53
  readonly userPool: IUserPool;
@@ -63,8 +68,10 @@ export declare class CognitoUserPool extends CognitoUserPoolBase {
63
68
  private static readonly userPoolIdParameter;
64
69
  private static readonly appUserPoolClientParameter;
65
70
  private static readonly apiUserPoolClientParameter;
71
+ private static readonly userPoolDomainParameter;
66
72
  readonly userPool: IUserPool;
67
73
  readonly appUserPoolClient: IUserPoolClient;
68
74
  readonly apiUserPoolClient: IUserPoolClient;
75
+ readonly userPoolDomain: IUserPoolDomain;
69
76
  constructor(scope: Construct, id: string, props: CognitoUserPoolProps);
70
77
  }