aws-delivlib 13.7.10 → 14.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/cdk.out/asset.1f7e277bd526ebce1983fa1e7a84a5281ec533d9187caaebb773681bbf7bf4c1/__entrypoint__.js +119 -0
  2. package/cdk.out/{asset.15684a15d07860e99d2a8079150ad33dd2cb743677fcd7016dd07345e1b69538 → asset.1f7e277bd526ebce1983fa1e7a84a5281ec533d9187caaebb773681bbf7bf4c1}/index.d.ts +0 -0
  3. package/cdk.out/{asset.15684a15d07860e99d2a8079150ad33dd2cb743677fcd7016dd07345e1b69538 → asset.1f7e277bd526ebce1983fa1e7a84a5281ec533d9187caaebb773681bbf7bf4c1}/index.js +0 -0
  4. package/cdk.out/{asset.ca50c9b7760151d8e8ce6e39851032d4eff4836ea1ee806eaa944aaef110a353 → asset.7ada94e893d605ebbcf2f5b3bedc83bad3c704ab7892c1f2af45bfd79fb751e7}/index.js +20 -4
  5. package/cdk.out/{asset.1c4d00e8f9125a52b4db3e74494c950959ffa433738adcf5c9f7251e4d255451 → asset.7bfdb1075bf8728fe236bcef49fbf08ac3ead6c9947f5d65f25b5a7c09758bb1}/create-release.js +0 -0
  6. package/cdk.out/{asset.1c4d00e8f9125a52b4db3e74494c950959ffa433738adcf5c9f7251e4d255451 → asset.7bfdb1075bf8728fe236bcef49fbf08ac3ead6c9947f5d65f25b5a7c09758bb1}/package-lock.json +0 -0
  7. package/cdk.out/{asset.1c4d00e8f9125a52b4db3e74494c950959ffa433738adcf5c9f7251e4d255451 → asset.7bfdb1075bf8728fe236bcef49fbf08ac3ead6c9947f5d65f25b5a7c09758bb1}/package.json +0 -0
  8. package/cdk.out/{asset.1c4d00e8f9125a52b4db3e74494c950959ffa433738adcf5c9f7251e4d255451 → asset.7bfdb1075bf8728fe236bcef49fbf08ac3ead6c9947f5d65f25b5a7c09758bb1}/publish.sh +0 -0
  9. package/cdk.out/{asset.1c4d00e8f9125a52b4db3e74494c950959ffa433738adcf5c9f7251e4d255451 → asset.7bfdb1075bf8728fe236bcef49fbf08ac3ead6c9947f5d65f25b5a7c09758bb1}/sign-files.sh +0 -0
  10. package/cdk.out/{asset.1c4d00e8f9125a52b4db3e74494c950959ffa433738adcf5c9f7251e4d255451 → asset.7bfdb1075bf8728fe236bcef49fbf08ac3ead6c9947f5d65f25b5a7c09758bb1}/with-signing-key.sh +1 -7
  11. package/cdk.out/cdk.out +1 -1
  12. package/cdk.out/delivlib-test.assets.json +12 -12
  13. package/cdk.out/delivlib-test.template.json +7135 -7704
  14. package/cdk.out/manifest.json +152 -2498
  15. package/cdk.out/tree.json +1059 -1427
  16. package/lib/auto-build.d.ts +2 -1
  17. package/lib/auto-build.js +8 -7
  18. package/lib/auto-build.ts +3 -2
  19. package/lib/build-env.d.ts +1 -1
  20. package/lib/build-env.js +4 -4
  21. package/lib/build-env.ts +1 -1
  22. package/lib/canary.d.ts +2 -1
  23. package/lib/canary.js +7 -6
  24. package/lib/canary.ts +2 -2
  25. package/lib/change-controller.d.ts +2 -1
  26. package/lib/change-controller.js +20 -18
  27. package/lib/change-controller.ts +6 -5
  28. package/lib/chime-notifier/chime-notifier.d.ts +2 -1
  29. package/lib/chime-notifier/chime-notifier.js +12 -11
  30. package/lib/chime-notifier/chime-notifier.ts +3 -2
  31. package/lib/code-signing/certificate-signing-request.d.ts +1 -1
  32. package/lib/code-signing/certificate-signing-request.js +16 -14
  33. package/lib/code-signing/certificate-signing-request.ts +7 -5
  34. package/lib/code-signing/code-signing-certificate.d.ts +2 -1
  35. package/lib/code-signing/code-signing-certificate.js +12 -11
  36. package/lib/code-signing/code-signing-certificate.ts +5 -4
  37. package/lib/code-signing/private-key.d.ts +2 -1
  38. package/lib/code-signing/private-key.js +28 -26
  39. package/lib/code-signing/private-key.ts +10 -8
  40. package/lib/credential-pair.d.ts +1 -1
  41. package/lib/credential-pair.js +1 -1
  42. package/lib/credential-pair.ts +1 -1
  43. package/lib/custom-resource-handlers/src/certificate-signing-request.tsbuildinfo +1 -1
  44. package/lib/custom-resource-handlers/src/pgp-secret.tsbuildinfo +1 -1
  45. package/lib/custom-resource-handlers/src/private-key.tsbuildinfo +1 -1
  46. package/lib/open-pgp-key-pair.d.ts +2 -1
  47. package/lib/open-pgp-key-pair.js +28 -27
  48. package/lib/open-pgp-key-pair.ts +12 -10
  49. package/lib/package-integrity/handler/validate.bundle.js +814 -457
  50. package/lib/package-integrity/integrity.d.ts +2 -1
  51. package/lib/package-integrity/integrity.js +7 -6
  52. package/lib/package-integrity/integrity.ts +2 -2
  53. package/lib/permissions.d.ts +1 -1
  54. package/lib/permissions.js +5 -5
  55. package/lib/permissions.ts +4 -4
  56. package/lib/pipeline-notifications/slack.d.ts +1 -1
  57. package/lib/pipeline-notifications/slack.js +4 -4
  58. package/lib/pipeline-notifications/slack.ts +1 -1
  59. package/lib/pipeline-watcher/watcher.d.ts +2 -1
  60. package/lib/pipeline-watcher/watcher.js +16 -15
  61. package/lib/pipeline-watcher/watcher.ts +3 -3
  62. package/lib/pipeline.d.ts +2 -1
  63. package/lib/pipeline.js +19 -18
  64. package/lib/pipeline.ts +5 -4
  65. package/lib/publishing/github/with-signing-key.sh +1 -7
  66. package/lib/publishing.d.ts +2 -1
  67. package/lib/publishing.js +36 -35
  68. package/lib/publishing.ts +9 -8
  69. package/lib/pull-request/bump.d.ts +3 -3
  70. package/lib/pull-request/bump.js +3 -26
  71. package/lib/pull-request/bump.ts +3 -3
  72. package/lib/pull-request/merge-back.d.ts +3 -3
  73. package/lib/pull-request/merge-back.js +3 -3
  74. package/lib/pull-request/merge-back.ts +3 -3
  75. package/lib/pull-request/pr.d.ts +2 -1
  76. package/lib/pull-request/pr.js +11 -10
  77. package/lib/pull-request/pr.ts +3 -2
  78. package/lib/registry-sync/ecr-mirror.d.ts +2 -1
  79. package/lib/registry-sync/ecr-mirror.js +22 -21
  80. package/lib/registry-sync/ecr-mirror.ts +4 -3
  81. package/lib/registry-sync/mirror-source.d.ts +2 -1
  82. package/lib/registry-sync/mirror-source.js +3 -3
  83. package/lib/registry-sync/mirror-source.ts +2 -2
  84. package/lib/repo.d.ts +2 -1
  85. package/lib/repo.js +12 -12
  86. package/lib/repo.ts +3 -2
  87. package/lib/shellable.d.ts +2 -1
  88. package/lib/shellable.js +23 -22
  89. package/lib/shellable.ts +5 -4
  90. package/lib/signing-key.d.ts +2 -1
  91. package/lib/signing-key.js +6 -5
  92. package/lib/signing-key.ts +3 -2
  93. package/lib/util.d.ts +1 -1
  94. package/lib/util.js +1 -1
  95. package/lib/util.ts +1 -1
  96. package/package.json +12 -10
  97. package/cdk.out/asset.15684a15d07860e99d2a8079150ad33dd2cb743677fcd7016dd07345e1b69538/__entrypoint__.js +0 -119
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.OpenPgpKey = void 0;
4
- const monocdk_1 = require("monocdk");
4
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
5
+ const constructs_1 = require("constructs");
5
6
  const open_pgp_key_pair_1 = require("./open-pgp-key-pair");
6
7
  /**
7
8
  * A combination of a Secrets Manager secret and a unique KMS key per secret
@@ -11,12 +12,12 @@ const open_pgp_key_pair_1 = require("./open-pgp-key-pair");
11
12
  *
12
13
  * @deprecated Use the OpenPGPKeyPair class instead.
13
14
  */
14
- class OpenPgpKey extends monocdk_1.Construct {
15
+ class OpenPgpKey extends constructs_1.Construct {
15
16
  constructor(parent, name, props) {
16
17
  super(parent, name);
17
- this.scope = props.secretName || this.node.uniqueId;
18
+ this.scope = props.secretName || this.node.addr;
18
19
  const secretName = `${this.scope}/SigningKey`;
19
- this.key = new monocdk_1.aws_kms.Key(this, 'Key', {
20
+ this.key = new aws_cdk_lib_1.aws_kms.Key(this, 'Key', {
20
21
  description: `Encryption key for PGP secret ${secretName}`,
21
22
  });
22
23
  // The key has an alias for descriptive purposes, but the alias is not used
@@ -37,4 +38,4 @@ class OpenPgpKey extends monocdk_1.Construct {
37
38
  }
38
39
  }
39
40
  exports.OpenPgpKey = OpenPgpKey;
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmluZy1rZXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzaWduaW5nLWtleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxQ0FBb0U7QUFDcEUsMkRBQXFEO0FBMkJyRDs7Ozs7OztHQU9HO0FBQ0gsTUFBYSxVQUFXLFNBQVEsbUJBQVM7SUFNdkMsWUFBWSxNQUFpQixFQUFFLElBQVksRUFBRSxLQUFzQjtRQUNqRSxLQUFLLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRXBCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUNwRCxNQUFNLFVBQVUsR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLGFBQWEsQ0FBQztRQUU5QyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksaUJBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRTtZQUNsQyxXQUFXLEVBQUUsaUNBQWlDLFVBQVUsRUFBRTtTQUMzRCxDQUFDLENBQUM7UUFFSCwyRUFBMkU7UUFDM0UsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsU0FBUyxVQUFVLEtBQUssQ0FBQyxDQUFDO1FBRTVDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxrQ0FBYyxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUU7WUFDL0MsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO1lBQ3hCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztZQUNsQixXQUFXLEVBQUUsSUFBSTtZQUNqQixNQUFNLEVBQUUsSUFBSTtZQUNaLFVBQVU7WUFDVixtQkFBbUIsRUFBRSxJQUFJLFVBQVUsTUFBTTtZQUN6QyxhQUFhLEVBQUUsSUFBSSxDQUFDLEdBQUc7WUFDdkIsT0FBTyxFQUFFLENBQUM7U0FDWCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sU0FBUyxDQUFDLFFBQXdCO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekMsQ0FBQztDQUNGO0FBbENELGdDQWtDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0cnVjdCwgYXdzX2lhbSBhcyBpYW0sIGF3c19rbXMgYXMga21zIH0gZnJvbSAnbW9ub2Nkayc7XG5pbXBvcnQgeyBPcGVuUEdQS2V5UGFpciB9IGZyb20gJy4vb3Blbi1wZ3Ata2V5LXBhaXInO1xuXG5cbi8qKlxuICogQ29uc3RydWN0aW9uIHByb3BlcnRpZXMgZm9yIGEgU2lnbmluZ0tleVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25pbmdLZXlQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgQVdTIFNlY3JldHMgTWFuYWdlciBzZWNyZXQgbmFtZSB0byB1c2UgZm9yIHRoaXMga2V5LlxuICAgKlxuICAgKiBUaGUgc2VjcmV0IHdpbGwgYmUgbmFtZWQgXCI8c2NvcGU+L1NpZ25pbmdLZXlcIi5cbiAgICpcbiAgICogQGRlZmF1bHQgQSB1bmlxdWUgc2VjcmV0IG5hbWUgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZFxuICAgKi9cbiAgc2VjcmV0TmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogTmFtZSB0byBwdXQgb24ga2V5XG4gICAqL1xuICBpZGVudGl0eTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFbWFpbCBhZGRyZXNzIHRvIHB1dCBvbiBrZXlcbiAgICovXG4gIGVtYWlsOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSBjb21iaW5hdGlvbiBvZiBhIFNlY3JldHMgTWFuYWdlciBzZWNyZXQgYW5kIGEgdW5pcXVlIEtNUyBrZXkgcGVyIHNlY3JldFxuICpcbiAqIFRoZSBLTVMga2V5IGlzIHRoZXJlIHRvIGNvbnRyb2wgYWNjZXNzIHRvIHRoZSBzZWNyZXQsIGFzIHRoZSBzZWNyZXRcbiAqIGl0c2VsZiBkb2Vzbid0IHN1cHBvcnQgcmVzb3VyY2UgcG9saWNpZXMgeWV0LlxuICpcbiAqIEBkZXByZWNhdGVkIFVzZSB0aGUgT3BlblBHUEtleVBhaXIgY2xhc3MgaW5zdGVhZC5cbiAqL1xuZXhwb3J0IGNsYXNzIE9wZW5QZ3BLZXkgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwdWJsaWMgcmVhZG9ubHkgc2NvcGU6IHN0cmluZztcblxuICBwcml2YXRlIHJlYWRvbmx5IGtleToga21zLklLZXk7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2VjcmV0OiBPcGVuUEdQS2V5UGFpcjtcblxuICBjb25zdHJ1Y3RvcihwYXJlbnQ6IENvbnN0cnVjdCwgbmFtZTogc3RyaW5nLCBwcm9wczogU2lnbmluZ0tleVByb3BzKSB7XG4gICAgc3VwZXIocGFyZW50LCBuYW1lKTtcblxuICAgIHRoaXMuc2NvcGUgPSBwcm9wcy5zZWNyZXROYW1lIHx8IHRoaXMubm9kZS51bmlxdWVJZDtcbiAgICBjb25zdCBzZWNyZXROYW1lID0gYCR7dGhpcy5zY29wZX0vU2lnbmluZ0tleWA7XG5cbiAgICB0aGlzLmtleSA9IG5ldyBrbXMuS2V5KHRoaXMsICdLZXknLCB7XG4gICAgICBkZXNjcmlwdGlvbjogYEVuY3J5cHRpb24ga2V5IGZvciBQR1Agc2VjcmV0ICR7c2VjcmV0TmFtZX1gLFxuICAgIH0pO1xuXG4gICAgLy8gVGhlIGtleSBoYXMgYW4gYWxpYXMgZm9yIGRlc2NyaXB0aXZlIHB1cnBvc2VzLCBidXQgdGhlIGFsaWFzIGlzIG5vdCB1c2VkXG4gICAgdGhpcy5rZXkuYWRkQWxpYXMoYGFsaWFzLyR7c2VjcmV0TmFtZX1LZXlgKTtcblxuICAgIHRoaXMuc2VjcmV0ID0gbmV3IE9wZW5QR1BLZXlQYWlyKHRoaXMsICdTZWNyZXQnLCB7XG4gICAgICBpZGVudGl0eTogcHJvcHMuaWRlbnRpdHksXG4gICAgICBlbWFpbDogcHJvcHMuZW1haWwsXG4gICAgICBrZXlTaXplQml0czogNDA5NixcbiAgICAgIGV4cGlyeTogJzR5JyxcbiAgICAgIHNlY3JldE5hbWUsXG4gICAgICBwdWJLZXlQYXJhbWV0ZXJOYW1lOiBgLyR7c2VjcmV0TmFtZX0ucHViYCxcbiAgICAgIGVuY3J5cHRpb25LZXk6IHRoaXMua2V5LFxuICAgICAgdmVyc2lvbjogMSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBncmFudFJlYWQoaWRlbnRpdHk6IGlhbS5JUHJpbmNpcGFsKSB7XG4gICAgcmV0dXJuIHRoaXMuc2VjcmV0LmdyYW50UmVhZChpZGVudGl0eSk7XG4gIH1cbn1cbiJdfQ==
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmluZy1rZXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzaWduaW5nLWtleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBNkQ7QUFDN0QsMkNBQXVDO0FBQ3ZDLDJEQUFxRDtBQTJCckQ7Ozs7Ozs7R0FPRztBQUNILE1BQWEsVUFBVyxTQUFRLHNCQUFTO0lBTXZDLFlBQVksTUFBaUIsRUFBRSxJQUFZLEVBQUUsS0FBc0I7UUFDakUsS0FBSyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUVwQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDaEQsTUFBTSxVQUFVLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxhQUFhLENBQUM7UUFFOUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLHFCQUFHLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUU7WUFDbEMsV0FBVyxFQUFFLGlDQUFpQyxVQUFVLEVBQUU7U0FDM0QsQ0FBQyxDQUFDO1FBRUgsMkVBQTJFO1FBQzNFLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLFNBQVMsVUFBVSxLQUFLLENBQUMsQ0FBQztRQUU1QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksa0NBQWMsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFO1lBQy9DLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtZQUN4QixLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7WUFDbEIsV0FBVyxFQUFFLElBQUk7WUFDakIsTUFBTSxFQUFFLElBQUk7WUFDWixVQUFVO1lBQ1YsbUJBQW1CLEVBQUUsSUFBSSxVQUFVLE1BQU07WUFDekMsYUFBYSxFQUFFLElBQUksQ0FBQyxHQUFHO1lBQ3ZCLE9BQU8sRUFBRSxDQUFDO1NBQ1gsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLFNBQVMsQ0FBQyxRQUF3QjtRQUN2QyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7Q0FDRjtBQWxDRCxnQ0FrQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhd3NfaWFtIGFzIGlhbSwgYXdzX2ttcyBhcyBrbXMgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IE9wZW5QR1BLZXlQYWlyIH0gZnJvbSAnLi9vcGVuLXBncC1rZXktcGFpcic7XG5cblxuLyoqXG4gKiBDb25zdHJ1Y3Rpb24gcHJvcGVydGllcyBmb3IgYSBTaWduaW5nS2V5XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2lnbmluZ0tleVByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBBV1MgU2VjcmV0cyBNYW5hZ2VyIHNlY3JldCBuYW1lIHRvIHVzZSBmb3IgdGhpcyBrZXkuXG4gICAqXG4gICAqIFRoZSBzZWNyZXQgd2lsbCBiZSBuYW1lZCBcIjxzY29wZT4vU2lnbmluZ0tleVwiLlxuICAgKlxuICAgKiBAZGVmYXVsdCBBIHVuaXF1ZSBzZWNyZXQgbmFtZSB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkXG4gICAqL1xuICBzZWNyZXROYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBOYW1lIHRvIHB1dCBvbiBrZXlcbiAgICovXG4gIGlkZW50aXR5OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEVtYWlsIGFkZHJlc3MgdG8gcHV0IG9uIGtleVxuICAgKi9cbiAgZW1haWw6IHN0cmluZztcbn1cblxuLyoqXG4gKiBBIGNvbWJpbmF0aW9uIG9mIGEgU2VjcmV0cyBNYW5hZ2VyIHNlY3JldCBhbmQgYSB1bmlxdWUgS01TIGtleSBwZXIgc2VjcmV0XG4gKlxuICogVGhlIEtNUyBrZXkgaXMgdGhlcmUgdG8gY29udHJvbCBhY2Nlc3MgdG8gdGhlIHNlY3JldCwgYXMgdGhlIHNlY3JldFxuICogaXRzZWxmIGRvZXNuJ3Qgc3VwcG9ydCByZXNvdXJjZSBwb2xpY2llcyB5ZXQuXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIHRoZSBPcGVuUEdQS2V5UGFpciBjbGFzcyBpbnN0ZWFkLlxuICovXG5leHBvcnQgY2xhc3MgT3BlblBncEtleSBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHB1YmxpYyByZWFkb25seSBzY29wZTogc3RyaW5nO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkga2V5OiBrbXMuSUtleTtcbiAgcHJpdmF0ZSByZWFkb25seSBzZWNyZXQ6IE9wZW5QR1BLZXlQYWlyO1xuXG4gIGNvbnN0cnVjdG9yKHBhcmVudDogQ29uc3RydWN0LCBuYW1lOiBzdHJpbmcsIHByb3BzOiBTaWduaW5nS2V5UHJvcHMpIHtcbiAgICBzdXBlcihwYXJlbnQsIG5hbWUpO1xuXG4gICAgdGhpcy5zY29wZSA9IHByb3BzLnNlY3JldE5hbWUgfHwgdGhpcy5ub2RlLmFkZHI7XG4gICAgY29uc3Qgc2VjcmV0TmFtZSA9IGAke3RoaXMuc2NvcGV9L1NpZ25pbmdLZXlgO1xuXG4gICAgdGhpcy5rZXkgPSBuZXcga21zLktleSh0aGlzLCAnS2V5Jywge1xuICAgICAgZGVzY3JpcHRpb246IGBFbmNyeXB0aW9uIGtleSBmb3IgUEdQIHNlY3JldCAke3NlY3JldE5hbWV9YCxcbiAgICB9KTtcblxuICAgIC8vIFRoZSBrZXkgaGFzIGFuIGFsaWFzIGZvciBkZXNjcmlwdGl2ZSBwdXJwb3NlcywgYnV0IHRoZSBhbGlhcyBpcyBub3QgdXNlZFxuICAgIHRoaXMua2V5LmFkZEFsaWFzKGBhbGlhcy8ke3NlY3JldE5hbWV9S2V5YCk7XG5cbiAgICB0aGlzLnNlY3JldCA9IG5ldyBPcGVuUEdQS2V5UGFpcih0aGlzLCAnU2VjcmV0Jywge1xuICAgICAgaWRlbnRpdHk6IHByb3BzLmlkZW50aXR5LFxuICAgICAgZW1haWw6IHByb3BzLmVtYWlsLFxuICAgICAga2V5U2l6ZUJpdHM6IDQwOTYsXG4gICAgICBleHBpcnk6ICc0eScsXG4gICAgICBzZWNyZXROYW1lLFxuICAgICAgcHViS2V5UGFyYW1ldGVyTmFtZTogYC8ke3NlY3JldE5hbWV9LnB1YmAsXG4gICAgICBlbmNyeXB0aW9uS2V5OiB0aGlzLmtleSxcbiAgICAgIHZlcnNpb246IDEsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ3JhbnRSZWFkKGlkZW50aXR5OiBpYW0uSVByaW5jaXBhbCkge1xuICAgIHJldHVybiB0aGlzLnNlY3JldC5ncmFudFJlYWQoaWRlbnRpdHkpO1xuICB9XG59XG4iXX0=
@@ -1,4 +1,5 @@
1
- import { Construct, aws_iam as iam, aws_kms as kms } from 'monocdk';
1
+ import { aws_iam as iam, aws_kms as kms } from 'aws-cdk-lib';
2
+ import { Construct } from 'constructs';
2
3
  import { OpenPGPKeyPair } from './open-pgp-key-pair';
3
4
 
4
5
 
@@ -43,7 +44,7 @@ export class OpenPgpKey extends Construct {
43
44
  constructor(parent: Construct, name: string, props: SigningKeyProps) {
44
45
  super(parent, name);
45
46
 
46
- this.scope = props.secretName || this.node.uniqueId;
47
+ this.scope = props.secretName || this.node.addr;
47
48
  const secretName = `${this.scope}/SigningKey`;
48
49
 
49
50
  this.key = new kms.Key(this, 'Key', {
package/lib/util.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { aws_codebuild as cbuild } from 'monocdk';
1
+ import { aws_codebuild as cbuild } from 'aws-cdk-lib';
2
2
  /**
3
3
  * Determines the "RunOrder" property for the next action to be added to a stage.
4
4
  * @param index Index of new action
package/lib/util.js CHANGED
@@ -102,4 +102,4 @@ function flatMap(xs, fn) {
102
102
  return ret;
103
103
  }
104
104
  exports.flatMap = flatMap;
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBaUM7QUFDakMsdUNBQXlCO0FBQ3pCLDJDQUE2QjtBQUk3Qjs7OztHQUlHO0FBQ0gsU0FBZ0IsaUJBQWlCLENBQUMsS0FBYSxFQUFFLFdBQW9CO0lBQ25FLGlEQUFpRDtJQUNqRCxJQUFJLFdBQVcsS0FBSyxTQUFTLEVBQUU7UUFDN0IsT0FBTyxTQUFTLENBQUM7S0FDbEI7SUFFRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUM3QyxDQUFDO0FBUEQsOENBT0M7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsU0FBZ0IsbUJBQW1CLENBQUMsU0FBaUI7SUFDbkQsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN6QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkQsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNwQyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRTtRQUN0QixLQUFLLE1BQU0sSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDbkQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDOUQ7S0FDRjtTQUFNO1FBQ0wsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7S0FDekM7SUFDRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDL0IsQ0FBQztBQVpELGtEQVlDO0FBRUQsU0FBZ0IsMEJBQTBCLENBQUMsR0FBMkMsRUFBRSxJQUEwQztJQUNoSSxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQ1IsT0FBTyxTQUFTLENBQUM7S0FDbEI7SUFFRCxNQUFNLEdBQUcsR0FBdUQsRUFBRyxDQUFDO0lBQ3BFLEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQzlDLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRTtZQUN2QixHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7U0FDNUI7S0FDRjtJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQVpELGdFQVlDO0FBRUQsU0FBZ0IsV0FBVyxDQUFJLEVBQWM7SUFDM0MsTUFBTSxHQUFHLEdBQVEsRUFBRSxDQUFDO0lBQ3BCLEtBQUssTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1FBQ3ZDLElBQUksQ0FBQyxLQUFLLFNBQVMsRUFBRTtZQUNuQixHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ1o7S0FDRjtJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQVJELGtDQVFDO0FBRUQsU0FBZ0IsU0FBUyxDQUFPLEVBQXNCLEVBQUUsRUFBZTtJQUNyRSxNQUFNLEdBQUcsR0FBdUIsRUFBRSxDQUFDO0lBQ25DLEtBQUssTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1FBQ3ZDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDaEI7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFORCw4QkFNQztBQUVELFNBQWdCLE9BQU8sQ0FBTyxFQUFPLEVBQUUsRUFBaUI7SUFDdEQsTUFBTSxHQUFHLEdBQUcsSUFBSSxLQUFLLEVBQUssQ0FBQztJQUMzQixLQUFLLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUNsQixHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDcEI7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFORCwwQkFNQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNyeXB0byBmcm9tICdjcnlwdG8nO1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IGF3c19jb2RlYnVpbGQgYXMgY2J1aWxkIH0gZnJvbSAnbW9ub2Nkayc7XG5cblxuLyoqXG4gKiBEZXRlcm1pbmVzIHRoZSBcIlJ1bk9yZGVyXCIgcHJvcGVydHkgZm9yIHRoZSBuZXh0IGFjdGlvbiB0byBiZSBhZGRlZCB0byBhIHN0YWdlLlxuICogQHBhcmFtIGluZGV4IEluZGV4IG9mIG5ldyBhY3Rpb25cbiAqIEBwYXJhbSBjb25jdXJyZW5jeSBUaGUgY29uY3VycmVuY3kgbGltaXRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRldGVybWluZVJ1bk9yZGVyKGluZGV4OiBudW1iZXIsIGNvbmN1cnJlbmN5PzogbnVtYmVyKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgLy8gbm8gcnVuT3JkZXIgaWYgd2UgYXJlIGF0IHVubGltaXRlZCBjb25jdXJyZW5jeVxuICBpZiAoY29uY3VycmVuY3kgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICByZXR1cm4gTWF0aC5mbG9vcihpbmRleCAvIGNvbmN1cnJlbmN5KSArIDE7XG59XG5cbi8qKlxuICogSGFzaGVzIHRoZSBjb250ZW50cyBvZiBhIGZpbGUgb3IgZGlyZWN0b3J5LiBJZiB0aGUgYXJndW1lbnQgaXMgYSBkaXJlY3RvcnksXG4gKiBpdCBpcyBhc3N1bWVkIG5vdCB0byBjb250YWluIHN5bWxpbmtzIHRoYXQgd291bGQgcmVzdWx0IGluIGEgY3ljbGljIHRyZWUuXG4gKlxuICogQHBhcmFtIGZpbGVPckRpciB0aGUgcGF0aCB0byB0aGUgZmlsZSBvciBkaXJlY3RvcnkgdGhhdCBzaG91bGQgYmUgaGFzaGVkLlxuICpcbiAqIEByZXR1cm5zIGEgU0hBMjU2IGhhc2gsIGJhc2UtNjQgZW5jb2RlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhhc2hGaWxlT3JEaXJlY3RvcnkoZmlsZU9yRGlyOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBoYXNoID0gY3J5cHRvLmNyZWF0ZUhhc2goJ1NIQTI1NicpO1xuICBoYXNoLnVwZGF0ZShwYXRoLmJhc2VuYW1lKGZpbGVPckRpcikpLnVwZGF0ZSgnXFwwJyk7XG4gIGNvbnN0IHN0YXQgPSBmcy5zdGF0U3luYyhmaWxlT3JEaXIpO1xuICBpZiAoc3RhdC5pc0RpcmVjdG9yeSgpKSB7XG4gICAgZm9yIChjb25zdCBpdGVtIG9mIGZzLnJlYWRkaXJTeW5jKGZpbGVPckRpcikuc29ydCgpKSB7XG4gICAgICBoYXNoLnVwZGF0ZShoYXNoRmlsZU9yRGlyZWN0b3J5KHBhdGguam9pbihmaWxlT3JEaXIsIGl0ZW0pKSk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGhhc2gudXBkYXRlKGZzLnJlYWRGaWxlU3luYyhmaWxlT3JEaXIpKTtcbiAgfVxuICByZXR1cm4gaGFzaC5kaWdlc3QoJ2Jhc2U2NCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVuZGVyRW52aXJvbm1lbnRWYXJpYWJsZXMoZW52PzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCB1bmRlZmluZWQgfSwgdHlwZT86IGNidWlsZC5CdWlsZEVudmlyb25tZW50VmFyaWFibGVUeXBlKSB7XG4gIGlmICghZW52KSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGNvbnN0IG91dDogeyBba2V5OiBzdHJpbmddOiBjYnVpbGQuQnVpbGRFbnZpcm9ubWVudFZhcmlhYmxlIH0gPSB7IH07XG4gIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGVudikpIHtcbiAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgb3V0W2tleV0gPSB7IHZhbHVlLCB0eXBlIH07XG4gICAgfVxuICB9XG4gIHJldHVybiBvdXQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub1VuZGVmaW5lZDxUPih4czogUGFydGlhbDxUPik6IHtbayBpbiBrZXlvZiBUXTogVFtrXX0ge1xuICBjb25zdCByZXQ6IGFueSA9IHt9O1xuICBmb3IgKGNvbnN0IFtrLCB2XSBvZiBPYmplY3QuZW50cmllcyh4cykpIHtcbiAgICBpZiAodiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXRba10gPSB2O1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmV0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWFwVmFsdWVzPFQsIFU+KHhzOiB7W2tleTogc3RyaW5nXTogVH0sIGZuOiAoeDogVCkgPT4gVSk6IHtba2V5OiBzdHJpbmddOiBVfSB7XG4gIGNvbnN0IHJldDoge1trZXk6IHN0cmluZ106IFV9ID0ge307XG4gIGZvciAoY29uc3QgW2ssIHZdIG9mIE9iamVjdC5lbnRyaWVzKHhzKSkge1xuICAgIHJldFtrXSA9IGZuKHYpO1xuICB9XG4gIHJldHVybiByZXQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmbGF0TWFwPFQsIFU+KHhzOiBUW10sIGZuOiAoeDogVCkgPT4gVVtdKTogVVtdIHtcbiAgY29uc3QgcmV0ID0gbmV3IEFycmF5PFU+KCk7XG4gIGZvciAoY29uc3QgeCBvZiB4cykge1xuICAgIHJldC5wdXNoKC4uLmZuKHgpKTtcbiAgfVxuICByZXR1cm4gcmV0O1xufVxuIl19
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBaUM7QUFDakMsdUNBQXlCO0FBQ3pCLDJDQUE2QjtBQUk3Qjs7OztHQUlHO0FBQ0gsU0FBZ0IsaUJBQWlCLENBQUMsS0FBYSxFQUFFLFdBQW9CO0lBQ25FLGlEQUFpRDtJQUNqRCxJQUFJLFdBQVcsS0FBSyxTQUFTLEVBQUU7UUFDN0IsT0FBTyxTQUFTLENBQUM7S0FDbEI7SUFFRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUM3QyxDQUFDO0FBUEQsOENBT0M7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsU0FBZ0IsbUJBQW1CLENBQUMsU0FBaUI7SUFDbkQsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN6QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkQsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNwQyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRTtRQUN0QixLQUFLLE1BQU0sSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDbkQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDOUQ7S0FDRjtTQUFNO1FBQ0wsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7S0FDekM7SUFDRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDL0IsQ0FBQztBQVpELGtEQVlDO0FBRUQsU0FBZ0IsMEJBQTBCLENBQUMsR0FBMkMsRUFBRSxJQUEwQztJQUNoSSxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQ1IsT0FBTyxTQUFTLENBQUM7S0FDbEI7SUFFRCxNQUFNLEdBQUcsR0FBdUQsRUFBRyxDQUFDO0lBQ3BFLEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQzlDLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRTtZQUN2QixHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7U0FDNUI7S0FDRjtJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQVpELGdFQVlDO0FBRUQsU0FBZ0IsV0FBVyxDQUFJLEVBQWM7SUFDM0MsTUFBTSxHQUFHLEdBQVEsRUFBRSxDQUFDO0lBQ3BCLEtBQUssTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1FBQ3ZDLElBQUksQ0FBQyxLQUFLLFNBQVMsRUFBRTtZQUNuQixHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ1o7S0FDRjtJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQVJELGtDQVFDO0FBRUQsU0FBZ0IsU0FBUyxDQUFPLEVBQXNCLEVBQUUsRUFBZTtJQUNyRSxNQUFNLEdBQUcsR0FBdUIsRUFBRSxDQUFDO0lBQ25DLEtBQUssTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1FBQ3ZDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDaEI7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFORCw4QkFNQztBQUVELFNBQWdCLE9BQU8sQ0FBTyxFQUFPLEVBQUUsRUFBaUI7SUFDdEQsTUFBTSxHQUFHLEdBQUcsSUFBSSxLQUFLLEVBQUssQ0FBQztJQUMzQixLQUFLLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUNsQixHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDcEI7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFORCwwQkFNQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNyeXB0byBmcm9tICdjcnlwdG8nO1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IGF3c19jb2RlYnVpbGQgYXMgY2J1aWxkIH0gZnJvbSAnYXdzLWNkay1saWInO1xuXG5cbi8qKlxuICogRGV0ZXJtaW5lcyB0aGUgXCJSdW5PcmRlclwiIHByb3BlcnR5IGZvciB0aGUgbmV4dCBhY3Rpb24gdG8gYmUgYWRkZWQgdG8gYSBzdGFnZS5cbiAqIEBwYXJhbSBpbmRleCBJbmRleCBvZiBuZXcgYWN0aW9uXG4gKiBAcGFyYW0gY29uY3VycmVuY3kgVGhlIGNvbmN1cnJlbmN5IGxpbWl0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZXRlcm1pbmVSdW5PcmRlcihpbmRleDogbnVtYmVyLCBjb25jdXJyZW5jeT86IG51bWJlcik6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gIC8vIG5vIHJ1bk9yZGVyIGlmIHdlIGFyZSBhdCB1bmxpbWl0ZWQgY29uY3VycmVuY3lcbiAgaWYgKGNvbmN1cnJlbmN5ID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcmV0dXJuIE1hdGguZmxvb3IoaW5kZXggLyBjb25jdXJyZW5jeSkgKyAxO1xufVxuXG4vKipcbiAqIEhhc2hlcyB0aGUgY29udGVudHMgb2YgYSBmaWxlIG9yIGRpcmVjdG9yeS4gSWYgdGhlIGFyZ3VtZW50IGlzIGEgZGlyZWN0b3J5LFxuICogaXQgaXMgYXNzdW1lZCBub3QgdG8gY29udGFpbiBzeW1saW5rcyB0aGF0IHdvdWxkIHJlc3VsdCBpbiBhIGN5Y2xpYyB0cmVlLlxuICpcbiAqIEBwYXJhbSBmaWxlT3JEaXIgdGhlIHBhdGggdG8gdGhlIGZpbGUgb3IgZGlyZWN0b3J5IHRoYXQgc2hvdWxkIGJlIGhhc2hlZC5cbiAqXG4gKiBAcmV0dXJucyBhIFNIQTI1NiBoYXNoLCBiYXNlLTY0IGVuY29kZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoYXNoRmlsZU9yRGlyZWN0b3J5KGZpbGVPckRpcjogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgaGFzaCA9IGNyeXB0by5jcmVhdGVIYXNoKCdTSEEyNTYnKTtcbiAgaGFzaC51cGRhdGUocGF0aC5iYXNlbmFtZShmaWxlT3JEaXIpKS51cGRhdGUoJ1xcMCcpO1xuICBjb25zdCBzdGF0ID0gZnMuc3RhdFN5bmMoZmlsZU9yRGlyKTtcbiAgaWYgKHN0YXQuaXNEaXJlY3RvcnkoKSkge1xuICAgIGZvciAoY29uc3QgaXRlbSBvZiBmcy5yZWFkZGlyU3luYyhmaWxlT3JEaXIpLnNvcnQoKSkge1xuICAgICAgaGFzaC51cGRhdGUoaGFzaEZpbGVPckRpcmVjdG9yeShwYXRoLmpvaW4oZmlsZU9yRGlyLCBpdGVtKSkpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBoYXNoLnVwZGF0ZShmcy5yZWFkRmlsZVN5bmMoZmlsZU9yRGlyKSk7XG4gIH1cbiAgcmV0dXJuIGhhc2guZGlnZXN0KCdiYXNlNjQnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbmRlckVudmlyb25tZW50VmFyaWFibGVzKGVudj86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIHwgdW5kZWZpbmVkIH0sIHR5cGU/OiBjYnVpbGQuQnVpbGRFbnZpcm9ubWVudFZhcmlhYmxlVHlwZSkge1xuICBpZiAoIWVudikge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBjb25zdCBvdXQ6IHsgW2tleTogc3RyaW5nXTogY2J1aWxkLkJ1aWxkRW52aXJvbm1lbnRWYXJpYWJsZSB9ID0geyB9O1xuICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhlbnYpKSB7XG4gICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIG91dFtrZXldID0geyB2YWx1ZSwgdHlwZSB9O1xuICAgIH1cbiAgfVxuICByZXR1cm4gb3V0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbm9VbmRlZmluZWQ8VD4oeHM6IFBhcnRpYWw8VD4pOiB7W2sgaW4ga2V5b2YgVF06IFRba119IHtcbiAgY29uc3QgcmV0OiBhbnkgPSB7fTtcbiAgZm9yIChjb25zdCBbaywgdl0gb2YgT2JqZWN0LmVudHJpZXMoeHMpKSB7XG4gICAgaWYgKHYgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0W2tdID0gdjtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJldDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1hcFZhbHVlczxULCBVPih4czoge1trZXk6IHN0cmluZ106IFR9LCBmbjogKHg6IFQpID0+IFUpOiB7W2tleTogc3RyaW5nXTogVX0ge1xuICBjb25zdCByZXQ6IHtba2V5OiBzdHJpbmddOiBVfSA9IHt9O1xuICBmb3IgKGNvbnN0IFtrLCB2XSBvZiBPYmplY3QuZW50cmllcyh4cykpIHtcbiAgICByZXRba10gPSBmbih2KTtcbiAgfVxuICByZXR1cm4gcmV0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmxhdE1hcDxULCBVPih4czogVFtdLCBmbjogKHg6IFQpID0+IFVbXSk6IFVbXSB7XG4gIGNvbnN0IHJldCA9IG5ldyBBcnJheTxVPigpO1xuICBmb3IgKGNvbnN0IHggb2YgeHMpIHtcbiAgICByZXQucHVzaCguLi5mbih4KSk7XG4gIH1cbiAgcmV0dXJuIHJldDtcbn1cbiJdfQ==
package/lib/util.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as crypto from 'crypto';
2
2
  import * as fs from 'fs';
3
3
  import * as path from 'path';
4
- import { aws_codebuild as cbuild } from 'monocdk';
4
+ import { aws_codebuild as cbuild } from 'aws-cdk-lib';
5
5
 
6
6
 
7
7
  /**
package/package.json CHANGED
@@ -37,9 +37,8 @@
37
37
  "organization": false
38
38
  },
39
39
  "devDependencies": {
40
- "@monocdk-experiment/assert": "^1.154.0",
41
40
  "@types/adm-zip": "^0.5.0",
42
- "@types/aws-lambda": "^8.10.95",
41
+ "@types/aws-lambda": "^8.10.97",
43
42
  "@types/fs-extra": "^9.0.13",
44
43
  "@types/jest": "^27.5.0",
45
44
  "@types/node": "^14",
@@ -47,10 +46,11 @@
47
46
  "@typescript-eslint/eslint-plugin": "^5",
48
47
  "@typescript-eslint/parser": "^5",
49
48
  "adm-zip": "^0.5.9",
50
- "aws-cdk": "^1.154.0",
51
- "aws-sdk": "^2.1126.0",
49
+ "aws-cdk": "^2.23.0",
50
+ "aws-cdk-lib": "^2.3.0",
51
+ "aws-sdk": "^2.1131.0",
52
52
  "aws-sdk-mock": "^5.7.0",
53
- "constructs": "^3.3.283",
53
+ "constructs": "^10.1.4",
54
54
  "esbuild": "^0.14.38",
55
55
  "eslint": "^8",
56
56
  "eslint-import-resolver-node": "^0.3.6",
@@ -62,10 +62,9 @@
62
62
  "jest-junit": "^13",
63
63
  "json-schema": "^0.4.0",
64
64
  "JSONStream": "^1.3.5",
65
- "monocdk": "^1.154.0",
66
65
  "node-ical": "^0.15.1",
67
66
  "npm-check-updates": "^12",
68
- "projen": "^0.55.1",
67
+ "projen": "^0.56.2",
69
68
  "rrule": "^2.6.9",
70
69
  "standard-version": "^9",
71
70
  "tar": "^6.1.11",
@@ -73,8 +72,8 @@
73
72
  "typescript": "~4.6.4"
74
73
  },
75
74
  "peerDependencies": {
76
- "constructs": "^3.3.283",
77
- "monocdk": "^1.154.0"
75
+ "aws-cdk-lib": "^2.3.0",
76
+ "constructs": "^10.1.4"
78
77
  },
79
78
  "dependencies": {
80
79
  "changelog-parser": "^2.8.1"
@@ -85,9 +84,12 @@
85
84
  "continuous-delivery",
86
85
  "continuous-integration"
87
86
  ],
87
+ "engines": {
88
+ "node": ">= 14.17.0"
89
+ },
88
90
  "main": "lib/index.js",
89
91
  "license": "Apache-2.0",
90
- "version": "13.7.10",
92
+ "version": "14.0.2",
91
93
  "jest": {
92
94
  "testMatch": [
93
95
  "**/lib/__tests__/**/?(*.)+(spec|test).js?(x)"
@@ -1,119 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.handler = exports.external = void 0;
4
- const https = require("https");
5
- const url = require("url");
6
- // for unit tests
7
- exports.external = {
8
- sendHttpRequest: defaultSendHttpRequest,
9
- log: defaultLog,
10
- includeStackTraces: true,
11
- userHandlerIndex: './index',
12
- };
13
- const CREATE_FAILED_PHYSICAL_ID_MARKER = 'AWSCDK::CustomResourceProviderFramework::CREATE_FAILED';
14
- const MISSING_PHYSICAL_ID_MARKER = 'AWSCDK::CustomResourceProviderFramework::MISSING_PHYSICAL_ID';
15
- async function handler(event, context) {
16
- exports.external.log(JSON.stringify(event, undefined, 2));
17
- // ignore DELETE event when the physical resource ID is the marker that
18
- // indicates that this DELETE is a subsequent DELETE to a failed CREATE
19
- // operation.
20
- if (event.RequestType === 'Delete' && event.PhysicalResourceId === CREATE_FAILED_PHYSICAL_ID_MARKER) {
21
- exports.external.log('ignoring DELETE event caused by a failed CREATE event');
22
- await submitResponse('SUCCESS', event);
23
- return;
24
- }
25
- try {
26
- // invoke the user handler. this is intentionally inside the try-catch to
27
- // ensure that if there is an error it's reported as a failure to
28
- // cloudformation (otherwise cfn waits).
29
- // eslint-disable-next-line @typescript-eslint/no-require-imports
30
- const userHandler = require(exports.external.userHandlerIndex).handler;
31
- const result = await userHandler(event, context);
32
- // validate user response and create the combined event
33
- const responseEvent = renderResponse(event, result);
34
- // submit to cfn as success
35
- await submitResponse('SUCCESS', responseEvent);
36
- }
37
- catch (e) {
38
- const resp = {
39
- ...event,
40
- Reason: exports.external.includeStackTraces ? e.stack : e.message,
41
- };
42
- if (!resp.PhysicalResourceId) {
43
- // special case: if CREATE fails, which usually implies, we usually don't
44
- // have a physical resource id. in this case, the subsequent DELETE
45
- // operation does not have any meaning, and will likely fail as well. to
46
- // address this, we use a marker so the provider framework can simply
47
- // ignore the subsequent DELETE.
48
- if (event.RequestType === 'Create') {
49
- exports.external.log('CREATE failed, responding with a marker physical resource id so that the subsequent DELETE will be ignored');
50
- resp.PhysicalResourceId = CREATE_FAILED_PHYSICAL_ID_MARKER;
51
- }
52
- else {
53
- // otherwise, if PhysicalResourceId is not specified, something is
54
- // terribly wrong because all other events should have an ID.
55
- exports.external.log(`ERROR: Malformed event. "PhysicalResourceId" is required: ${JSON.stringify(event)}`);
56
- }
57
- }
58
- // this is an actual error, fail the activity altogether and exist.
59
- await submitResponse('FAILED', resp);
60
- }
61
- }
62
- exports.handler = handler;
63
- function renderResponse(cfnRequest, handlerResponse = {}) {
64
- var _a, _b;
65
- // if physical ID is not returned, we have some defaults for you based
66
- // on the request type.
67
- const physicalResourceId = (_b = (_a = handlerResponse.PhysicalResourceId) !== null && _a !== void 0 ? _a : cfnRequest.PhysicalResourceId) !== null && _b !== void 0 ? _b : cfnRequest.RequestId;
68
- // if we are in DELETE and physical ID was changed, it's an error.
69
- if (cfnRequest.RequestType === 'Delete' && physicalResourceId !== cfnRequest.PhysicalResourceId) {
70
- throw new Error(`DELETE: cannot change the physical resource ID from "${cfnRequest.PhysicalResourceId}" to "${handlerResponse.PhysicalResourceId}" during deletion`);
71
- }
72
- // merge request event and result event (result prevails).
73
- return {
74
- ...cfnRequest,
75
- ...handlerResponse,
76
- PhysicalResourceId: physicalResourceId,
77
- };
78
- }
79
- async function submitResponse(status, event) {
80
- var _a;
81
- const json = {
82
- Status: status,
83
- Reason: (_a = event.Reason) !== null && _a !== void 0 ? _a : status,
84
- StackId: event.StackId,
85
- RequestId: event.RequestId,
86
- PhysicalResourceId: event.PhysicalResourceId || MISSING_PHYSICAL_ID_MARKER,
87
- LogicalResourceId: event.LogicalResourceId,
88
- NoEcho: event.NoEcho,
89
- Data: event.Data,
90
- };
91
- exports.external.log('submit response to cloudformation', json);
92
- const responseBody = JSON.stringify(json);
93
- const parsedUrl = url.parse(event.ResponseURL);
94
- const req = {
95
- hostname: parsedUrl.hostname,
96
- path: parsedUrl.path,
97
- method: 'PUT',
98
- headers: { 'content-type': '', 'content-length': responseBody.length },
99
- };
100
- await exports.external.sendHttpRequest(req, responseBody);
101
- }
102
- async function defaultSendHttpRequest(options, responseBody) {
103
- return new Promise((resolve, reject) => {
104
- try {
105
- const request = https.request(options, _ => resolve());
106
- request.on('error', reject);
107
- request.write(responseBody);
108
- request.end();
109
- }
110
- catch (e) {
111
- reject(e);
112
- }
113
- });
114
- }
115
- function defaultLog(fmt, ...params) {
116
- // eslint-disable-next-line no-console
117
- console.log(fmt, ...params);
118
- }
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZWpzLWVudHJ5cG9pbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJub2RlanMtZW50cnlwb2ludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQkFBK0I7QUFDL0IsMkJBQTJCO0FBRTNCLGlCQUFpQjtBQUNKLFFBQUEsUUFBUSxHQUFHO0lBQ3RCLGVBQWUsRUFBRSxzQkFBc0I7SUFDdkMsR0FBRyxFQUFFLFVBQVU7SUFDZixrQkFBa0IsRUFBRSxJQUFJO0lBQ3hCLGdCQUFnQixFQUFFLFNBQVM7Q0FDNUIsQ0FBQztBQUVGLE1BQU0sZ0NBQWdDLEdBQUcsd0RBQXdELENBQUM7QUFDbEcsTUFBTSwwQkFBMEIsR0FBRyw4REFBOEQsQ0FBQztBQVczRixLQUFLLFVBQVUsT0FBTyxDQUFDLEtBQWtELEVBQUUsT0FBMEI7SUFDMUcsZ0JBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFbEQsdUVBQXVFO0lBQ3ZFLHVFQUF1RTtJQUN2RSxhQUFhO0lBQ2IsSUFBSSxLQUFLLENBQUMsV0FBVyxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsa0JBQWtCLEtBQUssZ0NBQWdDLEVBQUU7UUFDbkcsZ0JBQVEsQ0FBQyxHQUFHLENBQUMsdURBQXVELENBQUMsQ0FBQztRQUN0RSxNQUFNLGNBQWMsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdkMsT0FBTztLQUNSO0lBRUQsSUFBSTtRQUNGLHlFQUF5RTtRQUN6RSxpRUFBaUU7UUFDakUsd0NBQXdDO1FBQ3hDLGlFQUFpRTtRQUNqRSxNQUFNLFdBQVcsR0FBWSxPQUFPLENBQUMsZ0JBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUN4RSxNQUFNLE1BQU0sR0FBRyxNQUFNLFdBQVcsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFakQsdURBQXVEO1FB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QUFFLEVBQUUsY0FBYyxFQUFFLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLENBQUMsTUFBTSxFQUFFO0tBQ3ZFLENBQUM7SUFFRixNQUFNLGdCQUFRLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRSxZQUFZLENBQUMsQ0FBQztBQUNwRCxDQUFDO0FBRUQsS0FBSyxVQUFVLHNCQUFzQixDQUFDLE9BQTZCLEVBQUUsWUFBb0I7SUFDdkYsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtRQUNyQyxJQUFJO1lBQ0YsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZELE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQzVCLE9BQU8sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDNUIsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1NBQ2Y7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNYO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBUyxVQUFVLENBQUMsR0FBVyxFQUFFLEdBQUcsTUFBYTtJQUMvQyxzQ0FBc0M7SUFDdEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQztBQUM5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaHR0cHMgZnJvbSAnaHR0cHMnO1xuaW1wb3J0ICogYXMgdXJsIGZyb20gJ3VybCc7XG5cbi8vIGZvciB1bml0IHRlc3RzXG5leHBvcnQgY29uc3QgZXh0ZXJuYWwgPSB7XG4gIHNlbmRIdHRwUmVxdWVzdDogZGVmYXVsdFNlbmRIdHRwUmVxdWVzdCxcbiAgbG9nOiBkZWZhdWx0TG9nLFxuICBpbmNsdWRlU3RhY2tUcmFjZXM6IHRydWUsXG4gIHVzZXJIYW5kbGVySW5kZXg6ICcuL2luZGV4Jyxcbn07XG5cbmNvbnN0IENSRUFURV9GQUlMRURfUEhZU0lDQUxfSURfTUFSS0VSID0gJ0FXU0NESzo6Q3VzdG9tUmVzb3VyY2VQcm92aWRlckZyYW1ld29yazo6Q1JFQVRFX0ZBSUxFRCc7XG5jb25zdCBNSVNTSU5HX1BIWVNJQ0FMX0lEX01BUktFUiA9ICdBV1NDREs6OkN1c3RvbVJlc291cmNlUHJvdmlkZXJGcmFtZXdvcms6Ok1JU1NJTkdfUEhZU0lDQUxfSUQnO1xuXG5leHBvcnQgdHlwZSBSZXNwb25zZSA9IEFXU0xhbWJkYS5DbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlRXZlbnQgJiBIYW5kbGVyUmVzcG9uc2U7XG5leHBvcnQgdHlwZSBIYW5kbGVyID0gKGV2ZW50OiBBV1NMYW1iZGEuQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZUV2ZW50LCBjb250ZXh0OiBBV1NMYW1iZGEuQ29udGV4dCkgPT4gUHJvbWlzZTxIYW5kbGVyUmVzcG9uc2UgfCB2b2lkPjtcbmV4cG9ydCB0eXBlIEhhbmRsZXJSZXNwb25zZSA9IHVuZGVmaW5lZCB8IHtcbiAgRGF0YT86IGFueTtcbiAgUGh5c2ljYWxSZXNvdXJjZUlkPzogc3RyaW5nO1xuICBSZWFzb24/OiBzdHJpbmc7XG4gIE5vRWNobz86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaGFuZGxlcihldmVudDogQVdTTGFtYmRhLkNsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VFdmVudCwgY29udGV4dDogQVdTTGFtYmRhLkNvbnRleHQpIHtcbiAgZXh0ZXJuYWwubG9nKEpTT04uc3RyaW5naWZ5KGV2ZW50LCB1bmRlZmluZWQsIDIpKTtcblxuICAvLyBpZ25vcmUgREVMRVRFIGV2ZW50IHdoZW4gdGhlIHBoeXNpY2FsIHJlc291cmNlIElEIGlzIHRoZSBtYXJrZXIgdGhhdFxuICAvLyBpbmRpY2F0ZXMgdGhhdCB0aGlzIERFTEVURSBpcyBhIHN1YnNlcXVlbnQgREVMRVRFIHRvIGEgZmFpbGVkIENSRUFURVxuICAvLyBvcGVyYXRpb24uXG4gIGlmIChldmVudC5SZXF1ZXN0VHlwZSA9PT0gJ0RlbGV0ZScgJiYgZXZlbnQuUGh5c2ljYWxSZXNvdXJjZUlkID09PSBDUkVBVEVfRkFJTEVEX1BIWVNJQ0FMX0lEX01BUktFUikge1xuICAgIGV4dGVybmFsLmxvZygnaWdub3JpbmcgREVMRVRFIGV2ZW50IGNhdXNlZCBieSBhIGZhaWxlZCBDUkVBVEUgZXZlbnQnKTtcbiAgICBhd2FpdCBzdWJtaXRSZXNwb25zZSgnU1VDQ0VTUycsIGV2ZW50KTtcbiAgICByZXR1cm47XG4gIH1cblxuICB0cnkge1xuICAgIC8vIGludm9rZSB0aGUgdXNlciBoYW5kbGVyLiB0aGlzIGlzIGludGVudGlvbmFsbHkgaW5zaWRlIHRoZSB0cnktY2F0Y2ggdG9cbiAgICAvLyBlbnN1cmUgdGhhdCBpZiB0aGVyZSBpcyBhbiBlcnJvciBpdCdzIHJlcG9ydGVkIGFzIGEgZmFpbHVyZSB0b1xuICAgIC8vIGNsb3VkZm9ybWF0aW9uIChvdGhlcndpc2UgY2ZuIHdhaXRzKS5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1xuICAgIGNvbnN0IHVzZXJIYW5kbGVyOiBIYW5kbGVyID0gcmVxdWlyZShleHRlcm5hbC51c2VySGFuZGxlckluZGV4KS5oYW5kbGVyO1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHVzZXJIYW5kbGVyKGV2ZW50LCBjb250ZXh0KTtcblxuICAgIC8vIHZhbGlkYXRlIHVzZXIgcmVzcG9uc2UgYW5kIGNyZWF0ZSB0aGUgY29tYmluZWQgZXZlbnRcbiAgICBjb25zdCByZXNwb25zZUV2ZW50ID0gcmVuZGVyUmVzcG9uc2UoZXZlbnQsIHJlc3VsdCk7XG5cbiAgICAvLyBzdWJtaXQgdG8gY2ZuIGFzIHN1Y2Nlc3NcbiAgICBhd2FpdCBzdWJtaXRSZXNwb25zZSgnU1VDQ0VTUycsIHJlc3BvbnNlRXZlbnQpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgY29uc3QgcmVzcDogUmVzcG9uc2UgPSB7XG4gICAgICAuLi5ldmVudCxcbiAgICAgIFJlYXNvbjogZXh0ZXJuYWwuaW5jbHVkZVN0YWNrVHJhY2VzID8gZS5zdGFjayA6IGUubWVzc2FnZSxcbiAgICB9O1xuXG4gICAgaWYgKCFyZXNwLlBoeXNpY2FsUmVzb3VyY2VJZCkge1xuICAgICAgLy8gc3BlY2lhbCBjYXNlOiBpZiBDUkVBVEUgZmFpbHMsIHdoaWNoIHVzdWFsbHkgaW1wbGllcywgd2UgdXN1YWxseSBkb24ndFxuICAgICAgLy8gaGF2ZSBhIHBoeXNpY2FsIHJlc291cmNlIGlkLiBpbiB0aGlzIGNhc2UsIHRoZSBzdWJzZXF1ZW50IERFTEVURVxuICAgICAgLy8gb3BlcmF0aW9uIGRvZXMgbm90IGhhdmUgYW55IG1lYW5pbmcsIGFuZCB3aWxsIGxpa2VseSBmYWlsIGFzIHdlbGwuIHRvXG4gICAgICAvLyBhZGRyZXNzIHRoaXMsIHdlIHVzZSBhIG1hcmtlciBzbyB0aGUgcHJvdmlkZXIgZnJhbWV3b3JrIGNhbiBzaW1wbHlcbiAgICAgIC8vIGlnbm9yZSB0aGUgc3Vic2VxdWVudCBERUxFVEUuXG4gICAgICBpZiAoZXZlbnQuUmVxdWVzdFR5cGUgPT09ICdDcmVhdGUnKSB7XG4gICAgICAgIGV4dGVybmFsLmxvZygnQ1JFQVRFIGZhaWxlZCwgcmVzcG9uZGluZyB3aXRoIGEgbWFya2VyIHBoeXNpY2FsIHJlc291cmNlIGlkIHNvIHRoYXQgdGhlIHN1YnNlcXVlbnQgREVMRVRFIHdpbGwgYmUgaWdub3JlZCcpO1xuICAgICAgICByZXNwLlBoeXNpY2FsUmVzb3VyY2VJZCA9IENSRUFURV9GQUlMRURfUEhZU0lDQUxfSURfTUFSS0VSO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gb3RoZXJ3aXNlLCBpZiBQaHlzaWNhbFJlc291cmNlSWQgaXMgbm90IHNwZWNpZmllZCwgc29tZXRoaW5nIGlzXG4gICAgICAgIC8vIHRlcnJpYmx5IHdyb25nIGJlY2F1c2UgYWxsIG90aGVyIGV2ZW50cyBzaG91bGQgaGF2ZSBhbiBJRC5cbiAgICAgICAgZXh0ZXJuYWwubG9nKGBFUlJPUjogTWFsZm9ybWVkIGV2ZW50LiBcIlBoeXNpY2FsUmVzb3VyY2VJZFwiIGlzIHJlcXVpcmVkOiAke0pTT04uc3RyaW5naWZ5KGV2ZW50KX1gKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyB0aGlzIGlzIGFuIGFjdHVhbCBlcnJvciwgZmFpbCB0aGUgYWN0aXZpdHkgYWx0b2dldGhlciBhbmQgZXhpc3QuXG4gICAgYXdhaXQgc3VibWl0UmVzcG9uc2UoJ0ZBSUxFRCcsIHJlc3ApO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlbmRlclJlc3BvbnNlKFxuICBjZm5SZXF1ZXN0OiBBV1NMYW1iZGEuQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZUV2ZW50ICYgeyBQaHlzaWNhbFJlc291cmNlSWQ/OiBzdHJpbmcgfSxcbiAgaGFuZGxlclJlc3BvbnNlOiB2b2lkIHwgSGFuZGxlclJlc3BvbnNlID0geyB9KTogUmVzcG9uc2Uge1xuXG4gIC8vIGlmIHBoeXNpY2FsIElEIGlzIG5vdCByZXR1cm5lZCwgd2UgaGF2ZSBzb21lIGRlZmF1bHRzIGZvciB5b3UgYmFzZWRcbiAgLy8gb24gdGhlIHJlcXVlc3QgdHlwZS5cbiAgY29uc3QgcGh5c2ljYWxSZXNvdXJjZUlkID0gaGFuZGxlclJlc3BvbnNlLlBoeXNpY2FsUmVzb3VyY2VJZCA/PyBjZm5SZXF1ZXN0LlBoeXNpY2FsUmVzb3VyY2VJZCA/PyBjZm5SZXF1ZXN0LlJlcXVlc3RJZDtcblxuICAvLyBpZiB3ZSBhcmUgaW4gREVMRVRFIGFuZCBwaHlzaWNhbCBJRCB3YXMgY2hhbmdlZCwgaXQncyBhbiBlcnJvci5cbiAgaWYgKGNmblJlcXVlc3QuUmVxdWVzdFR5cGUgPT09ICdEZWxldGUnICYmIHBoeXNpY2FsUmVzb3VyY2VJZCAhPT0gY2ZuUmVxdWVzdC5QaHlzaWNhbFJlc291cmNlSWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYERFTEVURTogY2Fubm90IGNoYW5nZSB0aGUgcGh5c2ljYWwgcmVzb3VyY2UgSUQgZnJvbSBcIiR7Y2ZuUmVxdWVzdC5QaHlzaWNhbFJlc291cmNlSWR9XCIgdG8gXCIke2hhbmRsZXJSZXNwb25zZS5QaHlzaWNhbFJlc291cmNlSWR9XCIgZHVyaW5nIGRlbGV0aW9uYCk7XG4gIH1cblxuICAvLyBtZXJnZSByZXF1ZXN0IGV2ZW50IGFuZCByZXN1bHQgZXZlbnQgKHJlc3VsdCBwcmV2YWlscykuXG4gIHJldHVybiB7XG4gICAgLi4uY2ZuUmVxdWVzdCxcbiAgICAuLi5oYW5kbGVyUmVzcG9uc2UsXG4gICAgUGh5c2ljYWxSZXNvdXJjZUlkOiBwaHlzaWNhbFJlc291cmNlSWQsXG4gIH07XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHN1Ym1pdFJlc3BvbnNlKHN0YXR1czogJ1NVQ0NFU1MnIHwgJ0ZBSUxFRCcsIGV2ZW50OiBSZXNwb25zZSkge1xuICBjb25zdCBqc29uOiBBV1NMYW1iZGEuQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZVJlc3BvbnNlID0ge1xuICAgIFN0YXR1czogc3RhdHVzLFxuICAgIFJlYXNvbjogZXZlbnQuUmVhc29uID8/IHN0YXR1cyxcbiAgICBTdGFja0lkOiBldmVudC5TdGFja0lkLFxuICAgIFJlcXVlc3RJZDogZXZlbnQuUmVxdWVzdElkLFxuICAgIFBoeXNpY2FsUmVzb3VyY2VJZDogZXZlbnQuUGh5c2ljYWxSZXNvdXJjZUlkIHx8IE1JU1NJTkdfUEhZU0lDQUxfSURfTUFSS0VSLFxuICAgIExvZ2ljYWxSZXNvdXJjZUlkOiBldmVudC5Mb2dpY2FsUmVzb3VyY2VJZCxcbiAgICBOb0VjaG86IGV2ZW50Lk5vRWNobyxcbiAgICBEYXRhOiBldmVudC5EYXRhLFxuICB9O1xuXG4gIGV4dGVybmFsLmxvZygnc3VibWl0IHJlc3BvbnNlIHRvIGNsb3VkZm9ybWF0aW9uJywganNvbik7XG5cbiAgY29uc3QgcmVzcG9uc2VCb2R5ID0gSlNPTi5zdHJpbmdpZnkoanNvbik7XG4gIGNvbnN0IHBhcnNlZFVybCA9IHVybC5wYXJzZShldmVudC5SZXNwb25zZVVSTCk7XG4gIGNvbnN0IHJlcSA9IHtcbiAgICBob3N0bmFtZTogcGFyc2VkVXJsLmhvc3RuYW1lLFxuICAgIHBhdGg6IHBhcnNlZFVybC5wYXRoLFxuICAgIG1ldGhvZDogJ1BVVCcsXG4gICAgaGVhZGVyczogeyAnY29udGVudC10eXBlJzogJycsICdjb250ZW50LWxlbmd0aCc6IHJlc3BvbnNlQm9keS5sZW5ndGggfSxcbiAgfTtcblxuICBhd2FpdCBleHRlcm5hbC5zZW5kSHR0cFJlcXVlc3QocmVxLCByZXNwb25zZUJvZHkpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBkZWZhdWx0U2VuZEh0dHBSZXF1ZXN0KG9wdGlvbnM6IGh0dHBzLlJlcXVlc3RPcHRpb25zLCByZXNwb25zZUJvZHk6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXF1ZXN0ID0gaHR0cHMucmVxdWVzdChvcHRpb25zLCBfID0+IHJlc29sdmUoKSk7XG4gICAgICByZXF1ZXN0Lm9uKCdlcnJvcicsIHJlamVjdCk7XG4gICAgICByZXF1ZXN0LndyaXRlKHJlc3BvbnNlQm9keSk7XG4gICAgICByZXF1ZXN0LmVuZCgpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJlamVjdChlKTtcbiAgICB9XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBkZWZhdWx0TG9nKGZtdDogc3RyaW5nLCAuLi5wYXJhbXM6IGFueVtdKSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gIGNvbnNvbGUubG9nKGZtdCwgLi4ucGFyYW1zKTtcbn1cbiJdfQ==