@flit/cdk-pipeline 1.0.1 → 1.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.
- package/README.md +171 -5
- package/dist/artifact.d.ts +4 -1
- package/dist/artifact.js +13 -3
- package/dist/index.d.ts +4 -3
- package/dist/index.js +5 -4
- package/dist/pipeline-segment.d.ts +46 -11
- package/dist/pipeline-segment.js +13 -13
- package/dist/pipeline.d.ts +21 -2
- package/dist/pipeline.js +22 -4
- package/dist/publish-assets-action.d.ts +4 -4
- package/dist/publish-assets-action.js +11 -11
- package/dist/segment.d.ts +10 -9
- package/dist/segment.js +24 -10
- package/dist/source-segment.d.ts +33 -16
- package/dist/source-segment.js +24 -13
- package/dist/stack-segment.d.ts +67 -23
- package/dist/stack-segment.js +29 -28
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +61 -15
package/dist/segment.js
CHANGED
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var _a, _b;
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Segment = void 0;
|
|
4
|
+
exports.SegmentConstructed = exports.Segment = void 0;
|
|
5
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
+
const constructs_1 = require("constructs");
|
|
4
7
|
class Segment {
|
|
5
|
-
isSource = false;
|
|
6
|
-
isPipeline = false;
|
|
7
|
-
dependencies;
|
|
8
|
-
inputs;
|
|
9
|
-
outputs;
|
|
10
8
|
constructor(props) {
|
|
9
|
+
this.isSource = false;
|
|
10
|
+
this.isPipeline = false;
|
|
11
|
+
this.inputs = [];
|
|
12
|
+
this.outputs = [];
|
|
11
13
|
if (props.input) {
|
|
12
14
|
this.inputs = (props.input.constructor.name === "Array" ? props.input : [props.input]);
|
|
15
|
+
this.inputs.forEach((artifact) => {
|
|
16
|
+
artifact.consume(this);
|
|
17
|
+
}, this);
|
|
13
18
|
}
|
|
14
19
|
if (props.output) {
|
|
15
20
|
this.outputs = (props.output.constructor.name === "Array"
|
|
@@ -20,9 +25,18 @@ class Segment {
|
|
|
20
25
|
}, this);
|
|
21
26
|
}
|
|
22
27
|
}
|
|
23
|
-
build(scope) {
|
|
24
|
-
throw new Error("Method not implemented.");
|
|
25
|
-
}
|
|
26
28
|
}
|
|
29
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
30
|
+
Segment[_a] = { fqn: "@flit/cdk-pipeline.Segment", version: "1.0.2" };
|
|
27
31
|
exports.Segment = Segment;
|
|
28
|
-
|
|
32
|
+
class SegmentConstructed extends constructs_1.Construct {
|
|
33
|
+
constructor() {
|
|
34
|
+
super(...arguments);
|
|
35
|
+
this.name = "";
|
|
36
|
+
this.actions = [];
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
_b = JSII_RTTI_SYMBOL_1;
|
|
40
|
+
SegmentConstructed[_b] = { fqn: "@flit/cdk-pipeline.SegmentConstructed", version: "1.0.2" };
|
|
41
|
+
exports.SegmentConstructed = SegmentConstructed;
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9zZWdtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsMkNBQXVDO0FBWXZDLE1BQXNCLE9BQU87SUFNM0IsWUFBWSxLQUFtQjtRQUx0QixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFFNUIsV0FBTSxHQUFlLEVBQUUsQ0FBQztRQUN4QixZQUFPLEdBQWUsRUFBRSxDQUFDO1FBRWhDLElBQUksS0FBSyxDQUFDLEtBQUssRUFBRTtZQUNmLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FDWixLQUFLLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FDekQsQ0FBQztZQUNoQixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQWtCLEVBQUUsRUFBRTtnQkFDekMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN6QixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDVjtRQUNELElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUNoQixJQUFJLENBQUMsT0FBTyxHQUFHLENBQ2IsS0FBSyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxLQUFLLE9BQU87Z0JBQ3ZDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTTtnQkFDZCxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQ0wsQ0FBQztZQUNoQixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQWtCLEVBQUUsRUFBRTtnQkFDMUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN6QixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDVjtJQUNILENBQUM7Ozs7QUF6Qm1CLDBCQUFPO0FBNkI3QixNQUFzQixrQkFBbUIsU0FBUSxzQkFBUztJQUExRDs7UUFDVyxTQUFJLEdBQVcsRUFBRSxDQUFDO1FBQ2xCLFlBQU8sR0FBYyxFQUFFLENBQUM7S0FDbEM7Ozs7QUFIcUIsZ0RBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBJQWN0aW9uIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jb2RlcGlwZWxpbmVcIjtcblxuaW1wb3J0IHsgQXJ0aWZhY3QgfSBmcm9tIFwiLi9hcnRpZmFjdFwiO1xuaW1wb3J0IHsgUGlwZWxpbmUgfSBmcm9tIFwiLi9waXBlbGluZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNlZ21lbnRQcm9wcyB7XG4gIHJlYWRvbmx5IGlucHV0PzogQXJ0aWZhY3QgfCBBcnRpZmFjdFtdO1xuICByZWFkb25seSBvdXRwdXQ/OiBBcnRpZmFjdCB8IEFydGlmYWN0W107XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTZWdtZW50IHtcbiAgcmVhZG9ubHkgaXNTb3VyY2U6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcmVhZG9ubHkgaXNQaXBlbGluZTogYm9vbGVhbiA9IGZhbHNlO1xuICByZWFkb25seSBkZXBlbmRlbmNpZXM/OiBTdGFja1tdO1xuICByZWFkb25seSBpbnB1dHM6IEFydGlmYWN0W10gPSBbXTtcbiAgcmVhZG9ubHkgb3V0cHV0czogQXJ0aWZhY3RbXSA9IFtdO1xuICBjb25zdHJ1Y3Rvcihwcm9wczogU2VnbWVudFByb3BzKSB7XG4gICAgaWYgKHByb3BzLmlucHV0KSB7XG4gICAgICB0aGlzLmlucHV0cyA9IChcbiAgICAgICAgcHJvcHMuaW5wdXQuY29uc3RydWN0b3IubmFtZSA9PT0gXCJBcnJheVwiID8gcHJvcHMuaW5wdXQgOiBbcHJvcHMuaW5wdXRdXG4gICAgICApIGFzIEFydGlmYWN0W107XG4gICAgICB0aGlzLmlucHV0cy5mb3JFYWNoKChhcnRpZmFjdDogQXJ0aWZhY3QpID0+IHtcbiAgICAgICAgYXJ0aWZhY3QuY29uc3VtZSh0aGlzKTtcbiAgICAgIH0sIHRoaXMpO1xuICAgIH1cbiAgICBpZiAocHJvcHMub3V0cHV0KSB7XG4gICAgICB0aGlzLm91dHB1dHMgPSAoXG4gICAgICAgIHByb3BzLm91dHB1dC5jb25zdHJ1Y3Rvci5uYW1lID09PSBcIkFycmF5XCJcbiAgICAgICAgICA/IHByb3BzLm91dHB1dFxuICAgICAgICAgIDogW3Byb3BzLm91dHB1dF1cbiAgICAgICkgYXMgQXJ0aWZhY3RbXTtcbiAgICAgIHRoaXMub3V0cHV0cy5mb3JFYWNoKChhcnRpZmFjdDogQXJ0aWZhY3QpID0+IHtcbiAgICAgICAgYXJ0aWZhY3QucHJvZHVjZSh0aGlzKTtcbiAgICAgIH0sIHRoaXMpO1xuICAgIH1cbiAgfVxuICBhYnN0cmFjdCBjb25zdHJ1Y3Qoc2NvcGU6IFBpcGVsaW5lKTogU2VnbWVudENvbnN0cnVjdGVkO1xufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2VnbWVudENvbnN0cnVjdGVkIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nID0gXCJcIjtcbiAgcmVhZG9ubHkgYWN0aW9uczogSUFjdGlvbltdID0gW107XG59XG4iXX0=
|
package/dist/source-segment.d.ts
CHANGED
|
@@ -1,28 +1,45 @@
|
|
|
1
|
-
import { Construct } from "constructs";
|
|
2
1
|
import { IAction } from "aws-cdk-lib/aws-codepipeline";
|
|
3
|
-
import {
|
|
2
|
+
import { GitHubTrigger } from "aws-cdk-lib/aws-codepipeline-actions";
|
|
3
|
+
import { Pipeline } from "./pipeline";
|
|
4
|
+
import { SecretValue } from "aws-cdk-lib";
|
|
4
5
|
import { Artifact } from "./artifact";
|
|
5
|
-
import { Segment,
|
|
6
|
-
export interface SourceSegmentProps
|
|
7
|
-
output: Artifact;
|
|
6
|
+
import { Segment, SegmentConstructed } from "./segment";
|
|
7
|
+
export interface SourceSegmentProps {
|
|
8
|
+
readonly output: Artifact;
|
|
8
9
|
}
|
|
9
|
-
export declare class SourceSegment extends Segment {
|
|
10
|
+
export declare abstract class SourceSegment extends Segment {
|
|
10
11
|
readonly isSource: boolean;
|
|
11
|
-
constructor(props: SourceSegmentProps);
|
|
12
12
|
}
|
|
13
|
-
export interface GitHubSourceSegmentProps extends SourceSegmentProps
|
|
14
|
-
|
|
13
|
+
export interface GitHubSourceSegmentProps extends SourceSegmentProps {
|
|
14
|
+
readonly oauthToken: SecretValue;
|
|
15
|
+
readonly owner: string;
|
|
16
|
+
readonly repo: string;
|
|
17
|
+
readonly branch?: string;
|
|
18
|
+
readonly runOrder?: number;
|
|
19
|
+
readonly trigger?: GitHubTrigger;
|
|
20
|
+
readonly variablesNamespace?: string;
|
|
15
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* @category Segments
|
|
24
|
+
*/
|
|
16
25
|
export declare class GitHubSourceSegment extends SourceSegment {
|
|
17
26
|
private props;
|
|
18
27
|
constructor(props: GitHubSourceSegmentProps);
|
|
19
|
-
|
|
28
|
+
construct(scope: Pipeline): SegmentConstructed;
|
|
20
29
|
}
|
|
21
|
-
export interface
|
|
22
|
-
output: Artifact;
|
|
30
|
+
export interface GitHubSourceSegmentConstructedProps {
|
|
31
|
+
readonly output: Artifact;
|
|
32
|
+
readonly actionName: string;
|
|
33
|
+
readonly oauthToken: SecretValue;
|
|
34
|
+
readonly owner: string;
|
|
35
|
+
readonly repo: string;
|
|
36
|
+
readonly branch?: string;
|
|
37
|
+
readonly runOrder?: number;
|
|
38
|
+
readonly trigger?: GitHubTrigger;
|
|
39
|
+
readonly variablesNamespace?: string;
|
|
23
40
|
}
|
|
24
|
-
export declare class
|
|
25
|
-
name: string;
|
|
26
|
-
actions: IAction[];
|
|
27
|
-
constructor(scope:
|
|
41
|
+
export declare class GitHubSourceSegmentConstructed extends SegmentConstructed {
|
|
42
|
+
readonly name: string;
|
|
43
|
+
readonly actions: IAction[];
|
|
44
|
+
constructor(scope: Pipeline, id: string, props: GitHubSourceSegmentConstructedProps);
|
|
28
45
|
}
|
package/dist/source-segment.js
CHANGED
|
@@ -1,34 +1,45 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var _a, _b, _c;
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
const
|
|
4
|
+
exports.GitHubSourceSegmentConstructed = exports.GitHubSourceSegment = exports.SourceSegment = void 0;
|
|
5
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
5
6
|
const aws_codepipeline_actions_1 = require("aws-cdk-lib/aws-codepipeline-actions");
|
|
6
7
|
const segment_1 = require("./segment");
|
|
7
8
|
class SourceSegment extends segment_1.Segment {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
constructor() {
|
|
10
|
+
super(...arguments);
|
|
11
|
+
this.isSource = true;
|
|
11
12
|
}
|
|
12
13
|
}
|
|
14
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
15
|
+
SourceSegment[_a] = { fqn: "@flit/cdk-pipeline.SourceSegment", version: "1.0.2" };
|
|
13
16
|
exports.SourceSegment = SourceSegment;
|
|
17
|
+
/**
|
|
18
|
+
* @category Segments
|
|
19
|
+
*/
|
|
14
20
|
class GitHubSourceSegment extends SourceSegment {
|
|
15
|
-
props;
|
|
16
21
|
constructor(props) {
|
|
17
22
|
super(props);
|
|
18
23
|
this.props = props;
|
|
19
24
|
}
|
|
20
|
-
|
|
21
|
-
return new
|
|
25
|
+
construct(scope) {
|
|
26
|
+
return new GitHubSourceSegmentConstructed(scope, this.props.repo, {
|
|
27
|
+
...this.props,
|
|
28
|
+
actionName: this.props.repo,
|
|
29
|
+
});
|
|
22
30
|
}
|
|
23
31
|
}
|
|
32
|
+
_b = JSII_RTTI_SYMBOL_1;
|
|
33
|
+
GitHubSourceSegment[_b] = { fqn: "@flit/cdk-pipeline.GitHubSourceSegment", version: "1.0.2" };
|
|
24
34
|
exports.GitHubSourceSegment = GitHubSourceSegment;
|
|
25
|
-
class
|
|
26
|
-
name;
|
|
27
|
-
actions;
|
|
35
|
+
class GitHubSourceSegmentConstructed extends segment_1.SegmentConstructed {
|
|
28
36
|
constructor(scope, id, props) {
|
|
29
37
|
super(scope, id);
|
|
38
|
+
this.name = "Source";
|
|
30
39
|
this.actions = [new aws_codepipeline_actions_1.GitHubSourceAction(props)];
|
|
31
40
|
}
|
|
32
41
|
}
|
|
33
|
-
|
|
34
|
-
|
|
42
|
+
_c = JSII_RTTI_SYMBOL_1;
|
|
43
|
+
GitHubSourceSegmentConstructed[_c] = { fqn: "@flit/cdk-pipeline.GitHubSourceSegmentConstructed", version: "1.0.2" };
|
|
44
|
+
exports.GitHubSourceSegmentConstructed = GitHubSourceSegmentConstructed;
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLXNlZ21lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvc291cmNlLXNlZ21lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSxtRkFHOEM7QUFLOUMsdUNBQXdEO0FBTXhELE1BQXNCLGFBQWMsU0FBUSxpQkFBTztJQUFuRDs7UUFDVyxhQUFRLEdBQVksSUFBSSxDQUFDO0tBQ25DOzs7O0FBRnFCLHNDQUFhO0FBY25DOztHQUVHO0FBQ0gsTUFBYSxtQkFBb0IsU0FBUSxhQUFhO0lBRXBELFlBQVksS0FBK0I7UUFDekMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUNELFNBQVMsQ0FBQyxLQUFlO1FBQ3ZCLE9BQU8sSUFBSSw4QkFBOEIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUU7WUFDaEUsR0FBRyxJQUFJLENBQUMsS0FBSztZQUNiLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUk7U0FDNUIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7OztBQVhVLGtEQUFtQjtBQTBCaEMsTUFBYSw4QkFBK0IsU0FBUSw0QkFBa0I7SUFHcEUsWUFDRSxLQUFlLEVBQ2YsRUFBVSxFQUNWLEtBQTBDO1FBRTFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7UUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLElBQUksNkNBQWtCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNqRCxDQUFDOzs7O0FBWFUsd0VBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUFjdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY29kZXBpcGVsaW5lXCI7XG5pbXBvcnQge1xuICBHaXRIdWJTb3VyY2VBY3Rpb24sXG4gIEdpdEh1YlRyaWdnZXIsXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY29kZXBpcGVsaW5lLWFjdGlvbnNcIjtcbmltcG9ydCB7IFBpcGVsaW5lIH0gZnJvbSBcIi4vcGlwZWxpbmVcIjtcbmltcG9ydCB7IFNlY3JldFZhbHVlIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5cbmltcG9ydCB7IEFydGlmYWN0IH0gZnJvbSBcIi4vYXJ0aWZhY3RcIjtcbmltcG9ydCB7IFNlZ21lbnQsIFNlZ21lbnRDb25zdHJ1Y3RlZCB9IGZyb20gXCIuL3NlZ21lbnRcIjtcblxuZXhwb3J0IGludGVyZmFjZSBTb3VyY2VTZWdtZW50UHJvcHMge1xuICByZWFkb25seSBvdXRwdXQ6IEFydGlmYWN0O1xufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU291cmNlU2VnbWVudCBleHRlbmRzIFNlZ21lbnQge1xuICByZWFkb25seSBpc1NvdXJjZTogYm9vbGVhbiA9IHRydWU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2l0SHViU291cmNlU2VnbWVudFByb3BzIGV4dGVuZHMgU291cmNlU2VnbWVudFByb3BzIHtcbiAgcmVhZG9ubHkgb2F1dGhUb2tlbjogU2VjcmV0VmFsdWU7XG4gIHJlYWRvbmx5IG93bmVyOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHJlcG86IHN0cmluZztcbiAgcmVhZG9ubHkgYnJhbmNoPzogc3RyaW5nO1xuICByZWFkb25seSBydW5PcmRlcj86IG51bWJlcjtcbiAgcmVhZG9ubHkgdHJpZ2dlcj86IEdpdEh1YlRyaWdnZXI7XG4gIHJlYWRvbmx5IHZhcmlhYmxlc05hbWVzcGFjZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBAY2F0ZWdvcnkgU2VnbWVudHNcbiAqL1xuZXhwb3J0IGNsYXNzIEdpdEh1YlNvdXJjZVNlZ21lbnQgZXh0ZW5kcyBTb3VyY2VTZWdtZW50IHtcbiAgcHJpdmF0ZSBwcm9wczogR2l0SHViU291cmNlU2VnbWVudFByb3BzO1xuICBjb25zdHJ1Y3Rvcihwcm9wczogR2l0SHViU291cmNlU2VnbWVudFByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICAgIHRoaXMucHJvcHMgPSBwcm9wcztcbiAgfVxuICBjb25zdHJ1Y3Qoc2NvcGU6IFBpcGVsaW5lKTogU2VnbWVudENvbnN0cnVjdGVkIHtcbiAgICByZXR1cm4gbmV3IEdpdEh1YlNvdXJjZVNlZ21lbnRDb25zdHJ1Y3RlZChzY29wZSwgdGhpcy5wcm9wcy5yZXBvLCB7XG4gICAgICAuLi50aGlzLnByb3BzLFxuICAgICAgYWN0aW9uTmFtZTogdGhpcy5wcm9wcy5yZXBvLFxuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2l0SHViU291cmNlU2VnbWVudENvbnN0cnVjdGVkUHJvcHMge1xuICByZWFkb25seSBvdXRwdXQ6IEFydGlmYWN0O1xuICByZWFkb25seSBhY3Rpb25OYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG9hdXRoVG9rZW46IFNlY3JldFZhbHVlO1xuICByZWFkb25seSBvd25lcjogc3RyaW5nO1xuICByZWFkb25seSByZXBvOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGJyYW5jaD86IHN0cmluZztcbiAgcmVhZG9ubHkgcnVuT3JkZXI/OiBudW1iZXI7XG4gIHJlYWRvbmx5IHRyaWdnZXI/OiBHaXRIdWJUcmlnZ2VyO1xuICByZWFkb25seSB2YXJpYWJsZXNOYW1lc3BhY2U/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBHaXRIdWJTb3VyY2VTZWdtZW50Q29uc3RydWN0ZWQgZXh0ZW5kcyBTZWdtZW50Q29uc3RydWN0ZWQge1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGFjdGlvbnM6IElBY3Rpb25bXTtcbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IFBpcGVsaW5lLFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IEdpdEh1YlNvdXJjZVNlZ21lbnRDb25zdHJ1Y3RlZFByb3BzXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgdGhpcy5uYW1lID0gXCJTb3VyY2VcIjtcbiAgICB0aGlzLmFjdGlvbnMgPSBbbmV3IEdpdEh1YlNvdXJjZUFjdGlvbihwcm9wcyldO1xuICB9XG59XG4iXX0=
|
package/dist/stack-segment.d.ts
CHANGED
|
@@ -1,33 +1,77 @@
|
|
|
1
1
|
import { Stack } from "aws-cdk-lib";
|
|
2
|
-
import {
|
|
2
|
+
import { BuildEnvironmentVariable } from "aws-cdk-lib/aws-codebuild";
|
|
3
3
|
import { IAction } from "aws-cdk-lib/aws-codepipeline";
|
|
4
4
|
import { Artifact } from "./artifact";
|
|
5
|
-
import { Segment,
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
5
|
+
import { Segment, SegmentConstructed } from "./segment";
|
|
6
|
+
import { Pipeline } from "./pipeline";
|
|
7
|
+
export interface StackSegmentProps {
|
|
8
|
+
/**
|
|
9
|
+
* The stack to be deployed in this segment.
|
|
10
|
+
*/
|
|
11
|
+
readonly stack: Stack;
|
|
12
|
+
/**
|
|
13
|
+
* The input arfifact for the build stage.
|
|
14
|
+
*/
|
|
15
|
+
readonly input: Artifact | Artifact[];
|
|
16
|
+
/**
|
|
17
|
+
* The command(s) to build the stack.
|
|
18
|
+
* @example "cdk synth StackName --strict --exclusively"
|
|
19
|
+
*/
|
|
20
|
+
readonly command: string | string[];
|
|
21
|
+
/**
|
|
22
|
+
* The environmental variables for the build stage.
|
|
23
|
+
*/
|
|
24
|
+
readonly environmentVariables?: {
|
|
25
|
+
[key: string]: BuildEnvironmentVariable;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* The name of the stack to deploy the changes to.
|
|
29
|
+
* @deafult The name of the given stack.
|
|
30
|
+
*/
|
|
31
|
+
readonly stackName?: string;
|
|
32
|
+
/**
|
|
33
|
+
* The AWS account this Action is supposed to operate in.
|
|
34
|
+
*/
|
|
35
|
+
readonly account?: string;
|
|
36
|
+
/**
|
|
37
|
+
* The AWS region the given Action resides in.
|
|
38
|
+
*/
|
|
39
|
+
readonly region?: string;
|
|
40
|
+
/**
|
|
41
|
+
* The artifact to hold the stack deployment output file.
|
|
42
|
+
* @default no output artifact
|
|
43
|
+
*/
|
|
44
|
+
readonly output?: Artifact;
|
|
45
|
+
/**
|
|
46
|
+
* Does this stage require manual approval of the change set?
|
|
47
|
+
* @default false
|
|
48
|
+
*/
|
|
49
|
+
readonly manualApproval?: Boolean;
|
|
13
50
|
}
|
|
51
|
+
/**
|
|
52
|
+
* @category Segments
|
|
53
|
+
*/
|
|
14
54
|
export declare class StackSegment extends Segment {
|
|
15
55
|
readonly props: StackSegmentProps;
|
|
16
|
-
readonly input: Artifact | Artifact[];
|
|
17
56
|
constructor(props: StackSegmentProps);
|
|
18
|
-
|
|
57
|
+
construct(scope: Pipeline): SegmentConstructed;
|
|
19
58
|
}
|
|
20
|
-
export interface
|
|
21
|
-
stack: Stack;
|
|
22
|
-
command: string | string[];
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
59
|
+
export interface StackSegmentConstructedProps {
|
|
60
|
+
readonly stack: Stack;
|
|
61
|
+
readonly command: string | string[];
|
|
62
|
+
readonly environmentVariables?: {
|
|
63
|
+
[key: string]: BuildEnvironmentVariable;
|
|
64
|
+
};
|
|
65
|
+
readonly stackName?: string;
|
|
66
|
+
readonly account?: string;
|
|
67
|
+
readonly region?: string;
|
|
68
|
+
readonly input: Artifact;
|
|
69
|
+
readonly extraInputs?: Artifact[];
|
|
70
|
+
readonly output?: Artifact;
|
|
71
|
+
readonly manualApproval?: Boolean;
|
|
28
72
|
}
|
|
29
|
-
export declare class
|
|
30
|
-
name: string;
|
|
31
|
-
actions: IAction[];
|
|
32
|
-
constructor(scope:
|
|
73
|
+
export declare class StackSegmentConstructed extends SegmentConstructed {
|
|
74
|
+
readonly name: string;
|
|
75
|
+
readonly actions: IAction[];
|
|
76
|
+
constructor(scope: Pipeline, id: string, props: StackSegmentConstructedProps);
|
|
33
77
|
}
|
package/dist/stack-segment.js
CHANGED
|
@@ -1,40 +1,34 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
2
|
+
var _a, _b;
|
|
5
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
7
|
-
const
|
|
4
|
+
exports.StackSegmentConstructed = exports.StackSegment = void 0;
|
|
5
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
8
6
|
const aws_codebuild_1 = require("aws-cdk-lib/aws-codebuild");
|
|
9
7
|
const aws_codepipeline_actions_1 = require("aws-cdk-lib/aws-codepipeline-actions");
|
|
10
|
-
const
|
|
8
|
+
const path = require("path");
|
|
11
9
|
const publish_assets_action_1 = require("./publish-assets-action");
|
|
12
10
|
const artifact_1 = require("./artifact");
|
|
13
11
|
const segment_1 = require("./segment");
|
|
12
|
+
/**
|
|
13
|
+
* @category Segments
|
|
14
|
+
*/
|
|
14
15
|
class StackSegment extends segment_1.Segment {
|
|
15
|
-
props;
|
|
16
|
-
input;
|
|
17
16
|
constructor(props) {
|
|
18
17
|
super(props);
|
|
19
|
-
this.input = props.input;
|
|
20
18
|
this.props = props;
|
|
21
19
|
}
|
|
22
|
-
|
|
23
|
-
return new
|
|
20
|
+
construct(scope) {
|
|
21
|
+
return new StackSegmentConstructed(scope, `Deploy${this.props.stack.stackName}`, {
|
|
24
22
|
...this.props,
|
|
25
|
-
input: this.
|
|
26
|
-
|
|
27
|
-
: this.input,
|
|
28
|
-
extraInputs: this.input.constructor.name === "Array"
|
|
29
|
-
? this.input.slice(1)
|
|
30
|
-
: undefined,
|
|
23
|
+
input: this.inputs[0],
|
|
24
|
+
extraInputs: this.inputs.slice(1),
|
|
31
25
|
});
|
|
32
26
|
}
|
|
33
27
|
}
|
|
28
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
29
|
+
StackSegment[_a] = { fqn: "@flit/cdk-pipeline.StackSegment", version: "1.0.2" };
|
|
34
30
|
exports.StackSegment = StackSegment;
|
|
35
|
-
class
|
|
36
|
-
name;
|
|
37
|
-
actions;
|
|
31
|
+
class StackSegmentConstructed extends segment_1.SegmentConstructed {
|
|
38
32
|
constructor(scope, id, props) {
|
|
39
33
|
super(scope, id);
|
|
40
34
|
this.name = props.stack.stackName;
|
|
@@ -46,6 +40,7 @@ class StackSegmentBuild extends constructs_1.Construct {
|
|
|
46
40
|
input: props.input,
|
|
47
41
|
extraInputs: props.extraInputs,
|
|
48
42
|
outputs: [buildArtifact],
|
|
43
|
+
environmentVariables: props.environmentVariables,
|
|
49
44
|
project: new aws_codebuild_1.Project(this, "UpdateCodeBuild", {
|
|
50
45
|
environment: {
|
|
51
46
|
computeType: aws_codebuild_1.ComputeType.MEDIUM,
|
|
@@ -58,7 +53,7 @@ class StackSegmentBuild extends constructs_1.Construct {
|
|
|
58
53
|
install: {
|
|
59
54
|
"runtime-versions": {
|
|
60
55
|
docker: 20,
|
|
61
|
-
nodejs:
|
|
56
|
+
nodejs: 18,
|
|
62
57
|
},
|
|
63
58
|
commands: ["npm ci"],
|
|
64
59
|
},
|
|
@@ -67,7 +62,7 @@ class StackSegmentBuild extends constructs_1.Construct {
|
|
|
67
62
|
},
|
|
68
63
|
},
|
|
69
64
|
artifacts: {
|
|
70
|
-
files: [
|
|
65
|
+
files: [path.join(scope.buildDir, "**/*")],
|
|
71
66
|
},
|
|
72
67
|
cache: {
|
|
73
68
|
paths: ["/root/.npm/**/*"],
|
|
@@ -79,15 +74,17 @@ class StackSegmentBuild extends constructs_1.Construct {
|
|
|
79
74
|
actionName: "PublishAssets",
|
|
80
75
|
runOrder: 2,
|
|
81
76
|
input: buildArtifact,
|
|
82
|
-
manifestPath:
|
|
77
|
+
manifestPath: scope.buildDir,
|
|
83
78
|
}),
|
|
84
79
|
new aws_codepipeline_actions_1.CloudFormationCreateReplaceChangeSetAction({
|
|
85
80
|
actionName: "PrepareChanges",
|
|
86
81
|
runOrder: 3,
|
|
87
|
-
stackName: props.stack.stackName,
|
|
82
|
+
stackName: props.stackName ? props.stackName : props.stack.stackName,
|
|
83
|
+
account: props.account,
|
|
84
|
+
region: props.region,
|
|
88
85
|
changeSetName: `${props.stack.stackName}Changes`,
|
|
89
86
|
adminPermissions: true,
|
|
90
|
-
templatePath: buildArtifact.atPath(
|
|
87
|
+
templatePath: buildArtifact.atPath(path.join(scope.buildDir, props.stack.templateFile)),
|
|
91
88
|
}),
|
|
92
89
|
...(props.manualApproval
|
|
93
90
|
? [
|
|
@@ -100,7 +97,9 @@ class StackSegmentBuild extends constructs_1.Construct {
|
|
|
100
97
|
new aws_codepipeline_actions_1.CloudFormationExecuteChangeSetAction({
|
|
101
98
|
actionName: "ExecuteChanges",
|
|
102
99
|
runOrder: props.manualApproval ? 5 : 4,
|
|
103
|
-
stackName: props.stack.stackName,
|
|
100
|
+
stackName: props.stackName ? props.stackName : props.stack.stackName,
|
|
101
|
+
account: props.account,
|
|
102
|
+
region: props.region,
|
|
104
103
|
changeSetName: `${props.stack.stackName}Changes`,
|
|
105
104
|
output: props.output,
|
|
106
105
|
outputFileName: props.output
|
|
@@ -110,5 +109,7 @@ class StackSegmentBuild extends constructs_1.Construct {
|
|
|
110
109
|
];
|
|
111
110
|
}
|
|
112
111
|
}
|
|
113
|
-
|
|
114
|
-
|
|
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=
|