import * as codebuild from 'aws-cdk-lib/aws-codebuild'; import type * as ecr from 'aws-cdk-lib/aws-ecr'; import type { Construct } from 'constructs'; /** * Properties for a CodeBuild project that is injected as a parallel CodePipeline action. */ export interface ParallelBuildProjectProps { /** * Path to the buildspec yaml file, resolved from the consuming CDK app's current working directory. */ readonly buildSpecPath: string; /** * Name of the service. */ readonly serviceName: string; /** * Name of the hosted zone. */ readonly hostedZoneName: string; /** * Repository used by image build steps. * * When provided, its URI is exposed as `REPO_URI`. */ readonly repo?: ecr.IRepository; /** * Action-level environment values used when calculating `projectConfigHash`. */ readonly env?: Record; /** * Caching strategy to use. */ readonly cache?: codebuild.Cache; /** * Build image for the project. * * Defaults to the ARM Amazon Linux 2023 standard image used by WebEDI-style services. */ readonly buildImage?: codebuild.IBuildImage; /** * Compute type for the project. * * Defaults to `BUILD_GENERAL1_LARGE`. */ readonly computeType?: codebuild.ComputeType; /** * Additional project-level environment variables. */ readonly additionalEnvironmentVariables?: Record; } /** * Converts action-level string environment values to CodeBuild action environment variables. */ export declare function getCodeBuildActionEnvironmentVariables(env?: Record, projectConfigHash?: string): Record; /** * CodeBuild project for parallel pipeline build work. */ export declare class ParallelBuildProject extends codebuild.PipelineProject { /** * Hash of buildspec, project environment, and action-level environment inputs. */ readonly projectConfigHash: string; constructor(scope: Construct, id: string, props: ParallelBuildProjectProps); }