java.lang.Object
software.amazon.awssdk.services.codebuild.model.Project
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<Project.Builder,Project>

@Generated("software.amazon.awssdk:codegen") public final class Project extends Object implements SdkPojo, Serializable, ToCopyableBuilder<Project.Builder,Project>

Information about a build project.

See Also:
  • Method Details

    • name

      public final String name()

      The name of the build project.

      Returns:
      The name of the build project.
    • arn

      public final String arn()

      The Amazon Resource Name (ARN) of the build project.

      Returns:
      The Amazon Resource Name (ARN) of the build project.
    • description

      public final String description()

      A description that makes the build project easy to identify.

      Returns:
      A description that makes the build project easy to identify.
    • source

      public final ProjectSource source()

      Information about the build input source code for this build project.

      Returns:
      Information about the build input source code for this build project.
    • hasSecondarySources

      public final boolean hasSecondarySources()
      For responses, this returns true if the service returned a value for the SecondarySources property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • secondarySources

      public final List<ProjectSource> secondarySources()

      An array of ProjectSource objects.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasSecondarySources() method.

      Returns:
      An array of ProjectSource objects.
    • sourceVersion

      public final String sourceVersion()

      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 GitLab: the commit ID, branch, or Git tag to use.

      • 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 CodeBuild User Guide.

      Returns:
      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 GitLab: the commit ID, branch, or Git tag to use.

      • 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 CodeBuild User Guide.

    • hasSecondarySourceVersions

      public final boolean hasSecondarySourceVersions()
      For responses, this returns true if the service returned a value for the SecondarySourceVersions property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • secondarySourceVersions

      public final List<ProjectSourceVersion> secondarySourceVersions()

      An array of ProjectSourceVersion objects. If secondarySourceVersions is specified at the build level, then they take over these secondarySourceVersions (at the project level).

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasSecondarySourceVersions() method.

      Returns:
      An array of ProjectSourceVersion objects. If secondarySourceVersions is specified at the build level, then they take over these secondarySourceVersions (at the project level).
    • artifacts

      public final ProjectArtifacts artifacts()

      Information about the build output artifacts for the build project.

      Returns:
      Information about the build output artifacts for the build project.
    • hasSecondaryArtifacts

      public final boolean hasSecondaryArtifacts()
      For responses, this returns true if the service returned a value for the SecondaryArtifacts property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • secondaryArtifacts

      public final List<ProjectArtifacts> secondaryArtifacts()

      An array of ProjectArtifacts objects.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasSecondaryArtifacts() method.

      Returns:
      An array of ProjectArtifacts objects.
    • cache

      public final ProjectCache cache()

      Information about the cache for the build project.

      Returns:
      Information about the cache for the build project.
    • environment

      public final ProjectEnvironment environment()

      Information about the build environment for this build project.

      Returns:
      Information about the build environment for this build project.
    • serviceRole

      public final String serviceRole()

      The ARN of the IAM role that enables CodeBuild to interact with dependent Amazon Web Services services on behalf of the Amazon Web Services account.

      Returns:
      The ARN of the IAM role that enables CodeBuild to interact with dependent Amazon Web Services services on behalf of the Amazon Web Services account.
    • timeoutInMinutes

      public final Integer timeoutInMinutes()

      How long, in minutes, from 5 to 2160 (36 hours), for CodeBuild to wait before timing out any related build that did not get marked as completed. The default is 60 minutes.

      Returns:
      How long, in minutes, from 5 to 2160 (36 hours), for CodeBuild to wait before timing out any related build that did not get marked as completed. The default is 60 minutes.
    • queuedTimeoutInMinutes

      public final Integer queuedTimeoutInMinutes()

      The number of minutes a build is allowed to be queued before it times out.

      Returns:
      The number of minutes a build is allowed to be queued before it times out.
    • encryptionKey

      public final String encryptionKey()

      The 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).

      Returns:
      The 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).

    • hasTags

      public final boolean hasTags()
      For responses, this returns true if the service returned a value for the Tags property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • tags

      public final List<Tag> tags()

      A list of tag key and value pairs associated with this build project.

      These tags are available for use by Amazon Web Services services that support CodeBuild build project tags.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasTags() method.

      Returns:
      A list of tag key and value pairs associated with this build project.

      These tags are available for use by Amazon Web Services services that support CodeBuild build project tags.

    • created

      public final Instant created()

      When the build project was created, expressed in Unix time format.

      Returns:
      When the build project was created, expressed in Unix time format.
    • lastModified

      public final Instant lastModified()

      When the build project's settings were last modified, expressed in Unix time format.

      Returns:
      When the build project's settings were last modified, expressed in Unix time format.
    • webhook

      public final Webhook webhook()

      Information about a webhook that connects repository events to a build project in CodeBuild.

      Returns:
      Information about a webhook that connects repository events to a build project in CodeBuild.
    • vpcConfig

      public final VpcConfig vpcConfig()

      Information about the VPC configuration that CodeBuild accesses.

      Returns:
      Information about the VPC configuration that CodeBuild accesses.
    • badge

      public final ProjectBadge badge()

      Information about the build badge for the build project.

      Returns:
      Information about the build badge for the build project.
    • logsConfig

      public final LogsConfig logsConfig()

      Information about logs for the build project. A project can create logs in CloudWatch Logs, an S3 bucket, or both.

      Returns:
      Information about logs for the build project. A project can create logs in CloudWatch Logs, an S3 bucket, or both.
    • hasFileSystemLocations

      public final boolean hasFileSystemLocations()
      For responses, this returns true if the service returned a value for the FileSystemLocations property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • fileSystemLocations

      public final List<ProjectFileSystemLocation> fileSystemLocations()

      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.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasFileSystemLocations() method.

      Returns:
      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.
    • buildBatchConfig

      public final ProjectBuildBatchConfig buildBatchConfig()

      A ProjectBuildBatchConfig object that defines the batch build options for the project.

      Returns:
      A ProjectBuildBatchConfig object that defines the batch build options for the project.
    • concurrentBuildLimit

      public final Integer concurrentBuildLimit()

      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.

      Returns:
      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.

    • projectVisibility

      public final ProjectVisibilityType projectVisibility()
      Returns the value of the ProjectVisibility property for this object.

      If the service returns an enum value that is not available in the current SDK version, projectVisibility will return ProjectVisibilityType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from projectVisibilityAsString().

      Returns:
      The value of the ProjectVisibility property for this object.
      See Also:
    • projectVisibilityAsString

      public final String projectVisibilityAsString()
      Returns the value of the ProjectVisibility property for this object.

      If the service returns an enum value that is not available in the current SDK version, projectVisibility will return ProjectVisibilityType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from projectVisibilityAsString().

      Returns:
      The value of the ProjectVisibility property for this object.
      See Also:
    • publicProjectAlias

      public final String publicProjectAlias()

      Contains the project identifier used with the public build APIs.

      Returns:
      Contains the project identifier used with the public build APIs.
    • resourceAccessRole

      public final String resourceAccessRole()

      The ARN of the IAM role that enables CodeBuild to access the CloudWatch Logs and Amazon S3 artifacts for the project's builds.

      Returns:
      The ARN of the IAM role that enables CodeBuild to access the CloudWatch Logs and Amazon S3 artifacts for the project's builds.
    • toBuilder

      public Project.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<Project.Builder,Project>
      Returns:
      a builder for type T
    • builder

      public static Project.Builder builder()
    • serializableBuilderClass

      public static Class<? extends Project.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.