Interface CfnProjectProps

All Superinterfaces:
software.amazon.jsii.JsiiSerializable
All Known Implementing Classes:
CfnProjectProps.Jsii$Proxy

@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)", date="2023-06-19T16:30:41.754Z") @Stability(Stable) public interface CfnProjectProps extends software.amazon.jsii.JsiiSerializable
Properties for defining a CfnProject.

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.codebuild.*;
 CfnProjectProps cfnProjectProps = CfnProjectProps.builder()
         .artifacts(ArtifactsProperty.builder()
                 .type("type")
                 // the properties below are optional
                 .artifactIdentifier("artifactIdentifier")
                 .encryptionDisabled(false)
                 .location("location")
                 .name("name")
                 .namespaceType("namespaceType")
                 .overrideArtifactName(false)
                 .packaging("packaging")
                 .path("path")
                 .build())
         .environment(EnvironmentProperty.builder()
                 .computeType("computeType")
                 .image("image")
                 .type("type")
                 // the properties below are optional
                 .certificate("certificate")
                 .environmentVariables(List.of(EnvironmentVariableProperty.builder()
                         .name("name")
                         .value("value")
                         // the properties below are optional
                         .type("type")
                         .build()))
                 .imagePullCredentialsType("imagePullCredentialsType")
                 .privilegedMode(false)
                 .registryCredential(RegistryCredentialProperty.builder()
                         .credential("credential")
                         .credentialProvider("credentialProvider")
                         .build())
                 .build())
         .serviceRole("serviceRole")
         .source(SourceProperty.builder()
                 .type("type")
                 // the properties below are optional
                 .auth(SourceAuthProperty.builder()
                         .type("type")
                         // the properties below are optional
                         .resource("resource")
                         .build())
                 .buildSpec("buildSpec")
                 .buildStatusConfig(BuildStatusConfigProperty.builder()
                         .context("context")
                         .targetUrl("targetUrl")
                         .build())
                 .gitCloneDepth(123)
                 .gitSubmodulesConfig(GitSubmodulesConfigProperty.builder()
                         .fetchSubmodules(false)
                         .build())
                 .insecureSsl(false)
                 .location("location")
                 .reportBuildStatus(false)
                 .sourceIdentifier("sourceIdentifier")
                 .build())
         // the properties below are optional
         .badgeEnabled(false)
         .buildBatchConfig(ProjectBuildBatchConfigProperty.builder()
                 .batchReportMode("batchReportMode")
                 .combineArtifacts(false)
                 .restrictions(BatchRestrictionsProperty.builder()
                         .computeTypesAllowed(List.of("computeTypesAllowed"))
                         .maximumBuildsAllowed(123)
                         .build())
                 .serviceRole("serviceRole")
                 .timeoutInMins(123)
                 .build())
         .cache(ProjectCacheProperty.builder()
                 .type("type")
                 // the properties below are optional
                 .location("location")
                 .modes(List.of("modes"))
                 .build())
         .concurrentBuildLimit(123)
         .description("description")
         .encryptionKey("encryptionKey")
         .fileSystemLocations(List.of(ProjectFileSystemLocationProperty.builder()
                 .identifier("identifier")
                 .location("location")
                 .mountPoint("mountPoint")
                 .type("type")
                 // the properties below are optional
                 .mountOptions("mountOptions")
                 .build()))
         .logsConfig(LogsConfigProperty.builder()
                 .cloudWatchLogs(CloudWatchLogsConfigProperty.builder()
                         .status("status")
                         // the properties below are optional
                         .groupName("groupName")
                         .streamName("streamName")
                         .build())
                 .s3Logs(S3LogsConfigProperty.builder()
                         .status("status")
                         // the properties below are optional
                         .encryptionDisabled(false)
                         .location("location")
                         .build())
                 .build())
         .name("name")
         .queuedTimeoutInMinutes(123)
         .resourceAccessRole("resourceAccessRole")
         .secondaryArtifacts(List.of(ArtifactsProperty.builder()
                 .type("type")
                 // the properties below are optional
                 .artifactIdentifier("artifactIdentifier")
                 .encryptionDisabled(false)
                 .location("location")
                 .name("name")
                 .namespaceType("namespaceType")
                 .overrideArtifactName(false)
                 .packaging("packaging")
                 .path("path")
                 .build()))
         .secondarySources(List.of(SourceProperty.builder()
                 .type("type")
                 // the properties below are optional
                 .auth(SourceAuthProperty.builder()
                         .type("type")
                         // the properties below are optional
                         .resource("resource")
                         .build())
                 .buildSpec("buildSpec")
                 .buildStatusConfig(BuildStatusConfigProperty.builder()
                         .context("context")
                         .targetUrl("targetUrl")
                         .build())
                 .gitCloneDepth(123)
                 .gitSubmodulesConfig(GitSubmodulesConfigProperty.builder()
                         .fetchSubmodules(false)
                         .build())
                 .insecureSsl(false)
                 .location("location")
                 .reportBuildStatus(false)
                 .sourceIdentifier("sourceIdentifier")
                 .build()))
         .secondarySourceVersions(List.of(ProjectSourceVersionProperty.builder()
                 .sourceIdentifier("sourceIdentifier")
                 // the properties below are optional
                 .sourceVersion("sourceVersion")
                 .build()))
         .sourceVersion("sourceVersion")
         .tags(List.of(CfnTag.builder()
                 .key("key")
                 .value("value")
                 .build()))
         .timeoutInMinutes(123)
         .triggers(ProjectTriggersProperty.builder()
                 .buildType("buildType")
                 .filterGroups(List.of(List.of(WebhookFilterProperty.builder()
                         .pattern("pattern")
                         .type("type")
                         // the properties below are optional
                         .excludeMatchedPattern(false)
                         .build())))
                 .webhook(false)
                 .build())
         .visibility("visibility")
         .vpcConfig(VpcConfigProperty.builder()
                 .securityGroupIds(List.of("securityGroupIds"))
                 .subnets(List.of("subnets"))
                 .vpcId("vpcId")
                 .build())
         .build();
 
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Interface
    Description
    static final class 
    A builder for CfnProjectProps
    static final class 
    An implementation for CfnProjectProps
  • Method Summary

    Modifier and Type
    Method
    Description
     
    Artifacts is a property of the AWS::CodeBuild::Project resource that specifies output settings for artifacts generated by an AWS CodeBuild build.
    default Object
    Indicates whether AWS CodeBuild generates a publicly accessible URL for your project's build badge.
    default Object
    A ProjectBuildBatchConfig object that defines the batch build options for the project.
    default Object
    Settings that AWS CodeBuild uses to store and reuse build dependencies.
    default Number
    The maximum number of concurrent builds that are allowed for this project.
    default String
    A description that makes the build project easy to identify.
    default String
    The AWS Key Management Service customer master key (CMK) to be used for encrypting the build output artifacts.
    The build environment settings for the project, such as the environment type or the environment variables to use for the build environment.
    default Object
    An array of ProjectFileSystemLocation objects for a CodeBuild build project.
    default Object
    Information about logs for the build project.
    default String
    The name of the build project.
    default Number
    The number of minutes a build is allowed to be queued before it times out.
    default String
    The ARN of the IAM role that enables CodeBuild to access the CloudWatch Logs and Amazon S3 artifacts for the project's builds.
    default Object
    A list of Artifacts objects.
    default Object
    An array of ProjectSource objects.
    default Object
    An array of ProjectSourceVersion objects.
    The ARN of the IAM role that enables AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account.
    The source code settings for the project, such as the source code's repository type and location.
    default String
    A version of the build input to be built for this project.
    default List<CfnTag>
    An arbitrary set of tags (key-value pairs) for the AWS CodeBuild project.
    default Number
    How long, in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait before timing out any related build that did not get marked as completed.
    default Object
    For an existing AWS CodeBuild build project that has its source code stored in a GitHub repository, enables AWS CodeBuild to begin automatically rebuilding the source code every time a code change is pushed to the repository.
    default String
    Specifies the visibility of the project's builds.
    default Object
    VpcConfig specifies settings that enable AWS CodeBuild to access resources in an Amazon VPC.

    Methods inherited from interface software.amazon.jsii.JsiiSerializable

    $jsii$toJson
  • Method Details

    • getArtifacts

      @Stability(Stable) @NotNull Object getArtifacts()
      Artifacts is a property of the AWS::CodeBuild::Project resource that specifies output settings for artifacts generated by an AWS CodeBuild build.
    • getEnvironment

      @Stability(Stable) @NotNull Object getEnvironment()
      The build environment settings for the project, such as the environment type or the environment variables to use for the build environment.
    • getServiceRole

      @Stability(Stable) @NotNull String getServiceRole()
      The ARN of the IAM role that enables AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account.
    • getSource

      @Stability(Stable) @NotNull Object getSource()
      The source code settings for the project, such as the source code's repository type and location.
    • getBadgeEnabled

      @Stability(Stable) @Nullable default Object getBadgeEnabled()
      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 .

      Including build badges with your project is currently not supported if the source type is CodePipeline. If you specify CODEPIPELINE for the Source property, do not specify the BadgeEnabled property.

    • getBuildBatchConfig

      @Stability(Stable) @Nullable default Object getBuildBatchConfig()
      A ProjectBuildBatchConfig object that defines the batch build options for the project.
    • getCache

      @Stability(Stable) @Nullable default Object getCache()
      Settings that AWS CodeBuild uses to store and reuse build dependencies.
    • getConcurrentBuildLimit

      @Stability(Stable) @Nullable default Number getConcurrentBuildLimit()
      The maximum number of concurrent builds that are allowed for this project.

      New builds are only started if the current number of builds is less than or equal to this limit. If the current build count meets this limit, new builds are throttled and are not run.

    • getDescription

      @Stability(Stable) @Nullable default String getDescription()
      A description that makes the build project easy to identify.
    • getEncryptionKey

      @Stability(Stable) @Nullable default String getEncryptionKey()
      The AWS Key Management Service customer master key (CMK) to be used for encrypting the build output artifacts.

      You can use a cross-account KMS key to encrypt the build output artifacts if your service role has permission to that key.

      You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using the format alias/<alias-name> ). If you don't specify a value, CodeBuild uses the managed CMK for Amazon Simple Storage Service (Amazon S3).

    • getFileSystemLocations

      @Stability(Stable) @Nullable default Object getFileSystemLocations()
      An array of 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.

    • getLogsConfig

      @Stability(Stable) @Nullable default Object getLogsConfig()
      Information about logs for the build project.

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

    • getName

      @Stability(Stable) @Nullable default String getName()
      The name of the build project.

      The name must be unique across all of the projects in your AWS account .

    • getQueuedTimeoutInMinutes

      @Stability(Stable) @Nullable default Number getQueuedTimeoutInMinutes()
      The number of minutes a build is allowed to be queued before it times out.
    • getResourceAccessRole

      @Stability(Stable) @Nullable default String getResourceAccessRole()
      The ARN of the IAM role that enables CodeBuild to access the CloudWatch Logs and Amazon S3 artifacts for the project's builds.
    • getSecondaryArtifacts

      @Stability(Stable) @Nullable default Object getSecondaryArtifacts()
      A list of Artifacts objects.

      Each artifacts object specifies output settings that the project generates during a build.

    • getSecondarySources

      @Stability(Stable) @Nullable default Object getSecondarySources()
      An array of ProjectSource objects.
    • getSecondarySourceVersions

      @Stability(Stable) @Nullable default Object getSecondarySourceVersions()
      An array of ProjectSourceVersion objects.

      If secondarySourceVersions is specified at the build level, then they take over these secondarySourceVersions (at the project level).

    • getSourceVersion

      @Stability(Stable) @Nullable default String getSourceVersion()
      A version of the build input to be built for this project.

      If not specified, the latest version is used. If specified, it must be one of:

      • For CodeCommit: the commit ID, branch, or Git tag to use.
      • For GitHub: the commit ID, pull request ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a pull request ID is specified, it must use the format pr/pull-request-ID (for example pr/25 ). If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.
      • For Bitbucket: the commit ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.
      • For Amazon S3: the version ID of the object that represents the build input ZIP file to use.

      If sourceVersion is specified at the build level, then that version takes precedence over this sourceVersion (at the project level).

      For more information, see Source Version Sample with CodeBuild in the AWS CodeBuild User Guide .

    • getTags

      @Stability(Stable) @Nullable default List<CfnTag> getTags()
      An arbitrary set of tags (key-value pairs) for the AWS CodeBuild project.

      These tags are available for use by AWS services that support AWS CodeBuild build project tags.

    • getTimeoutInMinutes

      @Stability(Stable) @Nullable default Number getTimeoutInMinutes()
      How long, in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait before timing out any related build that did not get marked as completed.

      The default is 60 minutes.

    • getTriggers

      @Stability(Stable) @Nullable default Object getTriggers()
      For an existing AWS CodeBuild build project that has its source code stored in a GitHub repository, enables AWS CodeBuild to begin automatically rebuilding the source code every time a code change is pushed to the repository.
    • getVisibility

      @Stability(Stable) @Nullable default String getVisibility()
      Specifies the visibility of the project's builds. Possible values are:.

      • PUBLIC_READ - The project builds are visible to the public.
      • PRIVATE - The project builds are not visible to the public.
    • getVpcConfig

      @Stability(Stable) @Nullable default Object getVpcConfig()
      VpcConfig specifies settings that enable AWS CodeBuild to access resources in an Amazon VPC.

      For more information, see Use AWS CodeBuild with Amazon Virtual Private Cloud in the AWS CodeBuild User Guide .

    • builder

      @Stability(Stable) static CfnProjectProps.Builder builder()
      Returns:
      a CfnProjectProps.Builder of CfnProjectProps