@flit/cdk-pipeline 1.0.1 → 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,8 +0,0 @@
1
- import { Artifact as AwsArtifact } from "aws-cdk-lib/aws-codepipeline";
2
- import { Segment } from "./segment";
3
- export declare class Artifact extends AwsArtifact {
4
- private producer?;
5
- constructor();
6
- produce(producer: Segment): void;
7
- getProducer(): Segment | undefined;
8
- }
package/dist/artifact.js DELETED
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Artifact = void 0;
4
- const aws_codepipeline_1 = require("aws-cdk-lib/aws-codepipeline");
5
- class Artifact extends aws_codepipeline_1.Artifact {
6
- producer;
7
- constructor() {
8
- super();
9
- }
10
- produce(producer) {
11
- if (this.producer)
12
- throw new Error("Artifact is already produced");
13
- this.producer = producer;
14
- }
15
- getProducer() {
16
- return this.producer;
17
- }
18
- }
19
- exports.Artifact = Artifact;
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJ0aWZhY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYXJ0aWZhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUVBQXVFO0FBSXZFLE1BQWEsUUFBUyxTQUFRLDJCQUFXO0lBQy9CLFFBQVEsQ0FBVztJQUMzQjtRQUNFLEtBQUssRUFBRSxDQUFDO0lBQ1YsQ0FBQztJQUNELE9BQU8sQ0FBQyxRQUFpQjtRQUN2QixJQUFJLElBQUksQ0FBQyxRQUFRO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzNCLENBQUM7SUFDRCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7Q0FDRjtBQVpELDRCQVlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXJ0aWZhY3QgYXMgQXdzQXJ0aWZhY3QgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNvZGVwaXBlbGluZVwiO1xuXG5pbXBvcnQgeyBTZWdtZW50IH0gZnJvbSBcIi4vc2VnbWVudFwiO1xuXG5leHBvcnQgY2xhc3MgQXJ0aWZhY3QgZXh0ZW5kcyBBd3NBcnRpZmFjdCB7XG4gIHByaXZhdGUgcHJvZHVjZXI/OiBTZWdtZW50O1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG4gIHByb2R1Y2UocHJvZHVjZXI6IFNlZ21lbnQpIHtcbiAgICBpZiAodGhpcy5wcm9kdWNlcikgdGhyb3cgbmV3IEVycm9yKFwiQXJ0aWZhY3QgaXMgYWxyZWFkeSBwcm9kdWNlZFwiKTtcbiAgICB0aGlzLnByb2R1Y2VyID0gcHJvZHVjZXI7XG4gIH1cbiAgZ2V0UHJvZHVjZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMucHJvZHVjZXI7XG4gIH1cbn1cbiJdfQ==
package/dist/index.js DELETED
@@ -1,23 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./pipeline"), exports);
18
- __exportStar(require("./artifact"), exports);
19
- __exportStar(require("./source-segment"), exports);
20
- __exportStar(require("./pipeline-segment"), exports);
21
- __exportStar(require("./stack-segment"), exports);
22
- __exportStar(require("./publish-assets-action"), exports);
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDZDQUEyQjtBQUMzQiw2Q0FBMkI7QUFDM0IsbURBQWlDO0FBQ2pDLHFEQUFtQztBQUNuQyxrREFBZ0M7QUFDaEMsMERBQXdDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vcGlwZWxpbmVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2FydGlmYWN0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zb3VyY2Utc2VnbWVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGlwZWxpbmUtc2VnbWVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3RhY2stc2VnbWVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcHVibGlzaC1hc3NldHMtYWN0aW9uXCI7XG4iXX0=
@@ -1,18 +0,0 @@
1
- import { Stack } from "aws-cdk-lib";
2
- import { Artifact } from "./artifact";
3
- import { Segment, SegmentProps } from "./segment";
4
- import { StackSegmentBuild } from "./stack-segment";
5
- export interface PipelineSegmentProps extends SegmentProps {
6
- command: string | string[];
7
- buildPath: string;
8
- input: Artifact | Artifact[];
9
- output?: Artifact;
10
- manualAproval?: Boolean;
11
- }
12
- export declare class PipelineSegment extends Segment {
13
- readonly isPipeline: boolean;
14
- readonly props: PipelineSegmentProps;
15
- readonly input: Artifact | Artifact[];
16
- constructor(props: PipelineSegmentProps);
17
- build(scope: Stack): StackSegmentBuild;
18
- }
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PipelineSegment = void 0;
4
- const segment_1 = require("./segment");
5
- const stack_segment_1 = require("./stack-segment");
6
- class PipelineSegment extends segment_1.Segment {
7
- isPipeline = true;
8
- props;
9
- input;
10
- constructor(props) {
11
- super(props);
12
- this.input = props.input;
13
- this.props = props;
14
- }
15
- build(scope) {
16
- return new stack_segment_1.StackSegmentBuild(scope, `Deploy${scope.stackName}`, {
17
- ...this.props,
18
- stack: scope,
19
- input: this.input.constructor.name === "Array"
20
- ? this.input[0]
21
- : this.input,
22
- extraInputs: this.input.constructor.name === "Array"
23
- ? this.input.slice(1)
24
- : undefined,
25
- });
26
- }
27
- }
28
- exports.PipelineSegment = PipelineSegment;
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZWxpbmUtc2VnbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9waXBlbGluZS1zZWdtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQW1CQSx1Q0FBa0Q7QUFDbEQsbURBQW9EO0FBVXBELE1BQWEsZUFBZ0IsU0FBUSxpQkFBTztJQUNqQyxVQUFVLEdBQVksSUFBSSxDQUFDO0lBQzNCLEtBQUssQ0FBdUI7SUFDNUIsS0FBSyxDQUF3QjtJQUV0QyxZQUFZLEtBQTJCO1FBQ3JDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNiLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQVk7UUFDaEIsT0FBTyxJQUFJLGlDQUFpQixDQUFDLEtBQUssRUFBRSxTQUFTLEtBQUssQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUM5RCxHQUFHLElBQUksQ0FBQyxLQUFLO1lBQ2IsS0FBSyxFQUFFLEtBQUs7WUFDWixLQUFLLEVBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxLQUFLLE9BQU87Z0JBQ3JDLENBQUMsQ0FBRSxJQUFJLENBQUMsS0FBb0IsQ0FBQyxDQUFDLENBQUM7Z0JBQy9CLENBQUMsQ0FBRSxJQUFJLENBQUMsS0FBa0I7WUFDOUIsV0FBVyxFQUNULElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksS0FBSyxPQUFPO2dCQUNyQyxDQUFDLENBQUUsSUFBSSxDQUFDLEtBQW9CLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDckMsQ0FBQyxDQUFDLFNBQVM7U0FDaEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBekJELDBDQXlCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YWNrIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtcbiAgQnVpbGRTcGVjLFxuICBDb21wdXRlVHlwZSxcbiAgTGludXhCdWlsZEltYWdlLFxuICBQcm9qZWN0LFxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNvZGVidWlsZFwiO1xuaW1wb3J0IHsgSUFjdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY29kZXBpcGVsaW5lXCI7XG5pbXBvcnQge1xuICBDbG91ZEZvcm1hdGlvbkNyZWF0ZVJlcGxhY2VDaGFuZ2VTZXRBY3Rpb24sXG4gIENsb3VkRm9ybWF0aW9uRXhlY3V0ZUNoYW5nZVNldEFjdGlvbixcbiAgQ29kZUJ1aWxkQWN0aW9uLFxuICBNYW51YWxBcHByb3ZhbEFjdGlvbixcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jb2RlcGlwZWxpbmUtYWN0aW9uc1wiO1xuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIjtcblxuaW1wb3J0IHsgUHVibGlzaEFzc2V0c0FjdGlvbiB9IGZyb20gXCIuL3B1Ymxpc2gtYXNzZXRzLWFjdGlvblwiO1xuaW1wb3J0IHsgQXJ0aWZhY3QgfSBmcm9tIFwiLi9hcnRpZmFjdFwiO1xuaW1wb3J0IHsgU2VnbWVudCwgU2VnbWVudFByb3BzIH0gZnJvbSBcIi4vc2VnbWVudFwiO1xuaW1wb3J0IHsgU3RhY2tTZWdtZW50QnVpbGQgfSBmcm9tIFwiLi9zdGFjay1zZWdtZW50XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGlwZWxpbmVTZWdtZW50UHJvcHMgZXh0ZW5kcyBTZWdtZW50UHJvcHMge1xuICBjb21tYW5kOiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgYnVpbGRQYXRoOiBzdHJpbmc7XG4gIGlucHV0OiBBcnRpZmFjdCB8IEFydGlmYWN0W107XG4gIG91dHB1dD86IEFydGlmYWN0O1xuICBtYW51YWxBcHJvdmFsPzogQm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIFBpcGVsaW5lU2VnbWVudCBleHRlbmRzIFNlZ21lbnQge1xuICByZWFkb25seSBpc1BpcGVsaW5lOiBib29sZWFuID0gdHJ1ZTtcbiAgcmVhZG9ubHkgcHJvcHM6IFBpcGVsaW5lU2VnbWVudFByb3BzO1xuICByZWFkb25seSBpbnB1dDogQXJ0aWZhY3QgfCBBcnRpZmFjdFtdO1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzOiBQaXBlbGluZVNlZ21lbnRQcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcbiAgICB0aGlzLmlucHV0ID0gcHJvcHMuaW5wdXQ7XG4gICAgdGhpcy5wcm9wcyA9IHByb3BzO1xuICB9XG5cbiAgYnVpbGQoc2NvcGU6IFN0YWNrKTogU3RhY2tTZWdtZW50QnVpbGQge1xuICAgIHJldHVybiBuZXcgU3RhY2tTZWdtZW50QnVpbGQoc2NvcGUsIGBEZXBsb3kke3Njb3BlLnN0YWNrTmFtZX1gLCB7XG4gICAgICAuLi50aGlzLnByb3BzLFxuICAgICAgc3RhY2s6IHNjb3BlLFxuICAgICAgaW5wdXQ6XG4gICAgICAgIHRoaXMuaW5wdXQuY29uc3RydWN0b3IubmFtZSA9PT0gXCJBcnJheVwiXG4gICAgICAgICAgPyAodGhpcy5pbnB1dCBhcyBBcnRpZmFjdFtdKVswXVxuICAgICAgICAgIDogKHRoaXMuaW5wdXQgYXMgQXJ0aWZhY3QpLFxuICAgICAgZXh0cmFJbnB1dHM6XG4gICAgICAgIHRoaXMuaW5wdXQuY29uc3RydWN0b3IubmFtZSA9PT0gXCJBcnJheVwiXG4gICAgICAgICAgPyAodGhpcy5pbnB1dCBhcyBBcnRpZmFjdFtdKS5zbGljZSgxKVxuICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -1,10 +0,0 @@
1
- import { Stack, StackProps } from "aws-cdk-lib";
2
- import { Construct } from "constructs";
3
- import { Segment } from "./segment";
4
- export interface PipelineProps extends StackProps {
5
- pipelineName: string;
6
- segments: Segment[];
7
- }
8
- export declare class Pipeline extends Stack {
9
- constructor(scope: Construct, id: string, props: PipelineProps);
10
- }
package/dist/pipeline.js DELETED
@@ -1,43 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Pipeline = void 0;
4
- const aws_cdk_lib_1 = require("aws-cdk-lib");
5
- const aws_codepipeline_1 = require("aws-cdk-lib/aws-codepipeline");
6
- class Pipeline extends aws_cdk_lib_1.Stack {
7
- constructor(scope, id, props) {
8
- super(scope, id, props);
9
- if (!this.bundlingRequired)
10
- return;
11
- const sourceSegments = props.segments.filter((segment) => segment.isSource);
12
- const pipelineSegment = props.segments.find((segment) => segment.isPipeline);
13
- const segments = props.segments.filter((segment) => !segment.isSource && !segment.isPipeline);
14
- new aws_codepipeline_1.Pipeline(this, "Pipeline", {
15
- pipelineName: props.pipelineName,
16
- restartExecutionOnUpdate: true,
17
- stages: [
18
- {
19
- stageName: "Source",
20
- actions: [
21
- ...sourceSegments.reduce((actions, segment) => [
22
- ...actions,
23
- ...segment.build(this).actions,
24
- ], []),
25
- ],
26
- },
27
- {
28
- stageName: "Pipeline",
29
- actions: [...pipelineSegment.build(this).actions],
30
- },
31
- ...segments.map((segment) => {
32
- const build = segment.build(this);
33
- return {
34
- stageName: build.name,
35
- actions: build.actions,
36
- };
37
- }),
38
- ],
39
- });
40
- }
41
- }
42
- exports.Pipeline = Pipeline;
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZWxpbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcGlwZWxpbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQWdEO0FBRWhELG1FQUlzQztBQWN0QyxNQUFhLFFBQVMsU0FBUSxtQkFBSztJQUNqQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQW9CO1FBQzVELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXhCLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCO1lBQUUsT0FBTztRQUVuQyxNQUFNLGNBQWMsR0FBb0IsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQzNELENBQUMsT0FBZ0IsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FDcEIsQ0FBQztRQUVyQixNQUFNLGVBQWUsR0FBZ0MsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ3RFLENBQUMsT0FBZ0IsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FDdEIsQ0FBQztRQUVyQixNQUFNLFFBQVEsR0FBYyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FDL0MsQ0FBQyxPQUFnQixFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUMvRCxDQUFDO1FBRUYsSUFBSSwyQkFBVyxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDaEMsWUFBWSxFQUFFLEtBQUssQ0FBQyxZQUFZO1lBQ2hDLHdCQUF3QixFQUFFLElBQUk7WUFDOUIsTUFBTSxFQUFFO2dCQUNOO29CQUNFLFNBQVMsRUFBRSxRQUFRO29CQUNuQixPQUFPLEVBQUU7d0JBQ1AsR0FBRyxjQUFjLENBQUMsTUFBTSxDQUN0QixDQUFDLE9BQWtCLEVBQUUsT0FBc0IsRUFBRSxFQUFFLENBQUM7NEJBQzlDLEdBQUcsT0FBTzs0QkFDVixHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTzt5QkFDL0IsRUFDRCxFQUFFLENBQ0g7cUJBQ0Y7aUJBQ0Y7Z0JBQ0Q7b0JBQ0UsU0FBUyxFQUFFLFVBQVU7b0JBQ3JCLE9BQU8sRUFBRSxDQUFDLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUM7aUJBQ2xEO2dCQUNELEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQWdCLEVBQUUsRUFBRTtvQkFDbkMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDbEMsT0FBTzt3QkFDTCxTQUFTLEVBQUUsS0FBSyxDQUFDLElBQUk7d0JBQ3JCLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztxQkFDdkIsQ0FBQztnQkFDSixDQUFDLENBQUM7YUFDSDtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQWhERCw0QkFnREMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdGFjaywgU3RhY2tQcm9wcyB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7XG4gIFBpcGVsaW5lIGFzIEF3c1BpcGVsaW5lLFxuICBJQWN0aW9uLFxuICBTdGFnZVByb3BzLFxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNvZGVwaXBlbGluZVwiO1xuaW1wb3J0IHsgUmVwb3NpdG9yeSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY29kZWNvbW1pdFwiO1xuXG5pbXBvcnQgeyBTZWdtZW50IH0gZnJvbSBcIi4vc2VnbWVudFwiO1xuaW1wb3J0IHsgU291cmNlU2VnbWVudCB9IGZyb20gXCIuL3NvdXJjZS1zZWdtZW50XCI7XG5pbXBvcnQgeyBQaXBlbGluZVNlZ21lbnQgfSBmcm9tIFwiLi9waXBlbGluZS1zZWdtZW50XCI7XG5pbXBvcnQgeyBTdGFja1NlZ21lbnQgfSBmcm9tIFwiLi9zdGFjay1zZWdtZW50XCI7XG5pbXBvcnQgeyBBcnRpZmFjdCB9IGZyb20gXCIuL2FydGlmYWN0XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGlwZWxpbmVQcm9wcyBleHRlbmRzIFN0YWNrUHJvcHMge1xuICBwaXBlbGluZU5hbWU6IHN0cmluZztcbiAgc2VnbWVudHM6IFNlZ21lbnRbXTtcbn1cblxuZXhwb3J0IGNsYXNzIFBpcGVsaW5lIGV4dGVuZHMgU3RhY2sge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUGlwZWxpbmVQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuXG4gICAgaWYgKCF0aGlzLmJ1bmRsaW5nUmVxdWlyZWQpIHJldHVybjtcblxuICAgIGNvbnN0IHNvdXJjZVNlZ21lbnRzOiBTb3VyY2VTZWdtZW50W10gPSBwcm9wcy5zZWdtZW50cy5maWx0ZXIoXG4gICAgICAoc2VnbWVudDogU2VnbWVudCkgPT4gc2VnbWVudC5pc1NvdXJjZVxuICAgICkgYXMgU291cmNlU2VnbWVudFtdO1xuXG4gICAgY29uc3QgcGlwZWxpbmVTZWdtZW50OiBQaXBlbGluZVNlZ21lbnQgfCB1bmRlZmluZWQgPSBwcm9wcy5zZWdtZW50cy5maW5kKFxuICAgICAgKHNlZ21lbnQ6IFNlZ21lbnQpID0+IHNlZ21lbnQuaXNQaXBlbGluZVxuICAgICkgYXMgUGlwZWxpbmVTZWdtZW50O1xuXG4gICAgY29uc3Qgc2VnbWVudHM6IFNlZ21lbnRbXSA9IHByb3BzLnNlZ21lbnRzLmZpbHRlcihcbiAgICAgIChzZWdtZW50OiBTZWdtZW50KSA9PiAhc2VnbWVudC5pc1NvdXJjZSAmJiAhc2VnbWVudC5pc1BpcGVsaW5lXG4gICAgKTtcblxuICAgIG5ldyBBd3NQaXBlbGluZSh0aGlzLCBcIlBpcGVsaW5lXCIsIHtcbiAgICAgIHBpcGVsaW5lTmFtZTogcHJvcHMucGlwZWxpbmVOYW1lLFxuICAgICAgcmVzdGFydEV4ZWN1dGlvbk9uVXBkYXRlOiB0cnVlLFxuICAgICAgc3RhZ2VzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBzdGFnZU5hbWU6IFwiU291cmNlXCIsXG4gICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgLi4uc291cmNlU2VnbWVudHMucmVkdWNlKFxuICAgICAgICAgICAgICAoYWN0aW9uczogSUFjdGlvbltdLCBzZWdtZW50OiBTb3VyY2VTZWdtZW50KSA9PiBbXG4gICAgICAgICAgICAgICAgLi4uYWN0aW9ucyxcbiAgICAgICAgICAgICAgICAuLi5zZWdtZW50LmJ1aWxkKHRoaXMpLmFjdGlvbnMsXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIFtdXG4gICAgICAgICAgICApLFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBzdGFnZU5hbWU6IFwiUGlwZWxpbmVcIixcbiAgICAgICAgICBhY3Rpb25zOiBbLi4ucGlwZWxpbmVTZWdtZW50LmJ1aWxkKHRoaXMpLmFjdGlvbnNdLFxuICAgICAgICB9LFxuICAgICAgICAuLi5zZWdtZW50cy5tYXAoKHNlZ21lbnQ6IFNlZ21lbnQpID0+IHtcbiAgICAgICAgICBjb25zdCBidWlsZCA9IHNlZ21lbnQuYnVpbGQodGhpcyk7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHN0YWdlTmFtZTogYnVpbGQubmFtZSxcbiAgICAgICAgICAgIGFjdGlvbnM6IGJ1aWxkLmFjdGlvbnMsXG4gICAgICAgICAgfTtcbiAgICAgICAgfSksXG4gICAgICBdLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -1,16 +0,0 @@
1
- import { Construct } from "constructs";
2
- import { ActionBindOptions, ActionConfig, ActionProperties, Artifact, IAction, IStage } from "aws-cdk-lib/aws-codepipeline";
3
- import { IRuleTarget, RuleProps, Rule } from "aws-cdk-lib/aws-events";
4
- export interface PublishAssetsActionProps {
5
- actionName: string;
6
- input: Artifact;
7
- manifestPath: string;
8
- runOrder?: number;
9
- }
10
- export declare class PublishAssetsAction extends Construct implements IAction {
11
- readonly actionProperties: ActionProperties;
12
- bound(scope: Construct, stage: IStage, options: ActionBindOptions): ActionConfig;
13
- bind(scope: Construct, stage: IStage, options: ActionBindOptions): ActionConfig;
14
- onStateChange(name: string, target?: IRuleTarget | undefined, options?: RuleProps | undefined): Rule;
15
- constructor(scope: Construct, id: string, props: PublishAssetsActionProps);
16
- }
@@ -1,80 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.PublishAssetsAction = void 0;
7
- const aws_cdk_lib_1 = require("aws-cdk-lib");
8
- const constructs_1 = require("constructs");
9
- const aws_codebuild_1 = require("aws-cdk-lib/aws-codebuild");
10
- const aws_codepipeline_actions_1 = require("aws-cdk-lib/aws-codepipeline-actions");
11
- const aws_iam_1 = require("aws-cdk-lib/aws-iam");
12
- const path_1 = __importDefault(require("path"));
13
- class PublishAssetsAction extends constructs_1.Construct {
14
- actionProperties;
15
- bound(scope, stage, options) {
16
- throw new Error("Method not implemented.");
17
- }
18
- bind(scope, stage, options) {
19
- throw new Error("Method not implemented.");
20
- }
21
- onStateChange(name, target, options) {
22
- throw new Error("Method not implemented.");
23
- }
24
- constructor(scope, id, props) {
25
- super(scope, id);
26
- const codeBuild = new aws_codepipeline_actions_1.CodeBuildAction({
27
- ...props,
28
- input: props.input,
29
- project: new aws_codebuild_1.Project(this, id, {
30
- environment: {
31
- buildImage: aws_codebuild_1.LinuxBuildImage.AMAZON_LINUX_2_4,
32
- },
33
- role: new aws_iam_1.Role(this, "UpdatePipelineCodeCuildRole", {
34
- assumedBy: new aws_iam_1.CompositePrincipal(new aws_iam_1.ServicePrincipal("codebuild.amazonaws.com"), new aws_iam_1.AccountPrincipal(aws_cdk_lib_1.Stack.of(this).account)),
35
- inlinePolicies: {
36
- selfMutation: new aws_iam_1.PolicyDocument({
37
- statements: [
38
- new aws_iam_1.PolicyStatement({
39
- actions: ["sts:AssumeRole"],
40
- resources: [`arn:*:iam::${aws_cdk_lib_1.Stack.of(this).account}:role/*`],
41
- conditions: {
42
- "ForAnyValue:StringEquals": {
43
- "iam:ResourceTag/aws-cdk:bootstrap-role": [
44
- "image-publishing",
45
- "file-publishing",
46
- "deploy",
47
- ],
48
- },
49
- },
50
- }),
51
- ],
52
- }),
53
- },
54
- }),
55
- buildSpec: aws_codebuild_1.BuildSpec.fromObject({
56
- version: "0.2",
57
- phases: {
58
- install: {
59
- "runtime-versions": {
60
- nodejs: 16,
61
- },
62
- commands: [
63
- "npm install -g npm@latest",
64
- "npm i -g @flit/publish-cdk-assets@latest",
65
- ],
66
- },
67
- build: {
68
- commands: `pca ${props.manifestPath ? path_1.default.normalize(props.manifestPath) : "."}`,
69
- },
70
- },
71
- }),
72
- }),
73
- });
74
- this.actionProperties = codeBuild.actionProperties;
75
- this.bind = (scope, stage, options) => codeBuild.bind(scope, stage, options);
76
- this.onStateChange = (name, target, options) => codeBuild.onStateChange(name, target, options);
77
- }
78
- }
79
- exports.PublishAssetsAction = PublishAssetsAction;
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGlzaC1hc3NldHMtYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3B1Ymxpc2gtYXNzZXRzLWFjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSw2Q0FBb0M7QUFDcEMsMkNBQXVDO0FBU3ZDLDZEQUFnRjtBQUNoRixtRkFBdUU7QUFDdkUsaURBTzZCO0FBQzdCLGdEQUF3QjtBQVV4QixNQUFhLG1CQUFvQixTQUFRLHNCQUFTO0lBQ2hDLGdCQUFnQixDQUFtQjtJQUVuRCxLQUFLLENBQ0gsS0FBZ0IsRUFDaEIsS0FBYSxFQUNiLE9BQTBCO1FBRTFCLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsSUFBSSxDQUNGLEtBQWdCLEVBQ2hCLEtBQWEsRUFDYixPQUEwQjtRQUUxQixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELGFBQWEsQ0FDWCxJQUFZLEVBQ1osTUFBZ0MsRUFDaEMsT0FBK0I7UUFFL0IsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQStCO1FBQ3ZFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakIsTUFBTSxTQUFTLEdBQUcsSUFBSSwwQ0FBZSxDQUFDO1lBQ3BDLEdBQUcsS0FBSztZQUNSLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztZQUNsQixPQUFPLEVBQUUsSUFBSSx1QkFBTyxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUU7Z0JBQzdCLFdBQVcsRUFBRTtvQkFDWCxVQUFVLEVBQUUsK0JBQWUsQ0FBQyxnQkFBZ0I7aUJBQzdDO2dCQUNELElBQUksRUFBRSxJQUFJLGNBQUksQ0FBQyxJQUFJLEVBQUUsNkJBQTZCLEVBQUU7b0JBQ2xELFNBQVMsRUFBRSxJQUFJLDRCQUFrQixDQUMvQixJQUFJLDBCQUFnQixDQUFDLHlCQUF5QixDQUFDLEVBQy9DLElBQUksMEJBQWdCLENBQUMsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQzdDO29CQUNELGNBQWMsRUFBRTt3QkFDZCxZQUFZLEVBQUUsSUFBSSx3QkFBYyxDQUFDOzRCQUMvQixVQUFVLEVBQUU7Z0NBQ1YsSUFBSSx5QkFBZSxDQUFDO29DQUNsQixPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztvQ0FDM0IsU0FBUyxFQUFFLENBQUMsY0FBYyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLFNBQVMsQ0FBQztvQ0FDMUQsVUFBVSxFQUFFO3dDQUNWLDBCQUEwQixFQUFFOzRDQUMxQix3Q0FBd0MsRUFBRTtnREFDeEMsa0JBQWtCO2dEQUNsQixpQkFBaUI7Z0RBQ2pCLFFBQVE7NkNBQ1Q7eUNBQ0Y7cUNBQ0Y7aUNBQ0YsQ0FBQzs2QkFDSDt5QkFDRixDQUFDO3FCQUNIO2lCQUNGLENBQUM7Z0JBQ0YsU0FBUyxFQUFFLHlCQUFTLENBQUMsVUFBVSxDQUFDO29CQUM5QixPQUFPLEVBQUUsS0FBSztvQkFDZCxNQUFNLEVBQUU7d0JBQ04sT0FBTyxFQUFFOzRCQUNQLGtCQUFrQixFQUFFO2dDQUNsQixNQUFNLEVBQUUsRUFBRTs2QkFDWDs0QkFDRCxRQUFRLEVBQUU7Z0NBQ1IsMkJBQTJCO2dDQUMzQiwwQ0FBMEM7NkJBQzNDO3lCQUNGO3dCQUNELEtBQUssRUFBRTs0QkFDTCxRQUFRLEVBQUUsT0FDUixLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxjQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FDNUQsRUFBRTt5QkFDSDtxQkFDRjtpQkFDRixDQUFDO2FBQ0gsQ0FBQztTQUNILENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxTQUFTLENBQUMsZ0JBQWdCLENBQUM7UUFDbkQsSUFBSSxDQUFDLElBQUksR0FBRyxDQUNWLEtBQWdCLEVBQ2hCLEtBQWEsRUFDYixPQUEwQixFQUNaLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUNuQixJQUFZLEVBQ1osTUFBb0IsRUFDcEIsT0FBbUIsRUFDYixFQUFFLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzVELENBQUM7Q0FDRjtBQS9GRCxrREErRkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdGFjayB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7XG4gIEFjdGlvbkJpbmRPcHRpb25zLFxuICBBY3Rpb25Db25maWcsXG4gIEFjdGlvblByb3BlcnRpZXMsXG4gIEFydGlmYWN0LFxuICBJQWN0aW9uLFxuICBJU3RhZ2UsXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY29kZXBpcGVsaW5lXCI7XG5pbXBvcnQgeyBCdWlsZFNwZWMsIExpbnV4QnVpbGRJbWFnZSwgUHJvamVjdCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY29kZWJ1aWxkXCI7XG5pbXBvcnQgeyBDb2RlQnVpbGRBY3Rpb24gfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNvZGVwaXBlbGluZS1hY3Rpb25zXCI7XG5pbXBvcnQge1xuICBBY2NvdW50UHJpbmNpcGFsLFxuICBDb21wb3NpdGVQcmluY2lwYWwsXG4gIFBvbGljeURvY3VtZW50LFxuICBQb2xpY3lTdGF0ZW1lbnQsXG4gIFJvbGUsXG4gIFNlcnZpY2VQcmluY2lwYWwsXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtaWFtXCI7XG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHsgSVJ1bGVUYXJnZXQsIFJ1bGVQcm9wcywgUnVsZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZXZlbnRzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHVibGlzaEFzc2V0c0FjdGlvblByb3BzIHtcbiAgYWN0aW9uTmFtZTogc3RyaW5nO1xuICBpbnB1dDogQXJ0aWZhY3Q7XG4gIG1hbmlmZXN0UGF0aDogc3RyaW5nO1xuICBydW5PcmRlcj86IG51bWJlcjtcbn1cblxuZXhwb3J0IGNsYXNzIFB1Ymxpc2hBc3NldHNBY3Rpb24gZXh0ZW5kcyBDb25zdHJ1Y3QgaW1wbGVtZW50cyBJQWN0aW9uIHtcbiAgcHVibGljIHJlYWRvbmx5IGFjdGlvblByb3BlcnRpZXM6IEFjdGlvblByb3BlcnRpZXM7XG5cbiAgYm91bmQoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBzdGFnZTogSVN0YWdlLFxuICAgIG9wdGlvbnM6IEFjdGlvbkJpbmRPcHRpb25zXG4gICk6IEFjdGlvbkNvbmZpZyB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC5cIik7XG4gIH1cblxuICBiaW5kKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgc3RhZ2U6IElTdGFnZSxcbiAgICBvcHRpb25zOiBBY3Rpb25CaW5kT3B0aW9uc1xuICApOiBBY3Rpb25Db25maWcge1xuICAgIHRocm93IG5ldyBFcnJvcihcIk1ldGhvZCBub3QgaW1wbGVtZW50ZWQuXCIpO1xuICB9XG5cbiAgb25TdGF0ZUNoYW5nZShcbiAgICBuYW1lOiBzdHJpbmcsXG4gICAgdGFyZ2V0PzogSVJ1bGVUYXJnZXQgfCB1bmRlZmluZWQsXG4gICAgb3B0aW9ucz86IFJ1bGVQcm9wcyB8IHVuZGVmaW5lZFxuICApOiBSdWxlIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJNZXRob2Qgbm90IGltcGxlbWVudGVkLlwiKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBQdWJsaXNoQXNzZXRzQWN0aW9uUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIGNvbnN0IGNvZGVCdWlsZCA9IG5ldyBDb2RlQnVpbGRBY3Rpb24oe1xuICAgICAgLi4ucHJvcHMsXG4gICAgICBpbnB1dDogcHJvcHMuaW5wdXQsXG4gICAgICBwcm9qZWN0OiBuZXcgUHJvamVjdCh0aGlzLCBpZCwge1xuICAgICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICAgIGJ1aWxkSW1hZ2U6IExpbnV4QnVpbGRJbWFnZS5BTUFaT05fTElOVVhfMl80LFxuICAgICAgICB9LFxuICAgICAgICByb2xlOiBuZXcgUm9sZSh0aGlzLCBcIlVwZGF0ZVBpcGVsaW5lQ29kZUN1aWxkUm9sZVwiLCB7XG4gICAgICAgICAgYXNzdW1lZEJ5OiBuZXcgQ29tcG9zaXRlUHJpbmNpcGFsKFxuICAgICAgICAgICAgbmV3IFNlcnZpY2VQcmluY2lwYWwoXCJjb2RlYnVpbGQuYW1hem9uYXdzLmNvbVwiKSxcbiAgICAgICAgICAgIG5ldyBBY2NvdW50UHJpbmNpcGFsKFN0YWNrLm9mKHRoaXMpLmFjY291bnQpXG4gICAgICAgICAgKSxcbiAgICAgICAgICBpbmxpbmVQb2xpY2llczoge1xuICAgICAgICAgICAgc2VsZk11dGF0aW9uOiBuZXcgUG9saWN5RG9jdW1lbnQoe1xuICAgICAgICAgICAgICBzdGF0ZW1lbnRzOiBbXG4gICAgICAgICAgICAgICAgbmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgICAgICAgICBhY3Rpb25zOiBbXCJzdHM6QXNzdW1lUm9sZVwiXSxcbiAgICAgICAgICAgICAgICAgIHJlc291cmNlczogW2Bhcm46KjppYW06OiR7U3RhY2sub2YodGhpcykuYWNjb3VudH06cm9sZS8qYF0sXG4gICAgICAgICAgICAgICAgICBjb25kaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgIFwiRm9yQW55VmFsdWU6U3RyaW5nRXF1YWxzXCI6IHtcbiAgICAgICAgICAgICAgICAgICAgICBcImlhbTpSZXNvdXJjZVRhZy9hd3MtY2RrOmJvb3RzdHJhcC1yb2xlXCI6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiaW1hZ2UtcHVibGlzaGluZ1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJmaWxlLXB1Ymxpc2hpbmdcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiZGVwbG95XCIsXG4gICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KSxcbiAgICAgICAgYnVpbGRTcGVjOiBCdWlsZFNwZWMuZnJvbU9iamVjdCh7XG4gICAgICAgICAgdmVyc2lvbjogXCIwLjJcIixcbiAgICAgICAgICBwaGFzZXM6IHtcbiAgICAgICAgICAgIGluc3RhbGw6IHtcbiAgICAgICAgICAgICAgXCJydW50aW1lLXZlcnNpb25zXCI6IHtcbiAgICAgICAgICAgICAgICBub2RlanM6IDE2LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBjb21tYW5kczogW1xuICAgICAgICAgICAgICAgIFwibnBtIGluc3RhbGwgLWcgbnBtQGxhdGVzdFwiLFxuICAgICAgICAgICAgICAgIFwibnBtIGkgLWcgQGZsaXQvcHVibGlzaC1jZGstYXNzZXRzQGxhdGVzdFwiLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGJ1aWxkOiB7XG4gICAgICAgICAgICAgIGNvbW1hbmRzOiBgcGNhICR7XG4gICAgICAgICAgICAgICAgcHJvcHMubWFuaWZlc3RQYXRoID8gcGF0aC5ub3JtYWxpemUocHJvcHMubWFuaWZlc3RQYXRoKSA6IFwiLlwiXG4gICAgICAgICAgICAgIH1gLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KSxcbiAgICAgIH0pLFxuICAgIH0pO1xuXG4gICAgdGhpcy5hY3Rpb25Qcm9wZXJ0aWVzID0gY29kZUJ1aWxkLmFjdGlvblByb3BlcnRpZXM7XG4gICAgdGhpcy5iaW5kID0gKFxuICAgICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICAgIHN0YWdlOiBJU3RhZ2UsXG4gICAgICBvcHRpb25zOiBBY3Rpb25CaW5kT3B0aW9uc1xuICAgICk6IEFjdGlvbkNvbmZpZyA9PiBjb2RlQnVpbGQuYmluZChzY29wZSwgc3RhZ2UsIG9wdGlvbnMpO1xuICAgIHRoaXMub25TdGF0ZUNoYW5nZSA9IChcbiAgICAgIG5hbWU6IHN0cmluZyxcbiAgICAgIHRhcmdldD86IElSdWxlVGFyZ2V0LFxuICAgICAgb3B0aW9ucz86IFJ1bGVQcm9wc1xuICAgICk6IFJ1bGUgPT4gY29kZUJ1aWxkLm9uU3RhdGVDaGFuZ2UobmFtZSwgdGFyZ2V0LCBvcHRpb25zKTtcbiAgfVxufVxuIl19
package/dist/segment.d.ts DELETED
@@ -1,21 +0,0 @@
1
- import { Stack } from "aws-cdk-lib";
2
- import { Construct } from "constructs";
3
- import { IAction } from "aws-cdk-lib/aws-codepipeline";
4
- import { Artifact } from "./artifact";
5
- export interface SegmentProps {
6
- input?: Artifact | Artifact[];
7
- output?: Artifact | Artifact[];
8
- }
9
- export declare class Segment {
10
- readonly isSource: boolean;
11
- readonly isPipeline: boolean;
12
- dependencies?: Stack[];
13
- readonly inputs?: Artifact[];
14
- readonly outputs?: Artifact[];
15
- constructor(props: SegmentProps);
16
- build(scope: Construct): ISegmentBuild;
17
- }
18
- export interface ISegmentBuild {
19
- readonly name: string;
20
- readonly actions: IAction[];
21
- }
package/dist/segment.js DELETED
@@ -1,28 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Segment = void 0;
4
- class Segment {
5
- isSource = false;
6
- isPipeline = false;
7
- dependencies;
8
- inputs;
9
- outputs;
10
- constructor(props) {
11
- if (props.input) {
12
- this.inputs = (props.input.constructor.name === "Array" ? props.input : [props.input]);
13
- }
14
- if (props.output) {
15
- this.outputs = (props.output.constructor.name === "Array"
16
- ? props.output
17
- : [props.output]);
18
- this.outputs.forEach((artifact) => {
19
- artifact.produce(this);
20
- }, this);
21
- }
22
- }
23
- build(scope) {
24
- throw new Error("Method not implemented.");
25
- }
26
- }
27
- exports.Segment = Segment;
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9zZWdtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQVdBLE1BQWEsT0FBTztJQUNULFFBQVEsR0FBWSxLQUFLLENBQUM7SUFDMUIsVUFBVSxHQUFZLEtBQUssQ0FBQztJQUNyQyxZQUFZLENBQVc7SUFDZCxNQUFNLENBQWM7SUFDcEIsT0FBTyxDQUFjO0lBQzlCLFlBQVksS0FBbUI7UUFDN0IsSUFBSSxLQUFLLENBQUMsS0FBSyxFQUFFO1lBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUNaLEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUN6RCxDQUFDO1NBQ2pCO1FBQ0QsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FDYixLQUFLLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEtBQUssT0FBTztnQkFDdkMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNO2dCQUNkLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FDTCxDQUFDO1lBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBa0IsRUFBRSxFQUFFO2dCQUMxQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3pCLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztTQUNWO0lBQ0gsQ0FBQztJQUNELEtBQUssQ0FBQyxLQUFnQjtRQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztDQUNGO0FBMUJELDBCQTBCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YWNrIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgSUFjdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY29kZXBpcGVsaW5lXCI7XG5cbmltcG9ydCB7IEFydGlmYWN0IH0gZnJvbSBcIi4vYXJ0aWZhY3RcIjtcblxuZXhwb3J0IGludGVyZmFjZSBTZWdtZW50UHJvcHMge1xuICBpbnB1dD86IEFydGlmYWN0IHwgQXJ0aWZhY3RbXTtcbiAgb3V0cHV0PzogQXJ0aWZhY3QgfCBBcnRpZmFjdFtdO1xufVxuXG5leHBvcnQgY2xhc3MgU2VnbWVudCB7XG4gIHJlYWRvbmx5IGlzU291cmNlOiBib29sZWFuID0gZmFsc2U7XG4gIHJlYWRvbmx5IGlzUGlwZWxpbmU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgZGVwZW5kZW5jaWVzPzogU3RhY2tbXTtcbiAgcmVhZG9ubHkgaW5wdXRzPzogQXJ0aWZhY3RbXTtcbiAgcmVhZG9ubHkgb3V0cHV0cz86IEFydGlmYWN0W107XG4gIGNvbnN0cnVjdG9yKHByb3BzOiBTZWdtZW50UHJvcHMpIHtcbiAgICBpZiAocHJvcHMuaW5wdXQpIHtcbiAgICAgIHRoaXMuaW5wdXRzID0gKFxuICAgICAgICBwcm9wcy5pbnB1dC5jb25zdHJ1Y3Rvci5uYW1lID09PSBcIkFycmF5XCIgPyBwcm9wcy5pbnB1dCA6IFtwcm9wcy5pbnB1dF1cbiAgICAgICkgYXMgQXJ0aWZhY3RbXTtcbiAgICB9XG4gICAgaWYgKHByb3BzLm91dHB1dCkge1xuICAgICAgdGhpcy5vdXRwdXRzID0gKFxuICAgICAgICBwcm9wcy5vdXRwdXQuY29uc3RydWN0b3IubmFtZSA9PT0gXCJBcnJheVwiXG4gICAgICAgICAgPyBwcm9wcy5vdXRwdXRcbiAgICAgICAgICA6IFtwcm9wcy5vdXRwdXRdXG4gICAgICApIGFzIEFydGlmYWN0W107XG4gICAgICB0aGlzLm91dHB1dHMuZm9yRWFjaCgoYXJ0aWZhY3Q6IEFydGlmYWN0KSA9PiB7XG4gICAgICAgIGFydGlmYWN0LnByb2R1Y2UodGhpcyk7XG4gICAgICB9LCB0aGlzKTtcbiAgICB9XG4gIH1cbiAgYnVpbGQoc2NvcGU6IENvbnN0cnVjdCk6IElTZWdtZW50QnVpbGQge1xuICAgIHRocm93IG5ldyBFcnJvcihcIk1ldGhvZCBub3QgaW1wbGVtZW50ZWQuXCIpO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNlZ21lbnRCdWlsZCB7XG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgYWN0aW9uczogSUFjdGlvbltdO1xufVxuIl19
@@ -1,28 +0,0 @@
1
- import { Construct } from "constructs";
2
- import { IAction } from "aws-cdk-lib/aws-codepipeline";
3
- import { GitHubSourceActionProps } from "aws-cdk-lib/aws-codepipeline-actions";
4
- import { Artifact } from "./artifact";
5
- import { Segment, SegmentProps, ISegmentBuild } from "./segment";
6
- export interface SourceSegmentProps extends SegmentProps {
7
- output: Artifact;
8
- }
9
- export declare class SourceSegment extends Segment {
10
- readonly isSource: boolean;
11
- constructor(props: SourceSegmentProps);
12
- }
13
- export interface GitHubSourceSegmentProps extends SourceSegmentProps, GitHubSourceActionProps {
14
- output: Artifact;
15
- }
16
- export declare class GitHubSourceSegment extends SourceSegment {
17
- private props;
18
- constructor(props: GitHubSourceSegmentProps);
19
- build(scope: Construct): GitHubSourceSegmentBuild;
20
- }
21
- export interface GitHubSourceSegmentBuildProps extends GitHubSourceActionProps {
22
- output: Artifact;
23
- }
24
- export declare class GitHubSourceSegmentBuild extends Construct implements ISegmentBuild {
25
- name: string;
26
- actions: IAction[];
27
- constructor(scope: Construct, id: string, props: GitHubSourceSegmentBuildProps);
28
- }
@@ -1,34 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GitHubSourceSegmentBuild = exports.GitHubSourceSegment = exports.SourceSegment = void 0;
4
- const constructs_1 = require("constructs");
5
- const aws_codepipeline_actions_1 = require("aws-cdk-lib/aws-codepipeline-actions");
6
- const segment_1 = require("./segment");
7
- class SourceSegment extends segment_1.Segment {
8
- isSource = true;
9
- constructor(props) {
10
- super(props);
11
- }
12
- }
13
- exports.SourceSegment = SourceSegment;
14
- class GitHubSourceSegment extends SourceSegment {
15
- props;
16
- constructor(props) {
17
- super(props);
18
- this.props = props;
19
- }
20
- build(scope) {
21
- return new GitHubSourceSegmentBuild(scope, this.props.repo, this.props);
22
- }
23
- }
24
- exports.GitHubSourceSegment = GitHubSourceSegment;
25
- class GitHubSourceSegmentBuild extends constructs_1.Construct {
26
- name;
27
- actions;
28
- constructor(scope, id, props) {
29
- super(scope, id);
30
- this.actions = [new aws_codepipeline_actions_1.GitHubSourceAction(props)];
31
- }
32
- }
33
- exports.GitHubSourceSegmentBuild = GitHubSourceSegmentBuild;
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLXNlZ21lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvc291cmNlLXNlZ21lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsMkNBQXVDO0FBRXZDLG1GQU84QztBQUs5Qyx1Q0FBaUU7QUFNakUsTUFBYSxhQUFjLFNBQVEsaUJBQU87SUFDL0IsUUFBUSxHQUFZLElBQUksQ0FBQztJQUNsQyxZQUFZLEtBQXlCO1FBQ25DLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNmLENBQUM7Q0FDRjtBQUxELHNDQUtDO0FBUUQsTUFBYSxtQkFBb0IsU0FBUSxhQUFhO0lBQzVDLEtBQUssQ0FBMkI7SUFDeEMsWUFBWSxLQUErQjtRQUN6QyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDYixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBQ0QsS0FBSyxDQUFDLEtBQWdCO1FBQ3BCLE9BQU8sSUFBSSx3QkFBd0IsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFFLENBQUM7Q0FDRjtBQVRELGtEQVNDO0FBTUQsTUFBYSx3QkFDWCxTQUFRLHNCQUFTO0lBR2pCLElBQUksQ0FBUztJQUNiLE9BQU8sQ0FBWTtJQUVuQixZQUNFLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixLQUFvQztRQUVwQyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLDZDQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDakQsQ0FBQztDQUNGO0FBaEJELDREQWdCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YWNrIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgSUFjdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY29kZXBpcGVsaW5lXCI7XG5pbXBvcnQge1xuICBDb2RlQ29tbWl0U291cmNlQWN0aW9uLFxuICBDb2RlU3RhckNvbm5lY3Rpb25zU291cmNlQWN0aW9uLFxuICBFY3JTb3VyY2VBY3Rpb24sXG4gIEdpdEh1YlNvdXJjZUFjdGlvbixcbiAgR2l0SHViU291cmNlQWN0aW9uUHJvcHMsXG4gIFMzU291cmNlQWN0aW9uLFxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNvZGVwaXBlbGluZS1hY3Rpb25zXCI7XG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiO1xuXG5pbXBvcnQgeyBQdWJsaXNoQXNzZXRzQWN0aW9uIH0gZnJvbSBcIi4vcHVibGlzaC1hc3NldHMtYWN0aW9uXCI7XG5pbXBvcnQgeyBBcnRpZmFjdCB9IGZyb20gXCIuL2FydGlmYWN0XCI7XG5pbXBvcnQgeyBTZWdtZW50LCBTZWdtZW50UHJvcHMsIElTZWdtZW50QnVpbGQgfSBmcm9tIFwiLi9zZWdtZW50XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU291cmNlU2VnbWVudFByb3BzIGV4dGVuZHMgU2VnbWVudFByb3BzIHtcbiAgb3V0cHV0OiBBcnRpZmFjdDtcbn1cblxuZXhwb3J0IGNsYXNzIFNvdXJjZVNlZ21lbnQgZXh0ZW5kcyBTZWdtZW50IHtcbiAgcmVhZG9ubHkgaXNTb3VyY2U6IGJvb2xlYW4gPSB0cnVlO1xuICBjb25zdHJ1Y3Rvcihwcm9wczogU291cmNlU2VnbWVudFByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2l0SHViU291cmNlU2VnbWVudFByb3BzXG4gIGV4dGVuZHMgU291cmNlU2VnbWVudFByb3BzLFxuICAgIEdpdEh1YlNvdXJjZUFjdGlvblByb3BzIHtcbiAgb3V0cHV0OiBBcnRpZmFjdDtcbn1cblxuZXhwb3J0IGNsYXNzIEdpdEh1YlNvdXJjZVNlZ21lbnQgZXh0ZW5kcyBTb3VyY2VTZWdtZW50IHtcbiAgcHJpdmF0ZSBwcm9wczogR2l0SHViU291cmNlU2VnbWVudFByb3BzO1xuICBjb25zdHJ1Y3Rvcihwcm9wczogR2l0SHViU291cmNlU2VnbWVudFByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICAgIHRoaXMucHJvcHMgPSBwcm9wcztcbiAgfVxuICBidWlsZChzY29wZTogQ29uc3RydWN0KTogR2l0SHViU291cmNlU2VnbWVudEJ1aWxkIHtcbiAgICByZXR1cm4gbmV3IEdpdEh1YlNvdXJjZVNlZ21lbnRCdWlsZChzY29wZSwgdGhpcy5wcm9wcy5yZXBvLCB0aGlzLnByb3BzKTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdpdEh1YlNvdXJjZVNlZ21lbnRCdWlsZFByb3BzIGV4dGVuZHMgR2l0SHViU291cmNlQWN0aW9uUHJvcHMge1xuICBvdXRwdXQ6IEFydGlmYWN0O1xufVxuXG5leHBvcnQgY2xhc3MgR2l0SHViU291cmNlU2VnbWVudEJ1aWxkXG4gIGV4dGVuZHMgQ29uc3RydWN0XG4gIGltcGxlbWVudHMgSVNlZ21lbnRCdWlsZFxue1xuICBuYW1lOiBzdHJpbmc7XG4gIGFjdGlvbnM6IElBY3Rpb25bXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IEdpdEh1YlNvdXJjZVNlZ21lbnRCdWlsZFByb3BzXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICB0aGlzLmFjdGlvbnMgPSBbbmV3IEdpdEh1YlNvdXJjZUFjdGlvbihwcm9wcyldO1xuICB9XG59XG4iXX0=
@@ -1,33 +0,0 @@
1
- import { Stack } from "aws-cdk-lib";
2
- import { Construct } from "constructs";
3
- import { IAction } from "aws-cdk-lib/aws-codepipeline";
4
- import { Artifact } from "./artifact";
5
- import { Segment, SegmentProps, ISegmentBuild } from "./segment";
6
- export interface StackSegmentProps extends SegmentProps {
7
- stack: Stack;
8
- command: string | string[];
9
- buildPath: string;
10
- input: Artifact | Artifact[];
11
- output?: Artifact;
12
- manualApproval?: Boolean;
13
- }
14
- export declare class StackSegment extends Segment {
15
- readonly props: StackSegmentProps;
16
- readonly input: Artifact | Artifact[];
17
- constructor(props: StackSegmentProps);
18
- build(scope: Construct): StackSegmentBuild;
19
- }
20
- export interface StackSegmentBuildProps {
21
- stack: Stack;
22
- command: string | string[];
23
- buildPath: string;
24
- input: Artifact;
25
- extraInputs?: Artifact[];
26
- output?: Artifact;
27
- manualApproval?: Boolean;
28
- }
29
- export declare class StackSegmentBuild extends Construct implements ISegmentBuild {
30
- name: string;
31
- actions: IAction[];
32
- constructor(scope: Construct, id: string, props: StackSegmentBuildProps);
33
- }
@@ -1,114 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.StackSegmentBuild = exports.StackSegment = void 0;
7
- const constructs_1 = require("constructs");
8
- const aws_codebuild_1 = require("aws-cdk-lib/aws-codebuild");
9
- const aws_codepipeline_actions_1 = require("aws-cdk-lib/aws-codepipeline-actions");
10
- const path_1 = __importDefault(require("path"));
11
- const publish_assets_action_1 = require("./publish-assets-action");
12
- const artifact_1 = require("./artifact");
13
- const segment_1 = require("./segment");
14
- class StackSegment extends segment_1.Segment {
15
- props;
16
- input;
17
- constructor(props) {
18
- super(props);
19
- this.input = props.input;
20
- this.props = props;
21
- }
22
- build(scope) {
23
- return new StackSegmentBuild(scope, `Deploy${this.props.stack.stackName}`, {
24
- ...this.props,
25
- input: this.input.constructor.name === "Array"
26
- ? this.input[0]
27
- : this.input,
28
- extraInputs: this.input.constructor.name === "Array"
29
- ? this.input.slice(1)
30
- : undefined,
31
- });
32
- }
33
- }
34
- exports.StackSegment = StackSegment;
35
- class StackSegmentBuild extends constructs_1.Construct {
36
- name;
37
- actions;
38
- constructor(scope, id, props) {
39
- super(scope, id);
40
- this.name = props.stack.stackName;
41
- const buildArtifact = new artifact_1.Artifact();
42
- this.actions = [
43
- new aws_codepipeline_actions_1.CodeBuildAction({
44
- actionName: "Build",
45
- runOrder: 1,
46
- input: props.input,
47
- extraInputs: props.extraInputs,
48
- outputs: [buildArtifact],
49
- project: new aws_codebuild_1.Project(this, "UpdateCodeBuild", {
50
- environment: {
51
- computeType: aws_codebuild_1.ComputeType.MEDIUM,
52
- buildImage: aws_codebuild_1.LinuxBuildImage.AMAZON_LINUX_2_4,
53
- privileged: true,
54
- },
55
- buildSpec: aws_codebuild_1.BuildSpec.fromObject({
56
- version: "0.2",
57
- phases: {
58
- install: {
59
- "runtime-versions": {
60
- docker: 20,
61
- nodejs: 16,
62
- },
63
- commands: ["npm ci"],
64
- },
65
- build: {
66
- commands: props.command,
67
- },
68
- },
69
- artifacts: {
70
- files: [path_1.default.join(props.buildPath, "**/*")],
71
- },
72
- cache: {
73
- paths: ["/root/.npm/**/*"],
74
- },
75
- }),
76
- }),
77
- }),
78
- new publish_assets_action_1.PublishAssetsAction(this, "PublishAssets", {
79
- actionName: "PublishAssets",
80
- runOrder: 2,
81
- input: buildArtifact,
82
- manifestPath: props.buildPath,
83
- }),
84
- new aws_codepipeline_actions_1.CloudFormationCreateReplaceChangeSetAction({
85
- actionName: "PrepareChanges",
86
- runOrder: 3,
87
- stackName: props.stack.stackName,
88
- changeSetName: `${props.stack.stackName}Changes`,
89
- adminPermissions: true,
90
- templatePath: buildArtifact.atPath(path_1.default.join(props.buildPath, props.stack.templateFile)),
91
- }),
92
- ...(props.manualApproval
93
- ? [
94
- new aws_codepipeline_actions_1.ManualApprovalAction({
95
- actionName: "ApproveChanges",
96
- runOrder: 4,
97
- }),
98
- ]
99
- : []),
100
- new aws_codepipeline_actions_1.CloudFormationExecuteChangeSetAction({
101
- actionName: "ExecuteChanges",
102
- runOrder: props.manualApproval ? 5 : 4,
103
- stackName: props.stack.stackName,
104
- changeSetName: `${props.stack.stackName}Changes`,
105
- output: props.output,
106
- outputFileName: props.output
107
- ? `${props.stack.stackName}Output.json`
108
- : undefined,
109
- }),
110
- ];
111
- }
112
- }
113
- exports.StackSegmentBuild = StackSegmentBuild;
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhY2stc2VnbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9zdGFjay1zZWdtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLDJDQUF1QztBQUN2Qyw2REFLbUM7QUFFbkMsbUZBSzhDO0FBQzlDLGdEQUF3QjtBQUV4QixtRUFBOEQ7QUFDOUQseUNBQXNDO0FBQ3RDLHVDQUFpRTtBQVdqRSxNQUFhLFlBQWEsU0FBUSxpQkFBTztJQUM5QixLQUFLLENBQW9CO0lBQ3pCLEtBQUssQ0FBd0I7SUFFdEMsWUFBWSxLQUF3QjtRQUNsQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDYixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFnQjtRQUNwQixPQUFPLElBQUksaUJBQWlCLENBQUMsS0FBSyxFQUFFLFNBQVMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDekUsR0FBRyxJQUFJLENBQUMsS0FBSztZQUNiLEtBQUssRUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEtBQUssT0FBTztnQkFDckMsQ0FBQyxDQUFFLElBQUksQ0FBQyxLQUFvQixDQUFDLENBQUMsQ0FBQztnQkFDL0IsQ0FBQyxDQUFFLElBQUksQ0FBQyxLQUFrQjtZQUM5QixXQUFXLEVBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxLQUFLLE9BQU87Z0JBQ3JDLENBQUMsQ0FBRSxJQUFJLENBQUMsS0FBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUNyQyxDQUFDLENBQUMsU0FBUztTQUNoQixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUF2QkQsb0NBdUJDO0FBWUQsTUFBYSxpQkFBa0IsU0FBUSxzQkFB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RSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxTQUFTO2dCQUNoRCxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07Z0JBQ3BCLGNBQWMsRUFBRSxLQUFLLENBQUMsTUFBTTtvQkFDMUIsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLGFBQWE7b0JBQ3ZDLENBQUMsQ0FBQyxTQUFTO2FBQ2QsQ0FBQztTQUNILENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFuRkQsOENBbUZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhY2sgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge1xuICBCdWlsZFNwZWMsXG4gIENvbXB1dGVUeXBlLFxuICBMaW51eEJ1aWxkSW1hZ2UsXG4gIFByb2plY3QsXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY29kZWJ1aWxkXCI7XG5pbXBvcnQgeyBJQWN0aW9uIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jb2RlcGlwZWxpbmVcIjtcbmltcG9ydCB7XG4gIENsb3VkRm9ybWF0aW9uQ3JlYXRlUmVwbGFjZUNoYW5nZVNldEFjdGlvbixcbiAgQ2xvdWRGb3JtYXRpb25FeGVjdXRlQ2hhbmdlU2V0QWN0aW9uLFxuICBDb2RlQnVpbGRBY3Rpb24sXG4gIE1hbnVhbEFwcHJvdmFsQWN0aW9uLFxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNvZGVwaXBlbGluZS1hY3Rpb25zXCI7XG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiO1xuXG5pbXBvcnQgeyBQdWJsaXNoQXNzZXRzQWN0aW9uIH0gZnJvbSBcIi4vcHVibGlzaC1hc3NldHMtYWN0aW9uXCI7XG5pbXBvcnQgeyBBcnRpZmFjdCB9IGZyb20gXCIuL2FydGlmYWN0XCI7XG5pbXBvcnQgeyBTZWdtZW50LCBTZWdtZW50UHJvcHMsIElTZWdtZW50QnVpbGQgfSBmcm9tIFwiLi9zZWdtZW50XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhY2tTZWdtZW50UHJvcHMgZXh0ZW5kcyBTZWdtZW50UHJvcHMge1xuICBzdGFjazogU3RhY2s7XG4gIGNvbW1hbmQ6IHN0cmluZyB8IHN0cmluZ1tdO1xuICBidWlsZFBhdGg6IHN0cmluZztcbiAgaW5wdXQ6IEFydGlmYWN0IHwgQXJ0aWZhY3RbXTtcbiAgb3V0cHV0PzogQXJ0aWZhY3Q7XG4gIG1hbnVhbEFwcHJvdmFsPzogQm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIFN0YWNrU2VnbWVudCBleHRlbmRzIFNlZ21lbnQge1xuICByZWFkb25seSBwcm9wczogU3RhY2tTZWdtZW50UHJvcHM7XG4gIHJlYWRvbmx5IGlucHV0OiBBcnRpZmFjdCB8IEFydGlmYWN0W107XG5cbiAgY29uc3RydWN0b3IocHJvcHM6IFN0YWNrU2VnbWVudFByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICAgIHRoaXMuaW5wdXQgPSBwcm9wcy5pbnB1dDtcbiAgICB0aGlzLnByb3BzID0gcHJvcHM7XG4gIH1cblxuICBidWlsZChzY29wZTogQ29uc3RydWN0KTogU3RhY2tTZWdtZW50QnVpbGQge1xuICAgIHJldHVybiBuZXcgU3RhY2tTZWdtZW50QnVpbGQoc2NvcGUsIGBEZXBsb3kke3RoaXMucHJvcHMuc3RhY2suc3RhY2tOYW1lfWAsIHtcbiAgICAgIC4uLnRoaXMucHJvcHMsXG4gICAgICBpbnB1dDpcbiAgICAgICAgdGhpcy5pbnB1dC5jb25zdHJ1Y3Rvci5uYW1lID09PSBcIkFycmF5XCJcbiAgICAgICAgICA/ICh0aGlzLmlucHV0IGFzIEFydGlmYWN0W10pWzBdXG4gICAgICAgICAgOiAodGhpcy5pbnB1dCBhcyBBcnRpZmFjdCksXG4gICAgICBleHRyYUlucHV0czpcbiAgICAgICAgdGhpcy5pbnB1dC5jb25zdHJ1Y3Rvci5uYW1lID09PSBcIkFycmF5XCJcbiAgICAgICAgICA/ICh0aGlzLmlucHV0IGFzIEFydGlmYWN0W10pLnNsaWNlKDEpXG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGFja1NlZ21lbnRCdWlsZFByb3BzIHtcbiAgc3RhY2s6IFN0YWNrO1xuICBjb21tYW5kOiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgYnVpbGRQYXRoOiBzdHJpbmc7XG4gIGlucHV0OiBBcnRpZmFjdDtcbiAgZXh0cmFJbnB1dHM/OiBBcnRpZmFjdFtdO1xuICBvdXRwdXQ/OiBBcnRpZmFjdDtcbiAgbWFudWFsQXBwcm92YWw/OiBCb29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgU3RhY2tTZWdtZW50QnVpbGQgZXh0ZW5kcyBDb25zdHJ1Y3QgaW1wbGVtZW50cyBJU2VnbWVudEJ1aWxkIHtcbiAgbmFtZTogc3RyaW5nO1xuICBhY3Rpb25zOiBJQWN0aW9uW107XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFN0YWNrU2VnbWVudEJ1aWxkUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgdGhpcy5uYW1lID0gcHJvcHMuc3RhY2suc3RhY2tOYW1lO1xuXG4gICAgY29uc3QgYnVpbGRBcnRpZmFjdCA9IG5ldyBBcnRpZmFjdCgpO1xuXG4gICAgdGhpcy5hY3Rpb25zID0gW1xuICAgICAgbmV3IENvZGVCdWlsZEFjdGlvbih7XG4gICAgICAgIGFjdGlvbk5hbWU6IFwiQnVpbGRcIixcbiAgICAgICAgcnVuT3JkZXI6IDEsXG4gICAgICAgIGlucHV0OiBwcm9wcy5pbnB1dCxcbiAgICAgICAgZXh0cmFJbnB1dHM6IHByb3BzLmV4dHJhSW5wdXRzLFxuICAgICAgICBvdXRwdXRzOiBbYnVpbGRBcnRpZmFjdF0sXG4gICAgICAgIHByb2plY3Q6IG5ldyBQcm9qZWN0KHRoaXMsIFwiVXBkYXRlQ29kZUJ1aWxkXCIsIHtcbiAgICAgICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICAgICAgY29tcHV0ZVR5cGU6IENvbXB1dGVUeXBlLk1FRElVTSxcbiAgICAgICAgICAgIGJ1aWxkSW1hZ2U6IExpbnV4QnVpbGRJbWFnZS5BTUFaT05fTElOVVhfMl80LFxuICAgICAgICAgICAgcHJpdmlsZWdlZDogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGJ1aWxkU3BlYzogQnVpbGRTcGVjLmZyb21PYmplY3Qoe1xuICAgICAgICAgICAgdmVyc2lvbjogXCIwLjJcIixcbiAgICAgICAgICAgIHBoYXNlczoge1xuICAgICAgICAgICAgICBpbnN0YWxsOiB7XG4gICAgICAgICAgICAgICAgXCJydW50aW1lLXZlcnNpb25zXCI6IHtcbiAgICAgICAgICAgICAgICAgIGRvY2tlcjogMjAsXG4gICAgICAgICAgICAgICAgICBub2RlanM6IDE2LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgY29tbWFuZHM6IFtcIm5wbSBjaVwiXSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgYnVpbGQ6IHtcbiAgICAgICAgICAgICAgICBjb21tYW5kczogcHJvcHMuY29tbWFuZCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBhcnRpZmFjdHM6IHtcbiAgICAgICAgICAgICAgZmlsZXM6IFtwYXRoLmpvaW4ocHJvcHMuYnVpbGRQYXRoLCBcIioqLypcIildLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGNhY2hlOiB7XG4gICAgICAgICAgICAgIHBhdGhzOiBbXCIvcm9vdC8ubnBtLyoqLypcIl0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pLFxuICAgICAgICB9KSxcbiAgICAgIH0pLFxuICAgICAgbmV3IFB1Ymxpc2hBc3NldHNBY3Rpb24odGhpcywgXCJQdWJsaXNoQXNzZXRzXCIsIHtcbiAgICAgICAgYWN0aW9uTmFtZTogXCJQdWJsaXNoQXNzZXRzXCIsXG4gICAgICAgIHJ1bk9yZGVyOiAyLFxuICAgICAgICBpbnB1dDogYnVpbGRBcnRpZmFjdCxcbiAgICAgICAgbWFuaWZlc3RQYXRoOiBwcm9wcy5idWlsZFBhdGgsXG4gICAgICB9KSxcbiAgICAgIG5ldyBDbG91ZEZvcm1hdGlvbkNyZWF0ZVJlcGxhY2VDaGFuZ2VTZXRBY3Rpb24oe1xuICAgICAgICBhY3Rpb25OYW1lOiBcIlByZXBhcmVDaGFuZ2VzXCIsXG4gICAgICAgIHJ1bk9yZGVyOiAzLFxuICAgICAgICBzdGFja05hbWU6IHByb3BzLnN0YWNrLnN0YWNrTmFtZSxcbiAgICAgICAgY2hhbmdlU2V0TmFtZTogYCR7cHJvcHMuc3RhY2suc3RhY2tOYW1lfUNoYW5nZXNgLFxuICAgICAgICBhZG1pblBlcm1pc3Npb25zOiB0cnVlLFxuICAgICAgICB0ZW1wbGF0ZVBhdGg6IGJ1aWxkQXJ0aWZhY3QuYXRQYXRoKFxuICAgICAgICAgIHBhdGguam9pbihwcm9wcy5idWlsZFBhdGgsIHByb3BzLnN0YWNrLnRlbXBsYXRlRmlsZSlcbiAgICAgICAgKSxcbiAgICAgIH0pLFxuICAgICAgLi4uKHByb3BzLm1hbnVhbEFwcHJvdmFsXG4gICAgICAgID8gW1xuICAgICAgICAgICAgbmV3IE1hbnVhbEFwcHJvdmFsQWN0aW9uKHtcbiAgICAgICAgICAgICAgYWN0aW9uTmFtZTogXCJBcHByb3ZlQ2hhbmdlc1wiLFxuICAgICAgICAgICAgICBydW5PcmRlcjogNCxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIF1cbiAgICAgICAgOiBbXSksXG4gICAgICBuZXcgQ2xvdWRGb3JtYXRpb25FeGVjdXRlQ2hhbmdlU2V0QWN0aW9uKHtcbiAgICAgICAgYWN0aW9uTmFtZTogXCJFeGVjdXRlQ2hhbmdlc1wiLFxuICAgICAgICBydW5PcmRlcjogcHJvcHMubWFudWFsQXBwcm92YWwgPyA1IDogNCxcbiAgICAgICAgc3RhY2tOYW1lOiBwcm9wcy5zdGFjay5zdGFja05hbWUsXG4gICAgICAgIGNoYW5nZVNldE5hbWU6IGAke3Byb3BzLnN0YWNrLnN0YWNrTmFtZX1DaGFuZ2VzYCxcbiAgICAgICAgb3V0cHV0OiBwcm9wcy5vdXRwdXQsXG4gICAgICAgIG91dHB1dEZpbGVOYW1lOiBwcm9wcy5vdXRwdXRcbiAgICAgICAgICA/IGAke3Byb3BzLnN0YWNrLnN0YWNrTmFtZX1PdXRwdXQuanNvbmBcbiAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIH0pLFxuICAgIF07XG4gIH1cbn1cbiJdfQ==