aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
119 lines (118 loc) • 4.68 kB
TypeScript
import { Construct } from 'constructs';
import * as codebuild from '../../../aws-codebuild';
import * as codepipeline from '../../../aws-codepipeline';
import { Action } from '../action';
/**
* The type of the CodeBuild action that determines its CodePipeline Category -
* Build, or Test.
* The default is Build.
*/
export declare enum CodeBuildActionType {
/**
* The action will have the Build Category.
* This is the default.
*/
BUILD = 0,
/**
* The action will have the Test Category.
*/
TEST = 1
}
/**
* Construction properties of the `CodeBuildAction CodeBuild build CodePipeline action`.
*/
export interface CodeBuildActionProps extends codepipeline.CommonAwsActionProps {
/**
* The source to use as input for this action.
*/
readonly input: codepipeline.Artifact;
/**
* The list of additional input Artifacts for this action.
*
* The directories the additional inputs will be available at are available
* during the project's build in the CODEBUILD_SRC_DIR_<artifact-name> environment variables.
* The project's build always starts in the directory with the primary input artifact checked out,
* the one pointed to by the `input` property.
* For more information,
* see https://docs.aws.amazon.com/codebuild/latest/userguide/sample-multi-in-out.html .
*/
readonly extraInputs?: codepipeline.Artifact[];
/**
* The list of output Artifacts for this action.
* **Note**: if you specify more than one output Artifact here,
* you cannot use the primary 'artifacts' section of the buildspec;
* you have to use the 'secondary-artifacts' section instead.
* See https://docs.aws.amazon.com/codebuild/latest/userguide/sample-multi-in-out.html
* for details.
*
* @default the action will not have any outputs
*/
readonly outputs?: codepipeline.Artifact[];
/**
* The action's Project.
*/
readonly project: codebuild.IProject;
/**
* The type of the action that determines its CodePipeline Category -
* Build, or Test.
*
* @default CodeBuildActionType.BUILD
*/
readonly type?: CodeBuildActionType;
/**
* The environment variables to pass to the CodeBuild project when this action executes.
* If a variable with the same name was set both on the project level, and here,
* this value will take precedence.
*
* @default - No additional environment variables are specified.
*/
readonly environmentVariables?: {
[name: string]: codebuild.BuildEnvironmentVariable;
};
/**
* Whether to check for the presence of any secrets in the environment variables of the default type, BuildEnvironmentVariableType.PLAINTEXT.
* Since using a secret for the value of that kind of variable would result in it being displayed in plain text in the AWS Console,
* the construct will throw an exception if it detects a secret was passed there.
* Pass this property as false if you want to skip this validation,
* and keep using a secret in a plain text environment variable.
*
* @default true
*/
readonly checkSecretsInPlainTextEnvVariables?: boolean;
/**
* Trigger a batch build.
*
* Enabling this will enable batch builds on the CodeBuild project.
*
* @default false
*/
readonly executeBatchBuild?: boolean;
/**
* Combine the build artifacts for a batch builds.
*
* Enabling this will combine the build artifacts into the same location for batch builds.
* If `executeBatchBuild` is not set to `true`, this property is ignored.
*
* @default false
*/
readonly combineBatchBuildArtifacts?: boolean;
}
/**
* CodePipeline build action that uses AWS CodeBuild.
*/
export declare class CodeBuildAction extends Action {
private readonly props;
constructor(props: CodeBuildActionProps);
/**
* Reference a CodePipeline variable defined by the CodeBuild project this action points to.
* Variables in CodeBuild actions are defined using the 'exported-variables' subsection of the 'env'
* section of the buildspec.
*
* @param variableName the name of the variable to reference.
* A variable by this name must be present in the 'exported-variables' section of the buildspec
*
* @see https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec-ref-syntax
*/
variable(variableName: string): string;
protected bound(scope: Construct, _stage: codepipeline.IStage, options: codepipeline.ActionBindOptions): codepipeline.ActionConfig;
}