@cloudsnorkel/cdk-github-runners 0.14.14 → 0.14.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/.jsii +832 -287
  2. package/API.md +576 -6
  3. package/README.md +149 -0
  4. package/SETUP_GITHUB.md +99 -3
  5. package/assets/delete-failed-runner.lambda/index.js +40 -31
  6. package/assets/idle-runner-repear.lambda/index.js +40 -31
  7. package/assets/providers/lambda-runner.sh +2 -1
  8. package/assets/setup.lambda/index.html +12 -7
  9. package/assets/setup.lambda/index.js +26 -26
  10. package/assets/status.lambda/index.js +40 -31
  11. package/assets/token-retriever.lambda/index.js +40 -31
  12. package/assets/webhook-handler.lambda/index.js +110 -43
  13. package/assets/webhook-redelivery.lambda/index.js +40 -31
  14. package/lib/access.js +1 -1
  15. package/lib/image-builders/api.js +1 -1
  16. package/lib/image-builders/aws-image-builder/ami.d.ts +1 -2
  17. package/lib/image-builders/aws-image-builder/ami.js +6 -13
  18. package/lib/image-builders/aws-image-builder/builder.d.ts +4 -2
  19. package/lib/image-builders/aws-image-builder/builder.js +36 -34
  20. package/lib/image-builders/aws-image-builder/container.d.ts +2 -2
  21. package/lib/image-builders/aws-image-builder/container.js +7 -12
  22. package/lib/image-builders/aws-image-builder/deprecated/ami.js +1 -1
  23. package/lib/image-builders/aws-image-builder/deprecated/container.js +1 -1
  24. package/lib/image-builders/aws-image-builder/deprecated/linux-components.js +1 -1
  25. package/lib/image-builders/aws-image-builder/deprecated/windows-components.js +1 -1
  26. package/lib/image-builders/aws-image-builder/index.d.ts +0 -1
  27. package/lib/image-builders/aws-image-builder/index.js +1 -2
  28. package/lib/image-builders/aws-image-builder/workflow.d.ts +4 -4
  29. package/lib/image-builders/aws-image-builder/workflow.js +7 -10
  30. package/lib/image-builders/codebuild-deprecated.js +1 -1
  31. package/lib/image-builders/components.js +1 -1
  32. package/lib/image-builders/static.js +1 -1
  33. package/lib/index.d.ts +1 -0
  34. package/lib/index.js +2 -1
  35. package/lib/providers/codebuild.d.ts +1 -0
  36. package/lib/providers/codebuild.js +22 -9
  37. package/lib/providers/common.d.ts +59 -0
  38. package/lib/providers/common.js +11 -4
  39. package/lib/providers/composite.d.ts +61 -0
  40. package/lib/providers/composite.js +229 -0
  41. package/lib/providers/ec2.d.ts +1 -0
  42. package/lib/providers/ec2.js +22 -13
  43. package/lib/providers/ecs.d.ts +4 -0
  44. package/lib/providers/ecs.js +16 -6
  45. package/lib/providers/fargate.d.ts +1 -0
  46. package/lib/providers/fargate.js +19 -9
  47. package/lib/providers/index.d.ts +1 -0
  48. package/lib/providers/index.js +2 -1
  49. package/lib/providers/lambda.d.ts +1 -0
  50. package/lib/providers/lambda.js +8 -5
  51. package/lib/runner.d.ts +29 -5
  52. package/lib/runner.js +57 -24
  53. package/lib/secrets.js +1 -1
  54. package/lib/webhook-handler.lambda.d.ts +11 -0
  55. package/lib/webhook-handler.lambda.js +81 -14
  56. package/lib/webhook.d.ts +52 -7
  57. package/lib/webhook.js +4 -2
  58. package/package.json +16 -20
  59. package/assets/image-builders/aws-image-builder/versioner.lambda/index.js +0 -2115
  60. package/lib/image-builders/aws-image-builder/common.d.ts +0 -10
  61. package/lib/image-builders/aws-image-builder/common.js +0 -48
  62. package/lib/image-builders/aws-image-builder/versioner-function.d.ts +0 -13
  63. package/lib/image-builders/aws-image-builder/versioner-function.js +0 -23
  64. package/lib/image-builders/aws-image-builder/versioner.lambda.d.ts +0 -7
  65. package/lib/image-builders/aws-image-builder/versioner.lambda.js +0 -115
package/lib/access.js CHANGED
@@ -59,7 +59,7 @@ class LambdaAccess {
59
59
  }
60
60
  exports.LambdaAccess = LambdaAccess;
61
61
  _a = JSII_RTTI_SYMBOL_1;
62
- LambdaAccess[_a] = { fqn: "@cloudsnorkel/cdk-github-runners.LambdaAccess", version: "0.14.14" };
62
+ LambdaAccess[_a] = { fqn: "@cloudsnorkel/cdk-github-runners.LambdaAccess", version: "0.14.16" };
63
63
  /**
64
64
  * @internal
65
65
  */
@@ -43,5 +43,5 @@ class RunnerImageBuilder extends common_1.RunnerImageBuilderBase {
43
43
  }
44
44
  exports.RunnerImageBuilder = RunnerImageBuilder;
45
45
  _a = JSII_RTTI_SYMBOL_1;
46
- RunnerImageBuilder[_a] = { fqn: "@cloudsnorkel/cdk-github-runners.RunnerImageBuilder", version: "0.14.14" };
46
+ RunnerImageBuilder[_a] = { fqn: "@cloudsnorkel/cdk-github-runners.RunnerImageBuilder", version: "0.14.16" };
47
47
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ltYWdlLWJ1aWxkZXJzL2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUEwQztBQUUxQywyREFBd0U7QUFDeEUsMkNBQTBEO0FBQzFELHFDQUFvSTtBQUNwSSw0Q0FBa0M7QUFFbEM7Ozs7OztHQU1HO0FBQ0gsTUFBc0Isa0JBQW1CLFNBQVEsK0JBQXNCO0lBQ3JFOztPQUVHO0lBQ0gsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUErQjtRQUN0RSxJQUFJLEtBQUssRUFBRSxVQUFVLElBQUksS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzdDLHlCQUFXLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLFVBQVUsQ0FBQyxrSEFBa0gsQ0FBQyxDQUFDO1FBQ3ZKLENBQUM7UUFFRCxJQUFJLEtBQUssRUFBRSxXQUFXLEtBQUssK0JBQXNCLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDN0QsT0FBTyxJQUFJLHVDQUEyQixDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDM0QsQ0FBQzthQUFNLElBQUksS0FBSyxFQUFFLFdBQVcsS0FBSywrQkFBc0IsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzNFLE9BQU8sSUFBSSxxREFBaUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2pFLENBQUM7UUFFRCxNQUFNLEVBQUUsR0FBRyxLQUFLLEVBQUUsRUFBRSxJQUFJLGNBQUUsQ0FBQyxZQUFZLENBQUM7UUFDeEMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLENBQUM7WUFDcEMsT0FBTyxJQUFJLHVDQUEyQixDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDM0QsQ0FBQzthQUFNLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxjQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUM3QixPQUFPLElBQUkscURBQWlDLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNqRSxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sSUFBSSxLQUFLLENBQUMsMERBQTBELEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZGLENBQUM7SUFDSCxDQUFDOztBQXZCSCxnREF3QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbm5vdGF0aW9ucyB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgQXdzSW1hZ2VCdWlsZGVyUnVubmVySW1hZ2VCdWlsZGVyIH0gZnJvbSAnLi9hd3MtaW1hZ2UtYnVpbGRlcic7XG5pbXBvcnQgeyBDb2RlQnVpbGRSdW5uZXJJbWFnZUJ1aWxkZXIgfSBmcm9tICcuL2NvZGVidWlsZCc7XG5pbXBvcnQgeyBJQ29uZmlndXJhYmxlUnVubmVySW1hZ2VCdWlsZGVyLCBSdW5uZXJJbWFnZUJ1aWxkZXJCYXNlLCBSdW5uZXJJbWFnZUJ1aWxkZXJQcm9wcywgUnVubmVySW1hZ2VCdWlsZGVyVHlwZSB9IGZyb20gJy4vY29tbW9uJztcbmltcG9ydCB7IE9zIH0gZnJvbSAnLi4vcHJvdmlkZXJzJztcblxuLyoqXG4gKiBHaXRIdWIgUnVubmVyIGltYWdlIGJ1aWxkZXIuIEJ1aWxkcyBhIERvY2tlciBpbWFnZSBvciBBTUkgd2l0aCBHaXRIdWIgUnVubmVyIGFuZCBvdGhlciByZXF1aXJlbWVudHMgaW5zdGFsbGVkLlxuICpcbiAqIEltYWdlcyBjYW4gYmUgY3VzdG9taXplZCBiZWZvcmUgcGFzc2VkIGludG8gdGhlIHByb3ZpZGVyIGJ5IGFkZGluZyBvciByZW1vdmluZyBjb21wb25lbnRzIHRvIGJlIGluc3RhbGxlZC5cbiAqXG4gKiBJbWFnZXMgYXJlIHJlYnVpbHQgZXZlcnkgd2VlayBieSBkZWZhdWx0IHRvIGVuc3VyZSB0aGF0IHRoZSBsYXRlc3Qgc2VjdXJpdHkgcGF0Y2hlcyBhcmUgYXBwbGllZC5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFJ1bm5lckltYWdlQnVpbGRlciBleHRlbmRzIFJ1bm5lckltYWdlQnVpbGRlckJhc2Uge1xuICAvKipcbiAgICogQ3JlYXRlIGEgbmV3IGltYWdlIGJ1aWxkZXIgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHByb3BlcnRpZXMuIFRoZSBpbXBsZW1lbnRhdGlvbiB3aWxsIGRpZmZlciBiYXNlZCBvbiB0aGUgT1MsIGFyY2hpdGVjdHVyZSwgYW5kIHJlcXVlc3RlZCBidWlsZGVyIHR5cGUuXG4gICAqL1xuICBzdGF0aWMgbmV3KHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzPzogUnVubmVySW1hZ2VCdWlsZGVyUHJvcHMpOiBJQ29uZmlndXJhYmxlUnVubmVySW1hZ2VCdWlsZGVyIHtcbiAgICBpZiAocHJvcHM/LmNvbXBvbmVudHMgJiYgcHJvcHMucnVubmVyVmVyc2lvbikge1xuICAgICAgQW5ub3RhdGlvbnMub2Yoc2NvcGUpLmFkZFdhcm5pbmcoJ3J1bm5lclZlcnNpb24gaXMgaWdub3JlZCB3aGVuIGNvbXBvbmVudHMgYXJlIHNwZWNpZmllZC4gVGhlIHJ1bm5lciB2ZXJzaW9uIHdpbGwgYmUgZGV0ZXJtaW5lZCBieSB0aGUgY29tcG9uZW50cy4nKTtcbiAgICB9XG5cbiAgICBpZiAocHJvcHM/LmJ1aWxkZXJUeXBlID09PSBSdW5uZXJJbWFnZUJ1aWxkZXJUeXBlLkNPREVfQlVJTEQpIHtcbiAgICAgIHJldHVybiBuZXcgQ29kZUJ1aWxkUnVubmVySW1hZ2VCdWlsZGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuICAgIH0gZWxzZSBpZiAocHJvcHM/LmJ1aWxkZXJUeXBlID09PSBSdW5uZXJJbWFnZUJ1aWxkZXJUeXBlLkFXU19JTUFHRV9CVUlMREVSKSB7XG4gICAgICByZXR1cm4gbmV3IEF3c0ltYWdlQnVpbGRlclJ1bm5lckltYWdlQnVpbGRlcihzY29wZSwgaWQsIHByb3BzKTtcbiAgICB9XG5cbiAgICBjb25zdCBvcyA9IHByb3BzPy5vcyA/PyBPcy5MSU5VWF9VQlVOVFU7XG4gICAgaWYgKG9zLmlzSW4oT3MuX0FMTF9MSU5VWF9WRVJTSU9OUykpIHtcbiAgICAgIHJldHVybiBuZXcgQ29kZUJ1aWxkUnVubmVySW1hZ2VCdWlsZGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuICAgIH0gZWxzZSBpZiAob3MuaXMoT3MuV0lORE9XUykpIHtcbiAgICAgIHJldHVybiBuZXcgQXdzSW1hZ2VCdWlsZGVyUnVubmVySW1hZ2VCdWlsZGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byBmaW5kIHJ1bm5lciBpbWFnZSBidWlsZGVyIGltcGxlbWVudGF0aW9uIGZvciAke29zLm5hbWV9YCk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,7 +1,6 @@
1
1
  import * as cdk from 'aws-cdk-lib';
2
2
  import { Construct } from 'constructs';
3
3
  import { ImageBuilderComponent } from './builder';
4
- import { ImageBuilderObjectBase } from './common';
5
4
  import { Architecture, Os } from '../../providers';
6
5
  /**
7
6
  * Properties for AmiRecipe construct.
@@ -41,7 +40,7 @@ interface AmiRecipeProperties {
41
40
  *
42
41
  * @internal
43
42
  */
44
- export declare class AmiRecipe extends ImageBuilderObjectBase {
43
+ export declare class AmiRecipe extends cdk.Resource {
45
44
  readonly arn: string;
46
45
  readonly name: string;
47
46
  readonly version: string;
@@ -4,15 +4,14 @@ exports.AmiRecipe = void 0;
4
4
  exports.defaultBaseAmi = defaultBaseAmi;
5
5
  const cdk = require("aws-cdk-lib");
6
6
  const aws_cdk_lib_1 = require("aws-cdk-lib");
7
- const common_1 = require("./common");
8
7
  const providers_1 = require("../../providers");
9
- const common_2 = require("../common");
8
+ const common_1 = require("../common");
10
9
  /**
11
10
  * Image builder recipe for Amazon Machine Image (AMI).
12
11
  *
13
12
  * @internal
14
13
  */
15
- class AmiRecipe extends common_1.ImageBuilderObjectBase {
14
+ class AmiRecipe extends cdk.Resource {
16
15
  constructor(scope, id, props) {
17
16
  super(scope, id);
18
17
  let components = props.components.map(component => {
@@ -29,14 +28,7 @@ class AmiRecipe extends common_1.ImageBuilderObjectBase {
29
28
  },
30
29
  },
31
30
  ] : undefined;
32
- this.name = (0, common_2.uniqueImageBuilderName)(this);
33
- this.version = this.generateVersion('ImageRecipe', this.name, {
34
- platform: props.platform,
35
- components,
36
- parentAmi: props.baseAmi,
37
- tags: props.tags,
38
- blockDeviceMappings,
39
- });
31
+ this.name = (0, common_1.uniqueImageBuilderName)(this);
40
32
  let workingDirectory;
41
33
  if (props.platform == 'Linux') {
42
34
  workingDirectory = '/home/runner';
@@ -49,7 +41,7 @@ class AmiRecipe extends common_1.ImageBuilderObjectBase {
49
41
  }
50
42
  const recipe = new aws_cdk_lib_1.aws_imagebuilder.CfnImageRecipe(this, 'Recipe', {
51
43
  name: this.name,
52
- version: this.version,
44
+ version: '1.0.x',
53
45
  parentImage: props.baseAmi,
54
46
  components,
55
47
  workingDirectory,
@@ -57,6 +49,7 @@ class AmiRecipe extends common_1.ImageBuilderObjectBase {
57
49
  blockDeviceMappings,
58
50
  });
59
51
  this.arn = recipe.attrArn;
52
+ this.version = recipe.getAtt('Version', cdk.ResolutionTypeHint.STRING).toString();
60
53
  }
61
54
  }
62
55
  exports.AmiRecipe = AmiRecipe;
@@ -119,4 +112,4 @@ function defaultBaseAmi(scope, os, architecture) {
119
112
  }
120
113
  throw new Error(`OS ${os.name} not supported for AMI runner image`);
121
114
  }
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1pLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ltYWdlLWJ1aWxkZXJzL2F3cy1pbWFnZS1idWlsZGVyL2FtaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUErR0Esd0NBMERDO0FBektELG1DQUFtQztBQUNuQyw2Q0FBK0Q7QUFHL0QscUNBQWtEO0FBQ2xELCtDQUFrRTtBQUNsRSxzQ0FBbUQ7QUF1Q25EOzs7O0dBSUc7QUFDSCxNQUFhLFNBQVUsU0FBUSwrQkFBc0I7SUFLbkQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUEwQjtRQUNsRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLElBQUksVUFBVSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ2hELE9BQU87Z0JBQ0wsWUFBWSxFQUFFLFNBQVMsQ0FBQyxHQUFHO2FBQzVCLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sbUJBQW1CLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDOUM7Z0JBQ0UsVUFBVSxFQUFFLElBQUEseUJBQWEsRUFBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUc7Z0JBQ2xELEdBQUcsRUFBRTtvQkFDSCxVQUFVLEVBQUUsS0FBSyxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUU7b0JBQzNDLG1CQUFtQixFQUFFLElBQUk7aUJBQzFCO2FBQ0Y7U0FDRixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFFZCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUEsK0JBQXNCLEVBQUMsSUFBSSxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQzVELFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtZ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QUNkLFlBQVksRUFBRSxrQkFBa0IsSUFBSSxRQUFRO1NBQzdDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsY0FBRSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQztRQUNoQyxPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUM7WUFDckIsT0FBTyxFQUFFLGNBQWM7WUFDdkIsUUFBUSxFQUFFLE9BQU87WUFDakIsT0FBTyxFQUFFLEtBQUs7WUFDZCxZQUFZLEVBQUUscUJBQXFCLElBQUksUUFBUTtTQUNoRCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLGNBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ3RCLE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQztZQUNyQixPQUFPLEVBQUUsY0FBYztZQUN2QixRQUFRLEVBQUUsT0FBTztZQUNqQixPQUFPLEVBQUUsS0FBSztZQUNkLFlBQVksRUFBRSx5Q0FBeUMsSUFBSSxRQUFRO1NBQ3BFLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUkscUNBQXFDLENBQUMsQ0FBQztBQUN0RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IGF3c19pbWFnZWJ1aWxkZXIgYXMgaW1hZ2VidWlsZGVyIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBJbWFnZUJ1aWxkZXJDb21wb25lbnQgfSBmcm9tICcuL2J1aWxkZXInO1xuaW1wb3J0IHsgSW1hZ2VCdWlsZGVyT2JqZWN0QmFzZSB9IGZyb20gJy4vY29tbW9uJztcbmltcG9ydCB7IGFtaVJvb3REZXZpY2UsIEFyY2hpdGVjdHVyZSwgT3MgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMnO1xuaW1wb3J0IHsgdW5pcXVlSW1hZ2VCdWlsZGVyTmFtZSB9IGZyb20gJy4uL2NvbW1vbic7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgQW1pUmVjaXBlIGNvbnN0cnVjdC5cbiAqXG4gKiBAaW50ZXJuYWxcbiAqL1xuaW50ZXJmYWNlIEFtaVJlY2lwZVByb3BlcnRpZXMge1xuICAvKipcbiAgICogVGFyZ2V0IHBsYXRmb3JtLiBNdXN0IG1hdGNoIGJ1aWxkZXIgcGxhdGZvcm0uXG4gICAqL1xuICByZWFkb25seSBwbGF0Zm9ybTogJ0xpbnV4JyB8ICdXaW5kb3dzJztcblxuICAvKipcbiAgICogVGFyZ2V0IGFyY2hpdGVjdHVyZS4gTXVzdCBtYXRjaCBidWlsZGVyIHBsYXRmb3JtLlxuICAgKi9cbiAgcmVhZG9ubHkgYXJjaGl0ZWN0dXJlOiBBcmNoaXRlY3R1cmU7XG5cbiAgLyoqXG4gICAqIEJhc2UgQU1JIHRvIHVzZSBmb3IgdGhlIG5ldyBydW5uZXIgQU1JLlxuICAgKi9cbiAgcmVhZG9ubHkgYmFzZUFtaTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTdG9yYWdlIHNpemUgZm9yIHRoZSBidWlsZGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RvcmFnZVNpemU/OiBjZGsuU2l6ZTtcblxuICAvKipcbiAgICogQ29tcG9uZW50cyB0byBhZGQgdG8gdGFyZ2V0IGNvbnRhaW5lciBpbWFnZS5cbiAgICovXG4gIHJlYWRvbmx5IGNvbXBvbmVudHM6IEltYWdlQnVpbGRlckNvbXBvbmVudFtdO1xuXG4gIC8qKlxuICAgKiBUYWdzIHRvIGFwcGx5IHRvIHRoZSByZWNpcGUgYW5kIGltYWdlLlxuICAgKi9cbiAgcmVhZG9ubHkgdGFnczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbn1cblxuLyoqXG4gKiBJbWFnZSBidWlsZGVyIHJlY2lwZSBmb3IgQW1hem9uIE1hY2hpbmUgSW1hZ2UgKEFNSSkuXG4gKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjbGFzcyBBbWlSZWNpcGUgZXh0ZW5kcyBJbWFnZUJ1aWxkZXJPYmplY3RCYXNlIHtcbiAgcHVibGljIHJlYWRvbmx5IGFybjogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBBbWlSZWNpcGVQcm9wZXJ0aWVzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGxldCBjb21wb25lbnRzID0gcHJvcHMuY29tcG9uZW50cy5tYXAoY29tcG9uZW50ID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNvbXBvbmVudEFybjogY29tcG9uZW50LmFybixcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICBjb25zdCBibG9ja0RldmljZU1hcHBpbmdzID0gcHJvcHMuc3RvcmFnZVNpemUgPyBbXG4gICAgICB7XG4gICAgICAgIGRldmljZU5hbWU6IGFtaVJvb3REZXZpY2UodGhpcywgcHJvcHMuYmFzZUFtaSkucmVmLFxuICAgICAgICBlYnM6IHtcbiAgICAgICAgICB2b2x1bWVTaXplOiBwcm9wcy5zdG9yYWdlU2l6ZS50b0dpYmlieXRlcygpLFxuICAgICAgICAgIGRlbGV0ZU9uVGVybWluYXRpb246IHRydWUsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIF0gOiB1bmRlZmluZWQ7XG5cbiAgICB0aGlzLm5hbWUgPSB1bmlxdWVJbWFnZUJ1aWxkZXJOYW1lKHRoaXMpO1xuICAgIHRoaXMudmVyc2lvbiA9IHRoaXMuZ2VuZXJhdGVWZXJzaW9uKCdJbWFnZVJlY2lwZScsIHRoaXMubmFtZSwge1xuICAgICAgcGxhdGZvcm06IHByb3BzLnBsYXRmb3JtLFxuICAgICAgY29tcG9uZW50cyxcbiAgICAgIHBhcmVudEFtaTogcHJvcHMuYmFzZUFtaSxcbiAgICAgIHRhZ3M6IHByb3BzLnRhZ3MsXG4gICAgICBibG9ja0RldmljZU1hcHBpbmdzLFxuICAgIH0pO1xuXG4gICAgbGV0IHdvcmtpbmdEaXJlY3Rvcnk7XG4gICAgaWYgKHByb3BzLnBsYXRmb3JtID09ICdMaW51eCcpIHtcbiAgICAgIHdvcmtpbmdEaXJlY3RvcnkgPSAnL2hvbWUvcnVubmVyJztcbiAgICB9IGVsc2UgaWYgKHByb3BzLnBsYXRmb3JtID09ICdXaW5kb3dzJykge1xuICAgICAgd29ya2luZ0RpcmVjdG9yeSA9ICdDOi8nOyAvLyBtdXN0IGV4aXN0IG9yIEltYWdlIEJ1aWxkZXIgZmFpbHMgYW5kIG11c3Qgbm90IGJlIGVtcHR5IG9yIGdpdCB3aWxsIHN0YWxsIGluc3RhbGxpbmcgZnJvbSB0aGUgZGVmYXVsdCB3aW5kb3dzXFxzeXN0ZW0zMlxuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIEFNSSByZWNpcGUgcGxhdGZvcm06ICR7cHJvcHMucGxhdGZvcm19YCk7XG4gICAgfVxuXG4gICAgY29uc3QgcmVjaXBlID0gbmV3IGltYWdlYnVpbGRlci5DZm5JbWFnZVJlY2lwZSh0aGlzLCAnUmVjaXBlJywge1xuICAgICAgbmFtZTogdGhpcy5uYW1lLFxuICAgICAgdmVyc2lvbjogdGhpcy52ZXJzaW9uLFxuICAgICAgcGFyZW50SW1hZ2U6IHByb3BzLmJhc2VBbWksXG4gICAgICBjb21wb25lbnRzLFxuICAgICAgd29ya2luZ0RpcmVjdG9yeSxcbiAgICAgIHRhZ3M6IHByb3BzLnRhZ3MsXG4gICAgICBibG9ja0RldmljZU1hcHBpbmdzLFxuICAgIH0pO1xuXG4gICAgdGhpcy5hcm4gPSByZWNpcGUuYXR0ckFybjtcbiAgfVxufVxuXG4vKipcbiAqIERlZmF1bHQgYmFzZSBBTUkgZm9yIGdpdmVuIE9TIGFuZCBhcmNoaXRlY3R1cmUuXG4gKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWZhdWx0QmFzZUFtaShzY29wZTogQ29uc3RydWN0LCBvczogT3MsIGFyY2hpdGVjdHVyZTogQXJjaGl0ZWN0dXJlKSB7XG4gIGNvbnN0IHN0YWNrID0gY2RrLlN0YWNrLm9mKHNjb3BlKTtcblxuICBsZXQgYXJjaDtcbiAgaWYgKGFyY2hpdGVjdHVyZS5pcyhBcmNoaXRlY3R1cmUuWDg2XzY0KSkge1xuICAgIGFyY2ggPSAneDg2JztcbiAgfSBlbHNlIGlmIChhcmNoaXRlY3R1cmUuaXMoQXJjaGl0ZWN0dXJlLkFSTTY0KSkge1xuICAgIGFyY2ggPSAnYXJtNjQnO1xuICB9IGVsc2Uge1xuICAgIHRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgYXJjaGl0ZWN0dXJlIGZvciBiYXNlIEFNSTogJHthcmNoaXRlY3R1cmUubmFtZX1gKTtcbiAgfVxuXG4gIGlmIChvcy5pcyhPcy5MSU5VWF9VQlVOVFUpIHx8IG9zLmlzKE9zLkxJTlVYX1VCVU5UVV8yMjA0KSB8fCBvcy5pcyhPcy5MSU5VWCkpIHtcbiAgICByZXR1cm4gc3RhY2suZm9ybWF0QXJuKHtcbiAgICAgIHNlcnZpY2U6ICdpbWFnZWJ1aWxkZXInLFxuICAgICAgcmVzb3VyY2U6ICdpbWFnZScsXG4gICAgICBhY2NvdW50OiAnYXdzJyxcbiAgICAgIHJlc291cmNlTmFtZTogYHVidW50dS1zZXJ2ZXItMjItbHRzLSR7YXJjaH0veC54LnhgLFxuICAgIH0pO1xuICB9XG5cbiAgaWYgKG9zLmlzKE9zLkxJTlVYX1VCVU5UVV8yNDA0KSkge1xuICAgIHJldHVybiBzdGFjay5mb3JtYXRBcm4oe1xuICAgICAgc2VydmljZTogJ2ltYWdlYnVpbGRlcicsXG4gICAgICByZXNvdXJjZTogJ2ltYWdlJyxcbiAgICAgIGFjY291bnQ6ICdhd3MnLFxuICAgICAgcmVzb3VyY2VOYW1lOiBgdWJ1bnR1LXNlcnZlci0yNC1sdHMtJHthcmNofS94LngueGAsXG4gICAgfSk7XG4gIH1cblxuICBpZiAob3MuaXMoT3MuTElOVVhfQU1BWk9OXzIpKSB7XG4gICAgcmV0dXJuIHN0YWNrLmZvcm1hdEFybih7XG4gICAgICBzZXJ2aWNlOiAnaW1hZ2VidWlsZGVyJyxcbiAgICAgIHJlc291cmNlOiAnaW1hZ2UnLFxuICAgICAgYWNjb3VudDogJ2F3cycsXG4gICAgICByZXNvdXJjZU5hbWU6IGBhbWF6b24tbGludXgtMi0ke2FyY2h9L3gueC54YCxcbiAgICB9KTtcbiAgfVxuXG4gIGlmIChvcy5pcyhPcy5MSU5VWF9BTUFaT05fMjAyMykpIHtcbiAgICByZXR1cm4gc3RhY2suZm9ybWF0QXJuKHtcbiAgICAgIHNlcnZpY2U6ICdpbWFnZWJ1aWxkZXInLFxuICAgICAgcmVzb3VyY2U6ICdpbWFnZScsXG4gICAgICBhY2NvdW50OiAnYXdzJyxcbiAgICAgIHJlc291cmNlTmFtZTogYGFtYXpvbi1saW51eC0yMDIzLSR7YXJjaH0veC54LnhgLFxuICAgIH0pO1xuICB9XG5cbiAgaWYgKG9zLmlzKE9zLldJTkRPV1MpKSB7XG4gICAgcmV0dXJuIHN0YWNrLmZvcm1hdEFybih7XG4gICAgICBzZXJ2aWNlOiAnaW1hZ2VidWlsZGVyJyxcbiAgICAgIHJlc291cmNlOiAnaW1hZ2UnLFxuICAgICAgYWNjb3VudDogJ2F3cycsXG4gICAgICByZXNvdXJjZU5hbWU6IGB3aW5kb3dzLXNlcnZlci0yMDIyLWVuZ2xpc2gtZnVsbC1iYXNlLSR7YXJjaH0veC54LnhgLFxuICAgIH0pO1xuICB9XG5cbiAgdGhyb3cgbmV3IEVycm9yKGBPUyAke29zLm5hbWV9IG5vdCBzdXBwb3J0ZWQgZm9yIEFNSSBydW5uZXIgaW1hZ2VgKTtcbn1cblxuIl19
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1pLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ltYWdlLWJ1aWxkZXJzL2F3cy1pbWFnZS1idWlsZGVyL2FtaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUF3R0Esd0NBMERDO0FBbEtELG1DQUFtQztBQUNuQyw2Q0FBK0Q7QUFHL0QsK0NBQWtFO0FBQ2xFLHNDQUFtRDtBQXVDbkQ7Ozs7R0FJRztBQUNILE1BQWEsU0FBVSxTQUFRLEdBQUcsQ0FBQyxRQUFRO0lBS3pDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBMEI7UUFDbEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLFVBQVUsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUNoRCxPQUFPO2dCQUNMLFlBQVksRUFBRSxTQUFTLENBQUMsR0FBRzthQUM1QixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLG1CQUFtQixHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQzlDO2dCQUNFLFVBQVUsRUFBRSxJQUFBLHlCQUFhLEVBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHO2dCQUNsRCxHQUFHLEVBQUU7b0JBQ0gsVUFBVSxFQUFFLEtBQUssQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFO29CQUMzQyxtQkFBbUIsRUFBRSxJQUFJO2lCQUMxQjthQUNGO1NBQ0YsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBRWQsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFBLCtCQUFzQixFQUFDLElBQUksQ0FBQyxDQUFDO1FBRXpDLElBQUksZ0JBQWdCLENBQUM7UUFDckIsSUFBSSxLQUFLLENBQUMsUUFBUSxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQzlCLGdCQUFnQixHQUFHLGNBQWMsQ0FBQztRQUNwQyxDQUFDO2FBQU0s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Q0FBQztRQUNoQyxPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUM7WUFDckIsT0FBTyxFQUFFLGNBQWM7WUFDdkIsUUFBUSxFQUFFLE9BQU87WUFDakIsT0FBTyxFQUFFLEtBQUs7WUFDZCxZQUFZLEVBQUUscUJBQXFCLElBQUksUUFBUTtTQUNoRCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLGNBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ3RCLE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQztZQUNyQixPQUFPLEVBQUUsY0FBYztZQUN2QixRQUFRLEVBQUUsT0FBTztZQUNqQixPQUFPLEVBQUUsS0FBSztZQUNkLFlBQVksRUFBRSx5Q0FBeUMsSUFBSSxRQUFRO1NBQ3BFLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUkscUNBQXFDLENBQUMsQ0FBQztBQUN0RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IGF3c19pbWFnZWJ1aWxkZXIgYXMgaW1hZ2VidWlsZGVyIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBJbWFnZUJ1aWxkZXJDb21wb25lbnQgfSBmcm9tICcuL2J1aWxkZXInO1xuaW1wb3J0IHsgYW1pUm9vdERldmljZSwgQXJjaGl0ZWN0dXJlLCBPcyB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycyc7XG5pbXBvcnQgeyB1bmlxdWVJbWFnZUJ1aWxkZXJOYW1lIH0gZnJvbSAnLi4vY29tbW9uJztcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBBbWlSZWNpcGUgY29uc3RydWN0LlxuICpcbiAqIEBpbnRlcm5hbFxuICovXG5pbnRlcmZhY2UgQW1pUmVjaXBlUHJvcGVydGllcyB7XG4gIC8qKlxuICAgKiBUYXJnZXQgcGxhdGZvcm0uIE11c3QgbWF0Y2ggYnVpbGRlciBwbGF0Zm9ybS5cbiAgICovXG4gIHJlYWRvbmx5IHBsYXRmb3JtOiAnTGludXgnIHwgJ1dpbmRvd3MnO1xuXG4gIC8qKlxuICAgKiBUYXJnZXQgYXJjaGl0ZWN0dXJlLiBNdXN0IG1hdGNoIGJ1aWxkZXIgcGxhdGZvcm0uXG4gICAqL1xuICByZWFkb25seSBhcmNoaXRlY3R1cmU6IEFyY2hpdGVjdHVyZTtcblxuICAvKipcbiAgICogQmFzZSBBTUkgdG8gdXNlIGZvciB0aGUgbmV3IHJ1bm5lciBBTUkuXG4gICAqL1xuICByZWFkb25seSBiYXNlQW1pOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFN0b3JhZ2Ugc2l6ZSBmb3IgdGhlIGJ1aWxkZXIuXG4gICAqL1xuICByZWFkb25seSBzdG9yYWdlU2l6ZT86IGNkay5TaXplO1xuXG4gIC8qKlxuICAgKiBDb21wb25lbnRzIHRvIGFkZCB0byB0YXJnZXQgY29udGFpbmVyIGltYWdlLlxuICAgKi9cbiAgcmVhZG9ubHkgY29tcG9uZW50czogSW1hZ2VCdWlsZGVyQ29tcG9uZW50W107XG5cbiAgLyoqXG4gICAqIFRhZ3MgdG8gYXBwbHkgdG8gdGhlIHJlY2lwZSBhbmQgaW1hZ2UuXG4gICAqL1xuICByZWFkb25seSB0YWdzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xufVxuXG4vKipcbiAqIEltYWdlIGJ1aWxkZXIgcmVjaXBlIGZvciBBbWF6b24gTWFjaGluZSBJbWFnZSAoQU1JKS5cbiAqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNsYXNzIEFtaVJlY2lwZSBleHRlbmRzIGNkay5SZXNvdXJjZSB7XG4gIHB1YmxpYyByZWFkb25seSBhcm46IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IHZlcnNpb246IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQW1pUmVjaXBlUHJvcGVydGllcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBsZXQgY29tcG9uZW50cyA9IHByb3BzLmNvbXBvbmVudHMubWFwKGNvbXBvbmVudCA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBjb21wb25lbnRBcm46IGNvbXBvbmVudC5hcm4sXG4gICAgICB9O1xuICAgIH0pO1xuXG4gICAgY29uc3QgYmxvY2tEZXZpY2VNYXBwaW5ncyA9IHByb3BzLnN0b3JhZ2VTaXplID8gW1xuICAgICAge1xuICAgICAgICBkZXZpY2VOYW1lOiBhbWlSb290RGV2aWNlKHRoaXMsIHByb3BzLmJhc2VBbWkpLnJlZixcbiAgICAgICAgZWJzOiB7XG4gICAgICAgICAgdm9sdW1lU2l6ZTogcHJvcHMuc3RvcmFnZVNpemUudG9HaWJpYnl0ZXMoKSxcbiAgICAgICAgICBkZWxldGVPblRlcm1pbmF0aW9uOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICBdIDogdW5kZWZpbmVkO1xuXG4gICAgdGhpcy5uYW1lID0gdW5pcXVlSW1hZ2VCdWlsZGVyTmFtZSh0aGlzKTtcblxuICAgIGxldCB3b3JraW5nRGlyZWN0b3J5O1xuICAgIGlmIChwcm9wcy5wbGF0Zm9ybSA9PSAnTGludXgnKSB7XG4gICAgICB3b3JraW5nRGlyZWN0b3J5ID0gJy9ob21lL3J1bm5lcic7XG4gICAgfSBlbHNlIGlmIChwcm9wcy5wbGF0Zm9ybSA9PSAnV2luZG93cycpIHtcbiAgICAgIHdvcmtpbmdEaXJlY3RvcnkgPSAnQzovJzsgLy8gbXVzdCBleGlzdCBvciBJbWFnZSBCdWlsZGVyIGZhaWxzIGFuZCBtdXN0IG5vdCBiZSBlbXB0eSBvciBnaXQgd2lsbCBzdGFsbCBpbnN0YWxsaW5nIGZyb20gdGhlIGRlZmF1bHQgd2luZG93c1xcc3lzdGVtMzJcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbnN1cHBvcnRlZCBBTUkgcmVjaXBlIHBsYXRmb3JtOiAke3Byb3BzLnBsYXRmb3JtfWApO1xuICAgIH1cblxuICAgIGNvbnN0IHJlY2lwZSA9IG5ldyBpbWFnZWJ1aWxkZXIuQ2ZuSW1hZ2VSZWNpcGUodGhpcywgJ1JlY2lwZScsIHtcbiAgICAgIG5hbWU6IHRoaXMubmFtZSxcbiAgICAgIHZlcnNpb246ICcxLjAueCcsXG4gICAgICBwYXJlbnRJbWFnZTogcHJvcHMuYmFzZUFtaSxcbiAgICAgIGNvbXBvbmVudHMsXG4gICAgICB3b3JraW5nRGlyZWN0b3J5LFxuICAgICAgdGFnczogcHJvcHMudGFncyxcbiAgICAgIGJsb2NrRGV2aWNlTWFwcGluZ3MsXG4gICAgfSk7XG5cbiAgICB0aGlzLmFybiA9IHJlY2lwZS5hdHRyQXJuO1xuICAgIHRoaXMudmVyc2lvbiA9IHJlY2lwZS5nZXRBdHQoJ1ZlcnNpb24nLCBjZGsuUmVzb2x1dGlvblR5cGVIaW50LlNUUklORykudG9TdHJpbmcoKTtcbiAgfVxufVxuXG4vKipcbiAqIERlZmF1bHQgYmFzZSBBTUkgZm9yIGdpdmVuIE9TIGFuZCBhcmNoaXRlY3R1cmUuXG4gKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWZhdWx0QmFzZUFtaShzY29wZTogQ29uc3RydWN0LCBvczogT3MsIGFyY2hpdGVjdHVyZTogQXJjaGl0ZWN0dXJlKSB7XG4gIGNvbnN0IHN0YWNrID0gY2RrLlN0YWNrLm9mKHNjb3BlKTtcblxuICBsZXQgYXJjaDtcbiAgaWYgKGFyY2hpdGVjdHVyZS5pcyhBcmNoaXRlY3R1cmUuWDg2XzY0KSkge1xuICAgIGFyY2ggPSAneDg2JztcbiAgfSBlbHNlIGlmIChhcmNoaXRlY3R1cmUuaXMoQXJjaGl0ZWN0dXJlLkFSTTY0KSkge1xuICAgIGFyY2ggPSAnYXJtNjQnO1xuICB9IGVsc2Uge1xuICAgIHRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgYXJjaGl0ZWN0dXJlIGZvciBiYXNlIEFNSTogJHthcmNoaXRlY3R1cmUubmFtZX1gKTtcbiAgfVxuXG4gIGlmIChvcy5pcyhPcy5MSU5VWF9VQlVOVFUpIHx8IG9zLmlzKE9zLkxJTlVYX1VCVU5UVV8yMjA0KSB8fCBvcy5pcyhPcy5MSU5VWCkpIHtcbiAgICByZXR1cm4gc3RhY2suZm9ybWF0QXJuKHtcbiAgICAgIHNlcnZpY2U6ICdpbWFnZWJ1aWxkZXInLFxuICAgICAgcmVzb3VyY2U6ICdpbWFnZScsXG4gICAgICBhY2NvdW50OiAnYXdzJyxcbiAgICAgIHJlc291cmNlTmFtZTogYHVidW50dS1zZXJ2ZXItMjItbHRzLSR7YXJjaH0veC54LnhgLFxuICAgIH0pO1xuICB9XG5cbiAgaWYgKG9zLmlzKE9zLkxJTlVYX1VCVU5UVV8yNDA0KSkge1xuICAgIHJldHVybiBzdGFjay5mb3JtYXRBcm4oe1xuICAgICAgc2VydmljZTogJ2ltYWdlYnVpbGRlcicsXG4gICAgICByZXNvdXJjZTogJ2ltYWdlJyxcbiAgICAgIGFjY291bnQ6ICdhd3MnLFxuICAgICAgcmVzb3VyY2VOYW1lOiBgdWJ1bnR1LXNlcnZlci0yNC1sdHMtJHthcmNofS94LngueGAsXG4gICAgfSk7XG4gIH1cblxuICBpZiAob3MuaXMoT3MuTElOVVhfQU1BWk9OXzIpKSB7XG4gICAgcmV0dXJuIHN0YWNrLmZvcm1hdEFybih7XG4gICAgICBzZXJ2aWNlOiAnaW1hZ2VidWlsZGVyJyxcbiAgICAgIHJlc291cmNlOiAnaW1hZ2UnLFxuICAgICAgYWNjb3VudDogJ2F3cycsXG4gICAgICByZXNvdXJjZU5hbWU6IGBhbWF6b24tbGludXgtMi0ke2FyY2h9L3gueC54YCxcbiAgICB9KTtcbiAgfVxuXG4gIGlmIChvcy5pcyhPcy5MSU5VWF9BTUFaT05fMjAyMykpIHtcbiAgICByZXR1cm4gc3RhY2suZm9ybWF0QXJuKHtcbiAgICAgIHNlcnZpY2U6ICdpbWFnZWJ1aWxkZXInLFxuICAgICAgcmVzb3VyY2U6ICdpbWFnZScsXG4gICAgICBhY2NvdW50OiAnYXdzJyxcbiAgICAgIHJlc291cmNlTmFtZTogYGFtYXpvbi1saW51eC0yMDIzLSR7YXJjaH0veC54LnhgLFxuICAgIH0pO1xuICB9XG5cbiAgaWYgKG9zLmlzKE9zLldJTkRPV1MpKSB7XG4gICAgcmV0dXJuIHN0YWNrLmZvcm1hdEFybih7XG4gICAgICBzZXJ2aWNlOiAnaW1hZ2VidWlsZGVyJyxcbiAgICAgIHJlc291cmNlOiAnaW1hZ2UnLFxuICAgICAgYWNjb3VudDogJ2F3cycsXG4gICAgICByZXNvdXJjZU5hbWU6IGB3aW5kb3dzLXNlcnZlci0yMDIyLWVuZ2xpc2gtZnVsbC1iYXNlLSR7YXJjaH0veC54LnhgLFxuICAgIH0pO1xuICB9XG5cbiAgdGhyb3cgbmV3IEVycm9yKGBPUyAke29zLm5hbWV9IG5vdCBzdXBwb3J0ZWQgZm9yIEFNSSBydW5uZXIgaW1hZ2VgKTtcbn1cblxuIl19
@@ -1,7 +1,6 @@
1
1
  import * as cdk from 'aws-cdk-lib';
2
2
  import { aws_ec2 as ec2, aws_iam as iam, aws_imagebuilder as imagebuilder, aws_logs as logs, aws_s3_assets as s3_assets, aws_sns as sns } from 'aws-cdk-lib';
3
3
  import { Construct, IConstruct } from 'constructs';
4
- import { ImageBuilderObjectBase } from './common';
5
4
  import { RunnerAmi, RunnerImage } from '../../providers';
6
5
  import { RunnerImageBuilderBase, RunnerImageBuilderProps } from '../common';
7
6
  export interface AwsImageBuilderRunnerImageBuilderProps {
@@ -123,7 +122,7 @@ export interface ImageBuilderComponentProperties {
123
122
  *
124
123
  * @deprecated Use `RunnerImageComponent` instead as this be internal soon.
125
124
  */
126
- export declare class ImageBuilderComponent extends ImageBuilderObjectBase {
125
+ export declare class ImageBuilderComponent extends cdk.Resource {
127
126
  /**
128
127
  * Component ARN.
129
128
  */
@@ -167,6 +166,8 @@ export declare class AwsImageBuilderRunnerImageBuilder extends RunnerImageBuilde
167
166
  private readonly waitOnDeploy;
168
167
  private readonly dockerSetupCommands;
169
168
  private readonly tags;
169
+ private readonly containerWorkflow?;
170
+ private readonly containerWorkflowExecutionRole?;
170
171
  constructor(scope: Construct, id: string, props?: RunnerImageBuilderProps);
171
172
  private platform;
172
173
  /**
@@ -176,6 +177,7 @@ export declare class AwsImageBuilderRunnerImageBuilder extends RunnerImageBuilde
176
177
  private dockerImageCleaner;
177
178
  protected createLog(id: string, recipeName: string): logs.LogGroup;
178
179
  protected createInfrastructure(managedPolicies: iam.IManagedPolicy[]): imagebuilder.CfnInfrastructureConfiguration;
180
+ private workflowConfig;
179
181
  protected createImage(infra: imagebuilder.CfnInfrastructureConfiguration, dist: imagebuilder.CfnDistributionConfiguration, log: logs.LogGroup, imageRecipeArn?: string, containerRecipeArn?: string): imagebuilder.CfnImage;
180
182
  private amiOrContainerId;
181
183
  protected createPipeline(infra: imagebuilder.CfnInfrastructureConfiguration, dist: imagebuilder.CfnDistributionConfiguration, log: logs.LogGroup, imageRecipeArn?: string, containerRecipeArn?: string): imagebuilder.CfnImagePipeline;