@Generated(value="jsii-pacmak/1.70.0 (build 03c2f6f)", date="2022-11-01T13:16:44.878Z") @Stability(value=Experimental) public class CodeBuildAction extends Action
Example:
// Create a Cloudfront Web Distribution
import software.amazon.awscdk.core.*;
Distribution distribution;
// Create the build project that will invalidate the cache
PipelineProject invalidateBuildProject = PipelineProject.Builder.create(this, "InvalidateProject")
.buildSpec(BuildSpec.fromObject(Map.of(
"version", "0.2",
"phases", Map.of(
"build", Map.of(
"commands", List.of("aws cloudfront create-invalidation --distribution-id ${CLOUDFRONT_ID} --paths \"/*\""))))))
.environmentVariables(Map.of(
"CLOUDFRONT_ID", BuildEnvironmentVariable.builder().value(distribution.getDistributionId()).build()))
.build();
// Add Cloudfront invalidation permissions to the project
String distributionArn = String.format("arn:aws:cloudfront::%s:distribution/%s", this.account, distribution.getDistributionId());
invalidateBuildProject.addToRolePolicy(PolicyStatement.Builder.create()
.resources(List.of(distributionArn))
.actions(List.of("cloudfront:CreateInvalidation"))
.build());
// Create the pipeline (here only the S3 deploy and Invalidate cache build)
Bucket deployBucket = new Bucket(this, "DeployBucket");
Artifact deployInput = new Artifact();
Pipeline.Builder.create(this, "Pipeline")
.stages(List.of(StageProps.builder()
.stageName("Deploy")
.actions(List.of(
S3DeployAction.Builder.create()
.actionName("S3Deploy")
.bucket(deployBucket)
.input(deployInput)
.runOrder(1)
.build(),
CodeBuildAction.Builder.create()
.actionName("InvalidateCache")
.project(invalidateBuildProject)
.input(deployInput)
.runOrder(2)
.build()))
.build()))
.build();
| Modifier and Type | Class and Description |
|---|---|
static class |
CodeBuildAction.Builder
(experimental) A fluent builder for
CodeBuildAction. |
software.amazon.jsii.JsiiObject.InitializationModeIAction.Jsii$Default| Modifier | Constructor and Description |
|---|---|
|
CodeBuildAction(CodeBuildActionProps props) |
protected |
CodeBuildAction(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) |
protected |
CodeBuildAction(software.amazon.jsii.JsiiObjectRef objRef) |
| Modifier and Type | Method and Description |
|---|---|
protected ActionConfig |
bound(Construct scope,
IStage _stage,
ActionBindOptions options)
(experimental) This is a renamed version of the
IAction.bind method. |
String |
variable(String variableName)
(experimental) Reference a CodePipeline variable defined by the CodeBuild project this action points to.
|
getProvidedActionPropertiesbind, getActionProperties, onStateChange, onStateChange, onStateChange, variableExpressionjsiiAsyncCall, jsiiAsyncCall, jsiiCall, jsiiCall, jsiiGet, jsiiGet, jsiiSet, jsiiStaticCall, jsiiStaticCall, jsiiStaticGet, jsiiStaticGet, jsiiStaticSet, jsiiStaticSetprotected CodeBuildAction(software.amazon.jsii.JsiiObjectRef objRef)
protected CodeBuildAction(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
@Stability(value=Experimental)
public CodeBuildAction(@NotNull
CodeBuildActionProps props)
props - This parameter is required.@Stability(value=Experimental) @NotNull protected ActionConfig bound(@NotNull Construct scope, @NotNull IStage _stage, @NotNull ActionBindOptions options)
IAction.bind method.
@Stability(value=Experimental) @NotNull public String variable(@NotNull String variableName)
Variables in CodeBuild actions are defined using the 'exported-variables' subsection of the 'env' section of the buildspec.
variableName - the name of the variable to reference. This parameter is required.Copyright © 2022. All rights reserved.