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,11 +1,12 @@
1
1
  import * as path from 'path';
2
2
  import {
3
- Construct, Duration,
4
- aws_cloudformation as cfn,
3
+ Duration,
4
+ CustomResource,
5
5
  aws_lambda as lambda,
6
6
  aws_s3 as s3,
7
7
  RemovalPolicy,
8
- } from 'monocdk';
8
+ } from 'aws-cdk-lib';
9
+ import { Construct } from 'constructs';
9
10
  import { hashFileOrDirectory } from '../util';
10
11
  import { RsaPrivateKeySecret } from './private-key';
11
12
 
@@ -79,9 +80,10 @@ export class CertificateSigningRequest extends Construct {
79
80
  });
80
81
  outputBucket.grantReadWrite(customResource);
81
82
 
82
- const csr = new cfn.CustomResource(this, 'Resource', {
83
- provider: cfn.CustomResourceProvider.lambda(customResource),
83
+ const csr = new CustomResource(this, 'Resource', {
84
+ serviceToken: customResource.functionArn,
84
85
  resourceType: 'Custom::CertificateSigningRequest',
86
+ pascalCaseProperties: true,
85
87
  properties: {
86
88
  resourceVersion: hashFileOrDirectory(codeLocation),
87
89
  // Private key
@@ -1,4 +1,5 @@
1
- import { Construct, IConstruct, aws_iam as iam, aws_kms as kms, aws_secretsmanager as secretsManager, aws_ssm as ssm } from 'monocdk';
1
+ import { aws_iam as iam, aws_kms as kms, aws_secretsmanager as secretsManager, aws_ssm as ssm } from 'aws-cdk-lib';
2
+ import { Construct, IConstruct } from 'constructs';
2
3
  import { ICredentialPair } from '../credential-pair';
3
4
  import { DistinguishedName } from './certificate-signing-request';
4
5
  export { DistinguishedName } from './certificate-signing-request';
@@ -24,7 +24,8 @@ var __importStar = (this && this.__importStar) || function (mod) {
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.CodeSigningCertificate = void 0;
27
- const monocdk_1 = require("monocdk");
27
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
28
+ const constructs_1 = require("constructs");
28
29
  const permissions = __importStar(require("../permissions"));
29
30
  const private_key_1 = require("./private-key");
30
31
  /**
@@ -42,28 +43,28 @@ const private_key_1 = require("./private-key");
42
43
  * you wish to retain the private key, you can set ``forceCertificateSigningRequest`` to ``true`` in order to obtain a
43
44
  * new CSR document.
44
45
  */
45
- class CodeSigningCertificate extends monocdk_1.Construct {
46
+ class CodeSigningCertificate extends constructs_1.Construct {
46
47
  constructor(parent, id, props) {
47
48
  var _a;
48
49
  super(parent, id);
49
50
  // The construct path of this construct with respect to the containing stack, without any leading /
50
- const stack = monocdk_1.Stack.of(this);
51
+ const stack = aws_cdk_lib_1.Stack.of(this);
51
52
  const baseName = (_a = props.baseName) !== null && _a !== void 0 ? _a : `${stack.stackName}${this.node.path.substr(stack.node.path.length)}`;
52
53
  const privateKey = new private_key_1.RsaPrivateKeySecret(this, 'RSAPrivateKey', {
53
- removalPolicy: props.retainPrivateKey === false ? monocdk_1.RemovalPolicy.DESTROY : monocdk_1.RemovalPolicy.RETAIN,
54
+ removalPolicy: props.retainPrivateKey === false ? aws_cdk_lib_1.RemovalPolicy.DESTROY : aws_cdk_lib_1.RemovalPolicy.RETAIN,
54
55
  description: 'The PEM-encoded private key of the x509 Code-Signing Certificate',
55
56
  keySize: props.rsaKeySize || 2048,
56
57
  secretEncryptionKey: props.secretEncryptionKey,
57
58
  secretName: `${baseName}/RSAPrivateKey`,
58
59
  });
59
- this.credential = monocdk_1.aws_secretsmanager.Secret.fromSecretAttributes(this, 'Credential', {
60
+ this.credential = aws_cdk_lib_1.aws_secretsmanager.Secret.fromSecretAttributes(this, 'Credential', {
60
61
  encryptionKey: props.secretEncryptionKey,
61
- secretArn: privateKey.secretArn,
62
+ secretCompleteArn: privateKey.secretArn,
62
63
  });
63
64
  let certificate = props.pemCertificate;
64
65
  if (!certificate || props.forceCertificateSigningRequest) {
65
66
  const csr = privateKey.newCertificateSigningRequest('CertificateSigningRequest', props.distinguishedName, 'critical,digitalSignature', 'critical,codeSigning');
66
- new monocdk_1.CfnOutput(this, 'CSR', {
67
+ new aws_cdk_lib_1.CfnOutput(this, 'CSR', {
67
68
  description: 'A PEM-encoded Certificate Signing Request for a Code-Signing Certificate',
68
69
  value: csr.pemRequest,
69
70
  });
@@ -71,7 +72,7 @@ class CodeSigningCertificate extends monocdk_1.Construct {
71
72
  certificate = csr.selfSignedPemCertificate;
72
73
  }
73
74
  }
74
- this.principal = new monocdk_1.aws_ssm.StringParameter(this, 'Resource', {
75
+ this.principal = new aws_cdk_lib_1.aws_ssm.StringParameter(this, 'Resource', {
75
76
  description: `A PEM-encoded Code-Signing Certificate (private key in ${privateKey.secretArn})`,
76
77
  parameterName: `/${baseName}/Certificate`,
77
78
  stringValue: certificate,
@@ -89,9 +90,9 @@ class CodeSigningCertificate extends monocdk_1.Construct {
89
90
  keyArn: this.credential.encryptionKey && this.credential.encryptionKey.keyArn,
90
91
  secretArn: this.credential.secretArn,
91
92
  }, principal);
92
- principal.addToPolicy(new monocdk_1.aws_iam.PolicyStatement({
93
+ principal.addToPrincipalPolicy(new aws_cdk_lib_1.aws_iam.PolicyStatement({
93
94
  actions: ['ssm:GetParameter'],
94
- resources: [monocdk_1.Stack.of(this).formatArn({
95
+ resources: [aws_cdk_lib_1.Stack.of(this).formatArn({
95
96
  // TODO: This is a workaround until https://github.com/awslabs/aws-cdk/pull/1726 is released
96
97
  service: 'ssm',
97
98
  resource: `parameter${this.principal.parameterName}`,
@@ -100,4 +101,4 @@ class CodeSigningCertificate extends monocdk_1.Construct {
100
101
  }
101
102
  }
102
103
  exports.CodeSigningCertificate = CodeSigningCertificate;
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1zaWduaW5nLWNlcnRpZmljYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY29kZS1zaWduaW5nLWNlcnRpZmljYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEscUNBTWlCO0FBRWpCLDREQUE4QztBQUU5QywrQ0FBb0Q7QUFtRXBEOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsTUFBYSxzQkFBdUIsU0FBUSxtQkFBUztJQVduRCxZQUFZLE1BQWlCLEVBQUUsRUFBVSxFQUFFLEtBQWtDOztRQUMzRSxLQUFLLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWxCLG1HQUFtRztRQUNuRyxNQUFNLEtBQUssR0FBRyxlQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdCLE1BQU0sUUFBUSxHQUFHLE1BQUEsS0FBSyxDQUFDLFFBQVEsbUNBQUksR0FBRyxLQUFLLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBRXhHLE1BQU0sVUFBVSxHQUFHLElBQUksaUNBQW1CLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRTtZQUNoRSxhQUFhLEVBQUUsS0FBSyxDQUFDLGdCQUFnQixLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsdUJBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLHVCQUFhLENBQUMsTUFBTTtZQUM5RixXQUFXLEVBQUUsa0VBQWtFO1lBQy9FLE9BQU8sRUFBRSxLQUFLLENBQUMsVUFBVSxJQUFJLElBQUk7WUFDakMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLG1CQUFtQjtZQUM5QyxVQUFVLEVBQUUsR0FBRyxRQUFRLGdCQUFnQjtTQUN4QyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsVUFBVSxHQUFHLDRCQUFjLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxZQUFZLEVBQUU7WUFDL0UsYUFBYSxFQUFFLEtBQUssQ0FBQyxtQkFBbUI7WUFDeEMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxTQUFTO1NBQ2hDLENBQUMsQ0FBQztRQUVILElBQUksV0FBVyxHQUFHLEtBQUssQ0FBQyxjQUFjLENBQUM7UUFFdkMsSUFBSSxDQUFDLFdBQVcsSUFBSSxLQUFLLENBQUMsOEJBQThCLEVBQUU7WUFDeEQsTUFBTSxHQUFHLEdBQUcsVUFBVSxDQUFDLDRCQUE0QixDQUFDLDJCQUEyQixFQUM3RSxLQUFLLENBQUMsaUJBQWlCLEVBQ3ZCLDJCQUEyQixFQUMzQixzQkFBc0IsQ0FBQyxDQUFDO1lBRTFCLElBQUksbUJBQVMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFO2dCQUN6QixXQUFXLEVBQUUsMEVBQTBFO2dCQUN2RixLQUFLLEVBQUUsR0FBRyxDQUFDLFVBQVU7YUFDdEIsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDaEIsV0FBVyxHQUFHLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQzthQUM1QztTQUNGO1FBRUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLGlCQUFHLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDekQsV0FBVyxFQUFFLDBEQUEwRCxVQUFVLENBQUMsU0FBUyxHQUFHO1lBQzlGLGFBQWEsRUFBRSxJQUFJLFFBQVEsY0FBYztZQUN6QyxXQUFXLEVBQUUsV0FBWTtTQUMxQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksWUFBWSxDQUFDLFNBQTBCO1FBQzVDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFBRSxPQUFPO1NBQUU7UUFFM0IsV0FBVyxDQUFDLGVBQWUsQ0FBQztZQUMxQixNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsTUFBTTtZQUM3RSxTQUFTLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTO1NBQ3JDLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFFZCxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksaUJBQUcsQ0FBQyxlQUFlLENBQUM7WUFDNUMsT0FBTyxFQUFFLENBQUMsa0JBQWtCLENBQUM7WUFDN0IsU0FBUyxFQUFFLENBQUMsZUFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUM7b0JBQ25DLDRGQUE0RjtvQkFDNUYsT0FBTyxFQUFFLEtBQUs7b0JBQ2QsUUFBUSxFQUFFLFlBQVksSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUU7aUJBQ3JELENBQUMsQ0FBQztTQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQztDQUNGO0FBN0VELHdEQTZFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbnN0cnVjdCwgQ2ZuT3V0cHV0LCBJQ29uc3RydWN0LCBSZW1vdmFsUG9saWN5LCBTdGFjayxcbiAgYXdzX2lhbSBhcyBpYW0sXG4gIGF3c19rbXMgYXMga21zLFxuICBhd3Nfc2VjcmV0c21hbmFnZXIgYXMgc2VjcmV0c01hbmFnZXIsXG4gIGF3c19zc20gYXMgc3NtLFxufSBmcm9tICdtb25vY2RrJztcbmltcG9ydCB7IElDcmVkZW50aWFsUGFpciB9IGZyb20gJy4uL2NyZWRlbnRpYWwtcGFpcic7XG5pbXBvcnQgKiBhcyBwZXJtaXNzaW9ucyBmcm9tICcuLi9wZXJtaXNzaW9ucyc7XG5pbXBvcnQgeyBEaXN0aW5ndWlzaGVkTmFtZSB9IGZyb20gJy4vY2VydGlmaWNhdGUtc2lnbmluZy1yZXF1ZXN0JztcbmltcG9ydCB7IFJzYVByaXZhdGVLZXlTZWNyZXQgfSBmcm9tICcuL3ByaXZhdGUta2V5JztcblxuXG5leHBvcnQgeyBEaXN0aW5ndWlzaGVkTmFtZSB9IGZyb20gJy4vY2VydGlmaWNhdGUtc2lnbmluZy1yZXF1ZXN0JztcblxuaW50ZXJmYWNlIENvZGVTaWduaW5nQ2VydGlmaWNhdGVQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIGJpdHMgdG8gY29tcG9zZSB0aGUgbW9kdWx1cyBvZiB0aGUgZ2VuZXJhdGVkIHByaXZhdGUga2V5IGZvciB0aGlzIGNlcnRpZmljYXRlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAyMDQ4XG4gICAqL1xuICByc2FLZXlTaXplPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgS01TIENNSyB0byB1c2UgZm9yIGVuY3J5cHRpbmcgdGhlIFByaXZhdGUgS2V5IHNlY3JldC5cbiAgICogQGRlZmF1bHQgQSBuZXcgS01TIGtleSB3aWxsIGJlIGFsbG9jYXRlZCBmb3IgeW91XG4gICAqL1xuICBzZWNyZXRFbmNyeXB0aW9uS2V5Pzoga21zLklLZXk7XG5cbiAgLyoqXG4gICAqIFRoZSBQRU0tZW5jb2RlZCBjZXJ0aWZpY2F0ZSB0aGF0IHdhcyBzaWduZWQgYnkgdGhlIHJlbGV2YW50IGF1dGhvcml0eS5cbiAgICpcbiAgICogQGRlZmF1bHQgSWYgYSBjZXJ0aWZpY2F0ZSBpcyBub3QgcHJvdmlkZWQsIGEgc2VsZi1zaWduZWQgY2VydGlmaWNhdGUgd2lsbFxuICAgKiBiZSBnZW5lcmF0ZWQgYW5kIGEgQ1NSIChjZXJ0aWZpY2F0ZSBzaWduaW5nIHJlcXVlc3QpIHdpbGwgYnkgYXZhaWxhYmxlIGluXG4gICAqIHRoZSBzdGFjayBvdXRwdXQuXG4gICAqL1xuICBwZW1DZXJ0aWZpY2F0ZT86IHN0cmluZztcblxuICAvKipcbiAgICogV2hldGhlciBhIENTUiBzaG91bGQgYmUgZ2VuZXJhdGVkLCBldmVuIGlmIHRoZSBjZXJ0aWZpY2F0ZSBpcyBwcm92aWRlZC5cbiAgICogVGhpcyBjYW4gYmUgdXNlZnVsIGlmIG9uZSB3YW50cyB0byByZW5ldyBhIGNlcnRpZmljYXRlIHRoYXQgaXMgY2xvc2UgdG9cbiAgICogZXhwaXJ5IHdpdGhvdXQgZ2VuZXJhdGluZyBhIG5ldyBwcml2YXRlIGtleSAoZm9yIGV4YW1wbGUsIHRvIGF2b2lkIGJyZWFraW5nXG4gICAqIGNsaWVudHMgdGhhdCBtYWtlIHVzZSBvZiBjZXJ0aWZpY2F0ZSBwaW5uaW5nKS5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIGZvcmNlQ2VydGlmaWNhdGVTaWduaW5nUmVxdWVzdD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZW4gZW5hYmxlZCwgdGhlIFByaXZhdGUgS2V5IHNlY3JldCB3aWxsIGhhdmUgYSBEZWxldGlvblBvbGljeSBvZlxuICAgKiBcIlJFVEFJTlwiLCBtYWtpbmcgc3VyZSB0aGUgUHJpdmF0ZSBLZXkgaXMgbm90IGluYWR2ZXJ0ZW50bHkgZGVzdHJveWVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZXRhaW5Qcml2YXRlS2V5PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIERpc3Rpbmd1aXNoZWQgTmFtZSBmb3IgdGhpcyBDU1IuXG4gICAqL1xuICBkaXN0aW5ndWlzaGVkTmFtZTogRGlzdGluZ3Vpc2hlZE5hbWU7XG5cbiAgLyoqXG4gICAqIEJhc2UgbmFtZXMgZm9yIHRoZSBwcml2YXRlIGtleSBhbmQgb3V0cHV0IFNTTSBwYXJhbWV0ZXJcbiAgICpcbiAgICogQGRlZmF1bHQgLSBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZFxuICAgKi9cbiAgcmVhZG9ubHkgYmFzZU5hbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNvZGVTaWduaW5nQ2VydGlmaWNhdGUgZXh0ZW5kcyBJQ29uc3RydWN0LCBJQ3JlZGVudGlhbFBhaXIge1xuICAvKipcbiAgICogR3JhbnQgdGhlIElBTSBwcmluY2lwYWwgcGVybWlzc2lvbnMgdG8gcmVhZCB0aGUgcHJpdmF0ZSBrZXkgYW5kXG4gICAqIGNlcnRpZmljYXRlLlxuICAgKi9cbiAgZ3JhbnREZWNyeXB0KHByaW5jaXBhbD86IGlhbS5JUHJpbmNpcGFsKTogdm9pZDtcbn1cblxuLyoqXG4gKiBBIENvZGUtU2lnbmluZyBjZXJ0aWZpY2F0ZSwgdGhhdCB3aWxsIHVzZSBhIHByaXZhdGUga2V5IHRoYXQgaXMgZ2VuZXJhdGVkIGJ5IGEgTGFtYmRhIGZ1bmN0aW9uLiBUaGUgQ2VydGlmaWNhdGUgd2lsbFxuICogbm90IGJlIHVzYWJsZSB1bnRpbCB0aGUgYGBwZW1DZXJ0aWZpY2F0ZWBgIHZhbHVlIGhhcyBiZWVuIHByb3ZpZGVkLiBBIHR5cGljYWwgd29ya2Zsb3cgdG8gdXNlIHRoaXMgQ29uc3RydWN0IHdvdWxkIGJlOlxuICpcbiAqIDEuIEFkZCBhbiBpbnN0YW5jZSBvZiB0aGUgY29uc3RydWN0IHRvIHlvdXIgYXBwLCB3aXRob3V0IHByb3ZpZGluZyB0aGUgYGBwZW1DZXJ0aWZpY2F0ZWBgIHByb3BlcnR5XG4gKiAyLiBEZXBsb3kgdGhlIHN0YWNrIHRvIHByb3Zpc2lvbiBhIFByaXZhdGUgS2V5IGFuZCBvYnRhaW4gdGhlIENTUiAoeW91IGNhbiBzdXJmYWNlIGl0IHVzaW5nIGEgT3V0cHV0LCBmb3IgZXhhbXBsZSlcbiAqIDMuIFN1Ym1pdCB0aGUgQ1NSIHRvIHlvdXIgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IG9mIGNob2ljZS5cbiAqIDQuIFBvcHVsYXRlIHRoZSBgYHBlbUNlcnRpZmljYXRlYGAgcHJvcGVydHkgd2l0aCB0aGUgUEVNLWVuY29kZWQgY2VydGlmaWNhdGUgcHJvdmlkZWQgYnkgeW91ciBDQSBvZiBjb2ljZS5cbiAqIDUuIFJlLWRlcGxveSB0aGUgc3RhY2sgc28gbWFrZSB0aGUgY2VydGlmaWNhdGUgdXNhYmxlXG4gKlxuICogSW4gb3JkZXIgdG8gcmVuZXcgdGhlIGNlcnRpZmljYXRlLCBpZiB5b3UgZG8gbm90IHdpc2ggdG8gcmV0YWluIHRoZSBzYW1lIHByaXZhdGUga2V5ICh5b3VyIGNsaWVudHMgZG8gbm90IHJlbHkgb25cbiAqIHB1YmxpYyBrZXkgcGlubmluZyksIHNpbXBseSBhZGQgYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIGNvbnN0cnVjdCB0byB5b3VyIGFwcCBhbmQgZm9sbG93IHRoZSBwcm9jZXNzIGxpc3RlZCBhYm92ZS4gSWZcbiAqIHlvdSB3aXNoIHRvIHJldGFpbiB0aGUgcHJpdmF0ZSBrZXksIHlvdSBjYW4gc2V0IGBgZm9yY2VDZXJ0aWZpY2F0ZVNpZ25pbmdSZXF1ZXN0YGAgdG8gYGB0cnVlYGAgaW4gb3JkZXIgdG8gb2J0YWluIGFcbiAqIG5ldyBDU1IgZG9jdW1lbnQuXG4gKi9cbmV4cG9ydCBjbGFzcyBDb2RlU2lnbmluZ0NlcnRpZmljYXRlIGV4dGVuZHMgQ29uc3RydWN0IGltcGxlbWVudHMgSUNvZGVTaWduaW5nQ2VydGlmaWNhdGUge1xuICAvKipcbiAgICogVGhlIEFXUyBTZWNyZXRzIE1hbmFnZXIgc2VjcmV0IHRoYXQgaG9sZHMgdGhlIHByaXZhdGUga2V5IGZvciB0aGlzIENTQ1xuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGNyZWRlbnRpYWw6IHNlY3JldHNNYW5hZ2VyLklTZWNyZXQ7XG5cbiAgLyoqXG4gICAqIFRoZSBBV1MgU1NNIFBhcmFtZXRlciB0aGF0IGhvbGRzIHRoZSBjZXJ0aWZpY2F0ZSBmb3IgdGhpcyBDU0MuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcHJpbmNpcGFsOiBzc20uSVN0cmluZ1BhcmFtZXRlcjtcblxuICBjb25zdHJ1Y3RvcihwYXJlbnQ6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IENvZGVTaWduaW5nQ2VydGlmaWNhdGVQcm9wcykge1xuICAgIHN1cGVyKHBhcmVudCwgaWQpO1xuXG4gICAgLy8gVGhlIGNvbnN0cnVjdCBwYXRoIG9mIHRoaXMgY29uc3RydWN0IHdpdGggcmVzcGVjdCB0byB0aGUgY29udGFpbmluZyBzdGFjaywgd2l0aG91dCBhbnkgbGVhZGluZyAvXG4gICAgY29uc3Qgc3RhY2sgPSBTdGFjay5vZih0aGlzKTtcbiAgICBjb25zdCBiYXNlTmFtZSA9IHByb3BzLmJhc2VOYW1lID8/IGAke3N0YWNrLnN0YWNrTmFtZX0ke3RoaXMubm9kZS5wYXRoLnN1YnN0cihzdGFjay5ub2RlLnBhdGgubGVuZ3RoKX1gO1xuXG4gICAgY29uc3QgcHJpdmF0ZUtleSA9IG5ldyBSc2FQcml2YXRlS2V5U2VjcmV0KHRoaXMsICdSU0FQcml2YXRlS2V5Jywge1xuICAgICAgcmVtb3ZhbFBvbGljeTogcHJvcHMucmV0YWluUHJpdmF0ZUtleSA9PT0gZmFsc2UgPyBSZW1vdmFsUG9saWN5LkRFU1RST1kgOiBSZW1vdmFsUG9saWN5LlJFVEFJTixcbiAgICAgIGRlc2NyaXB0aW9uOiAnVGhlIFBFTS1lbmNvZGVkIHByaXZhdGUga2V5IG9mIHRoZSB4NTA5IENvZGUtU2lnbmluZyBDZXJ0aWZpY2F0ZScsXG4gICAgICBrZXlTaXplOiBwcm9wcy5yc2FLZXlTaXplIHx8IDIwNDgsXG4gICAgICBzZWNyZXRFbmNyeXB0aW9uS2V5OiBwcm9wcy5zZWNyZXRFbmNyeXB0aW9uS2V5LFxuICAgICAgc2VjcmV0TmFtZTogYCR7YmFzZU5hbWV9L1JTQVByaXZhdGVLZXlgLFxuICAgIH0pO1xuXG4gICAgdGhpcy5jcmVkZW50aWFsID0gc2VjcmV0c01hbmFnZXIuU2VjcmV0LmZyb21TZWNyZXRBdHRyaWJ1dGVzKHRoaXMsICdDcmVkZW50aWFsJywge1xuICAgICAgZW5jcnlwdGlvbktleTogcHJvcHMuc2VjcmV0RW5jcnlwdGlvbktleSxcbiAgICAgIHNlY3JldEFybjogcHJpdmF0ZUtleS5zZWNyZXRBcm4sXG4gICAgfSk7XG5cbiAgICBsZXQgY2VydGlmaWNhdGUgPSBwcm9wcy5wZW1DZXJ0aWZpY2F0ZTtcblxuICAgIGlmICghY2VydGlmaWNhdGUgfHwgcHJvcHMuZm9yY2VDZXJ0aWZpY2F0ZVNpZ25pbmdSZXF1ZXN0KSB7XG4gICAgICBjb25zdCBjc3IgPSBwcml2YXRlS2V5Lm5ld0NlcnRpZmljYXRlU2lnbmluZ1JlcXVlc3QoJ0NlcnRpZmljYXRlU2lnbmluZ1JlcXVlc3QnLFxuICAgICAgICBwcm9wcy5kaXN0aW5ndWlzaGVkTmFtZSxcbiAgICAgICAgJ2NyaXRpY2FsLGRpZ2l0YWxTaWduYXR1cmUnLFxuICAgICAgICAnY3JpdGljYWwsY29kZVNpZ25pbmcnKTtcblxuICAgICAgbmV3IENmbk91dHB1dCh0aGlzLCAnQ1NSJywge1xuICAgICAgICBkZXNjcmlwdGlvbjogJ0EgUEVNLWVuY29kZWQgQ2VydGlmaWNhdGUgU2lnbmluZyBSZXF1ZXN0IGZvciBhIENvZGUtU2lnbmluZyBDZXJ0aWZpY2F0ZScsXG4gICAgICAgIHZhbHVlOiBjc3IucGVtUmVxdWVzdCxcbiAgICAgIH0pO1xuXG4gICAgICBpZiAoIWNlcnRpZmljYXRlKSB7XG4gICAgICAgIGNlcnRpZmljYXRlID0gY3NyLnNlbGZTaWduZWRQZW1DZXJ0aWZpY2F0ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnByaW5jaXBhbCA9IG5ldyBzc20uU3RyaW5nUGFyYW1ldGVyKHRoaXMsICdSZXNvdXJjZScsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiBgQSBQRU0tZW5jb2RlZCBDb2RlLVNpZ25pbmcgQ2VydGlmaWNhdGUgKHByaXZhdGUga2V5IGluICR7cHJpdmF0ZUtleS5zZWNyZXRBcm59KWAsXG4gICAgICBwYXJhbWV0ZXJOYW1lOiBgLyR7YmFzZU5hbWV9L0NlcnRpZmljYXRlYCxcbiAgICAgIHN0cmluZ1ZhbHVlOiBjZXJ0aWZpY2F0ZSEsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnQgdGhlIElBTSBwcmluY2lwYWwgcGVybWlzc2lvbnMgdG8gcmVhZCB0aGUgcHJpdmF0ZSBrZXkgYW5kXG4gICAqIGNlcnRpZmljYXRlLlxuICAgKi9cbiAgcHVibGljIGdyYW50RGVjcnlwdChwcmluY2lwYWw/OiBpYW0uSVByaW5jaXBhbCkge1xuICAgIGlmICghcHJpbmNpcGFsKSB7IHJldHVybjsgfVxuXG4gICAgcGVybWlzc2lvbnMuZ3JhbnRTZWNyZXRSZWFkKHtcbiAgICAgIGtleUFybjogdGhpcy5jcmVkZW50aWFsLmVuY3J5cHRpb25LZXkgJiYgdGhpcy5jcmVkZW50aWFsLmVuY3J5cHRpb25LZXkua2V5QXJuLFxuICAgICAgc2VjcmV0QXJuOiB0aGlzLmNyZWRlbnRpYWwuc2VjcmV0QXJuLFxuICAgIH0sIHByaW5jaXBhbCk7XG5cbiAgICBwcmluY2lwYWwuYWRkVG9Qb2xpY3kobmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgYWN0aW9uczogWydzc206R2V0UGFyYW1ldGVyJ10sXG4gICAgICByZXNvdXJjZXM6IFtTdGFjay5vZih0aGlzKS5mb3JtYXRBcm4oe1xuICAgICAgICAvLyBUT0RPOiBUaGlzIGlzIGEgd29ya2Fyb3VuZCB1bnRpbCBodHRwczovL2dpdGh1Yi5jb20vYXdzbGFicy9hd3MtY2RrL3B1bGwvMTcyNiBpcyByZWxlYXNlZFxuICAgICAgICBzZXJ2aWNlOiAnc3NtJyxcbiAgICAgICAgcmVzb3VyY2U6IGBwYXJhbWV0ZXIke3RoaXMucHJpbmNpcGFsLnBhcmFtZXRlck5hbWV9YCxcbiAgICAgIH0pXSxcbiAgICB9KSk7XG4gIH1cbn1cbiJdfQ==
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1zaWduaW5nLWNlcnRpZmljYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY29kZS1zaWduaW5nLWNlcnRpZmljYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkNBTXFCO0FBQ3JCLDJDQUFtRDtBQUVuRCw0REFBOEM7QUFFOUMsK0NBQW9EO0FBbUVwRDs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE1BQWEsc0JBQXVCLFNBQVEsc0JBQVM7SUFXbkQsWUFBWSxNQUFpQixFQUFFLEVBQVUsRUFBRSxLQUFrQzs7UUFDM0UsS0FBSyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVsQixtR0FBbUc7UUFDbkcsTUFBTSxLQUFLLEdBQUcsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0IsTUFBTSxRQUFRLEdBQUcsTUFBQSxLQUFLLENBQUMsUUFBUSxtQ0FBSSxHQUFHLEtBQUssQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFFeEcsTUFBTSxVQUFVLEdBQUcsSUFBSSxpQ0FBbUIsQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFO1lBQ2hFLGFBQWEsRUFBRSxLQUFLLENBQUMsZ0JBQWdCLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQywyQkFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsMkJBQWEsQ0FBQyxNQUFNO1lBQzlGLFdBQVcsRUFBRSxrRUFBa0U7WUFDL0UsT0FBTyxFQUFFLEtBQUssQ0FBQyxVQUFVLElBQUksSUFBSTtZQUNqQyxtQkFBbUIsRUFBRSxLQUFLLENBQUMsbUJBQW1CO1lBQzlDLFVBQVUsRUFBRSxHQUFHLFFBQVEsZ0JBQWdCO1NBQ3hDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxVQUFVLEdBQUcsZ0NBQWMsQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRTtZQUMvRSxhQUFhLEVBQUUsS0FBSyxDQUFDLG1CQUFtQjtZQUN4QyxpQkFBaUIsRUFBRSxVQUFVLENBQUMsU0FBUztTQUN4QyxDQUFDLENBQUM7UUFFSCxJQUFJLFdBQVcsR0FBRyxLQUFLLENBQUMsY0FBYyxDQUFDO1FBRXZDLElBQUksQ0FBQyxXQUFXLElBQUksS0FBSyxDQUFDLDhCQUE4QixFQUFFO1lBQ3hELE1BQU0sR0FBRyxHQUFHLFVBQVUsQ0FBQyw0QkFBNEIsQ0FBQywyQkFBMkIsRUFDN0UsS0FBSyxDQUFDLGlCQUFpQixFQUN2QiwyQkFBMkIsRUFDM0Isc0JBQXNCLENBQUMsQ0FBQztZQUUxQixJQUFJLHVCQUFTLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRTtnQkFDekIsV0FBVyxFQUFFLDBFQUEwRTtnQkFDdkYsS0FBSyxFQUFFLEdBQUcsQ0FBQyxVQUFVO2FBQ3RCLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQ2hCLFdBQVcsR0FBRyxHQUFHLENBQUMsd0JBQXdCLENBQUM7YUFDNUM7U0FDRjtRQUVELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxxQkFBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ3pELFdBQVcsRUFBRSwwREFBMEQsVUFBVSxDQUFDLFNBQVMsR0FBRztZQUM5RixhQUFhLEVBQUUsSUFBSSxRQUFRLGNBQWM7WUFDekMsV0FBVyxFQUFFLFdBQVk7U0FDMUIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFlBQVksQ0FBQyxTQUEwQjtRQUM1QyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQUUsT0FBTztTQUFFO1FBRTNCLFdBQVcsQ0FBQyxlQUFlLENBQUM7WUFDMUIsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLE1BQU07WUFDN0UsU0FBUyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUztTQUNyQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBRWQsU0FBUyxDQUFDLG9CQUFvQixDQUFDLElBQUkscUJBQUcsQ0FBQyxlQUFlLENBQUM7WUFDckQsT0FBTyxFQUFFLENBQUMsa0JBQWtCLENBQUM7WUFDN0IsU0FBUyxFQUFFLENBQUMsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDO29CQUNuQyw0RkFBNEY7b0JBQzVGLE9BQU8sRUFBRSxLQUFLO29CQUNkLFFBQVEsRUFBRSxZQUFZLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxFQUFFO2lCQUNyRCxDQUFDLENBQUM7U0FDSixDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7Q0FDRjtBQTdFRCx3REE2RUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDZm5PdXRwdXQsIFJlbW92YWxQb2xpY3ksIFN0YWNrLFxuICBhd3NfaWFtIGFzIGlhbSxcbiAgYXdzX2ttcyBhcyBrbXMsXG4gIGF3c19zZWNyZXRzbWFuYWdlciBhcyBzZWNyZXRzTWFuYWdlcixcbiAgYXdzX3NzbSBhcyBzc20sXG59IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENvbnN0cnVjdCwgSUNvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgSUNyZWRlbnRpYWxQYWlyIH0gZnJvbSAnLi4vY3JlZGVudGlhbC1wYWlyJztcbmltcG9ydCAqIGFzIHBlcm1pc3Npb25zIGZyb20gJy4uL3Blcm1pc3Npb25zJztcbmltcG9ydCB7IERpc3Rpbmd1aXNoZWROYW1lIH0gZnJvbSAnLi9jZXJ0aWZpY2F0ZS1zaWduaW5nLXJlcXVlc3QnO1xuaW1wb3J0IHsgUnNhUHJpdmF0ZUtleVNlY3JldCB9IGZyb20gJy4vcHJpdmF0ZS1rZXknO1xuXG5cbmV4cG9ydCB7IERpc3Rpbmd1aXNoZWROYW1lIH0gZnJvbSAnLi9jZXJ0aWZpY2F0ZS1zaWduaW5nLXJlcXVlc3QnO1xuXG5pbnRlcmZhY2UgQ29kZVNpZ25pbmdDZXJ0aWZpY2F0ZVByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgYml0cyB0byBjb21wb3NlIHRoZSBtb2R1bHVzIG9mIHRoZSBnZW5lcmF0ZWQgcHJpdmF0ZSBrZXkgZm9yIHRoaXMgY2VydGlmaWNhdGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IDIwNDhcbiAgICovXG4gIHJzYUtleVNpemU/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBLTVMgQ01LIHRvIHVzZSBmb3IgZW5jcnlwdGluZyB0aGUgUHJpdmF0ZSBLZXkgc2VjcmV0LlxuICAgKiBAZGVmYXVsdCBBIG5ldyBLTVMga2V5IHdpbGwgYmUgYWxsb2NhdGVkIGZvciB5b3VcbiAgICovXG4gIHNlY3JldEVuY3J5cHRpb25LZXk/OiBrbXMuSUtleTtcblxuICAvKipcbiAgICogVGhlIFBFTS1lbmNvZGVkIGNlcnRpZmljYXRlIHRoYXQgd2FzIHNpZ25lZCBieSB0aGUgcmVsZXZhbnQgYXV0aG9yaXR5LlxuICAgKlxuICAgKiBAZGVmYXVsdCBJZiBhIGNlcnRpZmljYXRlIGlzIG5vdCBwcm92aWRlZCwgYSBzZWxmLXNpZ25lZCBjZXJ0aWZpY2F0ZSB3aWxsXG4gICAqIGJlIGdlbmVyYXRlZCBhbmQgYSBDU1IgKGNlcnRpZmljYXRlIHNpZ25pbmcgcmVxdWVzdCkgd2lsbCBieSBhdmFpbGFibGUgaW5cbiAgICogdGhlIHN0YWNrIG91dHB1dC5cbiAgICovXG4gIHBlbUNlcnRpZmljYXRlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGEgQ1NSIHNob3VsZCBiZSBnZW5lcmF0ZWQsIGV2ZW4gaWYgdGhlIGNlcnRpZmljYXRlIGlzIHByb3ZpZGVkLlxuICAgKiBUaGlzIGNhbiBiZSB1c2VmdWwgaWYgb25lIHdhbnRzIHRvIHJlbmV3IGEgY2VydGlmaWNhdGUgdGhhdCBpcyBjbG9zZSB0b1xuICAgKiBleHBpcnkgd2l0aG91dCBnZW5lcmF0aW5nIGEgbmV3IHByaXZhdGUga2V5IChmb3IgZXhhbXBsZSwgdG8gYXZvaWQgYnJlYWtpbmdcbiAgICogY2xpZW50cyB0aGF0IG1ha2UgdXNlIG9mIGNlcnRpZmljYXRlIHBpbm5pbmcpLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgZm9yY2VDZXJ0aWZpY2F0ZVNpZ25pbmdSZXF1ZXN0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hlbiBlbmFibGVkLCB0aGUgUHJpdmF0ZSBLZXkgc2VjcmV0IHdpbGwgaGF2ZSBhIERlbGV0aW9uUG9saWN5IG9mXG4gICAqIFwiUkVUQUlOXCIsIG1ha2luZyBzdXJlIHRoZSBQcml2YXRlIEtleSBpcyBub3QgaW5hZHZlcnRlbnRseSBkZXN0cm95ZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJldGFpblByaXZhdGVLZXk/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgRGlzdGluZ3Vpc2hlZCBOYW1lIGZvciB0aGlzIENTUi5cbiAgICovXG4gIGRpc3Rpbmd1aXNoZWROYW1lOiBEaXN0aW5ndWlzaGVkTmFtZTtcblxuICAvKipcbiAgICogQmFzZSBuYW1lcyBmb3IgdGhlIHByaXZhdGUga2V5IGFuZCBvdXRwdXQgU1NNIHBhcmFtZXRlclxuICAgKlxuICAgKiBAZGVmYXVsdCAtIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkXG4gICAqL1xuICByZWFkb25seSBiYXNlTmFtZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ29kZVNpZ25pbmdDZXJ0aWZpY2F0ZSBleHRlbmRzIElDb25zdHJ1Y3QsIElDcmVkZW50aWFsUGFpciB7XG4gIC8qKlxuICAgKiBHcmFudCB0aGUgSUFNIHByaW5jaXBhbCBwZXJtaXNzaW9ucyB0byByZWFkIHRoZSBwcml2YXRlIGtleSBhbmRcbiAgICogY2VydGlmaWNhdGUuXG4gICAqL1xuICBncmFudERlY3J5cHQocHJpbmNpcGFsPzogaWFtLklQcmluY2lwYWwpOiB2b2lkO1xufVxuXG4vKipcbiAqIEEgQ29kZS1TaWduaW5nIGNlcnRpZmljYXRlLCB0aGF0IHdpbGwgdXNlIGEgcHJpdmF0ZSBrZXkgdGhhdCBpcyBnZW5lcmF0ZWQgYnkgYSBMYW1iZGEgZnVuY3Rpb24uIFRoZSBDZXJ0aWZpY2F0ZSB3aWxsXG4gKiBub3QgYmUgdXNhYmxlIHVudGlsIHRoZSBgYHBlbUNlcnRpZmljYXRlYGAgdmFsdWUgaGFzIGJlZW4gcHJvdmlkZWQuIEEgdHlwaWNhbCB3b3JrZmxvdyB0byB1c2UgdGhpcyBDb25zdHJ1Y3Qgd291bGQgYmU6XG4gKlxuICogMS4gQWRkIGFuIGluc3RhbmNlIG9mIHRoZSBjb25zdHJ1Y3QgdG8geW91ciBhcHAsIHdpdGhvdXQgcHJvdmlkaW5nIHRoZSBgYHBlbUNlcnRpZmljYXRlYGAgcHJvcGVydHlcbiAqIDIuIERlcGxveSB0aGUgc3RhY2sgdG8gcHJvdmlzaW9uIGEgUHJpdmF0ZSBLZXkgYW5kIG9idGFpbiB0aGUgQ1NSICh5b3UgY2FuIHN1cmZhY2UgaXQgdXNpbmcgYSBPdXRwdXQsIGZvciBleGFtcGxlKVxuICogMy4gU3VibWl0IHRoZSBDU1IgdG8geW91ciBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgb2YgY2hvaWNlLlxuICogNC4gUG9wdWxhdGUgdGhlIGBgcGVtQ2VydGlmaWNhdGVgYCBwcm9wZXJ0eSB3aXRoIHRoZSBQRU0tZW5jb2RlZCBjZXJ0aWZpY2F0ZSBwcm92aWRlZCBieSB5b3VyIENBIG9mIGNvaWNlLlxuICogNS4gUmUtZGVwbG95IHRoZSBzdGFjayBzbyBtYWtlIHRoZSBjZXJ0aWZpY2F0ZSB1c2FibGVcbiAqXG4gKiBJbiBvcmRlciB0byByZW5ldyB0aGUgY2VydGlmaWNhdGUsIGlmIHlvdSBkbyBub3Qgd2lzaCB0byByZXRhaW4gdGhlIHNhbWUgcHJpdmF0ZSBrZXkgKHlvdXIgY2xpZW50cyBkbyBub3QgcmVseSBvblxuICogcHVibGljIGtleSBwaW5uaW5nKSwgc2ltcGx5IGFkZCBhIG5ldyBpbnN0YW5jZSBvZiB0aGUgY29uc3RydWN0IHRvIHlvdXIgYXBwIGFuZCBmb2xsb3cgdGhlIHByb2Nlc3MgbGlzdGVkIGFib3ZlLiBJZlxuICogeW91IHdpc2ggdG8gcmV0YWluIHRoZSBwcml2YXRlIGtleSwgeW91IGNhbiBzZXQgYGBmb3JjZUNlcnRpZmljYXRlU2lnbmluZ1JlcXVlc3RgYCB0byBgYHRydWVgYCBpbiBvcmRlciB0byBvYnRhaW4gYVxuICogbmV3IENTUiBkb2N1bWVudC5cbiAqL1xuZXhwb3J0IGNsYXNzIENvZGVTaWduaW5nQ2VydGlmaWNhdGUgZXh0ZW5kcyBDb25zdHJ1Y3QgaW1wbGVtZW50cyBJQ29kZVNpZ25pbmdDZXJ0aWZpY2F0ZSB7XG4gIC8qKlxuICAgKiBUaGUgQVdTIFNlY3JldHMgTWFuYWdlciBzZWNyZXQgdGhhdCBob2xkcyB0aGUgcHJpdmF0ZSBrZXkgZm9yIHRoaXMgQ1NDXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgY3JlZGVudGlhbDogc2VjcmV0c01hbmFnZXIuSVNlY3JldDtcblxuICAvKipcbiAgICogVGhlIEFXUyBTU00gUGFyYW1ldGVyIHRoYXQgaG9sZHMgdGhlIGNlcnRpZmljYXRlIGZvciB0aGlzIENTQy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBwcmluY2lwYWw6IHNzbS5JU3RyaW5nUGFyYW1ldGVyO1xuXG4gIGNvbnN0cnVjdG9yKHBhcmVudDogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQ29kZVNpZ25pbmdDZXJ0aWZpY2F0ZVByb3BzKSB7XG4gICAgc3VwZXIocGFyZW50LCBpZCk7XG5cbiAgICAvLyBUaGUgY29uc3RydWN0IHBhdGggb2YgdGhpcyBjb25zdHJ1Y3Qgd2l0aCByZXNwZWN0IHRvIHRoZSBjb250YWluaW5nIHN0YWNrLCB3aXRob3V0IGFueSBsZWFkaW5nIC9cbiAgICBjb25zdCBzdGFjayA9IFN0YWNrLm9mKHRoaXMpO1xuICAgIGNvbnN0IGJhc2VOYW1lID0gcHJvcHMuYmFzZU5hbWUgPz8gYCR7c3RhY2suc3RhY2tOYW1lfSR7dGhpcy5ub2RlLnBhdGguc3Vic3RyKHN0YWNrLm5vZGUucGF0aC5sZW5ndGgpfWA7XG5cbiAgICBjb25zdCBwcml2YXRlS2V5ID0gbmV3IFJzYVByaXZhdGVLZXlTZWNyZXQodGhpcywgJ1JTQVByaXZhdGVLZXknLCB7XG4gICAgICByZW1vdmFsUG9saWN5OiBwcm9wcy5yZXRhaW5Qcml2YXRlS2V5ID09PSBmYWxzZSA/IFJlbW92YWxQb2xpY3kuREVTVFJPWSA6IFJlbW92YWxQb2xpY3kuUkVUQUlOLFxuICAgICAgZGVzY3JpcHRpb246ICdUaGUgUEVNLWVuY29kZWQgcHJpdmF0ZSBrZXkgb2YgdGhlIHg1MDkgQ29kZS1TaWduaW5nIENlcnRpZmljYXRlJyxcbiAgICAgIGtleVNpemU6IHByb3BzLnJzYUtleVNpemUgfHwgMjA0OCxcbiAgICAgIHNlY3JldEVuY3J5cHRpb25LZXk6IHByb3BzLnNlY3JldEVuY3J5cHRpb25LZXksXG4gICAgICBzZWNyZXROYW1lOiBgJHtiYXNlTmFtZX0vUlNBUHJpdmF0ZUtleWAsXG4gICAgfSk7XG5cbiAgICB0aGlzLmNyZWRlbnRpYWwgPSBzZWNyZXRzTWFuYWdlci5TZWNyZXQuZnJvbVNlY3JldEF0dHJpYnV0ZXModGhpcywgJ0NyZWRlbnRpYWwnLCB7XG4gICAgICBlbmNyeXB0aW9uS2V5OiBwcm9wcy5zZWNyZXRFbmNyeXB0aW9uS2V5LFxuICAgICAgc2VjcmV0Q29tcGxldGVBcm46IHByaXZhdGVLZXkuc2VjcmV0QXJuLFxuICAgIH0pO1xuXG4gICAgbGV0IGNlcnRpZmljYXRlID0gcHJvcHMucGVtQ2VydGlmaWNhdGU7XG5cbiAgICBpZiAoIWNlcnRpZmljYXRlIHx8IHByb3BzLmZvcmNlQ2VydGlmaWNhdGVTaWduaW5nUmVxdWVzdCkge1xuICAgICAgY29uc3QgY3NyID0gcHJpdmF0ZUtleS5uZXdDZXJ0aWZpY2F0ZVNpZ25pbmdSZXF1ZXN0KCdDZXJ0aWZpY2F0ZVNpZ25pbmdSZXF1ZXN0JyxcbiAgICAgICAgcHJvcHMuZGlzdGluZ3Vpc2hlZE5hbWUsXG4gICAgICAgICdjcml0aWNhbCxkaWdpdGFsU2lnbmF0dXJlJyxcbiAgICAgICAgJ2NyaXRpY2FsLGNvZGVTaWduaW5nJyk7XG5cbiAgICAgIG5ldyBDZm5PdXRwdXQodGhpcywgJ0NTUicsIHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdBIFBFTS1lbmNvZGVkIENlcnRpZmljYXRlIFNpZ25pbmcgUmVxdWVzdCBmb3IgYSBDb2RlLVNpZ25pbmcgQ2VydGlmaWNhdGUnLFxuICAgICAgICB2YWx1ZTogY3NyLnBlbVJlcXVlc3QsXG4gICAgICB9KTtcblxuICAgICAgaWYgKCFjZXJ0aWZpY2F0ZSkge1xuICAgICAgICBjZXJ0aWZpY2F0ZSA9IGNzci5zZWxmU2lnbmVkUGVtQ2VydGlmaWNhdGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5wcmluY2lwYWwgPSBuZXcgc3NtLlN0cmluZ1BhcmFtZXRlcih0aGlzLCAnUmVzb3VyY2UnLCB7XG4gICAgICBkZXNjcmlwdGlvbjogYEEgUEVNLWVuY29kZWQgQ29kZS1TaWduaW5nIENlcnRpZmljYXRlIChwcml2YXRlIGtleSBpbiAke3ByaXZhdGVLZXkuc2VjcmV0QXJufSlgLFxuICAgICAgcGFyYW1ldGVyTmFtZTogYC8ke2Jhc2VOYW1lfS9DZXJ0aWZpY2F0ZWAsXG4gICAgICBzdHJpbmdWYWx1ZTogY2VydGlmaWNhdGUhLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50IHRoZSBJQU0gcHJpbmNpcGFsIHBlcm1pc3Npb25zIHRvIHJlYWQgdGhlIHByaXZhdGUga2V5IGFuZFxuICAgKiBjZXJ0aWZpY2F0ZS5cbiAgICovXG4gIHB1YmxpYyBncmFudERlY3J5cHQocHJpbmNpcGFsPzogaWFtLklQcmluY2lwYWwpIHtcbiAgICBpZiAoIXByaW5jaXBhbCkgeyByZXR1cm47IH1cblxuICAgIHBlcm1pc3Npb25zLmdyYW50U2VjcmV0UmVhZCh7XG4gICAgICBrZXlBcm46IHRoaXMuY3JlZGVudGlhbC5lbmNyeXB0aW9uS2V5ICYmIHRoaXMuY3JlZGVudGlhbC5lbmNyeXB0aW9uS2V5LmtleUFybixcbiAgICAgIHNlY3JldEFybjogdGhpcy5jcmVkZW50aWFsLnNlY3JldEFybixcbiAgICB9LCBwcmluY2lwYWwpO1xuXG4gICAgcHJpbmNpcGFsLmFkZFRvUHJpbmNpcGFsUG9saWN5KG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgIGFjdGlvbnM6IFsnc3NtOkdldFBhcmFtZXRlciddLFxuICAgICAgcmVzb3VyY2VzOiBbU3RhY2sub2YodGhpcykuZm9ybWF0QXJuKHtcbiAgICAgICAgLy8gVE9ETzogVGhpcyBpcyBhIHdvcmthcm91bmQgdW50aWwgaHR0cHM6Ly9naXRodWIuY29tL2F3c2xhYnMvYXdzLWNkay9wdWxsLzE3MjYgaXMgcmVsZWFzZWRcbiAgICAgICAgc2VydmljZTogJ3NzbScsXG4gICAgICAgIHJlc291cmNlOiBgcGFyYW1ldGVyJHt0aGlzLnByaW5jaXBhbC5wYXJhbWV0ZXJOYW1lfWAsXG4gICAgICB9KV0sXG4gICAgfSkpO1xuICB9XG59XG4iXX0=
@@ -1,10 +1,11 @@
1
1
  import {
2
- Construct, CfnOutput, IConstruct, RemovalPolicy, Stack,
2
+ CfnOutput, RemovalPolicy, Stack,
3
3
  aws_iam as iam,
4
4
  aws_kms as kms,
5
5
  aws_secretsmanager as secretsManager,
6
6
  aws_ssm as ssm,
7
- } from 'monocdk';
7
+ } from 'aws-cdk-lib';
8
+ import { Construct, IConstruct } from 'constructs';
8
9
  import { ICredentialPair } from '../credential-pair';
9
10
  import * as permissions from '../permissions';
10
11
  import { DistinguishedName } from './certificate-signing-request';
@@ -118,7 +119,7 @@ export class CodeSigningCertificate extends Construct implements ICodeSigningCer
118
119
 
119
120
  this.credential = secretsManager.Secret.fromSecretAttributes(this, 'Credential', {
120
121
  encryptionKey: props.secretEncryptionKey,
121
- secretArn: privateKey.secretArn,
122
+ secretCompleteArn: privateKey.secretArn,
122
123
  });
123
124
 
124
125
  let certificate = props.pemCertificate;
@@ -158,7 +159,7 @@ export class CodeSigningCertificate extends Construct implements ICodeSigningCer
158
159
  secretArn: this.credential.secretArn,
159
160
  }, principal);
160
161
 
161
- principal.addToPolicy(new iam.PolicyStatement({
162
+ principal.addToPrincipalPolicy(new iam.PolicyStatement({
162
163
  actions: ['ssm:GetParameter'],
163
164
  resources: [Stack.of(this).formatArn({
164
165
  // TODO: This is a workaround until https://github.com/awslabs/aws-cdk/pull/1726 is released
@@ -1,4 +1,5 @@
1
- import { Construct, RemovalPolicy, aws_iam as iam, aws_kms as kms } from 'monocdk';
1
+ import { RemovalPolicy, aws_iam as iam, aws_kms as kms } from 'aws-cdk-lib';
2
+ import { Construct } from 'constructs';
2
3
  import { CertificateSigningRequest, DistinguishedName } from './certificate-signing-request';
3
4
  export interface RsaPrivateKeySecretProps {
4
5
  /**
@@ -25,7 +25,8 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.RsaPrivateKeySecret = void 0;
27
27
  const path = __importStar(require("path"));
28
- const monocdk_1 = require("monocdk");
28
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
29
+ const constructs_1 = require("constructs");
29
30
  const util_1 = require("../util");
30
31
  const certificate_signing_request_1 = require("./certificate-signing-request");
31
32
  /**
@@ -33,31 +34,31 @@ const certificate_signing_request_1 = require("./certificate-signing-request");
33
34
  * Authority through the use of the ``CertificateSigningRequest`` construct (or via the
34
35
  * ``#newCertificateSigningRequest``) method.
35
36
  */
36
- class RsaPrivateKeySecret extends monocdk_1.Construct {
37
+ class RsaPrivateKeySecret extends constructs_1.Construct {
37
38
  constructor(parent, id, props) {
38
39
  super(parent, id);
39
40
  const codeLocation = path.resolve(__dirname, '..', 'custom-resource-handlers', 'bin', 'private-key');
40
- const customResource = new monocdk_1.aws_lambda.SingletonFunction(this, 'ResourceHandler', {
41
+ const customResource = new aws_cdk_lib_1.aws_lambda.SingletonFunction(this, 'ResourceHandler', {
41
42
  lambdaPurpose: 'RSAPrivate-Key',
42
43
  uuid: '72FD327D-3813-4632-9340-28EC437AA486',
43
44
  description: 'Generates an RSA Private Key and stores it in AWS Secrets Manager',
44
- runtime: monocdk_1.aws_lambda.Runtime.NODEJS_12_X,
45
+ runtime: aws_cdk_lib_1.aws_lambda.Runtime.NODEJS_12_X,
45
46
  handler: 'index.handler',
46
- code: new monocdk_1.aws_lambda.AssetCode(codeLocation),
47
- timeout: monocdk_1.Duration.seconds(300),
47
+ code: new aws_cdk_lib_1.aws_lambda.AssetCode(codeLocation),
48
+ timeout: aws_cdk_lib_1.Duration.seconds(300),
48
49
  // add the layer that contains the OpenSSL CLI binary
49
- layers: [new monocdk_1.aws_lambda.LayerVersion(this, 'OpenSslCliLayer', {
50
- code: monocdk_1.aws_lambda.Code.fromAsset(path.join(__dirname, '..', 'custom-resource-handlers', 'layers', 'openssl-cli-layer.zip')),
50
+ layers: [new aws_cdk_lib_1.aws_lambda.LayerVersion(this, 'OpenSslCliLayer', {
51
+ code: aws_cdk_lib_1.aws_lambda.Code.fromAsset(path.join(__dirname, '..', 'custom-resource-handlers', 'layers', 'openssl-cli-layer.zip')),
51
52
  })],
52
53
  });
53
- this.secretArnLike = monocdk_1.Stack.of(this).formatArn({
54
+ this.secretArnLike = aws_cdk_lib_1.Stack.of(this).formatArn({
54
55
  service: 'secretsmanager',
55
56
  resource: 'secret',
56
- sep: ':',
57
+ arnFormat: aws_cdk_lib_1.ArnFormat.COLON_RESOURCE_NAME,
57
58
  // The ARN of a secret has "-" followed by 6 random characters appended at the end
58
59
  resourceName: `${props.secretName}-??????`,
59
60
  });
60
- customResource.addToRolePolicy(new monocdk_1.aws_iam.PolicyStatement({
61
+ customResource.addToRolePolicy(new aws_cdk_lib_1.aws_iam.PolicyStatement({
61
62
  actions: [
62
63
  'secretsmanager:CreateSecret',
63
64
  'secretsmanager:DeleteSecret',
@@ -66,14 +67,14 @@ class RsaPrivateKeySecret extends monocdk_1.Construct {
66
67
  resources: [this.secretArnLike],
67
68
  }));
68
69
  if (props.secretEncryptionKey) {
69
- props.secretEncryptionKey.addToResourcePolicy(new monocdk_1.aws_iam.PolicyStatement({
70
+ props.secretEncryptionKey.addToResourcePolicy(new aws_cdk_lib_1.aws_iam.PolicyStatement({
70
71
  // description: `Allow use via AWS Secrets Manager by CustomResource handler ${customResource.functionName}`,
71
- principals: [new monocdk_1.aws_iam.ArnPrincipal(customResource.role.roleArn)],
72
+ principals: [new aws_cdk_lib_1.aws_iam.ArnPrincipal(customResource.role.roleArn)],
72
73
  actions: ['kms:Decrypt', 'kms:GenerateDataKey'],
73
74
  resources: ['*'],
74
75
  conditions: {
75
76
  StringEquals: {
76
- 'kms:ViaService': `secretsmanager.${monocdk_1.Stack.of(this).region}.amazonaws.com`,
77
+ 'kms:ViaService': `secretsmanager.${aws_cdk_lib_1.Stack.of(this).region}.amazonaws.com`,
77
78
  },
78
79
  ArnLike: {
79
80
  'kms:EncryptionContext:SecretARN': this.secretArnLike,
@@ -81,9 +82,10 @@ class RsaPrivateKeySecret extends monocdk_1.Construct {
81
82
  },
82
83
  }));
83
84
  }
84
- const privateKey = new monocdk_1.aws_cloudformation.CustomResource(this, 'Resource', {
85
- provider: monocdk_1.aws_cloudformation.CustomResourceProvider.lambda(customResource),
85
+ const privateKey = new aws_cdk_lib_1.CustomResource(this, 'Resource', {
86
+ serviceToken: customResource.functionArn,
86
87
  resourceType: 'Custom::RsaPrivateKeySecret',
88
+ pascalCaseProperties: true,
87
89
  properties: {
88
90
  resourceVersion: (0, util_1.hashFileOrDirectory)(codeLocation),
89
91
  description: props.description,
@@ -91,23 +93,23 @@ class RsaPrivateKeySecret extends monocdk_1.Construct {
91
93
  secretName: props.secretName,
92
94
  kmsKeyId: props.secretEncryptionKey && props.secretEncryptionKey.keyArn,
93
95
  },
94
- removalPolicy: props.removalPolicy || monocdk_1.RemovalPolicy.RETAIN,
96
+ removalPolicy: props.removalPolicy || aws_cdk_lib_1.RemovalPolicy.RETAIN,
95
97
  });
96
98
  if (customResource.role) {
97
99
  privateKey.node.addDependency(customResource.role);
98
100
  if (props.secretEncryptionKey) {
99
101
  // Modeling as a separate Policy to evade a dependency cycle (Role -> Key -> Role), as the Key refers to the
100
102
  // role in it's resource policy.
101
- privateKey.node.addDependency(new monocdk_1.aws_iam.Policy(this, 'GrantLambdaRoleKeyAccess', {
103
+ privateKey.node.addDependency(new aws_cdk_lib_1.aws_iam.Policy(this, 'GrantLambdaRoleKeyAccess', {
102
104
  roles: [customResource.role],
103
105
  statements: [
104
- new monocdk_1.aws_iam.PolicyStatement({
106
+ new aws_cdk_lib_1.aws_iam.PolicyStatement({
105
107
  // description: `AWSSecretsManager${props.secretName.replace(/[^0-9A-Za-z]/g, '')}CMK`,
106
108
  actions: ['kms:Decrypt', 'kms:GenerateDataKey'],
107
109
  resources: [props.secretEncryptionKey.keyArn],
108
110
  conditions: {
109
111
  StringEquals: {
110
- 'kms:ViaService': `secretsmanager.${monocdk_1.Stack.of(this).region}.amazonaws.com`,
112
+ 'kms:ViaService': `secretsmanager.${aws_cdk_lib_1.Stack.of(this).region}.amazonaws.com`,
111
113
  },
112
114
  StringLike: { 'kms:EncryptionContext:SecretARN': [this.secretArnLike, 'RequestToValidateKeyAccess'] },
113
115
  },
@@ -143,31 +145,31 @@ class RsaPrivateKeySecret extends monocdk_1.Construct {
143
145
  * @param grantee the principal to which permissions should be granted.
144
146
  */
145
147
  grantGetSecretValue(grantee) {
146
- grantee.addToPolicy(new monocdk_1.aws_iam.PolicyStatement({
148
+ grantee.addToPrincipalPolicy(new aws_cdk_lib_1.aws_iam.PolicyStatement({
147
149
  actions: ['secretsmanager:GetSecretValue'],
148
150
  resources: [this.secretArn],
149
151
  }));
150
152
  if (this.masterKey) {
151
153
  // Add a key grant since we're using a CMK
152
- this.masterKey.addToResourcePolicy(new monocdk_1.aws_iam.PolicyStatement({
154
+ this.masterKey.addToResourcePolicy(new aws_cdk_lib_1.aws_iam.PolicyStatement({
153
155
  actions: ['kms:Decrypt'],
154
156
  resources: ['*'],
155
157
  principals: [grantee.grantPrincipal],
156
158
  conditions: {
157
159
  StringEquals: {
158
- 'kms:ViaService': `secretsmanager.${monocdk_1.Stack.of(this).region}.amazonaws.com`,
160
+ 'kms:ViaService': `secretsmanager.${aws_cdk_lib_1.Stack.of(this).region}.amazonaws.com`,
159
161
  },
160
162
  ArnLike: {
161
163
  'kms:EncryptionContext:SecretARN': this.secretArnLike,
162
164
  },
163
165
  },
164
166
  }));
165
- grantee.addToPolicy(new monocdk_1.aws_iam.PolicyStatement({
167
+ grantee.addToPrincipalPolicy(new aws_cdk_lib_1.aws_iam.PolicyStatement({
166
168
  actions: ['kms:Decrypt'],
167
169
  resources: [this.masterKey.keyArn],
168
170
  conditions: {
169
171
  StringEquals: {
170
- 'kms:ViaService': `secretsmanager.${monocdk_1.Stack.of(this).region}.amazonaws.com`,
172
+ 'kms:ViaService': `secretsmanager.${aws_cdk_lib_1.Stack.of(this).region}.amazonaws.com`,
171
173
  },
172
174
  ArnEquals: {
173
175
  'kms:EncryptionContext:SecretARN': this.secretArn,
@@ -178,4 +180,4 @@ class RsaPrivateKeySecret extends monocdk_1.Construct {
178
180
  }
179
181
  }
180
182
  exports.RsaPrivateKeySecret = RsaPrivateKeySecret;
181
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZS1rZXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJwcml2YXRlLWtleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJDQUE2QjtBQUM3QixxQ0FNaUI7QUFDakIsa0NBQThDO0FBQzlDLCtFQUE2RjtBQXFDN0Y7Ozs7R0FJRztBQUNILE1BQWEsbUJBQW9CLFNBQVEsbUJBQVM7SUFTaEQsWUFBWSxNQUFpQixFQUFFLEVBQVUsRUFBRSxLQUErQjtRQUN4RSxLQUFLLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWxCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSwwQkFBMEIsRUFBRSxLQUFLLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDckcsTUFBTSxjQUFjLEdBQUcsSUFBSSxvQkFBTSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxpQkFBaUIsRUFBRTtZQUMzRSxhQUFhLEVBQUUsZ0JBQWdCO1lBQy9CLElBQUksRUFBRSxzQ0FBc0M7WUFDNUMsV0FBVyxFQUFFLG1FQUFtRTtZQUNoRixPQUFPLEVBQUUsb0JBQU0sQ0FBQyxPQUFPLENBQUMsV0FBVztZQUNuQyxPQUFPLEVBQUUsZUFBZTtZQUN4QixJQUFJLEVBQUUsSUFBSSxvQkFBTSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUM7WUFDeEMsT0FBTyxFQUFFLGtCQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztZQUM5QixxREFBcUQ7WUFDckQsTUFBTSxFQUFFLENBQUMsSUFBSSxvQkFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLEVBQUU7b0JBQ3hELElBQUksRUFBRSxvQkFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLDBCQUEwQixFQUFFLFFBQVEsRUFBRSx1QkFB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QUcsQ0FBQztnQkFDaEIsVUFBVSxFQUFFLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQztnQkFDcEMsVUFBVSxFQUFFO29CQUNWLFlBQVksRUFBRTt3QkFDWixnQkFBZ0IsRUFBRSxrQkFBa0IsZUFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLGdCQUFnQjtxQkFDMUU7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGlDQUFpQyxFQUFFLElBQUksQ0FBQyxhQUFhO3FCQUN0RDtpQkFDRjthQUNGLENBQUMsQ0FBQyxDQUFDO1lBQ0osT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLGlCQUFHLENBQUMsZUFBZSxDQUFDO2dCQUMxQyxPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQUM7Z0JBQ3hCLFNBQVMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO2dCQUNsQyxVQUFVLEVBQUU7b0JBQ1YsWUFBWSxFQUFFO3dCQUNaLGdCQUFnQixFQUFFLGtCQUFrQixlQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sZ0JBQWdCO3FCQUMxRTtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsaUNBQWlDLEVBQUUsSUFBSSxDQUFDLFNBQVM7cUJBQ2xEO2lCQUNGO2FBQ0YsQ0FBQyxDQUFDLENBQUM7U0FDTDtJQUNILENBQUM7Q0FDRjtBQTlKRCxrREE4SkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHtcbiAgQ29uc3RydWN0LCBEdXJhdGlvbiwgUmVtb3ZhbFBvbGljeSwgU3RhY2ssXG4gIGF3c19jbG91ZGZvcm1hdGlvbiBhcyBjZm4sXG4gIGF3c19pYW0gYXMgaWFtLFxuICBhd3Nfa21zIGFzIGttcyxcbiAgYXdzX2xhbWJkYSBhcyBsYW1iZGEsXG59IGZyb20gJ21vbm9jZGsnO1xuaW1wb3J0IHsgaGFzaEZpbGVPckRpcmVjdG9yeSB9IGZyb20gJy4uL3V0aWwnO1xuaW1wb3J0IHsgQ2VydGlmaWNhdGVTaWduaW5nUmVxdWVzdCwgRGlzdGluZ3Vpc2hlZE5hbWUgfSBmcm9tICcuL2NlcnRpZmljYXRlLXNpZ25pbmctcmVxdWVzdCc7XG5cblxuZXhwb3J0IGludGVyZmFjZSBSc2FQcml2YXRlS2V5U2VjcmV0UHJvcHMge1xuICAvKipcbiAgICogVGhlIG1vZHVsdXMgc2l6ZSBvZiB0aGUgUlNBIGtleSB0aGF0IHdpbGwgYmUgZ2VuZXJhdGVkLlxuICAgKlxuICAgKiBUaGUgTklTVCBwdWJsaXNoZXMgYSBkb2N1bWVudCB0aGF0IHByb3ZpZGVzIGd1aWRhbmNlIG9uIGhvdyB0byBzZWxlY3QgYW4gYXBwcm9wcmlhdGUga2V5IHNpemU6XG4gICAqIEBzZWUgaHR0cHM6Ly9jc3JjLm5pc3QuZ292L3B1YmxpY2F0aW9ucy9kZXRhaWwvc3AvODAwLTU3LXBhcnQtMS9yZXYtNC9maW5hbFxuICAgKi9cbiAga2V5U2l6ZTogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgQVdTIFNlY3JldHMgTWFuYWdlciBlbnRpdHkgdGhhdCB3aWxsIGJlIGNyZWF0ZWQgdG8gaG9sZCB0aGUgcHJpdmF0ZSBrZXkuXG4gICAqL1xuICBzZWNyZXROYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkZXNjcmlwdGlvbiB0byBhdHRhY2ggdG8gdGhlIEFXUyBTZWNyZXRzIE1hbmFnZXIgZW50aXR5IHRoYXQgd2lsbCBob2xkIHRoZSBwcml2YXRlIGtleS5cbiAgICovXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgS01TIGtleSB0byBiZSB1c2VkIGZvciBlbmNyeXB0aW5nIHRoZSBBV1MgU2VjcmV0cyBNYW5hZ2VyIGVudGl0eS5cbiAgICpcbiAgICogQGRlZmF1bHQgdGhlIGRlZmF1bHQgS01TIGtleSB3aWxsIGJlIHVzZWQgaW4gYWNjb3JkYW5jZSB3aXRoIEFXUyBTZWNyZXRzIE1hbmFnZXIgZGVmYXVsdCBiZWhhdmlvci5cbiAgICovXG4gIHNlY3JldEVuY3J5cHRpb25LZXk/OiBrbXMuSUtleTtcblxuICAvKipcbiAgICogVGhlIGRlbGV0aW9uIHBvbGljeSB0byBhcHBseSBvbiB0aGUgUHJpdmF0ZSBLZXkgc2VjcmV0LlxuICAgKlxuICAgKiBAZGVmYXVsdCBSZXRhaW5cbiAgICovXG4gIHJlbW92YWxQb2xpY3k/OiBSZW1vdmFsUG9saWN5O1xufVxuXG4vKipcbiAqIEFuIE9wZW5TU0wtZ2VuZXJhdGVkIFJTQSBQcml2YXRlIEtleS4gSXQgY2FuIGZvciBleGFtcGxlIGJlIHVzZWQgdG8gb2J0YWluIGEgQ2VydGlmaWNhdGUgc2lnbmVkIGJ5IGEgQ2VydGlmaWNhdGVcbiAqIEF1dGhvcml0eSB0aHJvdWdoIHRoZSB1c2Ugb2YgdGhlIGBgQ2VydGlmaWNhdGVTaWduaW5nUmVxdWVzdGBgIGNvbnN0cnVjdCAob3IgdmlhIHRoZVxuICogYGAjbmV3Q2VydGlmaWNhdGVTaWduaW5nUmVxdWVzdGBgKSBtZXRob2QuXG4gKi9cbmV4cG9ydCBjbGFzcyBSc2FQcml2YXRlS2V5U2VjcmV0IGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIHNlY3JldCB0aGF0IGhvbGRzIHRoZSBwcml2YXRlIGtleS5cbiAgICovXG4gIHB1YmxpYyBzZWNyZXRBcm46IHN0cmluZztcblxuICBwcml2YXRlIHNlY3JldEFybkxpa2U6IHN0cmluZztcbiAgcHJpdmF0ZSBtYXN0ZXJLZXk/OiBrbXMuSUtleTtcblxuICBjb25zdHJ1Y3RvcihwYXJlbnQ6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFJzYVByaXZhdGVLZXlTZWNyZXRQcm9wcykge1xuICAgIHN1cGVyKHBhcmVudCwgaWQpO1xuXG4gICAgY29uc3QgY29kZUxvY2F0aW9uID0gcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJy4uJywgJ2N1c3RvbS1yZXNvdXJjZS1oYW5kbGVycycsICdiaW4nLCAncHJpdmF0ZS1rZXknKTtcbiAgICBjb25zdCBjdXN0b21SZXNvdXJjZSA9IG5ldyBsYW1iZGEuU2luZ2xldG9uRnVuY3Rpb24odGhpcywgJ1Jlc291cmNlSGFuZGxlcicsIHtcbiAgICAgIGxhbWJkYVB1cnBvc2U6ICdSU0FQcml2YXRlLUtleScsXG4gICAgICB1dWlkOiAnNzJGRDMyN0QtMzgxMy00NjMyLTkzNDAtMjhFQzQzN0FBNDg2JyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnR2VuZXJhdGVzIGFuIFJTQSBQcml2YXRlIEtleSBhbmQgc3RvcmVzIGl0IGluIEFXUyBTZWNyZXRzIE1hbmFnZXInLFxuICAgICAgcnVudGltZTogbGFtYmRhLlJ1bnRpbWUuTk9ERUpTXzEyX1gsXG4gICAgICBoYW5kbGVyOiAnaW5kZXguaGFuZGxlcicsXG4gICAgICBjb2RlOiBuZXcgbGFtYmRhLkFzc2V0Q29kZShjb2RlTG9jYXRpb24pLFxuICAgICAgdGltZW91dDogRHVyYXRpb24uc2Vjb25kcygzMDApLFxuICAgICAgLy8gYWRkIHRoZSBsYXllciB0aGF0IGNvbnRhaW5zIHRoZSBPcGVuU1NMIENMSSBiaW5hcnlcbiAgICAgIGxheWVyczogW25ldyBsYW1iZGEuTGF5ZXJWZXJzaW9uKHRoaXMsICdPcGVuU3NsQ2xpTGF5ZXInLCB7XG4gICAgICAgIGNvZGU6IGxhbWJkYS5Db2RlLmZyb21Bc3NldChwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4nLCAnY3VzdG9tLXJlc291cmNlLWhhbmRsZXJzJywgJ2xheWVycycsICdvcGVuc3NsLWNsaS1sYXllci56aXAnKSksXG4gICAgICB9KV0sXG4gICAgfSk7XG5cbiAgICB0aGlzLnNlY3JldEFybkxpa2UgPSBTdGFjay5vZih0aGlzKS5mb3JtYXRBcm4oe1xuICAgICAgc2VydmljZTogJ3NlY3JldHNtYW5hZ2VyJyxcbiAgICAgIHJlc291cmNlOiAnc2VjcmV0JyxcbiAgICAgIHNlcDogJzonLFxuICAgICAgLy8gVGhlIEFSTiBvZiBhIHNlY3JldCBoYXMgXCItXCIgZm9sbG93ZWQgYnkgNiByYW5kb20gY2hhcmFjdGVycyBhcHBlbmRlZCBhdCB0aGUgZW5kXG4gICAgICByZXNvdXJjZU5hbWU6IGAke3Byb3BzLnNlY3JldE5hbWV9LT8/Pz8/P2AsXG4gICAgfSk7XG4gICAgY3VzdG9tUmVzb3VyY2UuYWRkVG9Sb2xlUG9saWN5KG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgJ3NlY3JldHNtYW5hZ2VyOkNyZWF0ZVNlY3JldCcsXG4gICAgICAgICdzZWNyZXRzbWFuYWdlcjpEZWxldGVTZWNyZXQnLFxuICAgICAgICAnc2VjcmV0c21hbmFnZXI6VXBkYXRlU2VjcmV0JyxcbiAgICAgIF0sXG4gICAgICByZXNvdXJjZXM6IFt0aGlzLnNlY3JldEFybkxpa2VdLFxuICAgIH0pKTtcblxuICAgIGlmIChwcm9wcy5zZWNyZXRFbmNyeXB0aW9uS2V5KSB7XG4gICAgICBwcm9wcy5zZWNyZXRFbmNyeXB0aW9uS2V5LmFkZFRvUmVzb3VyY2VQb2xpY3kobmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAvLyBkZXNjcmlwdGlvbjogYEFsbG93IHVzZSB2aWEgQVdTIFNlY3JldHMgTWFuYWdlciBieSBDdXN0b21SZXNvdXJjZSBoYW5kbGVyICR7Y3VzdG9tUmVzb3VyY2UuZnVuY3Rpb25OYW1lfWAsXG4gICAgICAgIHByaW5jaXBhbHM6IFtuZXcgaWFtLkFyblByaW5jaXBhbChjdXN0b21SZXNvdXJjZS5yb2xlIS5yb2xlQXJuKV0sXG4gICAgICAgIGFjdGlvbnM6IFsna21zOkRlY3J5cHQnLCAna21zOkdlbmVyYXRlRGF0YUtleSddLFxuICAgICAgICByZXNvdXJjZXM6IFsnKiddLFxuICAgICAgICBjb25kaXRpb25zOiB7XG4gICAgICAgICAgU3RyaW5nRXF1YWxzOiB7XG4gICAgICAgICAgICAna21zOlZpYVNlcnZpY2UnOiBgc2VjcmV0c21hbmFnZXIuJHtTdGFjay5vZih0aGlzKS5yZWdpb259LmFtYXpvbmF3cy5jb21gLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgQXJuTGlrZToge1xuICAgICAgICAgICAgJ2ttczpFbmNyeXB0aW9uQ29udGV4dDpTZWNyZXRBUk4nOiB0aGlzLnNlY3JldEFybkxpa2UsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pKTtcbiAgICB9XG5cbiAgICBjb25zdCBwcml2YXRlS2V5ID0gbmV3IGNmbi5DdXN0b21SZXNvdXJjZSh0aGlzLCAnUmVzb3VyY2UnLCB7XG4gICAgICBwcm92aWRlcjogY2ZuLkN1c3RvbVJlc291cmNlUHJvdmlkZXIubGFtYmRhKGN1c3RvbVJlc291cmNlKSxcbiAgICAgIHJlc291cmNlVHlwZTogJ0N1c3RvbTo6UnNhUHJpdmF0ZUtleVNlY3JldCcsXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIHJlc291cmNlVmVyc2lvbjogaGFzaEZpbGVPckRpcmVjdG9yeShjb2RlTG9jYXRpb24pLFxuICAgICAgICBkZXNjcmlwdGlvbjogcHJvcHMuZGVzY3JpcHRpb24sXG4gICAgICAgIGtleVNpemU6IHByb3BzLmtleVNpemUsXG4gICAgICAgIHNlY3JldE5hbWU6IHByb3BzLnNlY3JldE5hbWUsXG4gICAgICAgIGttc0tleUlkOiBwcm9wcy5zZWNyZXRFbmNyeXB0aW9uS2V5ICYmIHByb3BzLnNlY3JldEVuY3J5cHRpb25LZXkua2V5QXJuLFxuICAgICAgfSxcbiAgICAgIHJlbW92YWxQb2xpY3k6IHByb3BzLnJlbW92YWxQb2xpY3kgfHwgUmVtb3ZhbFBvbGljeS5SRVRBSU4sXG4gICAgfSk7XG4gICAgaWYgKGN1c3RvbVJlc291cmNlLnJvbGUpIHtcbiAgICAgIHByaXZhdGVLZXkubm9kZS5hZGREZXBlbmRlbmN5KGN1c3RvbVJlc291cmNlLnJvbGUpO1xuICAgICAgaWYgKHByb3BzLnNlY3JldEVuY3J5cHRpb25LZXkpIHtcbiAgICAgICAgLy8gTW9kZWxpbmcgYXMgYSBzZXBhcmF0ZSBQb2xpY3kgdG8gZXZhZGUgYSBkZXBlbmRlbmN5IGN5Y2xlIChSb2xlIC0+IEtleSAtPiBSb2xlKSwgYXMgdGhlIEtleSByZWZlcnMgdG8gdGhlXG4gICAgICAgIC8vIHJvbGUgaW4gaXQncyByZXNvdXJjZSBwb2xpY3kuXG4gICAgICAgIHByaXZhdGVLZXkubm9kZS5hZGREZXBlbmRlbmN5KG5ldyBpYW0uUG9saWN5KHRoaXMsICdHcmFudExhbWJkYVJvbGVLZXlBY2Nlc3MnLCB7XG4gICAgICAgICAgcm9sZXM6IFtjdXN0b21SZXNvdXJjZS5yb2xlXSxcbiAgICAgICAgICBzdGF0ZW1lbnRzOiBbXG4gICAgICAgICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgICAgIC8vIGRlc2NyaXB0aW9uOiBgQVdTU2VjcmV0c01hbmFnZXIke3Byb3BzLnNlY3JldE5hbWUucmVwbGFjZSgvW14wLTlBLVphLXpdL2csICcnKX1DTUtgLFxuICAgICAgICAgICAgICBhY3Rpb25zOiBbJ2ttczpEZWNyeXB0JywgJ2ttczpHZW5lcmF0ZURhdGFLZXknXSxcbiAgICAgICAgICAgICAgcmVzb3VyY2VzOiBbcHJvcHMuc2VjcmV0RW5jcnlwdGlvbktleS5rZXlBcm5dLFxuICAgICAgICAgICAgICBjb25kaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgU3RyaW5nRXF1YWxzOiB7XG4gICAgICAgICAgICAgICAgICAna21zOlZpYVNlcnZpY2UnOiBgc2VjcmV0c21hbmFnZXIuJHtTdGFjay5vZih0aGlzKS5yZWdpb259LmFtYXpvbmF3cy5jb21gLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgU3RyaW5nTGlrZTogeyAna21zOkVuY3J5cHRpb25Db250ZXh0OlNlY3JldEFSTic6IFt0aGlzLnNlY3JldEFybkxpa2UsICdSZXF1ZXN0VG9WYWxpZGF0ZUtleUFjY2VzcyddIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICBdLFxuICAgICAgICB9KSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5tYXN0ZXJLZXkgPSBwcm9wcy5zZWNyZXRFbmNyeXB0aW9uS2V5O1xuICAgIHRoaXMuc2VjcmV0QXJuID0gcHJpdmF0ZUtleS5nZXRBdHQoJ1NlY3JldEFybicpLnRvU3RyaW5nKCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBDU1IgcmVzb3VyY2UgdXNpbmcgdGhpcyBwcml2YXRlIGtleS5cbiAgICpcbiAgICogQHBhcmFtIGlkICAgICAgICAgICAgICAgdGhlIElEIG9mIHRoZSBjb25zdHJ1Y3QgaW4gdGhlIGNvbnN0cnVjdCB0cmVlLlxuICAgKiBAcGFyYW0gZG4gICAgICAgICAgICAgICB0aGUgZGlzdGluZ3Vpc2hlZCBuYW1lIHRvIHJlY29yZCBvbiB0aGUgQ1NSLlxuICAgKiBAcGFyYW0ga2V5VXNhZ2UgICAgICAgICB0aGUgaW50ZW5kZWQga2V5IHVzYWdlIChmb3IgZXhhbXBsZTogXCJjcml0aWNhbCxkaWdpdGFsU2lnbmF0dXJlXCIpXG4gICAqIEBwYXJhbSBleHRlbmRlZEtleVVzYWdlIHRoZSBpbmRlbmRlZCBleHRlbmRlZCBrZXkgdXNhZ2UsIGlmIGFueSAoZm9yIGV4YW1wbGU6IFwiY3JpdGljYWwsZGlnaXRhbFNpZ25hdHVyZVwiKVxuICAgKlxuICAgKiBAcmV0dXJucyBhIG5ldyBgYENlcnRpZmljYXRlU2lnbmluZ1JlcXVlc3RgYCBpbnN0YW5jZSB0aGF0IGNhbiBiZSB1c2VkIHRvIGFjY2VzcyB0aGUgYWN0dWFsIENTUiBkb2N1bWVudC5cbiAgICovXG4gIHB1YmxpYyBuZXdDZXJ0aWZpY2F0ZVNpZ25pbmdSZXF1ZXN0KGlkOiBzdHJpbmcsIGRuOiBEaXN0aW5ndWlzaGVkTmFtZSwga2V5VXNhZ2U6IHN0cmluZywgZXh0ZW5kZWRLZXlVc2FnZT86IHN0cmluZykge1xuICAgIHJldHVybiBuZXcgQ2VydGlmaWNhdGVTaWduaW5nUmVxdWVzdCh0aGlzLCBpZCwge1xuICAgICAgcHJpdmF0ZUtleTogdGhpcyxcbiAgICAgIGRuLFxuICAgICAga2V5VXNhZ2UsXG4gICAgICBleHRlbmRlZEtleVVzYWdlLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFsbG93cyBhIGdpdmVuIElBTSBSb2xlIHRvIHJlYWQgdGhlIHNlY3JldCB2YWx1ZS5cbiAgICpcbiAgICogQHBhcmFtIGdyYW50ZWUgdGhlIHByaW5jaXBhbCB0byB3aGljaCBwZXJtaXNzaW9ucyBzaG91bGQgYmUgZ3JhbnRlZC5cbiAgICovXG4gIHB1YmxpYyBncmFudEdldFNlY3JldFZhbHVlKGdyYW50ZWU6IGlhbS5JUHJpbmNpcGFsKTogdm9pZCB7XG4gICAgZ3JhbnRlZS5hZGRUb1BvbGljeShuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICBhY3Rpb25zOiBbJ3NlY3JldHNtYW5hZ2VyOkdldFNlY3JldFZhbHVlJ10sXG4gICAgICByZXNvdXJjZXM6IFt0aGlzLnNlY3JldEFybl0sXG4gICAgfSkpO1xuICAgIGlmICh0aGlzLm1hc3RlcktleSkge1xuICAgICAgLy8gQWRkIGEga2V5IGdyYW50IHNpbmNlIHdlJ3JlIHVzaW5nIGEgQ01LXG4gICAgICB0aGlzLm1hc3RlcktleS5hZGRUb1Jlc291cmNlUG9saWN5KG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgYWN0aW9uczogWydrbXM6RGVjcnlwdCddLFxuICAgICAgICByZXNvdXJjZXM6IFsnKiddLFxuICAgICAgICBwcmluY2lwYWxzOiBbZ3JhbnRlZS5ncmFudFByaW5jaXBhbF0sXG4gICAgICAgIGNvbmRpdGlvbnM6IHtcbiAgICAgICAgICBTdHJpbmdFcXVhbHM6IHtcbiAgICAgICAgICAgICdrbXM6VmlhU2VydmljZSc6IGBzZWNyZXRzbWFuYWdlci4ke1N0YWNrLm9mKHRoaXMpLnJlZ2lvbn0uYW1hem9uYXdzLmNvbWAsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBBcm5MaWtlOiB7XG4gICAgICAgICAgICAna21zOkVuY3J5cHRpb25Db250ZXh0OlNlY3JldEFSTic6IHRoaXMuc2VjcmV0QXJuTGlrZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSkpO1xuICAgICAgZ3JhbnRlZS5hZGRUb1BvbGljeShuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIGFjdGlvbnM6IFsna21zOkRlY3J5cHQnXSxcbiAgICAgICAgcmVzb3VyY2VzOiBbdGhpcy5tYXN0ZXJLZXkua2V5QXJuXSxcbiAgICAgICAgY29uZGl0aW9uczoge1xuICAgICAgICAgIFN0cmluZ0VxdWFsczoge1xuICAgICAgICAgICAgJ2ttczpWaWFTZXJ2aWNlJzogYHNlY3JldHNtYW5hZ2VyLiR7U3RhY2sub2YodGhpcykucmVnaW9ufS5hbWF6b25hd3MuY29tYCxcbiAgICAgICAgICB9LFxuICAgICAgICAgIEFybkVxdWFsczoge1xuICAgICAgICAgICAgJ2ttczpFbmNyeXB0aW9uQ29udGV4dDpTZWNyZXRBUk4nOiB0aGlzLnNlY3JldEFybixcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSkpO1xuICAgIH1cbiAgfVxufVxuIl19
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZS1rZXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJwcml2YXRlLWtleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJDQUE2QjtBQUM3Qiw2Q0FNcUI7QUFDckIsMkNBQXVDO0FBQ3ZDLGtDQUE4QztBQUM5QywrRUFBNkY7QUFxQzdGOzs7O0dBSUc7QUFDSCxNQUFhLG1CQUFvQixTQUFRLHNCQUFTO0lBU2hELFlBQVksTUFBaUIsRUFBRSxFQUFVLEVBQUUsS0FBK0I7UUFDeEUsS0FBSyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVsQixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsMEJBQTBCLEVBQUUsS0FBSyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ3JHLE1BQU0sY0FBYyxHQUFHLElBQUksd0JBQU0sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLEVBQUU7WUFDM0UsYUFBYSxFQUFFLGdCQUFnQjtZQUMvQixJQUFJLEVBQUUsc0NBQXNDO1lBQzVDLFdBQVcsRUFBRSxtRUFBbUU7WUFDaEYsT0FBTyxFQUFFLHdCQUFNLENBQUMsT0FBTyxDQUFDLFdBQVc7WUFDbkMsT0FBTyxFQUFFLGVBQWU7WUFDeEIsSUFBSSxFQUFFLElBQUksd0JBQU0sQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDO1lBQ3hDLE9BQU8sRUFBRSxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7WUFDOUIscURBQXFEO1lBQ3JELE1BQU0sRUFBRSxDQUFDLElBQUksd0JBQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLGlCQUFpQixFQUFFO29CQUN4RCxJQUFJLEVBQUUsd0JBQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSwwQkFBMEIsRUFBRSxR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U0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDO2dCQUNoQixVQUFVLEVBQUUsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDO2dCQUNwQyxVQUFVLEVBQUU7b0JBQ1YsWUFBWSxFQUFFO3dCQUNaLGdCQUFnQixFQUFFLGtCQUFrQixtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLGdCQUFnQjtxQkFDMUU7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGlDQUFpQyxFQUFFLElBQUksQ0FBQyxhQUFhO3FCQUN0RDtpQkFDRjthQUNGLENBQUMsQ0FBQyxDQUFDO1lBQ0osT0FBTyxDQUFDLG9CQUFvQixDQUFDLElBQUkscUJBQUcsQ0FBQyxlQUFlLENBQUM7Z0JBQ25ELE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQztnQkFDeEIsU0FBUyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7Z0JBQ2xDLFVBQVUsRUFBRTtvQkFDVixZQUFZLEVBQUU7d0JBQ1osZ0JBQWdCLEVBQUUsa0JBQWtCLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sZ0JBQWdCO3FCQUMxRTtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsaUNBQWlDLEVBQUUsSUFBSSxDQUFDLFNBQVM7cUJBQ2xEO2lCQUNGO2FBQ0YsQ0FBQyxDQUFDLENBQUM7U0FDTDtJQUNILENBQUM7Q0FDRjtBQS9KRCxrREErSkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHtcbiAgRHVyYXRpb24sIFJlbW92YWxQb2xpY3ksIFN0YWNrLFxuICBBcm5Gb3JtYXQsIEN1c3RvbVJlc291cmNlLFxuICBhd3NfaWFtIGFzIGlhbSxcbiAgYXdzX2ttcyBhcyBrbXMsXG4gIGF3c19sYW1iZGEgYXMgbGFtYmRhLFxufSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IGhhc2hGaWxlT3JEaXJlY3RvcnkgfSBmcm9tICcuLi91dGlsJztcbmltcG9ydCB7IENlcnRpZmljYXRlU2lnbmluZ1JlcXVlc3QsIERpc3Rpbmd1aXNoZWROYW1lIH0gZnJvbSAnLi9jZXJ0aWZpY2F0ZS1zaWduaW5nLXJlcXVlc3QnO1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgUnNhUHJpdmF0ZUtleVNlY3JldFByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBtb2R1bHVzIHNpemUgb2YgdGhlIFJTQSBrZXkgdGhhdCB3aWxsIGJlIGdlbmVyYXRlZC5cbiAgICpcbiAgICogVGhlIE5JU1QgcHVibGlzaGVzIGEgZG9jdW1lbnQgdGhhdCBwcm92aWRlcyBndWlkYW5jZSBvbiBob3cgdG8gc2VsZWN0IGFuIGFwcHJvcHJpYXRlIGtleSBzaXplOlxuICAgKiBAc2VlIGh0dHBzOi8vY3NyYy5uaXN0Lmdvdi9wdWJsaWNhdGlvbnMvZGV0YWlsL3NwLzgwMC01Ny1wYXJ0LTEvcmV2LTQvZmluYWxcbiAgICovXG4gIGtleVNpemU6IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIEFXUyBTZWNyZXRzIE1hbmFnZXIgZW50aXR5IHRoYXQgd2lsbCBiZSBjcmVhdGVkIHRvIGhvbGQgdGhlIHByaXZhdGUga2V5LlxuICAgKi9cbiAgc2VjcmV0TmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZGVzY3JpcHRpb24gdG8gYXR0YWNoIHRvIHRoZSBBV1MgU2VjcmV0cyBNYW5hZ2VyIGVudGl0eSB0aGF0IHdpbGwgaG9sZCB0aGUgcHJpdmF0ZSBrZXkuXG4gICAqL1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEtNUyBrZXkgdG8gYmUgdXNlZCBmb3IgZW5jcnlwdGluZyB0aGUgQVdTIFNlY3JldHMgTWFuYWdlciBlbnRpdHkuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRoZSBkZWZhdWx0IEtNUyBrZXkgd2lsbCBiZSB1c2VkIGluIGFjY29yZGFuY2Ugd2l0aCBBV1MgU2VjcmV0cyBNYW5hZ2VyIGRlZmF1bHQgYmVoYXZpb3IuXG4gICAqL1xuICBzZWNyZXRFbmNyeXB0aW9uS2V5Pzoga21zLklLZXk7XG5cbiAgLyoqXG4gICAqIFRoZSBkZWxldGlvbiBwb2xpY3kgdG8gYXBwbHkgb24gdGhlIFByaXZhdGUgS2V5IHNlY3JldC5cbiAgICpcbiAgICogQGRlZmF1bHQgUmV0YWluXG4gICAqL1xuICByZW1vdmFsUG9saWN5PzogUmVtb3ZhbFBvbGljeTtcbn1cblxuLyoqXG4gKiBBbiBPcGVuU1NMLWdlbmVyYXRlZCBSU0EgUHJpdmF0ZSBLZXkuIEl0IGNhbiBmb3IgZXhhbXBsZSBiZSB1c2VkIHRvIG9idGFpbiBhIENlcnRpZmljYXRlIHNpZ25lZCBieSBhIENlcnRpZmljYXRlXG4gKiBBdXRob3JpdHkgdGhyb3VnaCB0aGUgdXNlIG9mIHRoZSBgYENlcnRpZmljYXRlU2lnbmluZ1JlcXVlc3RgYCBjb25zdHJ1Y3QgKG9yIHZpYSB0aGVcbiAqIGBgI25ld0NlcnRpZmljYXRlU2lnbmluZ1JlcXVlc3RgYCkgbWV0aG9kLlxuICovXG5leHBvcnQgY2xhc3MgUnNhUHJpdmF0ZUtleVNlY3JldCBleHRlbmRzIENvbnN0cnVjdCB7XG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBzZWNyZXQgdGhhdCBob2xkcyB0aGUgcHJpdmF0ZSBrZXkuXG4gICAqL1xuICBwdWJsaWMgc2VjcmV0QXJuOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBzZWNyZXRBcm5MaWtlOiBzdHJpbmc7XG4gIHByaXZhdGUgbWFzdGVyS2V5Pzoga21zLklLZXk7XG5cbiAgY29uc3RydWN0b3IocGFyZW50OiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBSc2FQcml2YXRlS2V5U2VjcmV0UHJvcHMpIHtcbiAgICBzdXBlcihwYXJlbnQsIGlkKTtcblxuICAgIGNvbnN0IGNvZGVMb2NhdGlvbiA9IHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICcuLicsICdjdXN0b20tcmVzb3VyY2UtaGFuZGxlcnMnLCAnYmluJywgJ3ByaXZhdGUta2V5Jyk7XG4gICAgY29uc3QgY3VzdG9tUmVzb3VyY2UgPSBuZXcgbGFtYmRhLlNpbmdsZXRvbkZ1bmN0aW9uKHRoaXMsICdSZXNvdXJjZUhhbmRsZXInLCB7XG4gICAgICBsYW1iZGFQdXJwb3NlOiAnUlNBUHJpdmF0ZS1LZXknLFxuICAgICAgdXVpZDogJzcyRkQzMjdELTM4MTMtNDYzMi05MzQwLTI4RUM0MzdBQTQ4NicsXG4gICAgICBkZXNjcmlwdGlvbjogJ0dlbmVyYXRlcyBhbiBSU0EgUHJpdmF0ZSBLZXkgYW5kIHN0b3JlcyBpdCBpbiBBV1MgU2VjcmV0cyBNYW5hZ2VyJyxcbiAgICAgIHJ1bnRpbWU6IGxhbWJkYS5SdW50aW1lLk5PREVKU18xMl9YLFxuICAgICAgaGFuZGxlcjogJ2luZGV4LmhhbmRsZXInLFxuICAgICAgY29kZTogbmV3IGxhbWJkYS5Bc3NldENvZGUoY29kZUxvY2F0aW9uKSxcbiAgICAgIHRpbWVvdXQ6IER1cmF0aW9uLnNlY29uZHMoMzAwKSxcbiAgICAgIC8vIGFkZCB0aGUgbGF5ZXIgdGhhdCBjb250YWlucyB0aGUgT3BlblNTTCBDTEkgYmluYXJ5XG4gICAgICBsYXllcnM6IFtuZXcgbGFtYmRhLkxheWVyVmVyc2lvbih0aGlzLCAnT3BlblNzbENsaUxheWVyJywge1xuICAgICAgICBjb2RlOiBsYW1iZGEuQ29kZS5mcm9tQXNzZXQocGF0aC5qb2luKF9fZGlybmFtZSwgJy4uJywgJ2N1c3RvbS1yZXNvdXJjZS1oYW5kbGVycycsICdsYXllcnMnLCAnb3BlbnNzbC1jbGktbGF5ZXIuemlwJykpLFxuICAgICAgfSldLFxuICAgIH0pO1xuXG4gICAgdGhpcy5zZWNyZXRBcm5MaWtlID0gU3RhY2sub2YodGhpcykuZm9ybWF0QXJuKHtcbiAgICAgIHNlcnZpY2U6ICdzZWNyZXRzbWFuYWdlcicsXG4gICAgICByZXNvdXJjZTogJ3NlY3JldCcsXG4gICAgICBhcm5Gb3JtYXQ6IEFybkZvcm1hdC5DT0xPTl9SRVNPVVJDRV9OQU1FLFxuICAgICAgLy8gVGhlIEFSTiBvZiBhIHNlY3JldCBoYXMgXCItXCIgZm9sbG93ZWQgYnkgNiByYW5kb20gY2hhcmFjdGVycyBhcHBlbmRlZCBhdCB0aGUgZW5kXG4gICAgICByZXNvdXJjZU5hbWU6IGAke3Byb3BzLnNlY3JldE5hbWV9LT8/Pz8/P2AsXG4gICAgfSk7XG4gICAgY3VzdG9tUmVzb3VyY2UuYWRkVG9Sb2xlUG9saWN5KG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgJ3NlY3JldHNtYW5hZ2VyOkNyZWF0ZVNlY3JldCcsXG4gICAgICAgICdzZWNyZXRzbWFuYWdlcjpEZWxldGVTZWNyZXQnLFxuICAgICAgICAnc2VjcmV0c21hbmFnZXI6VXBkYXRlU2VjcmV0JyxcbiAgICAgIF0sXG4gICAgICByZXNvdXJjZXM6IFt0aGlzLnNlY3JldEFybkxpa2VdLFxuICAgIH0pKTtcblxuICAgIGlmIChwcm9wcy5zZWNyZXRFbmNyeXB0aW9uS2V5KSB7XG4gICAgICBwcm9wcy5zZWNyZXRFbmNyeXB0aW9uS2V5LmFkZFRvUmVzb3VyY2VQb2xpY3kobmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAvLyBkZXNjcmlwdGlvbjogYEFsbG93IHVzZSB2aWEgQVdTIFNlY3JldHMgTWFuYWdlciBieSBDdXN0b21SZXNvdXJjZSBoYW5kbGVyICR7Y3VzdG9tUmVzb3VyY2UuZnVuY3Rpb25OYW1lfWAsXG4gICAgICAgIHByaW5jaXBhbHM6IFtuZXcgaWFtLkFyblByaW5jaXBhbChjdXN0b21SZXNvdXJjZS5yb2xlIS5yb2xlQXJuKV0sXG4gICAgICAgIGFjdGlvbnM6IFsna21zOkRlY3J5cHQnLCAna21zOkdlbmVyYXRlRGF0YUtleSddLFxuICAgICAgICByZXNvdXJjZXM6IFsnKiddLFxuICAgICAgICBjb25kaXRpb25zOiB7XG4gICAgICAgICAgU3RyaW5nRXF1YWxzOiB7XG4gICAgICAgICAgICAna21zOlZpYVNlcnZpY2UnOiBgc2VjcmV0c21hbmFnZXIuJHtTdGFjay5vZih0aGlzKS5yZWdpb259LmFtYXpvbmF3cy5jb21gLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgQXJuTGlrZToge1xuICAgICAgICAgICAgJ2ttczpFbmNyeXB0aW9uQ29udGV4dDpTZWNyZXRBUk4nOiB0aGlzLnNlY3JldEFybkxpa2UsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pKTtcbiAgICB9XG5cbiAgICBjb25zdCBwcml2YXRlS2V5ID0gbmV3IEN1c3RvbVJlc291cmNlKHRoaXMsICdSZXNvdXJjZScsIHtcbiAgICAgIHNlcnZpY2VUb2tlbjogY3VzdG9tUmVzb3VyY2UuZnVuY3Rpb25Bcm4sXG4gICAgICByZXNvdXJjZVR5cGU6ICdDdXN0b206OlJzYVByaXZhdGVLZXlTZWNyZXQnLFxuICAgICAgcGFzY2FsQ2FzZVByb3BlcnRpZXM6IHRydWUsXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIHJlc291cmNlVmVyc2lvbjogaGFzaEZpbGVPckRpcmVjdG9yeShjb2RlTG9jYXRpb24pLFxuICAgICAgICBkZXNjcmlwdGlvbjogcHJvcHMuZGVzY3JpcHRpb24sXG4gICAgICAgIGtleVNpemU6IHByb3BzLmtleVNpemUsXG4gICAgICAgIHNlY3JldE5hbWU6IHByb3BzLnNlY3JldE5hbWUsXG4gICAgICAgIGttc0tleUlkOiBwcm9wcy5zZWNyZXRFbmNyeXB0aW9uS2V5ICYmIHByb3BzLnNlY3JldEVuY3J5cHRpb25LZXkua2V5QXJuLFxuICAgICAgfSxcbiAgICAgIHJlbW92YWxQb2xpY3k6IHByb3BzLnJlbW92YWxQb2xpY3kgfHwgUmVtb3ZhbFBvbGljeS5SRVRBSU4sXG4gICAgfSk7XG4gICAgaWYgKGN1c3RvbVJlc291cmNlLnJvbGUpIHtcbiAgICAgIHByaXZhdGVLZXkubm9kZS5hZGREZXBlbmRlbmN5KGN1c3RvbVJlc291cmNlLnJvbGUpO1xuICAgICAgaWYgKHByb3BzLnNlY3JldEVuY3J5cHRpb25LZXkpIHtcbiAgICAgICAgLy8gTW9kZWxpbmcgYXMgYSBzZXBhcmF0ZSBQb2xpY3kgdG8gZXZhZGUgYSBkZXBlbmRlbmN5IGN5Y2xlIChSb2xlIC0+IEtleSAtPiBSb2xlKSwgYXMgdGhlIEtleSByZWZlcnMgdG8gdGhlXG4gICAgICAgIC8vIHJvbGUgaW4gaXQncyByZXNvdXJjZSBwb2xpY3kuXG4gICAgICAgIHByaXZhdGVLZXkubm9kZS5hZGREZXBlbmRlbmN5KG5ldyBpYW0uUG9saWN5KHRoaXMsICdHcmFudExhbWJkYVJvbGVLZXlBY2Nlc3MnLCB7XG4gICAgICAgICAgcm9sZXM6IFtjdXN0b21SZXNvdXJjZS5yb2xlXSxcbiAgICAgICAgICBzdGF0ZW1lbnRzOiBbXG4gICAgICAgICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgICAgIC8vIGRlc2NyaXB0aW9uOiBgQVdTU2VjcmV0c01hbmFnZXIke3Byb3BzLnNlY3JldE5hbWUucmVwbGFjZSgvW14wLTlBLVphLXpdL2csICcnKX1DTUtgLFxuICAgICAgICAgICAgICBhY3Rpb25zOiBbJ2ttczpEZWNyeXB0JywgJ2ttczpHZW5lcmF0ZURhdGFLZXknXSxcbiAgICAgICAgICAgICAgcmVzb3VyY2VzOiBbcHJvcHMuc2VjcmV0RW5jcnlwdGlvbktleS5rZXlBcm5dLFxuICAgICAgICAgICAgICBjb25kaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgU3RyaW5nRXF1YWxzOiB7XG4gICAgICAgICAgICAgICAgICAna21zOlZpYVNlcnZpY2UnOiBgc2VjcmV0c21hbmFnZXIuJHtTdGFjay5vZih0aGlzKS5yZWdpb259LmFtYXpvbmF3cy5jb21gLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgU3RyaW5nTGlrZTogeyAna21zOkVuY3J5cHRpb25Db250ZXh0OlNlY3JldEFSTic6IFt0aGlzLnNlY3JldEFybkxpa2UsICdSZXF1ZXN0VG9WYWxpZGF0ZUtleUFjY2VzcyddIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICBdLFxuICAgICAgICB9KSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5tYXN0ZXJLZXkgPSBwcm9wcy5zZWNyZXRFbmNyeXB0aW9uS2V5O1xuICAgIHRoaXMuc2VjcmV0QXJuID0gcHJpdmF0ZUtleS5nZXRBdHQoJ1NlY3JldEFybicpLnRvU3RyaW5nKCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBDU1IgcmVzb3VyY2UgdXNpbmcgdGhpcyBwcml2YXRlIGtleS5cbiAgICpcbiAgICogQHBhcmFtIGlkICAgICAgICAgICAgICAgdGhlIElEIG9mIHRoZSBjb25zdHJ1Y3QgaW4gdGhlIGNvbnN0cnVjdCB0cmVlLlxuICAgKiBAcGFyYW0gZG4gICAgICAgICAgICAgICB0aGUgZGlzdGluZ3Vpc2hlZCBuYW1lIHRvIHJlY29yZCBvbiB0aGUgQ1NSLlxuICAgKiBAcGFyYW0ga2V5VXNhZ2UgICAgICAgICB0aGUgaW50ZW5kZWQga2V5IHVzYWdlIChmb3IgZXhhbXBsZTogXCJjcml0aWNhbCxkaWdpdGFsU2lnbmF0dXJlXCIpXG4gICAqIEBwYXJhbSBleHRlbmRlZEtleVVzYWdlIHRoZSBpbmRlbmRlZCBleHRlbmRlZCBrZXkgdXNhZ2UsIGlmIGFueSAoZm9yIGV4YW1wbGU6IFwiY3JpdGljYWwsZGlnaXRhbFNpZ25hdHVyZVwiKVxuICAgKlxuICAgKiBAcmV0dXJucyBhIG5ldyBgYENlcnRpZmljYXRlU2lnbmluZ1JlcXVlc3RgYCBpbnN0YW5jZSB0aGF0IGNhbiBiZSB1c2VkIHRvIGFjY2VzcyB0aGUgYWN0dWFsIENTUiBkb2N1bWVudC5cbiAgICovXG4gIHB1YmxpYyBuZXdDZXJ0aWZpY2F0ZVNpZ25pbmdSZXF1ZXN0KGlkOiBzdHJpbmcsIGRuOiBEaXN0aW5ndWlzaGVkTmFtZSwga2V5VXNhZ2U6IHN0cmluZywgZXh0ZW5kZWRLZXlVc2FnZT86IHN0cmluZykge1xuICAgIHJldHVybiBuZXcgQ2VydGlmaWNhdGVTaWduaW5nUmVxdWVzdCh0aGlzLCBpZCwge1xuICAgICAgcHJpdmF0ZUtleTogdGhpcyxcbiAgICAgIGRuLFxuICAgICAga2V5VXNhZ2UsXG4gICAgICBleHRlbmRlZEtleVVzYWdlLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFsbG93cyBhIGdpdmVuIElBTSBSb2xlIHRvIHJlYWQgdGhlIHNlY3JldCB2YWx1ZS5cbiAgICpcbiAgICogQHBhcmFtIGdyYW50ZWUgdGhlIHByaW5jaXBhbCB0byB3aGljaCBwZXJtaXNzaW9ucyBzaG91bGQgYmUgZ3JhbnRlZC5cbiAgICovXG4gIHB1YmxpYyBncmFudEdldFNlY3JldFZhbHVlKGdyYW50ZWU6IGlhbS5JUHJpbmNpcGFsKTogdm9pZCB7XG4gICAgZ3JhbnRlZS5hZGRUb1ByaW5jaXBhbFBvbGljeShuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICBhY3Rpb25zOiBbJ3NlY3JldHNtYW5hZ2VyOkdldFNlY3JldFZhbHVlJ10sXG4gICAgICByZXNvdXJjZXM6IFt0aGlzLnNlY3JldEFybl0sXG4gICAgfSkpO1xuICAgIGlmICh0aGlzLm1hc3RlcktleSkge1xuICAgICAgLy8gQWRkIGEga2V5IGdyYW50IHNpbmNlIHdlJ3JlIHVzaW5nIGEgQ01LXG4gICAgICB0aGlzLm1hc3RlcktleS5hZGRUb1Jlc291cmNlUG9saWN5KG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgYWN0aW9uczogWydrbXM6RGVjcnlwdCddLFxuICAgICAgICByZXNvdXJjZXM6IFsnKiddLFxuICAgICAgICBwcmluY2lwYWxzOiBbZ3JhbnRlZS5ncmFudFByaW5jaXBhbF0sXG4gICAgICAgIGNvbmRpdGlvbnM6IHtcbiAgICAgICAgICBTdHJpbmdFcXVhbHM6IHtcbiAgICAgICAgICAgICdrbXM6VmlhU2VydmljZSc6IGBzZWNyZXRzbWFuYWdlci4ke1N0YWNrLm9mKHRoaXMpLnJlZ2lvbn0uYW1hem9uYXdzLmNvbWAsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBBcm5MaWtlOiB7XG4gICAgICAgICAgICAna21zOkVuY3J5cHRpb25Db250ZXh0OlNlY3JldEFSTic6IHRoaXMuc2VjcmV0QXJuTGlrZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSkpO1xuICAgICAgZ3JhbnRlZS5hZGRUb1ByaW5jaXBhbFBvbGljeShuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIGFjdGlvbnM6IFsna21zOkRlY3J5cHQnXSxcbiAgICAgICAgcmVzb3VyY2VzOiBbdGhpcy5tYXN0ZXJLZXkua2V5QXJuXSxcbiAgICAgICAgY29uZGl0aW9uczoge1xuICAgICAgICAgIFN0cmluZ0VxdWFsczoge1xuICAgICAgICAgICAgJ2ttczpWaWFTZXJ2aWNlJzogYHNlY3JldHNtYW5hZ2VyLiR7U3RhY2sub2YodGhpcykucmVnaW9ufS5hbWF6b25hd3MuY29tYCxcbiAgICAgICAgICB9LFxuICAgICAgICAgIEFybkVxdWFsczoge1xuICAgICAgICAgICAgJ2ttczpFbmNyeXB0aW9uQ29udGV4dDpTZWNyZXRBUk4nOiB0aGlzLnNlY3JldEFybixcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSkpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,11 +1,12 @@
1
1
  import * as path from 'path';
2
2
  import {
3
- Construct, Duration, RemovalPolicy, Stack,
4
- aws_cloudformation as cfn,
3
+ Duration, RemovalPolicy, Stack,
4
+ ArnFormat, CustomResource,
5
5
  aws_iam as iam,
6
6
  aws_kms as kms,
7
7
  aws_lambda as lambda,
8
- } from 'monocdk';
8
+ } from 'aws-cdk-lib';
9
+ import { Construct } from 'constructs';
9
10
  import { hashFileOrDirectory } from '../util';
10
11
  import { CertificateSigningRequest, DistinguishedName } from './certificate-signing-request';
11
12
 
@@ -79,7 +80,7 @@ export class RsaPrivateKeySecret extends Construct {
79
80
  this.secretArnLike = Stack.of(this).formatArn({
80
81
  service: 'secretsmanager',
81
82
  resource: 'secret',
82
- sep: ':',
83
+ arnFormat: ArnFormat.COLON_RESOURCE_NAME,
83
84
  // The ARN of a secret has "-" followed by 6 random characters appended at the end
84
85
  resourceName: `${props.secretName}-??????`,
85
86
  });
@@ -109,9 +110,10 @@ export class RsaPrivateKeySecret extends Construct {
109
110
  }));
110
111
  }
111
112
 
112
- const privateKey = new cfn.CustomResource(this, 'Resource', {
113
- provider: cfn.CustomResourceProvider.lambda(customResource),
113
+ const privateKey = new CustomResource(this, 'Resource', {
114
+ serviceToken: customResource.functionArn,
114
115
  resourceType: 'Custom::RsaPrivateKeySecret',
116
+ pascalCaseProperties: true,
115
117
  properties: {
116
118
  resourceVersion: hashFileOrDirectory(codeLocation),
117
119
  description: props.description,
@@ -174,7 +176,7 @@ export class RsaPrivateKeySecret extends Construct {
174
176
  * @param grantee the principal to which permissions should be granted.
175
177
  */
176
178
  public grantGetSecretValue(grantee: iam.IPrincipal): void {
177
- grantee.addToPolicy(new iam.PolicyStatement({
179
+ grantee.addToPrincipalPolicy(new iam.PolicyStatement({
178
180
  actions: ['secretsmanager:GetSecretValue'],
179
181
  resources: [this.secretArn],
180
182
  }));
@@ -193,7 +195,7 @@ export class RsaPrivateKeySecret extends Construct {
193
195
  },
194
196
  },
195
197
  }));
196
- grantee.addToPolicy(new iam.PolicyStatement({
198
+ grantee.addToPrincipalPolicy(new iam.PolicyStatement({
197
199
  actions: ['kms:Decrypt'],
198
200
  resources: [this.masterKey.keyArn],
199
201
  conditions: {
@@ -1,4 +1,4 @@
1
- import { aws_ssm as ssm, aws_secretsmanager as secretsManager } from 'monocdk';
1
+ import { aws_ssm as ssm, aws_secretsmanager as secretsManager } from 'aws-cdk-lib';
2
2
  /**
3
3
  * A Credential Pair combines a secret element (the credential) and a public
4
4
  * element (the principal). The public element is stored in an SSM Parameter,
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGVudGlhbC1wYWlyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY3JlZGVudGlhbC1wYWlyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBhd3Nfc3NtIGFzIHNzbSxcbiAgYXdzX3NlY3JldHNtYW5hZ2VyIGFzIHNlY3JldHNNYW5hZ2VyLFxufSBmcm9tICdtb25vY2RrJztcblxuXG4vKipcbiAqIEEgQ3JlZGVudGlhbCBQYWlyIGNvbWJpbmVzIGEgc2VjcmV0IGVsZW1lbnQgKHRoZSBjcmVkZW50aWFsKSBhbmQgYSBwdWJsaWNcbiAqIGVsZW1lbnQgKHRoZSBwcmluY2lwYWwpLiBUaGUgcHVibGljIGVsZW1lbnQgaXMgc3RvcmVkIGluIGFuIFNTTSBQYXJhbWV0ZXIsXG4gKiB3aGlsZSB0aGUgc2VjcmV0IGVsZW1lbnQgaXMgc3RvcmVkIGluIEFXUyBTZWNyZXRzIE1hbmFnZXIuXG4gKlxuICogRm9yIGV4YW1wbGUsIHRoaXMgY2FuIGJlOlxuICogLSBBIHVzZXJuYW1lIGFuZCBhIHBhc3N3b3JkXG4gKiAtIEEgcHJpdmF0ZSBrZXkgYW5kIGEgY2VydGlmaWNhdGVcbiAqIC0gQW4gT3BlblBHUCBQcml2YXRlIGtleSBhbmQgaXRzIHB1YmxpYyBwYXJ0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNyZWRlbnRpYWxQYWlyIHtcbiAgLyoqXG4gICAqIFRoZSBwdWJsaWMgcGFydCBvZiB0aGlzIGNyZWRlbnRpYWwgcGFpci5cbiAgICovXG4gIHJlYWRvbmx5IHByaW5jaXBhbDogc3NtLklTdHJpbmdQYXJhbWV0ZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBzZWNyZXQgcGFydCBvZiB0aGlzIGNyZWRlbnRpYWwgcGFpci5cbiAgICovXG4gIHJlYWRvbmx5IGNyZWRlbnRpYWw6IHNlY3JldHNNYW5hZ2VyLklTZWNyZXQ7XG59XG4iXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGVudGlhbC1wYWlyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY3JlZGVudGlhbC1wYWlyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBhd3Nfc3NtIGFzIHNzbSxcbiAgYXdzX3NlY3JldHNtYW5hZ2VyIGFzIHNlY3JldHNNYW5hZ2VyLFxufSBmcm9tICdhd3MtY2RrLWxpYic7XG5cblxuLyoqXG4gKiBBIENyZWRlbnRpYWwgUGFpciBjb21iaW5lcyBhIHNlY3JldCBlbGVtZW50ICh0aGUgY3JlZGVudGlhbCkgYW5kIGEgcHVibGljXG4gKiBlbGVtZW50ICh0aGUgcHJpbmNpcGFsKS4gVGhlIHB1YmxpYyBlbGVtZW50IGlzIHN0b3JlZCBpbiBhbiBTU00gUGFyYW1ldGVyLFxuICogd2hpbGUgdGhlIHNlY3JldCBlbGVtZW50IGlzIHN0b3JlZCBpbiBBV1MgU2VjcmV0cyBNYW5hZ2VyLlxuICpcbiAqIEZvciBleGFtcGxlLCB0aGlzIGNhbiBiZTpcbiAqIC0gQSB1c2VybmFtZSBhbmQgYSBwYXNzd29yZFxuICogLSBBIHByaXZhdGUga2V5IGFuZCBhIGNlcnRpZmljYXRlXG4gKiAtIEFuIE9wZW5QR1AgUHJpdmF0ZSBrZXkgYW5kIGl0cyBwdWJsaWMgcGFydFxuICovXG5leHBvcnQgaW50ZXJmYWNlIElDcmVkZW50aWFsUGFpciB7XG4gIC8qKlxuICAgKiBUaGUgcHVibGljIHBhcnQgb2YgdGhpcyBjcmVkZW50aWFsIHBhaXIuXG4gICAqL1xuICByZWFkb25seSBwcmluY2lwYWw6IHNzbS5JU3RyaW5nUGFyYW1ldGVyO1xuXG4gIC8qKlxuICAgKiBUaGUgc2VjcmV0IHBhcnQgb2YgdGhpcyBjcmVkZW50aWFsIHBhaXIuXG4gICAqL1xuICByZWFkb25seSBjcmVkZW50aWFsOiBzZWNyZXRzTWFuYWdlci5JU2VjcmV0O1xufVxuIl19
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  aws_ssm as ssm,
3
3
  aws_secretsmanager as secretsManager,
4
- } from 'monocdk';
4
+ } from 'aws-cdk-lib';
5
5
 
6
6
 
7
7
  /**