Class PipelineProject.Builder

java.lang.Object
software.amazon.awscdk.services.codebuild.PipelineProject.Builder
All Implemented Interfaces:
software.amazon.jsii.Builder<PipelineProject>
Enclosing class:
PipelineProject

@Stability(Stable) public static final class PipelineProject.Builder extends Object implements software.amazon.jsii.Builder<PipelineProject>
A fluent builder for PipelineProject.
  • Method Details

    • create

      @Stability(Stable) public static PipelineProject.Builder create(software.constructs.Construct scope, String id)
      Parameters:
      scope - This parameter is required.
      id - This parameter is required.
      Returns:
      a new instance of PipelineProject.Builder.
    • allowAllOutbound

      @Stability(Stable) public PipelineProject.Builder allowAllOutbound(Boolean allowAllOutbound)
      Whether to allow the CodeBuild to send all network traffic.

      If set to false, you must individually add traffic rules to allow the CodeBuild project to connect to network targets.

      Only used if 'vpc' is supplied.

      Default: true

      Parameters:
      allowAllOutbound - Whether to allow the CodeBuild to send all network traffic. This parameter is required.
      Returns:
      this
    • badge

      @Stability(Stable) public PipelineProject.Builder badge(Boolean badge)
      Indicates whether AWS CodeBuild generates a publicly accessible URL for your project's build badge.

      For more information, see Build Badges Sample in the AWS CodeBuild User Guide.

      Default: false

      Parameters:
      badge - Indicates whether AWS CodeBuild generates a publicly accessible URL for your project's build badge. This parameter is required.
      Returns:
      this
    • buildSpec

      @Stability(Stable) public PipelineProject.Builder buildSpec(BuildSpec buildSpec)
      Filename or contents of buildspec in JSON format.

      Default: - Empty buildspec.

      Parameters:
      buildSpec - Filename or contents of buildspec in JSON format. This parameter is required.
      Returns:
      this
      See Also:
    • cache

      @Stability(Stable) public PipelineProject.Builder cache(Cache cache)
      Caching strategy to use.

      Default: Cache.none

      Parameters:
      cache - Caching strategy to use. This parameter is required.
      Returns:
      this
    • checkSecretsInPlainTextEnvVariables

      @Stability(Stable) public PipelineProject.Builder checkSecretsInPlainTextEnvVariables(Boolean checkSecretsInPlainTextEnvVariables)
      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

      Parameters:
      checkSecretsInPlainTextEnvVariables - 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. This parameter is required.
      Returns:
      this
    • concurrentBuildLimit

      @Stability(Stable) public PipelineProject.Builder concurrentBuildLimit(Number concurrentBuildLimit)
      Maximum number of concurrent builds.

      Minimum value is 1 and maximum is account build limit.

      Default: - no explicit limit is set

      Parameters:
      concurrentBuildLimit - Maximum number of concurrent builds. This parameter is required.
      Returns:
      this
    • description

      @Stability(Stable) public PipelineProject.Builder description(String description)
      A description of the project.

      Use the description to identify the purpose of the project.

      Default: - No description.

      Parameters:
      description - A description of the project. This parameter is required.
      Returns:
      this
    • encryptionKey

      @Stability(Stable) public PipelineProject.Builder encryptionKey(IKey encryptionKey)
      Encryption key to use to read and write artifacts.

      Default: - The AWS-managed CMK for Amazon Simple Storage Service (Amazon S3) is used.

      Parameters:
      encryptionKey - Encryption key to use to read and write artifacts. This parameter is required.
      Returns:
      this
    • environment

      @Stability(Stable) public PipelineProject.Builder environment(BuildEnvironment environment)
      Build environment to use for the build.

      Default: BuildEnvironment.LinuxBuildImage.STANDARD_1_0

      Parameters:
      environment - Build environment to use for the build. This parameter is required.
      Returns:
      this
    • environmentVariables

      @Stability(Stable) public PipelineProject.Builder environmentVariables(Map<String,? extends BuildEnvironmentVariable> environmentVariables)
      Additional environment variables to add to the build environment.

      Default: - No additional environment variables are specified.

      Parameters:
      environmentVariables - Additional environment variables to add to the build environment. This parameter is required.
      Returns:
      this
    • fileSystemLocations

      @Stability(Stable) public PipelineProject.Builder fileSystemLocations(List<? extends IFileSystemLocation> fileSystemLocations)
      An ProjectFileSystemLocation objects for a CodeBuild build project.

      A ProjectFileSystemLocation object specifies the identifier, location, mountOptions, mountPoint, and type of a file system created using Amazon Elastic File System.

      Default: - no file system locations

      Parameters:
      fileSystemLocations - An ProjectFileSystemLocation objects for a CodeBuild build project. This parameter is required.
      Returns:
      this
    • grantReportGroupPermissions

      @Stability(Stable) public PipelineProject.Builder grantReportGroupPermissions(Boolean grantReportGroupPermissions)
      Add permissions to this project's role to create and use test report groups with name starting with the name of this project.

      That is the standard report group that gets created when a simple name (in contrast to an ARN) is used in the 'reports' section of the buildspec of this project. This is usually harmless, but you can turn these off if you don't plan on using test reports in this project.

      Default: true

      Parameters:
      grantReportGroupPermissions - Add permissions to this project's role to create and use test report groups with name starting with the name of this project. This parameter is required.
      Returns:
      this
      See Also:
    • logging

      @Stability(Stable) public PipelineProject.Builder logging(LoggingOptions logging)
      Information about logs for the build project.

      A project can create logs in Amazon CloudWatch Logs, an S3 bucket, or both.

      Default: - no log configuration is set

      Parameters:
      logging - Information about logs for the build project. This parameter is required.
      Returns:
      this
    • projectName

      @Stability(Stable) public PipelineProject.Builder projectName(String projectName)
      The physical, human-readable name of the CodeBuild Project.

      Default: - Name is automatically generated.

      Parameters:
      projectName - The physical, human-readable name of the CodeBuild Project. This parameter is required.
      Returns:
      this
    • queuedTimeout

      @Stability(Stable) public PipelineProject.Builder queuedTimeout(Duration queuedTimeout)
      The number of minutes after which AWS CodeBuild stops the build if it's still in queue.

      For valid values, see the timeoutInMinutes field in the AWS CodeBuild User Guide.

      Default: - no queue timeout is set

      Parameters:
      queuedTimeout - The number of minutes after which AWS CodeBuild stops the build if it's still in queue. This parameter is required.
      Returns:
      this
    • role

      @Stability(Stable) public PipelineProject.Builder role(IRole role)
      Service Role to assume while running the build.

      Default: - A role will be created.

      Parameters:
      role - Service Role to assume while running the build. This parameter is required.
      Returns:
      this
    • securityGroups

      @Stability(Stable) public PipelineProject.Builder securityGroups(List<? extends ISecurityGroup> securityGroups)
      What security group to associate with the codebuild project's network interfaces.

      If no security group is identified, one will be created automatically.

      Only used if 'vpc' is supplied.

      Default: - Security group will be automatically created.

      Parameters:
      securityGroups - What security group to associate with the codebuild project's network interfaces. This parameter is required.
      Returns:
      this
    • subnetSelection

      @Stability(Stable) public PipelineProject.Builder subnetSelection(SubnetSelection subnetSelection)
      Where to place the network interfaces within the VPC.

      Only used if 'vpc' is supplied.

      Default: - All private subnets.

      Parameters:
      subnetSelection - Where to place the network interfaces within the VPC. This parameter is required.
      Returns:
      this
    • timeout

      @Stability(Stable) public PipelineProject.Builder timeout(Duration timeout)
      The number of minutes after which AWS CodeBuild stops the build if it's not complete.

      For valid values, see the timeoutInMinutes field in the AWS CodeBuild User Guide.

      Default: Duration.hours(1)

      Parameters:
      timeout - The number of minutes after which AWS CodeBuild stops the build if it's not complete. This parameter is required.
      Returns:
      this
    • vpc

      @Stability(Stable) public PipelineProject.Builder vpc(IVpc vpc)
      VPC network to place codebuild network interfaces.

      Specify this if the codebuild project needs to access resources in a VPC.

      Default: - No VPC is specified.

      Parameters:
      vpc - VPC network to place codebuild network interfaces. This parameter is required.
      Returns:
      this
    • build

      @Stability(Stable) public PipelineProject build()
      Specified by:
      build in interface software.amazon.jsii.Builder<PipelineProject>
      Returns:
      a newly built instance of PipelineProject.