@flit/cdk-pipeline 1.0.3 → 1.0.4
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.
- package/dist/artifact.d.ts +11 -0
- package/dist/artifact.js +30 -0
- package/dist/index.js +24 -0
- package/dist/pipeline-segment.d.ts +53 -0
- package/dist/pipeline-segment.js +29 -0
- package/dist/pipeline.d.ts +29 -0
- package/dist/pipeline.js +61 -0
- package/dist/publish-assets-action.d.ts +16 -0
- package/dist/publish-assets-action.js +80 -0
- package/dist/segment.d.ts +22 -0
- package/dist/segment.js +42 -0
- package/dist/source-segment.d.ts +45 -0
- package/dist/source-segment.js +45 -0
- package/dist/stack-segment.d.ts +77 -0
- package/dist/stack-segment.js +115 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +4 -1
- package/.jsii +0 -5662
- package/src/artifact.ts +0 -24
- package/src/pipeline-segment.ts +0 -68
- package/src/pipeline.ts +0 -94
- package/src/publish-assets-action.ts +0 -126
- package/src/segment.ts +0 -45
- package/src/source-segment.ts +0 -71
- package/src/stack-segment.ts +0 -195
- package/tsconfig.tsbuildinfo +0 -1
- /package/{src/index.ts → dist/index.d.ts} +0 -0
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a, _b;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.StackSegmentConstructed = exports.StackSegment = void 0;
|
|
5
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
+
const aws_codebuild_1 = require("aws-cdk-lib/aws-codebuild");
|
|
7
|
+
const aws_codepipeline_actions_1 = require("aws-cdk-lib/aws-codepipeline-actions");
|
|
8
|
+
const path = require("path");
|
|
9
|
+
const publish_assets_action_1 = require("./publish-assets-action");
|
|
10
|
+
const artifact_1 = require("./artifact");
|
|
11
|
+
const segment_1 = require("./segment");
|
|
12
|
+
/**
|
|
13
|
+
* @category Segments
|
|
14
|
+
*/
|
|
15
|
+
class StackSegment extends segment_1.Segment {
|
|
16
|
+
constructor(props) {
|
|
17
|
+
super(props);
|
|
18
|
+
this.props = props;
|
|
19
|
+
}
|
|
20
|
+
construct(scope) {
|
|
21
|
+
return new StackSegmentConstructed(scope, `Deploy${this.props.stack.stackName}`, {
|
|
22
|
+
...this.props,
|
|
23
|
+
input: this.inputs[0],
|
|
24
|
+
extraInputs: this.inputs.slice(1),
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
29
|
+
StackSegment[_a] = { fqn: "@flit/cdk-pipeline.StackSegment", version: "1.0.4" };
|
|
30
|
+
exports.StackSegment = StackSegment;
|
|
31
|
+
class StackSegmentConstructed extends segment_1.SegmentConstructed {
|
|
32
|
+
constructor(scope, id, props) {
|
|
33
|
+
super(scope, id);
|
|
34
|
+
this.name = props.stack.stackName;
|
|
35
|
+
const buildArtifact = new artifact_1.Artifact();
|
|
36
|
+
this.actions = [
|
|
37
|
+
new aws_codepipeline_actions_1.CodeBuildAction({
|
|
38
|
+
actionName: "Build",
|
|
39
|
+
runOrder: 1,
|
|
40
|
+
input: props.input,
|
|
41
|
+
extraInputs: props.extraInputs,
|
|
42
|
+
outputs: [buildArtifact],
|
|
43
|
+
environmentVariables: props.environmentVariables,
|
|
44
|
+
project: new aws_codebuild_1.Project(this, "UpdateCodeBuild", {
|
|
45
|
+
environment: {
|
|
46
|
+
computeType: aws_codebuild_1.ComputeType.MEDIUM,
|
|
47
|
+
buildImage: aws_codebuild_1.LinuxBuildImage.AMAZON_LINUX_2_4,
|
|
48
|
+
privileged: true,
|
|
49
|
+
},
|
|
50
|
+
buildSpec: aws_codebuild_1.BuildSpec.fromObject({
|
|
51
|
+
version: "0.2",
|
|
52
|
+
phases: {
|
|
53
|
+
install: {
|
|
54
|
+
"runtime-versions": {
|
|
55
|
+
docker: 20,
|
|
56
|
+
nodejs: 18,
|
|
57
|
+
},
|
|
58
|
+
commands: ["npm ci"],
|
|
59
|
+
},
|
|
60
|
+
build: {
|
|
61
|
+
commands: props.command,
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
artifacts: {
|
|
65
|
+
files: [path.join(scope.buildDir, "**/*")],
|
|
66
|
+
},
|
|
67
|
+
cache: {
|
|
68
|
+
paths: ["/root/.npm/**/*"],
|
|
69
|
+
},
|
|
70
|
+
}),
|
|
71
|
+
}),
|
|
72
|
+
}),
|
|
73
|
+
new publish_assets_action_1.PublishAssetsAction(this, "PublishAssets", {
|
|
74
|
+
actionName: "PublishAssets",
|
|
75
|
+
runOrder: 2,
|
|
76
|
+
input: buildArtifact,
|
|
77
|
+
manifestPath: scope.buildDir,
|
|
78
|
+
}),
|
|
79
|
+
new aws_codepipeline_actions_1.CloudFormationCreateReplaceChangeSetAction({
|
|
80
|
+
actionName: "PrepareChanges",
|
|
81
|
+
runOrder: 3,
|
|
82
|
+
stackName: props.stackName ? props.stackName : props.stack.stackName,
|
|
83
|
+
account: props.account,
|
|
84
|
+
region: props.region,
|
|
85
|
+
changeSetName: `${props.stack.stackName}Changes`,
|
|
86
|
+
adminPermissions: true,
|
|
87
|
+
templatePath: buildArtifact.atPath(path.join(scope.buildDir, props.stack.templateFile)),
|
|
88
|
+
}),
|
|
89
|
+
...(props.manualApproval
|
|
90
|
+
? [
|
|
91
|
+
new aws_codepipeline_actions_1.ManualApprovalAction({
|
|
92
|
+
actionName: "ApproveChanges",
|
|
93
|
+
runOrder: 4,
|
|
94
|
+
}),
|
|
95
|
+
]
|
|
96
|
+
: []),
|
|
97
|
+
new aws_codepipeline_actions_1.CloudFormationExecuteChangeSetAction({
|
|
98
|
+
actionName: "ExecuteChanges",
|
|
99
|
+
runOrder: props.manualApproval ? 5 : 4,
|
|
100
|
+
stackName: props.stackName ? props.stackName : props.stack.stackName,
|
|
101
|
+
account: props.account,
|
|
102
|
+
region: props.region,
|
|
103
|
+
changeSetName: `${props.stack.stackName}Changes`,
|
|
104
|
+
output: props.output,
|
|
105
|
+
outputFileName: props.output
|
|
106
|
+
? `${props.stack.stackName}Output.json`
|
|
107
|
+
: undefined,
|
|
108
|
+
}),
|
|
109
|
+
];
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
_b = JSII_RTTI_SYMBOL_1;
|
|
113
|
+
StackSegmentConstructed[_b] = { fqn: "@flit/cdk-pipeline.StackSegmentConstructed", version: "1.0.4" };
|
|
114
|
+
exports.StackSegmentConstructed = StackSegmentConstructed;
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhY2stc2VnbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9zdGFjay1zZWdtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsNkRBTW1DO0FBRW5DLG1GQUs4QztBQUM5Qyw2QkFBNkI7QUFFN0IsbUVBQThEO0FBQzlELHlDQUFzQztBQUN0Qyx1Q0FBd0Q7QUE4Q3hEOztHQUVHO0FBQ0gsTUFBYSxZQUFhLFNBQVEsaUJBQU87SUFHdkMsWUFBWSxLQUF3QjtRQUNsQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDYixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQWU7UUFDdkIsT0FBTyxJQUFJLHVCQUF1QixDQUNoQyxLQUFLLEVBQ0wsU0FBUyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsRUFDckM7WUFDRSxHQUFHLElBQUksQ0FBQyxLQUFLO1lBQ2IsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ3JCLFdBQVcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDbEMsQ0FDRixDQUFDO0lBQ0osQ0FBQzs7OztBQWxCVSxvQ0FBWTtBQWtDekIsTUFBYSx1QkFBd0IsU0FBUSw0QkFBa0I7SUFJN0QsWUFDRSxLQUFlLEVBQ2YsRUFBVSxFQUNWLEtBQW1DO1FBRW5DLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQztRQUVsQyxNQUFNLGFBQWEsR0FBRyxJQUFJLG1CQUFRLEVBQUUsQ0FBQztRQUVyQyxJQUFJLENBQUMsT0FBTyxHQUFHO1lBQ2IsSUFBSSwwQ0FBZSxDQUFDO2dCQUNsQixVQUFVLEVBQUUsT0FBTztnQkFDbkIsUUFBUSxFQUFF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LENBQUMsS0FBSyxDQUFDLFNBQVMsU0FBUztnQkFDaEQsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO2dCQUNwQixjQUFjLEVBQUUsS0FBSyxDQUFDLE1BQU07b0JBQzFCLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxhQUFhO29CQUN2QyxDQUFDLENBQUMsU0FBUzthQUNkLENBQUM7U0FDSCxDQUFDO0lBQ0osQ0FBQzs7OztBQTNGVSwwREFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdGFjayB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHtcbiAgQnVpbGRFbnZpcm9ubWVudFZhcmlhYmxlLFxuICBCdWlsZFNwZWMsXG4gIENvbXB1dGVUeXBlLFxuICBMaW51eEJ1aWxkSW1hZ2UsXG4gIFByb2plY3QsXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY29kZWJ1aWxkXCI7XG5pbXBvcnQgeyBJQWN0aW9uIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jb2RlcGlwZWxpbmVcIjtcbmltcG9ydCB7XG4gIENsb3VkRm9ybWF0aW9uQ3JlYXRlUmVwbGFjZUNoYW5nZVNldEFjdGlvbixcbiAgQ2xvdWRGb3JtYXRpb25FeGVjdXRlQ2hhbmdlU2V0QWN0aW9uLFxuICBDb2RlQnVpbGRBY3Rpb24sXG4gIE1hbnVhbEFwcHJvdmFsQWN0aW9uLFxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNvZGVwaXBlbGluZS1hY3Rpb25zXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5cbmltcG9ydCB7IFB1Ymxpc2hBc3NldHNBY3Rpb24gfSBmcm9tIFwiLi9wdWJsaXNoLWFzc2V0cy1hY3Rpb25cIjtcbmltcG9ydCB7IEFydGlmYWN0IH0gZnJvbSBcIi4vYXJ0aWZhY3RcIjtcbmltcG9ydCB7IFNlZ21lbnQsIFNlZ21lbnRDb25zdHJ1Y3RlZCB9IGZyb20gXCIuL3NlZ21lbnRcIjtcbmltcG9ydCB7IFBpcGVsaW5lIH0gZnJvbSBcIi4vcGlwZWxpbmVcIjtcblxuZXhwb3J0IGludGVyZmFjZSBTdGFja1NlZ21lbnRQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgc3RhY2sgdG8gYmUgZGVwbG95ZWQgaW4gdGhpcyBzZWdtZW50LlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhY2s6IFN0YWNrO1xuICAvKipcbiAgICogVGhlIGlucHV0IGFyZmlmYWN0IGZvciB0aGUgYnVpbGQgc3RhZ2UuXG4gICAqL1xuICByZWFkb25seSBpbnB1dDogQXJ0aWZhY3QgfCBBcnRpZmFjdFtdO1xuICAvKipcbiAgICogVGhlIGNvbW1hbmQocykgdG8gYnVpbGQgdGhlIHN0YWNrLlxuICAgKiBAZXhhbXBsZSBcImNkayBzeW50aCBTdGFja05hbWUgLS1zdHJpY3QgLS1leGNsdXNpdmVseVwiXG4gICAqL1xuICByZWFkb25seSBjb21tYW5kOiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIFRoZSBlbnZpcm9ubWVudGFsIHZhcmlhYmxlcyBmb3IgdGhlIGJ1aWxkIHN0YWdlLlxuICAgKi9cbiAgcmVhZG9ubHkgZW52aXJvbm1lbnRWYXJpYWJsZXM/OiB7IFtrZXk6IHN0cmluZ106IEJ1aWxkRW52aXJvbm1lbnRWYXJpYWJsZSB9O1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHN0YWNrIHRvIGRlcGxveSB0aGUgY2hhbmdlcyB0by5cbiAgICogQGRlYWZ1bHQgVGhlIG5hbWUgb2YgdGhlIGdpdmVuIHN0YWNrLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhY2tOYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIEFXUyBhY2NvdW50IHRoaXMgQWN0aW9uIGlzIHN1cHBvc2VkIHRvIG9wZXJhdGUgaW4uXG4gICAqL1xuICByZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIEFXUyByZWdpb24gdGhlIGdpdmVuIEFjdGlvbiByZXNpZGVzIGluLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGFydGlmYWN0IHRvIGhvbGQgdGhlIHN0YWNrIGRlcGxveW1lbnQgb3V0cHV0IGZpbGUuXG4gICAqIEBkZWZhdWx0IG5vIG91dHB1dCBhcnRpZmFjdFxuICAgKi9cbiAgcmVhZG9ubHkgb3V0cHV0PzogQXJ0aWZhY3Q7XG4gIC8qKlxuICAgKiBEb2VzIHRoaXMgc3RhZ2UgcmVxdWlyZSBtYW51YWwgYXBwcm92YWwgb2YgdGhlIGNoYW5nZSBzZXQ/XG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBtYW51YWxBcHByb3ZhbD86IEJvb2xlYW47XG59XG5cbi8qKlxuICogQGNhdGVnb3J5IFNlZ21lbnRzXG4gKi9cbmV4cG9ydCBjbGFzcyBTdGFja1NlZ21lbnQgZXh0ZW5kcyBTZWdtZW50IHtcbiAgcmVhZG9ubHkgcHJvcHM6IFN0YWNrU2VnbWVudFByb3BzO1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzOiBTdGFja1NlZ21lbnRQcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcbiAgICB0aGlzLnByb3BzID0gcHJvcHM7XG4gIH1cblxuICBjb25zdHJ1Y3Qoc2NvcGU6IFBpcGVsaW5lKTogU2VnbWVudENvbnN0cnVjdGVkIHtcbiAgICByZXR1cm4gbmV3IFN0YWNrU2VnbWVudENvbnN0cnVjdGVkKFxuICAgICAgc2NvcGUsXG4gICAgICBgRGVwbG95JHt0aGlzLnByb3BzLnN0YWNrLnN0YWNrTmFtZX1gLFxuICAgICAge1xuICAgICAgICAuLi50aGlzLnByb3BzLFxuICAgICAgICBpbnB1dDogdGhpcy5pbnB1dHNbMF0sXG4gICAgICAgIGV4dHJhSW5wdXRzOiB0aGlzLmlucHV0cy5zbGljZSgxKSxcbiAgICAgIH1cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhY2tTZWdtZW50Q29uc3RydWN0ZWRQcm9wcyB7XG4gIHJlYWRvbmx5IHN0YWNrOiBTdGFjaztcbiAgcmVhZG9ubHkgY29tbWFuZDogc3RyaW5nIHwgc3RyaW5nW107XG4gIHJlYWRvbmx5IGVudmlyb25tZW50VmFyaWFibGVzPzogeyBba2V5OiBzdHJpbmddOiBCdWlsZEVudmlyb25tZW50VmFyaWFibGUgfTtcbiAgcmVhZG9ubHkgc3RhY2tOYW1lPzogc3RyaW5nO1xuICByZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuICByZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGlucHV0OiBBcnRpZmFjdDtcbiAgcmVhZG9ubHkgZXh0cmFJbnB1dHM/OiBBcnRpZmFjdFtdO1xuICByZWFkb25seSBvdXRwdXQ/OiBBcnRpZmFjdDtcbiAgcmVhZG9ubHkgbWFudWFsQXBwcm92YWw/OiBCb29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgU3RhY2tTZWdtZW50Q29uc3RydWN0ZWQgZXh0ZW5kcyBTZWdtZW50Q29uc3RydWN0ZWQge1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGFjdGlvbnM6IElBY3Rpb25bXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogUGlwZWxpbmUsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wczogU3RhY2tTZWdtZW50Q29uc3RydWN0ZWRQcm9wc1xuICApIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgdGhpcy5uYW1lID0gcHJvcHMuc3RhY2suc3RhY2tOYW1lO1xuXG4gICAgY29uc3QgYnVpbGRBcnRpZmFjdCA9IG5ldyBBcnRpZmFjdCgpO1xuXG4gICAgdGhpcy5hY3Rpb25zID0gW1xuICAgICAgbmV3IENvZGVCdWlsZEFjdGlvbih7XG4gICAgICAgIGFjdGlvbk5hbWU6IFwiQnVpbGRcIixcbiAgICAgICAgcnVuT3JkZXI6IDEsXG4gICAgICAgIGlucHV0OiBwcm9wcy5pbnB1dCxcbiAgICAgICAgZXh0cmFJbnB1dHM6IHByb3BzLmV4dHJhSW5wdXRzLFxuICAgICAgICBvdXRwdXRzOiBbYnVpbGRBcnRpZmFjdF0sXG4gICAgICAgIGVudmlyb25tZW50VmFyaWFibGVzOiBwcm9wcy5lbnZpcm9ubWVudFZhcmlhYmxlcyxcbiAgICAgICAgcHJvamVjdDogbmV3IFByb2plY3QodGhpcywgXCJVcGRhdGVDb2RlQnVpbGRcIiwge1xuICAgICAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgICAgICBjb21wdXRlVHlwZTogQ29tcHV0ZVR5cGUuTUVESVVNLFxuICAgICAgICAgICAgYnVpbGRJbWFnZTogTGludXhCdWlsZEltYWdlLkFNQVpPTl9MSU5VWF8yXzQsXG4gICAgICAgICAgICBwcml2aWxlZ2VkOiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgYnVpbGRTcGVjOiBCdWlsZFNwZWMuZnJvbU9iamVjdCh7XG4gICAgICAgICAgICB2ZXJzaW9uOiBcIjAuMlwiLFxuICAgICAgICAgICAgcGhhc2VzOiB7XG4gICAgICAgICAgICAgIGluc3RhbGw6IHtcbiAgICAgICAgICAgICAgICBcInJ1bnRpbWUtdmVyc2lvbnNcIjoge1xuICAgICAgICAgICAgICAgICAgZG9ja2VyOiAyMCxcbiAgICAgICAgICAgICAgICAgIG5vZGVqczogMTgsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBjb21tYW5kczogW1wibnBtIGNpXCJdLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBidWlsZDoge1xuICAgICAgICAgICAgICAgIGNvbW1hbmRzOiBwcm9wcy5jb21tYW5kLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGFydGlmYWN0czoge1xuICAgICAgICAgICAgICBmaWxlczogW3BhdGguam9pbihzY29wZS5idWlsZERpciwgXCIqKi8qXCIpXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBjYWNoZToge1xuICAgICAgICAgICAgICBwYXRoczogW1wiL3Jvb3QvLm5wbS8qKi8qXCJdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgfSksXG4gICAgICB9KSxcbiAgICAgIG5ldyBQdWJsaXNoQXNzZXRzQWN0aW9uKHRoaXMsIFwiUHVibGlzaEFzc2V0c1wiLCB7XG4gICAgICAgIGFjdGlvbk5hbWU6IFwiUHVibGlzaEFzc2V0c1wiLFxuICAgICAgICBydW5PcmRlcjogMixcbiAgICAgICAgaW5wdXQ6IGJ1aWxkQXJ0aWZhY3QsXG4gICAgICAgIG1hbmlmZXN0UGF0aDogc2NvcGUuYnVpbGREaXIsXG4gICAgICB9KSxcbiAgICAgIG5ldyBDbG91ZEZvcm1hdGlvbkNyZWF0ZVJlcGxhY2VDaGFuZ2VTZXRBY3Rpb24oe1xuICAgICAgICBhY3Rpb25OYW1lOiBcIlByZXBhcmVDaGFuZ2VzXCIsXG4gICAgICAgIHJ1bk9yZGVyOiAzLFxuICAgICAgICBzdGFja05hbWU6IHByb3BzLnN0YWNrTmFtZSA/IHByb3BzLnN0YWNrTmFtZSA6IHByb3BzLnN0YWNrLnN0YWNrTmFtZSxcbiAgICAgICAgYWNjb3VudDogcHJvcHMuYWNjb3VudCxcbiAgICAgICAgcmVnaW9uOiBwcm9wcy5yZWdpb24sXG4gICAgICAgIGNoYW5nZVNldE5hbWU6IGAke3Byb3BzLnN0YWNrLnN0YWNrTmFtZX1DaGFuZ2VzYCxcbiAgICAgICAgYWRtaW5QZXJtaXNzaW9uczogdHJ1ZSxcbiAgICAgICAgdGVtcGxhdGVQYXRoOiBidWlsZEFydGlmYWN0LmF0UGF0aChcbiAgICAgICAgICBwYXRoLmpvaW4oc2NvcGUuYnVpbGREaXIsIHByb3BzLnN0YWNrLnRlbXBsYXRlRmlsZSlcbiAgICAgICAgKSxcbiAgICAgIH0pLFxuICAgICAgLi4uKHByb3BzLm1hbnVhbEFwcHJvdmFsXG4gICAgICAgID8gW1xuICAgICAgICAgICAgbmV3IE1hbnVhbEFwcHJvdmFsQWN0aW9uKHtcbiAgICAgICAgICAgICAgYWN0aW9uTmFtZTogXCJBcHByb3ZlQ2hhbmdlc1wiLFxuICAgICAgICAgICAgICBydW5PcmRlcjogNCxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIF1cbiAgICAgICAgOiBbXSksXG4gICAgICBuZXcgQ2xvdWRGb3JtYXRpb25FeGVjdXRlQ2hhbmdlU2V0QWN0aW9uKHtcbiAgICAgICAgYWN0aW9uTmFtZTogXCJFeGVjdXRlQ2hhbmdlc1wiLFxuICAgICAgICBydW5PcmRlcjogcHJvcHMubWFudWFsQXBwcm92YWwgPyA1IDogNCxcbiAgICAgICAgc3RhY2tOYW1lOiBwcm9wcy5zdGFja05hbWUgPyBwcm9wcy5zdGFja05hbWUgOiBwcm9wcy5zdGFjay5zdGFja05hbWUsXG4gICAgICAgIGFjY291bnQ6IHByb3BzLmFjY291bnQsXG4gICAgICAgIHJlZ2lvbjogcHJvcHMucmVnaW9uLFxuICAgICAgICBjaGFuZ2VTZXROYW1lOiBgJHtwcm9wcy5zdGFjay5zdGFja05hbWV9Q2hhbmdlc2AsXG4gICAgICAgIG91dHB1dDogcHJvcHMub3V0cHV0LFxuICAgICAgICBvdXRwdXRGaWxlTmFtZTogcHJvcHMub3V0cHV0XG4gICAgICAgICAgPyBgJHtwcm9wcy5zdGFjay5zdGFja05hbWV9T3V0cHV0Lmpzb25gXG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICB9KSxcbiAgICBdO1xuICB9XG59XG4iXX0=
|