@flit/cdk-pipeline 1.0.2 → 1.0.3

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.
@@ -1,115 +0,0 @@
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.2" };
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.2" };
114
- exports.StackSegmentConstructed = StackSegmentConstructed;
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhY2stc2VnbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9zdGFjay1zZWdtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsNkRBTW1DO0FBRW5DLG1GQUs4QztBQUM5Qyw2QkFBNkI7QUFFN0IsbUVBQThEO0FBQzlELHlDQUFzQztBQUN0Qyx1Q0FBd0Q7QUE4Q3hEOztHQUVHO0FBQ0gsTUFBYSxZQUFhLFNBQVEsaUJBQU87SUFHdkMsWUFBWSxLQUF3QjtRQUNsQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDYixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQWU7UUFDdkIsT0FBTyxJQUFJLHVCQUF1QixDQUNoQyxLQUFLLEVBQ0wsU0FBUyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsRUFDckM7WUFDRSxHQUFHLElBQUksQ0FBQyxLQUFLO1lBQ2IsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ3JCLFdBQVcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDbEMsQ0FDRixDQUFDO0lBQ0osQ0FBQzs7OztBQWxCVSxvQ0FBWTtBQWtDekIsTUFBYSx1QkFBd0IsU0FBUSw0QkFBa0I7SUFJN0QsWUFDRSxLQUFlLEVBQ2YsRUFBVSxFQUNWLEtBQW1DO1FBRW5DLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQztRQUVsQyxNQUFNLGFBQWEsR0FBRyxJQUFJLG1CQUFRLEVBQUUsQ0FBQztRQUVyQyxJQUFJLENBQUMsT0FBTyxHQUFHO1lBQ2IsSUFBSSwwQ0FBZSxDQUFDO2dCQUNsQixVQUFVLEVBQUUsT0FBTztnQkFDbkIsUUFBUSxFQUFF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LENBQUMsS0FBSyxDQUFDLFNBQVMsU0FBUztnQkFDaEQsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO2dCQUNwQixjQUFjLEVBQUUsS0FBSyxDQUFDLE1BQU07b0JBQzFCLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxhQUFhO29CQUN2QyxDQUFDLENBQUMsU0FBUzthQUNkLENBQUM7U0FDSCxDQUFDO0lBQ0osQ0FBQzs7OztBQTNGVSwwREFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdGFjayB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHtcbiAgQnVpbGRFbnZpcm9ubWVudFZhcmlhYmxlLFxuICBCdWlsZFNwZWMsXG4gIENvbXB1dGVUeXBlLFxuICBMaW51eEJ1aWxkSW1hZ2UsXG4gIFByb2plY3QsXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY29kZWJ1aWxkXCI7XG5pbXBvcnQgeyBJQWN0aW9uIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jb2RlcGlwZWxpbmVcIjtcbmltcG9ydCB7XG4gIENsb3VkRm9ybWF0aW9uQ3JlYXRlUmVwbGFjZUNoYW5nZVNldEFjdGlvbixcbiAgQ2xvdWRGb3JtYXRpb25FeGVjdXRlQ2hhbmdlU2V0QWN0aW9uLFxuICBDb2RlQnVpbGRBY3Rpb24sXG4gIE1hbnVhbEFwcHJvdmFsQWN0aW9uLFxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNvZGVwaXBlbGluZS1hY3Rpb25zXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5cbmltcG9ydCB7IFB1Ymxpc2hBc3NldHNBY3Rpb24gfSBmcm9tIFwiLi9wdWJsaXNoLWFzc2V0cy1hY3Rpb25cIjtcbmltcG9ydCB7IEFydGlmYWN0IH0gZnJvbSBcIi4vYXJ0aWZhY3RcIjtcbmltcG9ydCB7IFNlZ21lbnQsIFNlZ21lbnRDb25zdHJ1Y3RlZCB9IGZyb20gXCIuL3NlZ21lbnRcIjtcbmltcG9ydCB7IFBpcGVsaW5lIH0gZnJvbSBcIi4vcGlwZWxpbmVcIjtcblxuZXhwb3J0IGludGVyZmFjZSBTdGFja1NlZ21lbnRQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgc3RhY2sgdG8gYmUgZGVwbG95ZWQgaW4gdGhpcyBzZWdtZW50LlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhY2s6IFN0YWNrO1xuICAvKipcbiAgICogVGhlIGlucHV0IGFyZmlmYWN0IGZvciB0aGUgYnVpbGQgc3RhZ2UuXG4gICAqL1xuICByZWFkb25seSBpbnB1dDogQXJ0aWZhY3QgfCBBcnRpZmFjdFtdO1xuICAvKipcbiAgICogVGhlIGNvbW1hbmQocykgdG8gYnVpbGQgdGhlIHN0YWNrLlxuICAgKiBAZXhhbXBsZSBcImNkayBzeW50aCBTdGFja05hbWUgLS1zdHJpY3QgLS1leGNsdXNpdmVseVwiXG4gICAqL1xuICByZWFkb25seSBjb21tYW5kOiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIFRoZSBlbnZpcm9ubWVudGFsIHZhcmlhYmxlcyBmb3IgdGhlIGJ1aWxkIHN0YWdlLlxuICAgKi9cbiAgcmVhZG9ubHkgZW52aXJvbm1lbnRWYXJpYWJsZXM/OiB7IFtrZXk6IHN0cmluZ106IEJ1aWxkRW52aXJvbm1lbnRWYXJpYWJsZSB9O1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHN0YWNrIHRvIGRlcGxveSB0aGUgY2hhbmdlcyB0by5cbiAgICogQGRlYWZ1bHQgVGhlIG5hbWUgb2YgdGhlIGdpdmVuIHN0YWNrLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhY2tOYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIEFXUyBhY2NvdW50IHRoaXMgQWN0aW9uIGlzIHN1cHBvc2VkIHRvIG9wZXJhdGUgaW4uXG4gICAqL1xuICByZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIEFXUyByZWdpb24gdGhlIGdpdmVuIEFjdGlvbiByZXNpZGVzIGluLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGFydGlmYWN0IHRvIGhvbGQgdGhlIHN0YWNrIGRlcGxveW1lbnQgb3V0cHV0IGZpbGUuXG4gICAqIEBkZWZhdWx0IG5vIG91dHB1dCBhcnRpZmFjdFxuICAgKi9cbiAgcmVhZG9ubHkgb3V0cHV0PzogQXJ0aWZhY3Q7XG4gIC8qKlxuICAgKiBEb2VzIHRoaXMgc3RhZ2UgcmVxdWlyZSBtYW51YWwgYXBwcm92YWwgb2YgdGhlIGNoYW5nZSBzZXQ/XG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBtYW51YWxBcHByb3ZhbD86IEJvb2xlYW47XG59XG5cbi8qKlxuICogQGNhdGVnb3J5IFNlZ21lbnRzXG4gKi9cbmV4cG9ydCBjbGFzcyBTdGFja1NlZ21lbnQgZXh0ZW5kcyBTZWdtZW50IHtcbiAgcmVhZG9ubHkgcHJvcHM6IFN0YWNrU2VnbWVudFByb3BzO1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzOiBTdGFja1NlZ21lbnRQcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcbiAgICB0aGlzLnByb3BzID0gcHJvcHM7XG4gIH1cblxuICBjb25zdHJ1Y3Qoc2NvcGU6IFBpcGVsaW5lKTogU2VnbWVudENvbnN0cnVjdGVkIHtcbiAgICByZXR1cm4gbmV3IFN0YWNrU2VnbWVudENvbnN0cnVjdGVkKFxuICAgICAgc2NvcGUsXG4gICAgICBgRGVwbG95JHt0aGlzLnByb3BzLnN0YWNrLnN0YWNrTmFtZX1gLFxuICAgICAge1xuICAgICAgICAuLi50aGlzLnByb3BzLFxuICAgICAgICBpbnB1dDogdGhpcy5pbnB1dHNbMF0sXG4gICAgICAgIGV4dHJhSW5wdXRzOiB0aGlzLmlucHV0cy5zbGljZSgxKSxcbiAgICAgIH1cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhY2tTZWdtZW50Q29uc3RydWN0ZWRQcm9wcyB7XG4gIHJlYWRvbmx5IHN0YWNrOiBTdGFjaztcbiAgcmVhZG9ubHkgY29tbWFuZDogc3RyaW5nIHwgc3RyaW5nW107XG4gIHJlYWRvbmx5IGVudmlyb25tZW50VmFyaWFibGVzPzogeyBba2V5OiBzdHJpbmddOiBCdWlsZEVudmlyb25tZW50VmFyaWFibGUgfTtcbiAgcmVhZG9ubHkgc3RhY2tOYW1lPzogc3RyaW5nO1xuICByZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuICByZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGlucHV0OiBBcnRpZmFjdDtcbiAgcmVhZG9ubHkgZXh0cmFJbnB1dHM/OiBBcnRpZmFjdFtdO1xuICByZWFkb25seSBvdXRwdXQ/OiBBcnRpZmFjdDtcbiAgcmVhZG9ubHkgbWFudWFsQXBwcm92YWw/OiBCb29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgU3RhY2tTZWdtZW50Q29uc3RydWN0ZWQgZXh0ZW5kcyBTZWdtZW50Q29uc3RydWN0ZWQge1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGFjdGlvbnM6IElBY3Rpb25bXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogUGlwZWxpbmUsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wczogU3RhY2tTZWdtZW50Q29uc3RydWN0ZWRQcm9wc1xuICApIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgdGhpcy5uYW1lID0gcHJvcHMuc3RhY2suc3RhY2tOYW1lO1xuXG4gICAgY29uc3QgYnVpbGRBcnRpZmFjdCA9IG5ldyBBcnRpZmFjdCgpO1xuXG4gICAgdGhpcy5hY3Rpb25zID0gW1xuICAgICAgbmV3IENvZGVCdWlsZEFjdGlvbih7XG4gICAgICAgIGFjdGlvbk5hbWU6IFwiQnVpbGRcIixcbiAgICAgICAgcnVuT3JkZXI6IDEsXG4gICAgICAgIGlucHV0OiBwcm9wcy5pbnB1dCxcbiAgICAgICAgZXh0cmFJbnB1dHM6IHByb3BzLmV4dHJhSW5wdXRzLFxuICAgICAgICBvdXRwdXRzOiBbYnVpbGRBcnRpZmFjdF0sXG4gICAgICAgIGVudmlyb25tZW50VmFyaWFibGVzOiBwcm9wcy5lbnZpcm9ubWVudFZhcmlhYmxlcyxcbiAgICAgICAgcHJvamVjdDogbmV3IFByb2plY3QodGhpcywgXCJVcGRhdGVDb2RlQnVpbGRcIiwge1xuICAgICAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgICAgICBjb21wdXRlVHlwZTogQ29tcHV0ZVR5cGUuTUVESVVNLFxuICAgICAgICAgICAgYnVpbGRJbWFnZTogTGludXhCdWlsZEltYWdlLkFNQVpPTl9MSU5VWF8yXzQsXG4gICAgICAgICAgICBwcml2aWxlZ2VkOiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgYnVpbGRTcGVjOiBCdWlsZFNwZWMuZnJvbU9iamVjdCh7XG4gICAgICAgICAgICB2ZXJzaW9uOiBcIjAuMlwiLFxuICAgICAgICAgICAgcGhhc2VzOiB7XG4gICAgICAgICAgICAgIGluc3RhbGw6IHtcbiAgICAgICAgICAgICAgICBcInJ1bnRpbWUtdmVyc2lvbnNcIjoge1xuICAgICAgICAgICAgICAgICAgZG9ja2VyOiAyMCxcbiAgICAgICAgICAgICAgICAgIG5vZGVqczogMTgsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBjb21tYW5kczogW1wibnBtIGNpXCJdLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBidWlsZDoge1xuICAgICAgICAgICAgICAgIGNvbW1hbmRzOiBwcm9wcy5jb21tYW5kLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGFydGlmYWN0czoge1xuICAgICAgICAgICAgICBmaWxlczogW3BhdGguam9pbihzY29wZS5idWlsZERpciwgXCIqKi8qXCIpXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBjYWNoZToge1xuICAgICAgICAgICAgICBwYXRoczogW1wiL3Jvb3QvLm5wbS8qKi8qXCJdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgfSksXG4gICAgICB9KSxcbiAgICAgIG5ldyBQdWJsaXNoQXNzZXRzQWN0aW9uKHRoaXMsIFwiUHVibGlzaEFzc2V0c1wiLCB7XG4gICAgICAgIGFjdGlvbk5hbWU6IFwiUHVibGlzaEFzc2V0c1wiLFxuICAgICAgICBydW5PcmRlcjogMixcbiAgICAgICAgaW5wdXQ6IGJ1aWxkQXJ0aWZhY3QsXG4gICAgICAgIG1hbmlmZXN0UGF0aDogc2NvcGUuYnVpbGREaXIsXG4gICAgICB9KSxcbiAgICAgIG5ldyBDbG91ZEZvcm1hdGlvbkNyZWF0ZVJlcGxhY2VDaGFuZ2VTZXRBY3Rpb24oe1xuICAgICAgICBhY3Rpb25OYW1lOiBcIlByZXBhcmVDaGFuZ2VzXCIsXG4gICAgICAgIHJ1bk9yZGVyOiAzLFxuICAgICAgICBzdGFja05hbWU6IHByb3BzLnN0YWNrTmFtZSA/IHByb3BzLnN0YWNrTmFtZSA6IHByb3BzLnN0YWNrLnN0YWNrTmFtZSxcbiAgICAgICAgYWNjb3VudDogcHJvcHMuYWNjb3VudCxcbiAgICAgICAgcmVnaW9uOiBwcm9wcy5yZWdpb24sXG4gICAgICAgIGNoYW5nZVNldE5hbWU6IGAke3Byb3BzLnN0YWNrLnN0YWNrTmFtZX1DaGFuZ2VzYCxcbiAgICAgICAgYWRtaW5QZXJtaXNzaW9uczogdHJ1ZSxcbiAgICAgICAgdGVtcGxhdGVQYXRoOiBidWlsZEFydGlmYWN0LmF0UGF0aChcbiAgICAgICAgICBwYXRoLmpvaW4oc2NvcGUuYnVpbGREaXIsIHByb3BzLnN0YWNrLnRlbXBsYXRlRmlsZSlcbiAgICAgICAgKSxcbiAgICAgIH0pLFxuICAgICAgLi4uKHByb3BzLm1hbnVhbEFwcHJvdmFsXG4gICAgICAgID8gW1xuICAgICAgICAgICAgbmV3IE1hbnVhbEFwcHJvdmFsQWN0aW9uKHtcbiAgICAgICAgICAgICAgYWN0aW9uTmFtZTogXCJBcHByb3ZlQ2hhbmdlc1wiLFxuICAgICAgICAgICAgICBydW5PcmRlcjogNCxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIF1cbiAgICAgICAgOiBbXSksXG4gICAgICBuZXcgQ2xvdWRGb3JtYXRpb25FeGVjdXRlQ2hhbmdlU2V0QWN0aW9uKHtcbiAgICAgICAgYWN0aW9uTmFtZTogXCJFeGVjdXRlQ2hhbmdlc1wiLFxuICAgICAgICBydW5PcmRlcjogcHJvcHMubWFudWFsQXBwcm92YWwgPyA1IDogNCxcbiAgICAgICAgc3RhY2tOYW1lOiBwcm9wcy5zdGFja05hbWUgPyBwcm9wcy5zdGFja05hbWUgOiBwcm9wcy5zdGFjay5zdGFja05hbWUsXG4gICAgICAgIGFjY291bnQ6IHByb3BzLmFjY291bnQsXG4gICAgICAgIHJlZ2lvbjogcHJvcHMucmVnaW9uLFxuICAgICAgICBjaGFuZ2VTZXROYW1lOiBgJHtwcm9wcy5zdGFjay5zdGFja05hbWV9Q2hhbmdlc2AsXG4gICAgICAgIG91dHB1dDogcHJvcHMub3V0cHV0LFxuICAgICAgICBvdXRwdXRGaWxlTmFtZTogcHJvcHMub3V0cHV0XG4gICAgICAgICAgPyBgJHtwcm9wcy5zdGFjay5zdGFja05hbWV9T3V0cHV0Lmpzb25gXG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICB9KSxcbiAgICBdO1xuICB9XG59XG4iXX0=