Interface PipelineProjectProps
- All Superinterfaces:
CommonProjectProps,software.amazon.jsii.JsiiSerializable
- All Known Implementing Classes:
PipelineProjectProps.Jsii$Proxy
@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)",
date="2023-06-19T16:30:41.833Z")
@Stability(Stable)
public interface PipelineProjectProps
extends software.amazon.jsii.JsiiSerializable, CommonProjectProps
Example:
// Create a Cloudfront Web Distribution
import software.amazon.awscdk.services.cloudfront.*;
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();
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic final classA builder forPipelineProjectPropsstatic final classAn implementation forPipelineProjectProps -
Method Summary
Static MethodsMethods inherited from interface software.amazon.awscdk.services.codebuild.CommonProjectProps
getAllowAllOutbound, getBadge, getBuildSpec, getCache, getCheckSecretsInPlainTextEnvVariables, getConcurrentBuildLimit, getDescription, getEncryptionKey, getEnvironment, getEnvironmentVariables, getFileSystemLocations, getGrantReportGroupPermissions, getLogging, getProjectName, getQueuedTimeout, getRole, getSecurityGroups, getSubnetSelection, getTimeout, getVpcMethods inherited from interface software.amazon.jsii.JsiiSerializable
$jsii$toJson
-
Method Details
-
builder
- Returns:
- a
PipelineProjectProps.BuilderofPipelineProjectProps
-