@Generated(value="jsii-pacmak/1.67.0 (build 2c027f5)", date="2022-09-19T20:26:37.360Z") @Stability(value=Stable) public interface PipelineProjectProps extends software.amazon.jsii.JsiiSerializable, CommonProjectProps
// Example automatically generated from non-compiling source. May contain errors.
// 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();
| Modifier and Type | Interface and Description |
|---|---|
static class |
PipelineProjectProps.Builder
A builder for
PipelineProjectProps |
static class |
PipelineProjectProps.Jsii$Proxy
An implementation for
PipelineProjectProps |
| Modifier and Type | Method and Description |
|---|---|
static PipelineProjectProps.Builder |
builder() |
getAllowAllOutbound, getBadge, getBuildSpec, getCache, getCheckSecretsInPlainTextEnvVariables, getConcurrentBuildLimit, getDescription, getEncryptionKey, getEnvironment, getEnvironmentVariables, getFileSystemLocations, getGrantReportGroupPermissions, getLogging, getProjectName, getQueuedTimeout, getRole, getSecurityGroups, getSubnetSelection, getTimeout, getVpc@Stability(value=Stable) static PipelineProjectProps.Builder builder()
builder in interface CommonProjectPropsPipelineProjectProps.Builder of PipelineProjectPropsCopyright © 2022. All rights reserved.