Class CfnProject

java.lang.Object
software.amazon.jsii.JsiiObject
All Implemented Interfaces:
IConstruct, IDependable, IInspectable, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct

@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)", date="2023-06-19T16:30:41.703Z") @Stability(Stable) public class CfnProject extends CfnResource implements IInspectable
A CloudFormation AWS::CodeBuild::Project.

The AWS::CodeBuild::Project resource configures how AWS CodeBuild builds your source code. For example, it tells CodeBuild where to get the source code and which build environment to use.

To unset or remove a project value via CFN, explicitly provide the attribute with value as empty input.

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.*;
 CfnProject cfnProject = CfnProject.Builder.create(this, "MyCfnProject")
         .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();
 
  • Field Details

    • CFN_RESOURCE_TYPE_NAME

      @Stability(Stable) public static final String CFN_RESOURCE_TYPE_NAME
      The CloudFormation resource type name for this resource class.
  • Constructor Details

    • CfnProject

      protected CfnProject(software.amazon.jsii.JsiiObjectRef objRef)
    • CfnProject

      protected CfnProject(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CfnProject

      @Stability(Stable) public CfnProject(@NotNull Construct scope, @NotNull String id, @NotNull CfnProjectProps props)
      Create a new AWS::CodeBuild::Project.

      Parameters:
      scope -
      • scope in which this resource is defined.
      This parameter is required.
      id -
      • scoped id of the resource.
      This parameter is required.
      props -
      • resource properties.
      This parameter is required.
  • Method Details

    • inspect

      @Stability(Stable) public void inspect(@NotNull TreeInspector inspector)
      Examines the CloudFormation resource and discloses attributes.

      Specified by:
      inspect in interface IInspectable
      Parameters:
      inspector -
      • tree inspector to collect and process attributes.
      This parameter is required.
    • renderProperties

      @Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String,Object> props)
      Overrides:
      renderProperties in class CfnResource
      Parameters:
      props - This parameter is required.
    • getAttrArn

      @Stability(Stable) @NotNull public String getAttrArn()
      The ARN of the AWS CodeBuild project, such as arn:aws:codebuild:us-west-2:123456789012:project/myProjectName .
    • getCfnProperties

      @Stability(Stable) @NotNull protected Map<String,Object> getCfnProperties()
      Overrides:
      getCfnProperties in class CfnResource
    • getTags

      @Stability(Stable) @NotNull public TagManager 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.

    • getArtifacts

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

      @Stability(Stable) public void setArtifacts(@NotNull IResolvable value)
      Artifacts is a property of the AWS::CodeBuild::Project resource that specifies output settings for artifacts generated by an AWS CodeBuild build.
    • setArtifacts

      @Stability(Stable) public void setArtifacts(@NotNull CfnProject.ArtifactsProperty value)
      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 public Object getEnvironment()
      The build environment settings for the project, such as the environment type or the environment variables to use for the build environment.
    • setEnvironment

      @Stability(Stable) public void setEnvironment(@NotNull IResolvable value)
      The build environment settings for the project, such as the environment type or the environment variables to use for the build environment.
    • setEnvironment

      @Stability(Stable) public void setEnvironment(@NotNull CfnProject.EnvironmentProperty value)
      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 public String getServiceRole()
      The ARN of the IAM role that enables AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account.
    • setServiceRole

      @Stability(Stable) public void setServiceRole(@NotNull String value)
      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 public Object getSource()
      The source code settings for the project, such as the source code's repository type and location.
    • setSource

      @Stability(Stable) public void setSource(@NotNull CfnProject.SourceProperty value)
      The source code settings for the project, such as the source code's repository type and location.
    • setSource

      @Stability(Stable) public void setSource(@NotNull IResolvable value)
      The source code settings for the project, such as the source code's repository type and location.
    • getBadgeEnabled

      @Stability(Stable) @Nullable public 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.

    • setBadgeEnabled

      @Stability(Stable) public void setBadgeEnabled(@Nullable Boolean value)
      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.

    • setBadgeEnabled

      @Stability(Stable) public void setBadgeEnabled(@Nullable IResolvable value)
      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 public Object getBuildBatchConfig()
      A ProjectBuildBatchConfig object that defines the batch build options for the project.
    • setBuildBatchConfig

      @Stability(Stable) public void setBuildBatchConfig(@Nullable IResolvable value)
      A ProjectBuildBatchConfig object that defines the batch build options for the project.
    • setBuildBatchConfig

      @Stability(Stable) public void setBuildBatchConfig(@Nullable CfnProject.ProjectBuildBatchConfigProperty value)
      A ProjectBuildBatchConfig object that defines the batch build options for the project.
    • getCache

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

      @Stability(Stable) public void setCache(@Nullable IResolvable value)
      Settings that AWS CodeBuild uses to store and reuse build dependencies.
    • setCache

      @Stability(Stable) public void setCache(@Nullable CfnProject.ProjectCacheProperty value)
      Settings that AWS CodeBuild uses to store and reuse build dependencies.
    • getConcurrentBuildLimit

      @Stability(Stable) @Nullable public 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.

    • setConcurrentBuildLimit

      @Stability(Stable) public void setConcurrentBuildLimit(@Nullable Number value)
      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 public String getDescription()
      A description that makes the build project easy to identify.
    • setDescription

      @Stability(Stable) public void setDescription(@Nullable String value)
      A description that makes the build project easy to identify.
    • getEncryptionKey

      @Stability(Stable) @Nullable public 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).

    • setEncryptionKey

      @Stability(Stable) public void setEncryptionKey(@Nullable String value)
      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 public 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.

    • setFileSystemLocations

      @Stability(Stable) public void setFileSystemLocations(@Nullable IResolvable value)
      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.

    • setFileSystemLocations

      @Stability(Stable) public void setFileSystemLocations(@Nullable List<Object> value)
      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 public Object getLogsConfig()
      Information about logs for the build project.

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

    • setLogsConfig

      @Stability(Stable) public void setLogsConfig(@Nullable IResolvable value)
      Information about logs for the build project.

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

    • setLogsConfig

      @Stability(Stable) public void setLogsConfig(@Nullable CfnProject.LogsConfigProperty value)
      Information about logs for the build project.

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

    • getName

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

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

    • setName

      @Stability(Stable) public void setName(@Nullable String value)
      The name of the build project.

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

    • getQueuedTimeoutInMinutes

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

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

      @Stability(Stable) @Nullable public 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.
    • setResourceAccessRole

      @Stability(Stable) public void setResourceAccessRole(@Nullable String value)
      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 public Object getSecondaryArtifacts()
      A list of Artifacts objects.

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

    • setSecondaryArtifacts

      @Stability(Stable) public void setSecondaryArtifacts(@Nullable IResolvable value)
      A list of Artifacts objects.

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

    • setSecondaryArtifacts

      @Stability(Stable) public void setSecondaryArtifacts(@Nullable List<Object> value)
      A list of Artifacts objects.

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

    • getSecondarySources

      @Stability(Stable) @Nullable public Object getSecondarySources()
      An array of ProjectSource objects.
    • setSecondarySources

      @Stability(Stable) public void setSecondarySources(@Nullable IResolvable value)
      An array of ProjectSource objects.
    • setSecondarySources

      @Stability(Stable) public void setSecondarySources(@Nullable List<Object> value)
      An array of ProjectSource objects.
    • getSecondarySourceVersions

      @Stability(Stable) @Nullable public 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).

    • setSecondarySourceVersions

      @Stability(Stable) public void setSecondarySourceVersions(@Nullable IResolvable value)
      An array of ProjectSourceVersion objects.

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

    • setSecondarySourceVersions

      @Stability(Stable) public void setSecondarySourceVersions(@Nullable List<Object> value)
      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 public 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 .

    • setSourceVersion

      @Stability(Stable) public void setSourceVersion(@Nullable String value)
      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 .

    • getTimeoutInMinutes

      @Stability(Stable) @Nullable public 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.

    • setTimeoutInMinutes

      @Stability(Stable) public void setTimeoutInMinutes(@Nullable Number value)
      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 public 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.
    • setTriggers

      @Stability(Stable) public void setTriggers(@Nullable CfnProject.ProjectTriggersProperty value)
      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.
    • setTriggers

      @Stability(Stable) public void setTriggers(@Nullable IResolvable value)
      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 public 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.
    • setVisibility

      @Stability(Stable) public void setVisibility(@Nullable String value)
      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 public 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 .

    • setVpcConfig

      @Stability(Stable) public void setVpcConfig(@Nullable IResolvable value)
      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 .

    • setVpcConfig

      @Stability(Stable) public void setVpcConfig(@Nullable CfnProject.VpcConfigProperty value)
      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 .