"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const action_1 = require("./action");
/**
 * Low level class for build actions.
 * It is recommended that concrete types are used instead,
 * such as {@link codebuild.PipelineBuildAction}.
 */
class BuildAction extends action_1.Action {
    constructor(parent, name, props) {
        super(parent, name, {
            stage: props.stage,
            artifactBounds: { minInputs: 1, maxInputs: 1, minOutputs: 0, maxOutputs: 1 },
            category: action_1.ActionCategory.Build,
            provider: props.provider,
            configuration: props.configuration
        });
        this.addInputArtifact(props.inputArtifact);
        if (props.artifactName) {
            this.artifact = this.addOutputArtifact(props.artifactName);
        }
    }
}
exports.BuildAction = BuildAction;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYnVpbGQtYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EscUNBQXFFO0FBK0JyRTs7OztHQUlHO0FBQ0gsTUFBc0IsV0FBWSxTQUFRLGVBQU07SUFHNUMsWUFBWSxNQUFxQixFQUFFLElBQVksRUFBRSxLQUF1QjtRQUNwRSxLQUFLLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRTtZQUNoQixLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7WUFDbEIsY0FBYyxFQUFFLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRTtZQUM1RSxRQUFRLEVBQUUsdUJBQWMsQ0FBQyxLQUFLO1lBQzlCLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtZQUN4QixhQUFhLEVBQUUsS0FBSyxDQUFDLGFBQWE7U0FDckMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMzQyxJQUFJLEtBQUssQ0FBQyxZQUFZLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQzlEO0lBQ0wsQ0FBQztDQUNKO0FBakJELGtDQWlCQyJ9