@btc-embedded/cdk-extensions 0.5.3 → 0.5.5

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 (40) hide show
  1. package/.jsii +170 -2
  2. package/API.md +202 -0
  3. package/CHANGELOG.md +19 -0
  4. package/lib/constructs/SecureRestApi.d.ts +7 -3
  5. package/lib/constructs/SecureRestApi.js +13 -15
  6. package/lib/constructs/index.d.ts +1 -0
  7. package/lib/constructs/index.js +18 -0
  8. package/lib/extensions/ApiGatewayExtension.js +1 -1
  9. package/lib/extensions/ApplicationLoadBalancerExtension.js +1 -1
  10. package/lib/extensions/CloudMapExtension.js +1 -1
  11. package/lib/extensions/DocumentDbAccessExtension.js +1 -1
  12. package/lib/extensions/DomainEventMessagingExtension.js +1 -1
  13. package/lib/extensions/ExtraContainerExtension.js +1 -1
  14. package/lib/extensions/ImportValue.d.ts +2 -0
  15. package/lib/extensions/ImportValue.js +12 -0
  16. package/lib/extensions/LogExtension.js +1 -1
  17. package/lib/extensions/ModifyContainerDefinitionExtension.d.ts +13 -0
  18. package/lib/extensions/ModifyContainerDefinitionExtension.js +41 -0
  19. package/lib/extensions/ModifyTaskDefinitionExtension.d.ts +13 -0
  20. package/lib/extensions/ModifyTaskDefinitionExtension.js +28 -0
  21. package/lib/extensions/PostgresDbAccessExtension.js +1 -1
  22. package/lib/extensions/S3BucketAccessExtension.d.ts +13 -0
  23. package/lib/extensions/S3BucketAccessExtension.js +32 -0
  24. package/lib/extensions/SharedVolumeExtension.js +1 -1
  25. package/lib/extensions/TcpKeepAliveExtension.js +1 -1
  26. package/lib/index.d.ts +1 -0
  27. package/lib/index.js +2 -1
  28. package/lib/platform/ApiGateway.js +1 -1
  29. package/lib/platform/ApplicationLoadBalancer.js +1 -1
  30. package/lib/platform/AuthenticationStack.d.ts +19 -0
  31. package/lib/platform/AuthenticationStack.js +92 -0
  32. package/lib/platform/CloudMap.d.ts +16 -0
  33. package/lib/platform/CloudMap.js +48 -0
  34. package/lib/platform/DefaultUserPoolClients.js +1 -1
  35. package/lib/platform/DocumentDB.js +1 -1
  36. package/lib/platform/MessageQueue.d.ts +23 -0
  37. package/lib/platform/MessageQueue.js +166 -0
  38. package/lib/platform/PrivateDnsNamespace.js +1 -1
  39. package/lib/platform/Vpc.js +1 -1
  40. package/package.json +1 -1
@@ -75,5 +75,5 @@ class DefaultUserPoolClients extends constructs_1.Construct {
75
75
  }
76
76
  exports.DefaultUserPoolClients = DefaultUserPoolClients;
77
77
  _a = JSII_RTTI_SYMBOL_1;
78
- DefaultUserPoolClients[_a] = { fqn: "@btc-embedded/cdk-extensions.DefaultUserPoolClients", version: "0.5.3" };
78
+ DefaultUserPoolClients[_a] = { fqn: "@btc-embedded/cdk-extensions.DefaultUserPoolClients", version: "0.5.5" };
79
79
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVmYXVsdFVzZXJQb29sQ2xpZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wbGF0Zm9ybS9EZWZhdWx0VXNlclBvb2xDbGllbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEseURBT2lDO0FBQ2pDLDJDQUF1QztBQUN2QyxvQ0FBMEM7QUFrQzFDOztHQUVHO0FBQ0gsTUFBYSxzQkFBdUIsU0FBUSxzQkFBUztJQUluRCxZQUNFLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixLQUFrQztRQUVsQyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sY0FBYyxHQUFHLElBQUksaUNBQW1CLENBQUM7WUFDN0MsU0FBUyxFQUFFLFlBQVk7WUFDdkIsZ0JBQWdCLEVBQUUsNEJBQTRCO1NBQy9DLENBQUMsQ0FBQztRQUVILE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsdUJBQXVCLEVBQUU7WUFDdkUsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTO1lBQzFCLE1BQU0sRUFBRSxDQUFDLGNBQWMsQ0FBQztTQUN6QixDQUFDLENBQUM7UUFFSCxNQUFNLGFBQWEsR0FDakIsS0FBSyxDQUFDLGtDQUFrQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQ3JELDRDQUE4QixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FDNUMsSUFBSSxFQUFFLENBQUM7UUFFVixNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQztRQUU5QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksNEJBQWMsQ0FBQyxJQUFJLEVBQUUsdUJBQXVCLEVBQUU7WUFDakUsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO1lBQ3hCLGNBQWMsRUFBRSxJQUFJO1lBQ3BCLEtBQUssRUFBRTtnQkFDTCxLQUFLLEVBQUU7b0JBQ0wsaUJBQWlCLEVBQUUsSUFBSTtpQkFDeEI7Z0JBQ0QsTUFBTSxFQUFFLENBQUMsd0JBQVUsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxDQUFDO2FBQzVEO1lBQ0QsMEJBQTBCLEVBQUU7Z0JBQzFCLDRDQUE4QixDQUFDLE9BQU87Z0JBQ3RDLEdBQUcsYUFBYTthQUNqQjtTQUNGLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSw0QkFBYyxDQUFDLElBQUksRUFBRSx3QkFBd0IsRUFBRTtZQUN2RSxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVE7WUFFeEIscURBQXFEO1lBQ3JELGNBQWMsRUFBRSxJQUFJO1lBQ3BCLFNBQVMsRUFBRTtnQkFDVCxZQUFZLEVBQUUsSUFBSTthQUNuQjtZQUVELEtBQUssRUFBRTtnQkFDTCxLQUFLLEVBQUU7b0JBQ0wsc0JBQXNCLEVBQUUsSUFBSTtpQkFDN0I7Z0JBQ0QsTUFBTSxFQUFFLENBQUMsd0JBQVUsQ0FBQyxNQUFNLEVBQUUsd0JBQVUsQ0FBQyxPQUFPLENBQUM7Z0JBQy9DLFlBQVksRUFBRTtvQkFDWiwyQkFBMkI7b0JBQzNCLFdBQVcsS0FBSyxDQUFDLElBQUkscUJBQXFCO29CQUMxQyxHQUFHLFlBQVk7aUJBQ2hCO2dCQUNELFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVTthQUM3QjtZQUNELDBCQUEwQixFQUFFO2dCQUMxQiw0Q0FBOEIsQ0FBQyxPQUFPO2dCQUN0QyxHQUFHLGFBQWE7YUFDakI7U0FDRixDQUFDLENBQUM7UUFFSCxNQUFNLFdBQVcsR0FBRyxJQUFBLHNCQUFjLEVBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBRXBELFdBQVcsQ0FBQztZQUNWLElBQUksRUFBRSwrQkFBK0I7WUFDckMsR0FBRyxFQUFFLHVCQUF1QjtZQUM1QixLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0I7U0FDdkMsQ0FBQyxDQUFDO1FBRUgsV0FBVyxDQUFDO1lBQ1YsSUFBSSxFQUFFLDZCQUE2QjtZQUNuQyxHQUFHLEVBQUUscUJBQXFCO1lBQzFCLEtBQUssRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQjtTQUM1QyxDQUFDLENBQUM7SUFDTCxDQUFDOztBQW5GSCx3REFvRkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJVXNlclBvb2wsXG4gIElVc2VyUG9vbENsaWVudCxcbiAgT0F1dGhTY29wZSxcbiAgUmVzb3VyY2VTZXJ2ZXJTY29wZSxcbiAgVXNlclBvb2xDbGllbnQsXG4gIFVzZXJQb29sQ2xpZW50SWRlbnRpdHlQcm92aWRlcixcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jb2duaXRvXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgY3JlYXRlRXhwb3J0ZXIgfSBmcm9tIFwiLi4vdXRpbHNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBEZWZhdWx0VXNlclBvb2xDbGllbnRzUHJvcHMge1xuICAvKipcbiAgICogVGhlIHVzZXIgcG9vbCB3aGljaCBzaG91bGQgYmUgYXR0YWNoZWQgdG8gdGhlIGNsaWVudHMuXG4gICAqL1xuICByZWFkb25seSB1c2VyUG9vbDogSVVzZXJQb29sO1xuXG4gIC8qKlxuICAgKiBUaGUgZnVsbHkgcXVhbGlmaWVkIGRvbWFpbiBuYW1lIHdoaWNoIHRoZSBBTEIgd2lsbCBsaXN0ZW4gdG8uXG4gICAqXG4gICAqIFRoaXMgc2V0dGluZyBpcyB1c2VkIHRvIGNvbmZpZ3VyZSB0aGUgY29ycmVjdCBjYWxsYmFjayBVUkwgZm9yIHVzZXIgcG9vbFxuICAgKiBjbGllbnQgc3VjaCB0aGF0IHRoZSBBTEIgY2FuIHBlcmZvcm0gYXV0aGVudGljYXRpb24uXG4gICAqXG4gICAqL1xuICByZWFkb25seSBmcWRuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNwZWNpZnkgdmFsaWQgbG9nb3V0IFVSTHMgd2hpY2ggc2hvdWxkIGJlIGFkZGVkIHRvIHRoZSBmcm9udGVuZCB1c2VyIHBvb2wgY2xpZW50LlxuICAgKi9cbiAgcmVhZG9ubHkgbG9nb3V0VXJscz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZ5IGFkZGl0aW9uYWwgY2FsbGJhY2sgVVJMcyB3aGljaCB0aGUgZnJvbnRlbmQgdXNlcyBmb3IgT0lEQyBhdXRoZW50aWNhdGlvbi5cbiAgICpcbiAgICovXG4gIHJlYWRvbmx5IGNhbGxiYWNrVXJscz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZ5IGFkZGl0aW9uYWwgdXNlciBwb29sIGlkZW50aXR5IHByb3ZpZGVycyB0byBlbmFibGUgZmVkZXJhdGVkIGxvZ2luLlxuICAgKi9cbiAgcmVhZG9ubHkgYWRkaXRvbmFsVXNlclBvb2xJZGVudGl0eVByb3ZpZGVycz86IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIENyZWF0ZSBkZWZhdWx0IHVzZXIgcG9vbCBjbGllbnRzIGZvciB0aGUgZnJvbnRlbmQgYW5kIEFQSSBhY2Nlc3MuXG4gKi9cbmV4cG9ydCBjbGFzcyBEZWZhdWx0VXNlclBvb2xDbGllbnRzIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcHVibGljIGZyb250ZW5kQ2xpZW50OiBJVXNlclBvb2xDbGllbnQ7XG4gIHB1YmxpYyBhcGlDbGllbnQ6IElVc2VyUG9vbENsaWVudDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IERlZmF1bHRVc2VyUG9vbENsaWVudHNQcm9wcyxcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IGFwaUFjY2Vzc1Njb3BlID0gbmV3IFJlc291cmNlU2VydmVyU2NvcGUoe1xuICAgICAgc2NvcGVOYW1lOiBcImFwaV9hY2Nlc3NcIixcbiAgICAgIHNjb3BlRGVzY3JpcHRpb246IFwiUkVTVCBBUEkgZnVsbCBhY2Nlc3Mgc2NvcGVcIixcbiAgICB9KTtcblxuICAgIGNvbnN0IHNlcnZlciA9IHByb3BzLnVzZXJQb29sLmFkZFJlc291cmNlU2VydmVyKFwiUkVTVEFQSVJlc291cmNlU2VydmVyXCIsIHtcbiAgICAgIGlkZW50aWZpZXI6IGAke2lkfVJFU1RBUElgLFxuICAgICAgc2NvcGVzOiBbYXBpQWNjZXNzU2NvcGVdLFxuICAgIH0pO1xuXG4gICAgY29uc3QgcHJvdmlkZXJOYW1lcyA9XG4gICAgICBwcm9wcy5hZGRpdG9uYWxVc2VyUG9vbElkZW50aXR5UHJvdmlkZXJzPy5tYXAoKG5hbWUpID0+XG4gICAgICAgIFVzZXJQb29sQ2xpZW50SWRlbnRpdHlQcm92aWRlci5jdXN0b20obmFtZSksXG4gICAgICApID8/IFtdO1xuXG4gICAgY29uc3QgY2FsbGJhY2tVcmxzID0gcHJvcHMuY2FsbGJhY2tVcmxzID8/IFtdO1xuXG4gICAgdGhpcy5hcGlDbGllbnQgPSBuZXcgVXNlclBvb2xDbGllbnQodGhpcywgXCJSRVNUQVBJVXNlclBvb2xDbGllbnRcIiwge1xuICAgICAgdXNlclBvb2w6IHByb3BzLnVzZXJQb29sLFxuICAgICAgZ2VuZXJhdGVTZWNyZXQ6IHRydWUsXG4gICAgICBvQXV0aDoge1xuICAgICAgICBmbG93czoge1xuICAgICAgICAgIGNsaWVudENyZWRlbnRpYWxzOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBzY29wZXM6IFtPQXV0aFNjb3BlLnJlc291cmNlU2VydmVyKHNlcnZlciwgYXBpQWNjZXNzU2NvcGUpXSxcbiAgICAgIH0sXG4gICAgICBzdXBwb3J0ZWRJZGVudGl0eVByb3ZpZGVyczogW1xuICAgICAgICBVc2VyUG9vbENsaWVudElkZW50aXR5UHJvdmlkZXIuQ09HTklUTyxcbiAgICAgICAgLi4ucHJvdmlkZXJOYW1lcyxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICB0aGlzLmZyb250ZW5kQ2xpZW50ID0gbmV3IFVzZXJQb29sQ2xpZW50KHRoaXMsIFwiRnJvbnRlbmRVc2VyUG9vbENsaWVudFwiLCB7XG4gICAgICB1c2VyUG9vbDogcHJvcHMudXNlclBvb2wsXG5cbiAgICAgIC8vIFJlcXVpcmVkIG1pbmltYWwgY29uZmlndXJhdGlvbiBmb3IgdXNlIHdpdGggYW4gRUxCXG4gICAgICBnZW5lcmF0ZVNlY3JldDogdHJ1ZSxcbiAgICAgIGF1dGhGbG93czoge1xuICAgICAgICB1c2VyUGFzc3dvcmQ6IHRydWUsXG4gICAgICB9LFxuXG4gICAgICBvQXV0aDoge1xuICAgICAgICBmbG93czoge1xuICAgICAgICAgIGF1dGhvcml6YXRpb25Db2RlR3JhbnQ6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIHNjb3BlczogW09BdXRoU2NvcGUuT1BFTklELCBPQXV0aFNjb3BlLlBST0ZJTEVdLFxuICAgICAgICBjYWxsYmFja1VybHM6IFtcbiAgICAgICAgICAvLyBhZGQgY2FsbGJhY2sgVVJMIGZvciBBTEJcbiAgICAgICAgICBgaHR0cHM6Ly8ke3Byb3BzLmZxZG59L29hdXRoMi9pZHByZXNwb25zZWAsXG4gICAgICAgICAgLi4uY2FsbGJhY2tVcmxzLFxuICAgICAgICBdLFxuICAgICAgICBsb2dvdXRVcmxzOiBwcm9wcy5sb2dvdXRVcmxzLFxuICAgICAgfSxcbiAgICAgIHN1cHBvcnRlZElkZW50aXR5UHJvdmlkZXJzOiBbXG4gICAgICAgIFVzZXJQb29sQ2xpZW50SWRlbnRpdHlQcm92aWRlci5DT0dOSVRPLFxuICAgICAgICAuLi5wcm92aWRlck5hbWVzLFxuICAgICAgXSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGV4cG9ydFZhbHVlID0gY3JlYXRlRXhwb3J0ZXIodGhpcywgXCJjb2duaXRvXCIpO1xuXG4gICAgZXhwb3J0VmFsdWUoe1xuICAgICAgbmFtZTogXCJDb2duaXRvIEZ1bGwgQWNjZXNzIENsaWVudCBJZFwiLFxuICAgICAga2V5OiBcImZ1bGwtYWNjZXNzLWNsaWVudC1pZFwiLFxuICAgICAgdmFsdWU6IHRoaXMuYXBpQ2xpZW50LnVzZXJQb29sQ2xpZW50SWQsXG4gICAgfSk7XG5cbiAgICBleHBvcnRWYWx1ZSh7XG4gICAgICBuYW1lOiBcIkNvZ25pdG8gVXNlciBQb29sIENsaWVudCBJZFwiLFxuICAgICAga2V5OiBcInVzZXItcG9vbC1jbGllbnQtaWRcIixcbiAgICAgIHZhbHVlOiB0aGlzLmZyb250ZW5kQ2xpZW50LnVzZXJQb29sQ2xpZW50SWQsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -43,5 +43,5 @@ class DocumentDB extends constructs_1.Construct {
43
43
  }
44
44
  exports.DocumentDB = DocumentDB;
45
45
  _a = JSII_RTTI_SYMBOL_1;
46
- DocumentDB[_a] = { fqn: "@btc-embedded/cdk-extensions.DocumentDB", version: "0.5.3" };
46
+ DocumentDB[_a] = { fqn: "@btc-embedded/cdk-extensions.DocumentDB", version: "0.5.5" };
47
47
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRG9jdW1lbnREQi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wbGF0Zm9ybS9Eb2N1bWVudERCLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQTBDO0FBQzFDLHFEQUF3RDtBQUN4RCxpREFLNkI7QUFDN0IsdUVBQXdEO0FBQ3hELDJDQUF1QztBQUN2QyxvQ0FBMEM7QUFTMUMsTUFBYSxVQUFXLFNBQVEsc0JBQVM7SUFHdkMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFzQjtRQUM5RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSwyQkFBZSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUU7WUFDckQsVUFBVSxFQUFFO2dCQUNWLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtnQkFDeEIsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO2dCQUM1QixpQkFBaUIsRUFBRSxrQ0FBa0M7YUFDdEQ7WUFDRCxZQUFZLEVBQUUsc0JBQVksQ0FBQyxFQUFFLENBQUMsdUJBQWEsQ0FBQyxFQUFFLEVBQUUsc0JBQVksQ0FBQyxNQUFNLENBQUM7WUFDcEUsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHO1NBQ2YsQ0FBQyxDQUFDO1FBRUgsTUFBTSxRQUFRLEdBQUcsMkJBQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUM7YUFDdkUsbUJBQW1CLENBQUMsVUFBVSxDQUFDO1lBQ2hDLDRFQUE0RTthQUMzRSxZQUFZLEVBQUUsQ0FBQztRQUVsQixNQUFNLE1BQU0sR0FBRyxJQUFJLDJCQUFNLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRTtZQUMvQyxpQkFBaUIsRUFBRSxJQUFJLHlCQUFXLENBQ2hDLGFBQWEsS0FBSyxDQUFDLFFBQVEsSUFBSSxRQUFRLElBQ3JDLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLFFBQy9CLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLCtFQUErRSxDQUMvSDtTQUNGLENBQUMsQ0FBQztRQUVILE1BQU0sV0FBVyxHQUFHLElBQUEsc0JBQWMsRUFBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFFeEQsV0FBVyxDQUFDO1lBQ1YsSUFBSSxFQUFFLDhCQUE4QjtZQUNwQyxHQUFHLEVBQUUsbUJBQW1CO1lBQ3hCLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWU7U0FDcEMsQ0FBQyxDQUFDO1FBRUgsV0FBVyxDQUFDO1lBQ1YsSUFBSSxFQUFFLHVCQUF1QjtZQUM3QixHQUFHLEVBQUUsWUFBWTtZQUNqQixLQUFLLEVBQUUsTUFBTSxDQUFDLFNBQVM7U0FDeEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUExQ0gsZ0NBMkNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VjcmV0VmFsdWUgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IERhdGFiYXNlQ2x1c3RlciB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZG9jZGJcIjtcbmltcG9ydCB7XG4gIElWcGMsXG4gIEluc3RhbmNlQ2xhc3MsXG4gIEluc3RhbmNlU2l6ZSxcbiAgSW5zdGFuY2VUeXBlLFxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjMlwiO1xuaW1wb3J0IHsgU2VjcmV0IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zZWNyZXRzbWFuYWdlclwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IGNyZWF0ZUV4cG9ydGVyIH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRG9jdW1lbnREQlByb3BzIHtcbiAgcmVhZG9ubHkgc3RhY2tOYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHVzZXJuYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHNlY3JldE5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgdnBjOiBJVnBjO1xufVxuXG5leHBvcnQgY2xhc3MgRG9jdW1lbnREQiBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHByaXZhdGUgY2x1c3RlcjogRGF0YWJhc2VDbHVzdGVyO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEb2N1bWVudERCUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgdGhpcy5jbHVzdGVyID0gbmV3IERhdGFiYXNlQ2x1c3Rlcih0aGlzLCBgRG9jdW1lbnREYmAsIHtcbiAgICAgIG1hc3RlclVzZXI6IHtcbiAgICAgICAgdXNlcm5hbWU6IHByb3BzLnVzZXJuYW1lLFxuICAgICAgICBzZWNyZXROYW1lOiBwcm9wcy5zZWNyZXROYW1lLFxuICAgICAgICBleGNsdWRlQ2hhcmFjdGVyczogXCJcXFwiQCUmL1xcXFx7fSgpW108PnxgJyw6Oys/fio9IV4jXy1cIixcbiAgICAgIH0sXG4gICAgICBpbnN0YW5jZVR5cGU6IEluc3RhbmNlVHlwZS5vZihJbnN0YW5jZUNsYXNzLlQzLCBJbnN0YW5jZVNpemUuTUVESVVNKSxcbiAgICAgIHZwYzogcHJvcHMudnBjLFxuICAgIH0pO1xuXG4gICAgY29uc3QgcGFzc3dvcmQgPSBTZWNyZXQuZnJvbVNlY3JldE5hbWVWMih0aGlzLCBcIlNlY3JldFwiLCBwcm9wcy5zZWNyZXROYW1lKVxuICAgICAgLnNlY3JldFZhbHVlRnJvbUpzb24oXCJwYXNzd29yZFwiKVxuICAgICAgLy8gVW5zYWZlIHVud3JhcCBpcyBva2F5LCBzaW5jZSB0aGUgb25seSB1c2UgaXMgdG8gd3JhcCBpdCBpbiBhbm90aGVyIHNlY3JldFxuICAgICAgLnVuc2FmZVVud3JhcCgpO1xuXG4gICAgY29uc3Qgc2VjcmV0ID0gbmV3IFNlY3JldCh0aGlzLCBcImRiLXVybC1zZWNyZXRcIiwge1xuICAgICAgc2VjcmV0U3RyaW5nVmFsdWU6IG5ldyBTZWNyZXRWYWx1ZShcbiAgICAgICAgYG1vbmdvZGI6Ly8ke3Byb3BzLnVzZXJuYW1lfToke3Bhc3N3b3JkfUAke1xuICAgICAgICAgIHRoaXMuY2x1c3Rlci5jbHVzdGVyRW5kcG9pbnQuaG9zdG5hbWVcbiAgICAgICAgfToke3RoaXMuY2x1c3Rlci5jbHVzdGVyRW5kcG9pbnQucG9ydEFzU3RyaW5nKCl9Lz90bHM9dHJ1ZSZyZXBsaWNhU2V0PXJzMCZyZWFkUHJlZmVyZW5jZT1zZWNvbmRhcnlQcmVmZXJyZWQmcmV0cnlXcml0ZXM9ZmFsc2VgLFxuICAgICAgKSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGV4cG9ydFZhbHVlID0gY3JlYXRlRXhwb3J0ZXIodGhpcywgXCJkb2N1bWVudC1kYlwiKTtcblxuICAgIGV4cG9ydFZhbHVlKHtcbiAgICAgIG5hbWU6IFwiRG9jdW1lbnREQiBTZWN1cml0eSBHcm91cCBJZFwiLFxuICAgICAga2V5OiBcInNlY3VyaXR5LWdyb3VwLWlkXCIsXG4gICAgICB2YWx1ZTogdGhpcy5jbHVzdGVyLnNlY3VyaXR5R3JvdXBJZCxcbiAgICB9KTtcblxuICAgIGV4cG9ydFZhbHVlKHtcbiAgICAgIG5hbWU6IFwiRG9jdW1lbnREQiBTZWNyZXQgQVJOXCIsXG4gICAgICBrZXk6IFwic2VjcmV0LWFyblwiLFxuICAgICAgdmFsdWU6IHNlY3JldC5zZWNyZXRBcm4sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,23 @@
1
+ import { IRole } from "aws-cdk-lib/aws-iam";
2
+ import * as sqs from "aws-cdk-lib/aws-sqs";
3
+ import { Construct } from "constructs";
4
+ export interface MessageQueueProps {
5
+ readonly scope: Construct;
6
+ readonly id: string;
7
+ readonly sourceServiceNames: string[];
8
+ readonly eventName: string;
9
+ readonly listenerServiceNames: string[];
10
+ readonly maxReceiveCount?: number;
11
+ readonly timeoutSeconds?: number;
12
+ readonly endlessRetry?: boolean;
13
+ readonly role: IRole;
14
+ }
15
+ export declare class MessageQueue extends Construct {
16
+ readonly queueUrls: Record<string, string>;
17
+ private sourceQueues;
18
+ private listenerQueues;
19
+ constructor(props: MessageQueueProps);
20
+ getListenerQueue(serviceName: string): sqs.Queue;
21
+ getSourceQueue(serviceName: string): sqs.Queue;
22
+ private createQueue;
23
+ }
@@ -0,0 +1,166 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.MessageQueue = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
7
+ const aws_iam_1 = require("aws-cdk-lib/aws-iam");
8
+ const aws_lambda_1 = require("aws-cdk-lib/aws-lambda");
9
+ const aws_lambda_event_sources_1 = require("aws-cdk-lib/aws-lambda-event-sources");
10
+ const aws_lambda_nodejs_1 = require("aws-cdk-lib/aws-lambda-nodejs");
11
+ const sns = require("aws-cdk-lib/aws-sns");
12
+ const aws_sns_subscriptions_1 = require("aws-cdk-lib/aws-sns-subscriptions");
13
+ const sqs = require("aws-cdk-lib/aws-sqs");
14
+ const constructs_1 = require("constructs");
15
+ const lodash_1 = require("lodash");
16
+ const path = require("path");
17
+ class MessageQueue extends constructs_1.Construct {
18
+ constructor(props) {
19
+ super(props.scope, props.id);
20
+ this.sourceQueues = {};
21
+ this.listenerQueues = {};
22
+ const { sourceServiceNames, eventName, listenerServiceNames } = props;
23
+ this.queueUrls = {};
24
+ if (sourceServiceNames.length === 0 || listenerServiceNames.length === 0) {
25
+ throw new Error("At least one source service name and one listener service name must be provided.");
26
+ }
27
+ const maxReceiveCount = props.maxReceiveCount ?? 10;
28
+ if (listenerServiceNames.length === 1) {
29
+ // Simple case, 1-to-1 -> Just one SQS queue
30
+ const listenerServiceName = listenerServiceNames[0];
31
+ // Create a single SQS queue with DLQ for one-to-one communication
32
+ const queueName = `${eventName}-${listenerServiceName}`;
33
+ const queue = this.createQueue({
34
+ queueName,
35
+ maxReceiveCount,
36
+ timeOutSeconds: props.timeoutSeconds,
37
+ endlessRetry: props.endlessRetry,
38
+ });
39
+ queue.grantSendMessages(props.role);
40
+ queue.grantConsumeMessages(props.role);
41
+ queue.addToResourcePolicy(new aws_iam_1.PolicyStatement({
42
+ actions: ["sqs:*"],
43
+ principals: [props.role],
44
+ resources: [queue.queueArn],
45
+ conditions: {
46
+ StringEquals: {
47
+ "aws:SourceArn": "*",
48
+ },
49
+ },
50
+ }));
51
+ sourceServiceNames.forEach((sourceServiceName) => {
52
+ this.queueUrls[sourceServiceName] = queue.queueUrl;
53
+ this.sourceQueues[sourceServiceName] = queue;
54
+ });
55
+ this.queueUrls[listenerServiceName] = queue.queueUrl;
56
+ this.listenerQueues[listenerServiceName] = queue;
57
+ }
58
+ else {
59
+ // More complex case 1-to-N -> SqS to SnS fan-out
60
+ // Create SNS Topic for fan-out
61
+ const topic = new sns.Topic(this, `${eventName}-topic`, {
62
+ topicName: `${eventName}-topic`,
63
+ fifo: true,
64
+ });
65
+ // Create input SQS Queue with DLQ for the emitting service
66
+ const inputQueueName = `${eventName}-input`;
67
+ const inputQueue = this.createQueue({
68
+ queueName: inputQueueName,
69
+ maxReceiveCount,
70
+ timeOutSeconds: props.timeoutSeconds,
71
+ endlessRetry: props.endlessRetry,
72
+ });
73
+ inputQueue.grantSendMessages(props.role);
74
+ inputQueue.addToResourcePolicy(new aws_iam_1.PolicyStatement({
75
+ actions: ["sqs:*"],
76
+ principals: [props.role],
77
+ resources: [inputQueue.queueArn],
78
+ conditions: {
79
+ StringEquals: {
80
+ "aws:SourceArn": "*",
81
+ },
82
+ },
83
+ }));
84
+ const messageTransferFunc = new aws_lambda_nodejs_1.NodejsFunction(this, "SqsToSnsLambda", {
85
+ runtime: aws_lambda_1.Runtime.NODEJS_18_X,
86
+ entry: path.join(__dirname, "./functions/transfer.ts"),
87
+ handler: "handler",
88
+ environment: {
89
+ TOPIC_ARN: topic.topicArn,
90
+ },
91
+ bundling: {
92
+ minify: false,
93
+ sourceMap: true,
94
+ nodeModules: ["aws-lambda", "@types/aws-lambda"],
95
+ },
96
+ });
97
+ inputQueue.grantConsumeMessages(messageTransferFunc);
98
+ topic.grantPublish(messageTransferFunc);
99
+ messageTransferFunc.addEventSource(new aws_lambda_event_sources_1.SqsEventSource(inputQueue, {
100
+ batchSize: 1,
101
+ }));
102
+ sourceServiceNames.forEach((sourceServiceName) => {
103
+ this.queueUrls[sourceServiceName] = inputQueue.queueUrl;
104
+ this.sourceQueues[sourceServiceName] = inputQueue;
105
+ });
106
+ // Create SQS Queues with DLQ and subscribe to the topic
107
+ listenerServiceNames.forEach((listenerServiceName) => {
108
+ const listenerQueueName = `${listenerServiceName}-${eventName}-listener`;
109
+ const listenerQueue = this.createQueue({
110
+ queueName: listenerQueueName,
111
+ maxReceiveCount,
112
+ timeOutSeconds: props.timeoutSeconds,
113
+ endlessRetry: props.endlessRetry,
114
+ });
115
+ listenerQueue.grantConsumeMessages(props.role);
116
+ listenerQueue.addToResourcePolicy(new aws_iam_1.PolicyStatement({
117
+ actions: ["sqs:*"],
118
+ principals: [props.role],
119
+ resources: [listenerQueue.queueArn],
120
+ conditions: {
121
+ StringEquals: {
122
+ "aws:SourceArn": "*",
123
+ },
124
+ },
125
+ }));
126
+ // Subscribe SQS Queue to SNS Topic
127
+ topic.addSubscription(new aws_sns_subscriptions_1.SqsSubscription(listenerQueue, { rawMessageDelivery: true }));
128
+ this.queueUrls[listenerServiceName] = listenerQueue.queueUrl;
129
+ this.listenerQueues[listenerServiceName] = listenerQueue;
130
+ });
131
+ }
132
+ }
133
+ getListenerQueue(serviceName) {
134
+ return this.listenerQueues[serviceName];
135
+ }
136
+ getSourceQueue(serviceName) {
137
+ return this.sourceQueues[serviceName];
138
+ }
139
+ createQueue({ queueName, maxReceiveCount, endlessRetry, timeOutSeconds, }) {
140
+ const sharedProps = {
141
+ queueName: `${queueName}.fifo`,
142
+ fifo: true,
143
+ visibilityTimeout: (0, lodash_1.isNil)(timeOutSeconds)
144
+ ? aws_cdk_lib_1.Duration.seconds(120)
145
+ : aws_cdk_lib_1.Duration.seconds(timeOutSeconds),
146
+ };
147
+ if (endlessRetry) {
148
+ return new sqs.Queue(this, queueName, sharedProps);
149
+ }
150
+ const dlq = new sqs.Queue(this, `${queueName}-dlq.fifo`, {
151
+ queueName: `${queueName}-dlq.fifo`,
152
+ fifo: true,
153
+ });
154
+ return new sqs.Queue(this, queueName, {
155
+ ...sharedProps,
156
+ deadLetterQueue: {
157
+ queue: dlq,
158
+ maxReceiveCount,
159
+ },
160
+ });
161
+ }
162
+ }
163
+ exports.MessageQueue = MessageQueue;
164
+ _a = JSII_RTTI_SYMBOL_1;
165
+ MessageQueue[_a] = { fqn: "@btc-embedded/cdk-extensions.MessageQueue", version: "0.3.0" };
166
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWVzc2FnZVF1ZXVlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BsYXRmb3JtL01lc3NhZ2VRdWV1ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUF1QztBQUN2QyxpREFBNkQ7QUFDN0QsdURBQWlEO0FBQ2pELG1GQUFzRTtBQUN0RSxxRUFBK0Q7QUFDL0QsMkNBQTJDO0FBQzNDLDZFQUFvRTtBQUNwRSwyQ0FBMkM7QUFDM0MsMkNBQXVDO0FBQ3ZDLG1DQUErQjtBQUMvQiw2QkFBOEI7QUFjOUIsTUFBYSxZQUFhLFNBQVEsc0JBQVM7SUFNekMsWUFBWSxLQUF3QjtRQUNsQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFKdkIsaUJBQVksR0FBOEIsRUFBRSxDQUFDO1FBQzdDLG1CQUFjLEdBQThCLEVBQUUsQ0FBQztRQUtyRCxNQUFNLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsS0FBSyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBRXBCLElBQUksa0JBQWtCLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxvQkFBb0IsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDekUsTUFBTSxJQUFJLEtBQUssQ0FDYixrRkFBa0YsQ0FDbkYsQ0FBQztRQUNKLENBQUM7UUFFRCxNQUFNLGVBQWUsR0FBRyxLQUFLLENBQUMsZUFBZSxJQUFJLEVBQUUsQ0FBQztRQUVwRCxJQUFJLG9CQUFvQixDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN0Qyw0Q0FBNEM7WUFDNUMsTUFBTSxtQkFBbUIsR0FBRyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUVwRCxrRUFBa0U7WUFDbEUsTUFBTSxTQUFTLEdBQUcsR0FBRyxTQUFTLElBQUksbUJBQW1CLEVBQUUsQ0FBQztZQUN4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UUFDckQsQ0FBQztRQUVELE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsR0FBRyxTQUFTLFdBQVcsRUFBRTtZQUN2RCxTQUFTLEVBQUUsR0FBRyxTQUFTLFdBQVc7WUFDbEMsSUFBSSxFQUFFLElBQUk7U0FDWCxDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFO1lBQ3BDLEdBQUcsV0FBVztZQUNkLGVBQWUsRUFBRTtnQkFDZixLQUFLLEVBQUUsR0FBRztnQkFDVixlQUFlO2FBQ2hCO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUF6TEgsb0NBMExDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRHVyYXRpb24gfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IElSb2xlLCBQb2xpY3lTdGF0ZW1lbnQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiO1xuaW1wb3J0IHsgUnVudGltZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCI7XG5pbXBvcnQgeyBTcXNFdmVudFNvdXJjZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhLWV2ZW50LXNvdXJjZXNcIjtcbmltcG9ydCB7IE5vZGVqc0Z1bmN0aW9uIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGEtbm9kZWpzXCI7XG5pbXBvcnQgKiBhcyBzbnMgZnJvbSBcImF3cy1jZGstbGliL2F3cy1zbnNcIjtcbmltcG9ydCB7IFNxc1N1YnNjcmlwdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtc25zLXN1YnNjcmlwdGlvbnNcIjtcbmltcG9ydCAqIGFzIHNxcyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXNxc1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IGlzTmlsIH0gZnJvbSBcImxvZGFzaFwiO1xuaW1wb3J0IHBhdGggPSByZXF1aXJlKFwicGF0aFwiKTtcblxuZXhwb3J0IGludGVyZmFjZSBNZXNzYWdlUXVldWVQcm9wcyB7XG4gIHJlYWRvbmx5IHNjb3BlOiBDb25zdHJ1Y3Q7XG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHNvdXJjZVNlcnZpY2VOYW1lczogc3RyaW5nW107XG4gIHJlYWRvbmx5IGV2ZW50TmFtZTogc3RyaW5nO1xuICByZWFkb25seSBsaXN0ZW5lclNlcnZpY2VOYW1lczogc3RyaW5nW107XG4gIHJlYWRvbmx5IG1heFJlY2VpdmVDb3VudD86IG51bWJlcjtcbiAgcmVhZG9ubHkgdGltZW91dFNlY29uZHM/OiBudW1iZXI7XG4gIHJlYWRvbmx5IGVuZGxlc3NSZXRyeT86IGJvb2xlYW47XG4gIHJlYWRvbmx5IHJvbGU6IElSb2xlO1xufVxuXG5leHBvcnQgY2xhc3MgTWVzc2FnZVF1ZXVlIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcHVibGljIHJlYWRvbmx5IHF1ZXVlVXJsczogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuICBwcml2YXRlIHNvdXJjZVF1ZXVlczogUmVjb3JkPHN0cmluZywgc3FzLlF1ZXVlPiA9IHt9O1xuICBwcml2YXRlIGxpc3RlbmVyUXVldWVzOiBSZWNvcmQ8c3RyaW5nLCBzcXMuUXVldWU+ID0ge307XG5cbiAgY29uc3RydWN0b3IocHJvcHM6IE1lc3NhZ2VRdWV1ZVByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMuc2NvcGUsIHByb3BzLmlkKTtcblxuICAgIGNvbnN0IHsgc291cmNlU2VydmljZU5hbWVzLCBldmVudE5hbWUsIGxpc3RlbmVyU2VydmljZU5hbWVzIH0gPSBwcm9wcztcbiAgICB0aGlzLnF1ZXVlVXJscyA9IHt9O1xuXG4gICAgaWYgKHNvdXJjZVNlcnZpY2VOYW1lcy5sZW5ndGggPT09IDAgfHwgbGlzdGVuZXJTZXJ2aWNlTmFtZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiQXQgbGVhc3Qgb25lIHNvdXJjZSBzZXJ2aWNlIG5hbWUgYW5kIG9uZSBsaXN0ZW5lciBzZXJ2aWNlIG5hbWUgbXVzdCBiZSBwcm92aWRlZC5cIixcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgbWF4UmVjZWl2ZUNvdW50ID0gcHJvcHMubWF4UmVjZWl2ZUNvdW50ID8/IDEwO1xuXG4gICAgaWYgKGxpc3RlbmVyU2VydmljZU5hbWVzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgLy8gU2ltcGxlIGNhc2UsIDEtdG8tMSAtPiBKdXN0IG9uZSBTUVMgcXVldWVcbiAgICAgIGNvbnN0IGxpc3RlbmVyU2VydmljZU5hbWUgPSBsaXN0ZW5lclNlcnZpY2VOYW1lc1swXTtcblxuICAgICAgLy8gQ3JlYXRlIGEgc2luZ2xlIFNRUyBxdWV1ZSB3aXRoIERMUSBmb3Igb25lLXRvLW9uZSBjb21tdW5pY2F0aW9uXG4gICAgICBjb25zdCBxdWV1ZU5hbWUgPSBgJHtldmVudE5hbWV9LSR7bGlzdGVuZXJTZXJ2aWNlTmFtZX1gO1xuICAgICAgY29uc3QgcXVldWUgPSB0aGlzLmNyZWF0ZVF1ZXVlKHtcbiAgICAgICAgcXVldWVOYW1lLFxuICAgICAgICBtYXhSZWNlaXZlQ291bnQsXG4gICAgICAgIHRpbWVPdXRTZWNvbmRzOiBwcm9wcy50aW1lb3V0U2Vjb25kcyxcbiAgICAgICAgZW5kbGVzc1JldHJ5OiBwcm9wcy5lbmRsZXNzUmV0cnksXG4gICAgICB9KTtcbiAgICAgIHF1ZXVlLmdyYW50U2VuZE1lc3NhZ2VzKHByb3BzLnJvbGUpO1xuICAgICAgcXVldWUuZ3JhbnRDb25zdW1lTWVzc2FnZXMocHJvcHMucm9sZSk7XG4gICAgICBxdWV1ZS5hZGRUb1Jlc291cmNlUG9saWN5KFxuICAgICAgICBuZXcgUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICBhY3Rpb25zOiBbXCJzcXM6KlwiXSxcbiAgICAgICAgICBwcmluY2lwYWxzOiBbcHJvcHMucm9sZV0sXG4gICAgICAgICAgcmVzb3VyY2VzOiBbcXVldWUucXVldWVBcm5dLFxuICAgICAgICAgIGNvbmRpdGlvbnM6IHtcbiAgICAgICAgICAgIFN0cmluZ0VxdWFsczoge1xuICAgICAgICAgICAgICBcImF3czpTb3VyY2VBcm5cIjogXCIqXCIsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICAgIHNvdXJjZVNlcnZpY2VOYW1lcy5mb3JFYWNoKChzb3VyY2VTZXJ2aWNlTmFtZSkgPT4ge1xuICAgICAgICB0aGlzLnF1ZXVlVXJsc1tzb3VyY2VTZXJ2aWNlTmFtZV0gPSBxdWV1ZS5xdWV1ZVVybDtcbiAgICAgICAgdGhpcy5zb3VyY2VRdWV1ZXNbc291cmNlU2VydmljZU5hbWVdID0gcXVldWU7XG4gICAgICB9KTtcbiAgICAgIHRoaXMucXVldWVVcmxzW2xpc3RlbmVyU2VydmljZU5hbWVdID0gcXVldWUucXVldWVVcmw7XG4gICAgICB0aGlzLmxpc3RlbmVyUXVldWVzW2xpc3RlbmVyU2VydmljZU5hbWVdID0gcXVldWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIE1vcmUgY29tcGxleCBjYXNlIDEtdG8tTiAtPiBTcVMgdG8gU25TIGZhbi1vdXRcblxuICAgICAgLy8gQ3JlYXRlIFNOUyBUb3BpYyBmb3IgZmFuLW91dFxuICAgICAgY29uc3QgdG9waWMgPSBuZXcgc25zLlRvcGljKHRoaXMsIGAke2V2ZW50TmFtZX0tdG9waWNgLCB7XG4gICAgICAgIHRvcGljTmFtZTogYCR7ZXZlbnROYW1lfS10b3BpY2AsXG4gICAgICAgIGZpZm86IHRydWUsXG4gICAgICB9KTtcblxuICAgICAgLy8gQ3JlYXRlIGlucHV0IFNRUyBRdWV1ZSB3aXRoIERMUSBmb3IgdGhlIGVtaXR0aW5nIHNlcnZpY2VcbiAgICAgIGNvbnN0IGlucHV0UXVldWVOYW1lID0gYCR7ZXZlbnROYW1lfS1pbnB1dGA7XG4gICAgICBjb25zdCBpbnB1dFF1ZXVlID0gdGhpcy5jcmVhdGVRdWV1ZSh7XG4gICAgICAgIHF1ZXVlTmFtZTogaW5wdXRRdWV1ZU5hbWUsXG4gICAgICAgIG1heFJlY2VpdmVDb3VudCxcbiAgICAgICAgdGltZU91dFNlY29uZHM6IHByb3BzLnRpbWVvdXRTZWNvbmRzLFxuICAgICAgICBlbmRsZXNzUmV0cnk6IHByb3BzLmVuZGxlc3NSZXRyeSxcbiAgICAgIH0pO1xuXG4gICAgICBpbnB1dFF1ZXVlLmdyYW50U2VuZE1lc3NhZ2VzKHByb3BzLnJvbGUpO1xuICAgICAgaW5wdXRRdWV1ZS5hZGRUb1Jlc291cmNlUG9saWN5KFxuICAgICAgICBuZXcgUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICBhY3Rpb25zOiBbXCJzcXM6KlwiXSxcbiAgICAgICAgICBwcmluY2lwYWxzOiBbcHJvcHMucm9sZV0sXG4gICAgICAgICAgcmVzb3VyY2VzOiBbaW5wdXRRdWV1ZS5xdWV1ZUFybl0sXG4gICAgICAgICAgY29uZGl0aW9uczoge1xuICAgICAgICAgICAgU3RyaW5nRXF1YWxzOiB7XG4gICAgICAgICAgICAgIFwiYXdzOlNvdXJjZUFyblwiOiBcIipcIixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSksXG4gICAgICApO1xuICAgICAgY29uc3QgbWVzc2FnZVRyYW5zZmVyRnVuYyA9IG5ldyBOb2RlanNGdW5jdGlvbih0aGlzLCBcIlNxc1RvU25zTGFtYmRhXCIsIHtcbiAgICAgICAgcnVudGltZTogUnVudGltZS5OT0RFSlNfMThfWCxcbiAgICAgICAgZW50cnk6IHBhdGguam9pbihfX2Rpcm5hbWUsIFwiLi9mdW5jdGlvbnMvdHJhbnNmZXIudHNcIiksXG4gICAgICAgIGhhbmRsZXI6IFwiaGFuZGxlclwiLFxuICAgICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICAgIFRPUElDX0FSTjogdG9waWMudG9waWNBcm4sXG4gICAgICAgIH0sXG4gICAgICAgIGJ1bmRsaW5nOiB7XG4gICAgICAgICAgbWluaWZ5OiBmYWxzZSxcbiAgICAgICAgICBzb3VyY2VNYXA6IHRydWUsXG4gICAgICAgICAgbm9kZU1vZHVsZXM6IFtcImF3cy1sYW1iZGFcIiwgXCJAdHlwZXMvYXdzLWxhbWJkYVwiXSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgICAgaW5wdXRRdWV1ZS5ncmFudENvbnN1bWVNZXNzYWdlcyhtZXNzYWdlVHJhbnNmZXJGdW5jKTtcbiAgICAgIHRvcGljLmdyYW50UHVibGlzaChtZXNzYWdlVHJhbnNmZXJGdW5jKTtcbiAgICAgIG1lc3NhZ2VUcmFuc2ZlckZ1bmMuYWRkRXZlbnRTb3VyY2UoXG4gICAgICAgIG5ldyBTcXNFdmVudFNvdXJjZShpbnB1dFF1ZXVlLCB7XG4gICAgICAgICAgYmF0Y2hTaXplOiAxLFxuICAgICAgICB9KSxcbiAgICAgICk7XG5cbiAgICAgIHNvdXJjZVNlcnZpY2VOYW1lcy5mb3JFYWNoKChzb3VyY2VTZXJ2aWNlTmFtZSkgPT4ge1xuICAgICAgICB0aGlzLnF1ZXVlVXJsc1tzb3VyY2VTZXJ2aWNlTmFtZV0gPSBpbnB1dFF1ZXVlLnF1ZXVlVXJsO1xuICAgICAgICB0aGlzLnNvdXJjZVF1ZXVlc1tzb3VyY2VTZXJ2aWNlTmFtZV0gPSBpbnB1dFF1ZXVlO1xuICAgICAgfSk7XG5cbiAgICAgIC8vIENyZWF0ZSBTUVMgUXVldWVzIHdpdGggRExRIGFuZCBzdWJzY3JpYmUgdG8gdGhlIHRvcGljXG4gICAgICBsaXN0ZW5lclNlcnZpY2VOYW1lcy5mb3JFYWNoKChsaXN0ZW5lclNlcnZpY2VOYW1lKSA9PiB7XG4gICAgICAgIGNvbnN0IGxpc3RlbmVyUXVldWVOYW1lID0gYCR7bGlzdGVuZXJTZXJ2aWNlTmFtZX0tJHtldmVudE5hbWV9LWxpc3RlbmVyYDtcbiAgICAgICAgY29uc3QgbGlzdGVuZXJRdWV1ZSA9IHRoaXMuY3JlYXRlUXVldWUoe1xuICAgICAgICAgIHF1ZXVlTmFtZTogbGlzdGVuZXJRdWV1ZU5hbWUsXG4gICAgICAgICAgbWF4UmVjZWl2ZUNvdW50LFxuICAgICAgICAgIHRpbWVPdXRTZWNvbmRzOiBwcm9wcy50aW1lb3V0U2Vjb25kcyxcbiAgICAgICAgICBlbmRsZXNzUmV0cnk6IHByb3BzLmVuZGxlc3NSZXRyeSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgbGlzdGVuZXJRdWV1ZS5ncmFudENvbnN1bWVNZXNzYWdlcyhwcm9wcy5yb2xlKTtcbiAgICAgICAgbGlzdGVuZXJRdWV1ZS5hZGRUb1Jlc291cmNlUG9saWN5KFxuICAgICAgICAgIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgYWN0aW9uczogW1wic3FzOipcIl0sXG4gICAgICAgICAgICBwcmluY2lwYWxzOiBbcHJvcHMucm9sZV0sXG4gICAgICAgICAgICByZXNvdXJjZXM6IFtsaXN0ZW5lclF1ZXVlLnF1ZXVlQXJuXSxcbiAgICAgICAgICAgIGNvbmRpdGlvbnM6IHtcbiAgICAgICAgICAgICAgU3RyaW5nRXF1YWxzOiB7XG4gICAgICAgICAgICAgICAgXCJhd3M6U291cmNlQXJuXCI6IFwiKlwiLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICAgICAgLy8gU3Vic2NyaWJlIFNRUyBRdWV1ZSB0byBTTlMgVG9waWNcbiAgICAgICAgdG9waWMuYWRkU3Vic2NyaXB0aW9uKFxuICAgICAgICAgIG5ldyBTcXNTdWJzY3JpcHRpb24obGlzdGVuZXJRdWV1ZSwgeyByYXdNZXNzYWdlRGVsaXZlcnk6IHRydWUgfSksXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMucXVldWVVcmxzW2xpc3RlbmVyU2VydmljZU5hbWVdID0gbGlzdGVuZXJRdWV1ZS5xdWV1ZVVybDtcbiAgICAgICAgdGhpcy5saXN0ZW5lclF1ZXVlc1tsaXN0ZW5lclNlcnZpY2VOYW1lXSA9IGxpc3RlbmVyUXVldWU7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0TGlzdGVuZXJRdWV1ZShzZXJ2aWNlTmFtZTogc3RyaW5nKTogc3FzLlF1ZXVlIHtcbiAgICByZXR1cm4gdGhpcy5saXN0ZW5lclF1ZXVlc1tzZXJ2aWNlTmFtZV07XG4gIH1cblxuICBwdWJsaWMgZ2V0U291cmNlUXVldWUoc2VydmljZU5hbWU6IHN0cmluZyk6IHNxcy5RdWV1ZSB7XG4gICAgcmV0dXJuIHRoaXMuc291cmNlUXVldWVzW3NlcnZpY2VOYW1lXTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlUXVldWUoe1xuICAgIHF1ZXVlTmFtZSxcbiAgICBtYXhSZWNlaXZlQ291bnQsXG4gICAgZW5kbGVzc1JldHJ5LFxuICAgIHRpbWVPdXRTZWNvbmRzLFxuICB9OiB7XG4gICAgcXVldWVOYW1lOiBzdHJpbmc7XG4gICAgbWF4UmVjZWl2ZUNvdW50OiBudW1iZXI7XG4gICAgZW5kbGVzc1JldHJ5PzogYm9vbGVhbjtcbiAgICB0aW1lT3V0U2Vjb25kcz86IG51bWJlcjtcbiAgfSk6IHNxcy5RdWV1ZSB7XG4gICAgY29uc3Qgc2hhcmVkUHJvcHMgPSB7XG4gICAgICBxdWV1ZU5hbWU6IGAke3F1ZXVlTmFtZX0uZmlmb2AsXG4gICAgICBmaWZvOiB0cnVlLFxuICAgICAgdmlzaWJpbGl0eVRpbWVvdXQ6IGlzTmlsKHRpbWVPdXRTZWNvbmRzKVxuICAgICAgICA/IER1cmF0aW9uLnNlY29uZHMoMTIwKVxuICAgICAgICA6IER1cmF0aW9uLnNlY29uZHModGltZU91dFNlY29uZHMpLFxuICAgIH07XG5cbiAgICBpZiAoZW5kbGVzc1JldHJ5KSB7XG4gICAgICByZXR1cm4gbmV3IHNxcy5RdWV1ZSh0aGlzLCBxdWV1ZU5hbWUsIHNoYXJlZFByb3BzKTtcbiAgICB9XG5cbiAgICBjb25zdCBkbHEgPSBuZXcgc3FzLlF1ZXVlKHRoaXMsIGAke3F1ZXVlTmFtZX0tZGxxLmZpZm9gLCB7XG4gICAgICBxdWV1ZU5hbWU6IGAke3F1ZXVlTmFtZX0tZGxxLmZpZm9gLFxuICAgICAgZmlmbzogdHJ1ZSxcbiAgICB9KTtcblxuICAgIHJldHVybiBuZXcgc3FzLlF1ZXVlKHRoaXMsIHF1ZXVlTmFtZSwge1xuICAgICAgLi4uc2hhcmVkUHJvcHMsXG4gICAgICBkZWFkTGV0dGVyUXVldWU6IHtcbiAgICAgICAgcXVldWU6IGRscSxcbiAgICAgICAgbWF4UmVjZWl2ZUNvdW50LFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -46,5 +46,5 @@ class PrivateDnsNamespace extends constructs_1.Construct {
46
46
  }
47
47
  exports.PrivateDnsNamespace = PrivateDnsNamespace;
48
48
  _a = JSII_RTTI_SYMBOL_1;
49
- PrivateDnsNamespace[_a] = { fqn: "@btc-embedded/cdk-extensions.PrivateDnsNamespace", version: "0.5.3" };
49
+ PrivateDnsNamespace[_a] = { fqn: "@btc-embedded/cdk-extensions.PrivateDnsNamespace", version: "0.5.5" };
50
50
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJpdmF0ZURuc05hbWVzcGFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wbGF0Zm9ybS9Qcml2YXRlRG5zTmFtZXNwYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsMkVBRzBDO0FBQzFDLDJDQUF1QztBQUN2QyxvQ0FBMEM7QUFjMUMsTUFBYSxtQkFBb0IsU0FBUSxzQkFBUztJQUVoRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQStCO1FBQ3ZFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxLQUFLLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztZQUNyQyxJQUFJLENBQUMsU0FBUyxHQUFHLDBDQUFtQixDQUFDLGlDQUFpQyxDQUNwRSxJQUFJLEVBQ0osWUFBWSxFQUNaO2dCQUNFLGFBQWEsRUFBRSxLQUFLLENBQUMsMEJBQTBCLENBQUMsU0FBUztnQkFDekQsV0FBVyxFQUFFLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxFQUFFO2dCQUNoRCxZQUFZLEVBQUUsS0FBSyxDQUFDLDBCQUEwQixDQUFDLEdBQUc7YUFDbkQsQ0FDRixDQUFDO1FBQ0osQ0FBQzthQUFNLElBQUksS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSwwQ0FBbUIsQ0FBQyxJQUFJLEVBQUUscUJBQXFCLEVBQUU7Z0JBQ3BFLElBQUksRUFBRSxLQUFLLENBQUMsYUFBYTtnQkFDekIsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHO2dCQUNkLFdBQVcsRUFBRSxtQkFBbUI7YUFDakMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLElBQUksS0FBSyxDQUNiLHVFQUF1RSxDQUN4RSxDQUFDO1FBQ0osQ0FBQztRQUNELE1BQU0sV0FBVyxHQUFHLElBQUEsc0JBQWMsRUFBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFFdEQsV0FBVyxDQUFDO1lBQ1YsSUFBSSxFQUFFLGVBQWU7WUFDckIsR0FBRyxFQUFFLEtBQUs7WUFDVixLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZO1NBQ25DLENBQUMsQ0FBQztRQUVILFdBQVcsQ0FBQztZQUNWLElBQUksRUFBRSxjQUFjO1lBQ3BCLEdBQUcsRUFBRSxJQUFJO1lBQ1QsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVztTQUNsQyxDQUFDLENBQUM7UUFFSCxXQUFXLENBQUM7WUFDVixJQUFJLEVBQUUsZ0JBQWdCO1lBQ3RCLEdBQUcsRUFBRSxNQUFNO1lBQ1gsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYTtTQUNwQyxDQUFDLENBQUM7SUFDTCxDQUFDOztBQTdDSCxrREE4Q0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJVnBjIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcbmltcG9ydCB7XG4gIFByaXZhdGVEbnNOYW1lc3BhY2UgYXMgQVdTUHJpdmF0ZU5hbWVzcGFjZSxcbiAgSVByaXZhdGVEbnNOYW1lc3BhY2UsXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtc2VydmljZWRpc2NvdmVyeVwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IGNyZWF0ZUV4cG9ydGVyIH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJlZGVmaW5lZFByaXZhdGVEbnNOYW1lc3BhY2VQcm9wcyB7XG4gIHJlYWRvbmx5IGFybjogc3RyaW5nO1xuICByZWFkb25seSBpZDogc3RyaW5nO1xuICByZWFkb25seSBuYW1lc3BhY2U6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcml2YXRlRG5zTmFtZXNwYWNlUHJvcHMge1xuICByZWFkb25seSBkZWZpbmVkUHJpdmF0ZURuc05hbWVzcGFjZT86IFByZWRlZmluZWRQcml2YXRlRG5zTmFtZXNwYWNlUHJvcHM7XG4gIHJlYWRvbmx5IG5hbWVzcGFjZU5hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHZwYzogSVZwYztcbn1cblxuZXhwb3J0IGNsYXNzIFByaXZhdGVEbnNOYW1lc3BhY2UgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwdWJsaWMgcmVhZG9ubHkgbmFtZXNwYWNlOiBJUHJpdmF0ZURuc05hbWVzcGFjZTtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFByaXZhdGVEbnNOYW1lc3BhY2VQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBpZiAocHJvcHMuZGVmaW5lZFByaXZhdGVEbnNOYW1lc3BhY2UpIHtcbiAgICAgIHRoaXMubmFtZXNwYWNlID0gQVdTUHJpdmF0ZU5hbWVzcGFjZS5mcm9tUHJpdmF0ZURuc05hbWVzcGFjZUF0dHJpYnV0ZXMoXG4gICAgICAgIHRoaXMsXG4gICAgICAgIFwiUHJpdmF0ZURuc1wiLFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZXNwYWNlTmFtZTogcHJvcHMuZGVmaW5lZFByaXZhdGVEbnNOYW1lc3BhY2UubmFtZXNwYWNlLFxuICAgICAgICAgIG5hbWVzcGFjZUlkOiBwcm9wcy5kZWZpbmVkUHJpdmF0ZURuc05hbWVzcGFjZS5pZCxcbiAgICAgICAgICBuYW1lc3BhY2VBcm46IHByb3BzLmRlZmluZWRQcml2YXRlRG5zTmFtZXNwYWNlLmFybixcbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChwcm9wcy5uYW1lc3BhY2VOYW1lKSB7XG4gICAgICB0aGlzLm5hbWVzcGFjZSA9IG5ldyBBV1NQcml2YXRlTmFtZXNwYWNlKHRoaXMsIFwiUHJpdmF0ZURuc05hbWVzcGFjZVwiLCB7XG4gICAgICAgIG5hbWU6IHByb3BzLm5hbWVzcGFjZU5hbWUsXG4gICAgICAgIHZwYzogcHJvcHMudnBjLFxuICAgICAgICBkZXNjcmlwdGlvbjogXCJQcml2YXRlIE5hbWVzcGFjZVwiLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJFaXRoZXIgYSBkZWZpbmVkUHJpdmF0ZURuc05hbWVzcGFjZSBvciBhIG5hbWVzcGFjZU5hbWUgaGFzIHRvIGJlIHNldC5cIixcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnN0IGV4cG9ydFZhbHVlID0gY3JlYXRlRXhwb3J0ZXIodGhpcywgXCJuYW1lc3BhY2VcIik7XG5cbiAgICBleHBvcnRWYWx1ZSh7XG4gICAgICBuYW1lOiBcIk5hbWVzcGFjZSBBUk5cIixcbiAgICAgIGtleTogXCJhcm5cIixcbiAgICAgIHZhbHVlOiB0aGlzLm5hbWVzcGFjZS5uYW1lc3BhY2VBcm4sXG4gICAgfSk7XG5cbiAgICBleHBvcnRWYWx1ZSh7XG4gICAgICBuYW1lOiBcIk5hbWVzcGFjZSBJRFwiLFxuICAgICAga2V5OiBcImlkXCIsXG4gICAgICB2YWx1ZTogdGhpcy5uYW1lc3BhY2UubmFtZXNwYWNlSWQsXG4gICAgfSk7XG5cbiAgICBleHBvcnRWYWx1ZSh7XG4gICAgICBuYW1lOiBcIk5hbWVzcGFjZSBOYW1lXCIsXG4gICAgICBrZXk6IFwibmFtZVwiLFxuICAgICAgdmFsdWU6IHRoaXMubmFtZXNwYWNlLm5hbWVzcGFjZU5hbWUsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -67,5 +67,5 @@ class Vpc extends constructs_1.Construct {
67
67
  }
68
68
  exports.Vpc = Vpc;
69
69
  _a = JSII_RTTI_SYMBOL_1;
70
- Vpc[_a] = { fqn: "@btc-embedded/cdk-extensions.Vpc", version: "0.5.3" };
70
+ Vpc[_a] = { fqn: "@btc-embedded/cdk-extensions.Vpc", version: "0.5.5" };
71
71
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVnBjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BsYXRmb3JtL1ZwYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGlEQUF3RTtBQUN4RSxpREFBNEQ7QUFDNUQsaURBQTBDO0FBQzFDLDJDQUF1QztBQUN2QyxvQ0FBMEM7QUFTMUMsTUFBYSxHQUFJLFNBQVEsc0JBQVM7SUFJaEM7Ozs7Ozs7O09BUUc7SUFDSCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWU7UUFDdkQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsV0FBVyxHQUFHLGFBQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRTtnQkFDaEQsT0FBTyxFQUFFLEtBQUssQ0FBQyxjQUFjO2FBQzlCLENBQUMsQ0FBQztRQUNMLENBQUM7YUFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksYUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUU7Z0JBQ3pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxJQUFJLENBQUM7Z0JBQ3pCLFdBQVcsRUFBRSxLQUFLLENBQUMsT0FBTzthQUMzQixDQUFDLENBQUM7UUFDTCxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sS0FBSyxDQUFDLGtEQUFrRCxDQUFDLENBQUM7UUFDbEUsQ0FBQztRQUVELE1BQU0sZUFBZSxHQUFHLEtBQUssQ0FBQyx1QkFBdUIsSUFBSSxLQUFLLENBQUM7UUFDL0QsTUFBTSxZQUFZLEdBQWlCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUU1RSxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksaUJBQU8sQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBRTFELE1BQU0sV0FBVyxHQUFHLElBQUEsc0JBQWMsRUFBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFFcEQsV0FBVyxDQUFDO1lBQ1YsSUFBSSxFQUFFLGdCQUFnQjtZQUN0QixHQUFHLEVBQUUsUUFBUTtZQUNiLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUs7U0FDOUIsQ0FBQyxDQUFDO1FBRUgsV0FBVyxDQUFDO1lBQ1YsSUFBSSxFQUFFLGNBQWM7WUFDcEIsR0FBRyxFQUFFLE1BQU07WUFDWCxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXO1NBQ2hDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxlQUF3QjtRQUNqRCxNQUFNLFNBQVMsR0FBRztZQUNoQixHQUFHLEVBQUUsSUFBSSxDQUFDLFdBQVc7U0FDdEIsQ0FBQztRQUVGLElBQUksZUFBZSxFQUFFLENBQUM7WUFDcEIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGFBQUcsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ3ZELGlCQUFpQixFQUFFLElBQUk7YUFDeEIsQ0FBQyxDQUFDO1lBRUgsT0FBTztnQkFDTCxHQUFHLFNBQVM7Z0JBQ1osMkJBQTJCLEVBQUUsRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUU7YUFDMUQsQ0FBQztRQUNKLENBQUM7UUFFRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDOztBQWxFSCxrQkFtRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWcGMgYXMgQVdTVnBjLCBJSXBBZGRyZXNzZXMsIElWcGMgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjMlwiO1xuaW1wb3J0IHsgQ2x1c3RlciwgQ2x1c3RlclByb3BzIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lY3NcIjtcbmltcG9ydCB7IEtleSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mta21zXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgY3JlYXRlRXhwb3J0ZXIgfSBmcm9tIFwiLi4vdXRpbHNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBWcGNQcm9wcyB7XG4gIHJlYWRvbmx5IGRlZmluZWRWcGNOYW1lPzogc3RyaW5nO1xuICByZWFkb25seSB2cGNDaWRyPzogSUlwQWRkcmVzc2VzO1xuICByZWFkb25seSBtYXhBenM/OiBudW1iZXI7XG4gIHJlYWRvbmx5IGNyZWF0ZUttc0V4ZWNDb21tYW5kS2V5PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIFZwYyBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHB1YmxpYyB2cGNJbnN0YW5jZTogSVZwYztcbiAgcHVibGljIGNsdXN0ZXI6IENsdXN0ZXI7XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSBUaGUgcGFyZW50IGNvbnN0cnVjdCB0aGlzIGlzIHBhcnQgb2ZcbiAgICogQHBhcmFtIGlkIElkIG9mIHRoaXMgY29uc3RydWN0IGZvciBDbG91ZGZvcm1hdGlvblxuICAgKiBAcGFyYW0gcHJvcHMgUHJvcGVydGllcyBhbGxvd2luZyB0byBzZXQgYSBwcmVkZWZpbmVkIFZQQ05hbWUsIElQQWRyZXNzQmxvZyxcbiAgICogICAgICAgICAgICAgIG1heE51bWJlciBvZiBBWnMgYW5kIGRlY2lzaW9uIHdldGhlciB0byBjcmVhdGUgYSBLTVNLZXkgZm9yIHVzYWdlXG4gICAqICAgICAgICAgICAgICB3aXRoIHRoZSBFeGVjIGV4dGVuc2lvbi4gRGVmYXVsdHMgdG8gYW4gZW1wdHkgb2JqZWN0IGNyZWF0aW5nIGFcbiAgICogICAgICAgICAgICAgIGRlZGljYXRlZCBWUEMsIHdpdGggbWF4IDIgQVpTIGFuZCBOTyBLZXkgZm9yIEV4ZWNcbiAgICovXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBWcGNQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBpZiAocHJvcHMuZGVmaW5lZFZwY05hbWUpIHtcbiAgICAgIHRoaXMudnBjSW5zdGFuY2UgPSBBV1NWcGMuZnJvbUxvb2t1cCh0aGlzLCBcIlZwY1wiLCB7XG4gICAgICAgIHZwY05hbWU6IHByb3BzLmRlZmluZWRWcGNOYW1lLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChwcm9wcy52cGNDaWRyKSB7XG4gICAgICB0aGlzLnZwY0luc3RhbmNlID0gbmV3IEFXU1ZwYyh0aGlzLCBcIlZwY1wiLCB7XG4gICAgICAgIG1heEF6czogcHJvcHMubWF4QXpzID8/IDIsXG4gICAgICAgIGlwQWRkcmVzc2VzOiBwcm9wcy52cGNDaWRyLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IEVycm9yKFwiRWl0aGVyIGRlZmluZWRWcGNOYW1lIG9yIHZwY0NpZHIgaGF2ZSB0byBiZSBzZXQuXCIpO1xuICAgIH1cblxuICAgIGNvbnN0IHNob3VsZENyZWF0ZUtleSA9IHByb3BzLmNyZWF0ZUttc0V4ZWNDb21tYW5kS2V5ID8/IGZhbHNlO1xuICAgIGNvbnN0IGNsdXN0ZXJQcm9wczogQ2x1c3RlclByb3BzID0gdGhpcy5jcmVhdGVDbHVzdGVyUHJvcHMoc2hvdWxkQ3JlYXRlS2V5KTtcblxuICAgIHRoaXMuY2x1c3RlciA9IG5ldyBDbHVzdGVyKHRoaXMsIFwiQ2x1c3RlclwiLCBjbHVzdGVyUHJvcHMpO1xuXG4gICAgY29uc3QgZXhwb3J0VmFsdWUgPSBjcmVhdGVFeHBvcnRlcih0aGlzLCBcImNsdXN0ZXJcIik7XG5cbiAgICBleHBvcnRWYWx1ZSh7XG4gICAgICBuYW1lOiBcIkNsdXN0ZXIgVlBDIElEXCIsXG4gICAgICBrZXk6IFwidnBjLWlkXCIsXG4gICAgICB2YWx1ZTogdGhpcy52cGNJbnN0YW5jZS52cGNJZCxcbiAgICB9KTtcblxuICAgIGV4cG9ydFZhbHVlKHtcbiAgICAgIG5hbWU6IFwiQ2x1c3RlciBOYW1lXCIsXG4gICAgICBrZXk6IFwibmFtZVwiLFxuICAgICAgdmFsdWU6IHRoaXMuY2x1c3Rlci5jbHVzdGVyTmFtZSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlQ2x1c3RlclByb3BzKHNob3VsZENyZWF0ZUtleTogYm9vbGVhbik6IENsdXN0ZXJQcm9wcyB7XG4gICAgY29uc3QgYmFzZVByb3BzID0ge1xuICAgICAgdnBjOiB0aGlzLnZwY0luc3RhbmNlLFxuICAgIH07XG5cbiAgICBpZiAoc2hvdWxkQ3JlYXRlS2V5KSB7XG4gICAgICBjb25zdCBrbXNFbmNyeXB0aW9uS2V5ID0gbmV3IEtleSh0aGlzLCBcIkNsdXN0ZXJFeGVjS2V5XCIsIHtcbiAgICAgICAgZW5hYmxlS2V5Um90YXRpb246IHRydWUsXG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uYmFzZVByb3BzLFxuICAgICAgICBleGVjdXRlQ29tbWFuZENvbmZpZ3VyYXRpb246IHsga21zS2V5OiBrbXNFbmNyeXB0aW9uS2V5IH0sXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiBiYXNlUHJvcHM7XG4gIH1cbn1cbiJdfQ==
package/package.json CHANGED
@@ -80,7 +80,7 @@
80
80
  ],
81
81
  "main": "lib/index.js",
82
82
  "license": "Apache-2.0",
83
- "version": "0.5.3",
83
+ "version": "0.5.5",
84
84
  "jest": {
85
85
  "coverageProvider": "v8",
86
86
  "testMatch": [