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

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

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

See Also:
  • Method Details

    • type

      public final SourceType type()

      The type of repository that contains the source code to be built. Valid values include:

      • BITBUCKET: The source code is in a Bitbucket repository.

      • CODECOMMIT: The source code is in an CodeCommit repository.

      • CODEPIPELINE: The source code settings are specified in the source action of a pipeline in CodePipeline.

      • GITHUB: The source code is in a GitHub repository.

      • GITHUB_ENTERPRISE: The source code is in a GitHub Enterprise Server repository.

      • GITLAB: The source code is in a GitLab repository.

      • GITLAB_SELF_MANAGED: The source code is in a self-managed GitLab repository.

      • NO_SOURCE: The project does not have input source code.

      • S3: The source code is in an Amazon S3 bucket.

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

      Returns:
      The type of repository that contains the source code to be built. Valid values include:

      • BITBUCKET: The source code is in a Bitbucket repository.

      • CODECOMMIT: The source code is in an CodeCommit repository.

      • CODEPIPELINE: The source code settings are specified in the source action of a pipeline in CodePipeline.

      • GITHUB: The source code is in a GitHub repository.

      • GITHUB_ENTERPRISE: The source code is in a GitHub Enterprise Server repository.

      • GITLAB: The source code is in a GitLab repository.

      • GITLAB_SELF_MANAGED: The source code is in a self-managed GitLab repository.

      • NO_SOURCE: The project does not have input source code.

      • S3: The source code is in an Amazon S3 bucket.

      See Also:
    • typeAsString

      public final String typeAsString()

      The type of repository that contains the source code to be built. Valid values include:

      • BITBUCKET: The source code is in a Bitbucket repository.

      • CODECOMMIT: The source code is in an CodeCommit repository.

      • CODEPIPELINE: The source code settings are specified in the source action of a pipeline in CodePipeline.

      • GITHUB: The source code is in a GitHub repository.

      • GITHUB_ENTERPRISE: The source code is in a GitHub Enterprise Server repository.

      • GITLAB: The source code is in a GitLab repository.

      • GITLAB_SELF_MANAGED: The source code is in a self-managed GitLab repository.

      • NO_SOURCE: The project does not have input source code.

      • S3: The source code is in an Amazon S3 bucket.

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

      Returns:
      The type of repository that contains the source code to be built. Valid values include:

      • BITBUCKET: The source code is in a Bitbucket repository.

      • CODECOMMIT: The source code is in an CodeCommit repository.

      • CODEPIPELINE: The source code settings are specified in the source action of a pipeline in CodePipeline.

      • GITHUB: The source code is in a GitHub repository.

      • GITHUB_ENTERPRISE: The source code is in a GitHub Enterprise Server repository.

      • GITLAB: The source code is in a GitLab repository.

      • GITLAB_SELF_MANAGED: The source code is in a self-managed GitLab repository.

      • NO_SOURCE: The project does not have input source code.

      • S3: The source code is in an Amazon S3 bucket.

      See Also:
    • location

      public final String location()

      Information about the location of the source code to be built. Valid values include:

      • For source code settings that are specified in the source action of a pipeline in CodePipeline, location should not be specified. If it is specified, CodePipeline ignores it. This is because CodePipeline uses the settings in a pipeline's source action instead of this value.

      • For source code in an CodeCommit repository, the HTTPS clone URL to the repository that contains the source code and the buildspec file (for example, https://git-codecommit.<region-ID>.amazonaws.com/v1/repos/<repo-name>).

      • For source code in an Amazon S3 input bucket, one of the following.

        • The path to the ZIP file that contains the source code (for example, <bucket-name>/<path>/<object-name>.zip).

        • The path to the folder that contains the source code (for example, <bucket-name>/<path-to-source-code>/<folder>/).

      • For source code in a GitHub repository, the HTTPS clone URL to the repository that contains the source and the buildspec file. You must connect your Amazon Web Services account to your GitHub account. Use the CodeBuild console to start creating a build project. When you use the console to connect (or reconnect) with GitHub, on the GitHub Authorize application page, for Organization access, choose Request access next to each repository you want to allow CodeBuild to have access to, and then choose Authorize application. (After you have connected to your GitHub account, you do not need to finish creating the build project. You can leave the CodeBuild console.) To instruct CodeBuild to use this connection, in the source object, set the auth object's type value to OAUTH.

      • For source code in an GitLab or self-managed GitLab repository, the HTTPS clone URL to the repository that contains the source and the buildspec file. You must connect your Amazon Web Services account to your GitLab account. Use the CodeBuild console to start creating a build project. When you use the console to connect (or reconnect) with GitLab, on the Connections Authorize application page, choose Authorize. Then on the CodeStar Connections Create GitLab connection page, choose Connect to GitLab. (After you have connected to your GitLab account, you do not need to finish creating the build project. You can leave the CodeBuild console.) To instruct CodeBuild to override the default connection and use this connection instead, set the auth object's type value to CODECONNECTIONS in the source object.

      • For source code in a Bitbucket repository, the HTTPS clone URL to the repository that contains the source and the buildspec file. You must connect your Amazon Web Services account to your Bitbucket account. Use the CodeBuild console to start creating a build project. When you use the console to connect (or reconnect) with Bitbucket, on the Bitbucket Confirm access to your account page, choose Grant access. (After you have connected to your Bitbucket account, you do not need to finish creating the build project. You can leave the CodeBuild console.) To instruct CodeBuild to use this connection, in the source object, set the auth object's type value to OAUTH.

      If you specify CODEPIPELINE for the Type property, don't specify this property. For all of the other types, you must specify Location.

      Returns:
      Information about the location of the source code to be built. Valid values include:

      • For source code settings that are specified in the source action of a pipeline in CodePipeline, location should not be specified. If it is specified, CodePipeline ignores it. This is because CodePipeline uses the settings in a pipeline's source action instead of this value.

      • For source code in an CodeCommit repository, the HTTPS clone URL to the repository that contains the source code and the buildspec file (for example, https://git-codecommit.<region-ID>.amazonaws.com/v1/repos/<repo-name>).

      • For source code in an Amazon S3 input bucket, one of the following.

        • The path to the ZIP file that contains the source code (for example, <bucket-name>/<path>/<object-name>.zip).

        • The path to the folder that contains the source code (for example, <bucket-name>/<path-to-source-code>/<folder>/).

      • For source code in a GitHub repository, the HTTPS clone URL to the repository that contains the source and the buildspec file. You must connect your Amazon Web Services account to your GitHub account. Use the CodeBuild console to start creating a build project. When you use the console to connect (or reconnect) with GitHub, on the GitHub Authorize application page, for Organization access, choose Request access next to each repository you want to allow CodeBuild to have access to, and then choose Authorize application. (After you have connected to your GitHub account, you do not need to finish creating the build project. You can leave the CodeBuild console.) To instruct CodeBuild to use this connection, in the source object, set the auth object's type value to OAUTH.

      • For source code in an GitLab or self-managed GitLab repository, the HTTPS clone URL to the repository that contains the source and the buildspec file. You must connect your Amazon Web Services account to your GitLab account. Use the CodeBuild console to start creating a build project. When you use the console to connect (or reconnect) with GitLab, on the Connections Authorize application page, choose Authorize. Then on the CodeStar Connections Create GitLab connection page, choose Connect to GitLab. (After you have connected to your GitLab account, you do not need to finish creating the build project. You can leave the CodeBuild console.) To instruct CodeBuild to override the default connection and use this connection instead, set the auth object's type value to CODECONNECTIONS in the source object.

      • For source code in a Bitbucket repository, the HTTPS clone URL to the repository that contains the source and the buildspec file. You must connect your Amazon Web Services account to your Bitbucket account. Use the CodeBuild console to start creating a build project. When you use the console to connect (or reconnect) with Bitbucket, on the Bitbucket Confirm access to your account page, choose Grant access. (After you have connected to your Bitbucket account, you do not need to finish creating the build project. You can leave the CodeBuild console.) To instruct CodeBuild to use this connection, in the source object, set the auth object's type value to OAUTH.

      If you specify CODEPIPELINE for the Type property, don't specify this property. For all of the other types, you must specify Location.

    • gitCloneDepth

      public final Integer gitCloneDepth()

      Information about the Git clone depth for the build project.

      Returns:
      Information about the Git clone depth for the build project.
    • gitSubmodulesConfig

      public final GitSubmodulesConfig gitSubmodulesConfig()

      Information about the Git submodules configuration for the build project.

      Returns:
      Information about the Git submodules configuration for the build project.
    • buildspec

      public final String buildspec()

      The buildspec file declaration to use for the builds in this build project.

      If this value is set, it can be either an inline buildspec definition, the path to an alternate buildspec file relative to the value of the built-in CODEBUILD_SRC_DIR environment variable, or the path to an S3 bucket. The bucket must be in the same Amazon Web Services Region as the build project. Specify the buildspec file using its ARN (for example, arn:aws:s3:::my-codebuild-sample2/buildspec.yml). If this value is not provided or is set to an empty string, the source code must contain a buildspec file in its root directory. For more information, see Buildspec File Name and Storage Location.

      Returns:
      The buildspec file declaration to use for the builds in this build project.

      If this value is set, it can be either an inline buildspec definition, the path to an alternate buildspec file relative to the value of the built-in CODEBUILD_SRC_DIR environment variable, or the path to an S3 bucket. The bucket must be in the same Amazon Web Services Region as the build project. Specify the buildspec file using its ARN (for example, arn:aws:s3:::my-codebuild-sample2/buildspec.yml). If this value is not provided or is set to an empty string, the source code must contain a buildspec file in its root directory. For more information, see Buildspec File Name and Storage Location.

    • auth

      public final SourceAuth auth()

      Information about the authorization settings for CodeBuild to access the source code to be built.

      This information is for the CodeBuild console's use only. Your code should not get or set this information directly.

      Returns:
      Information about the authorization settings for CodeBuild to access the source code to be built.

      This information is for the CodeBuild console's use only. Your code should not get or set this information directly.

    • reportBuildStatus

      public final Boolean reportBuildStatus()

      Set to true to report the status of a build's start and finish to your source provider. This option is valid only when your source provider is GitHub, GitHub Enterprise, GitLab, GitLab Self Managed, or Bitbucket. If this is set and you use a different source provider, an invalidInputException is thrown.

      To be able to report the build status to the source provider, the user associated with the source provider must have write access to the repo. If the user does not have write access, the build status cannot be updated. For more information, see Source provider access in the CodeBuild User Guide.

      The status of a build triggered by a webhook is always reported to your source provider.

      If your project's builds are triggered by a webhook, you must push a new commit to the repo for a change to this property to take effect.

      Returns:
      Set to true to report the status of a build's start and finish to your source provider. This option is valid only when your source provider is GitHub, GitHub Enterprise, GitLab, GitLab Self Managed, or Bitbucket. If this is set and you use a different source provider, an invalidInputException is thrown.

      To be able to report the build status to the source provider, the user associated with the source provider must have write access to the repo. If the user does not have write access, the build status cannot be updated. For more information, see Source provider access in the CodeBuild User Guide.

      The status of a build triggered by a webhook is always reported to your source provider.

      If your project's builds are triggered by a webhook, you must push a new commit to the repo for a change to this property to take effect.

    • buildStatusConfig

      public final BuildStatusConfig buildStatusConfig()

      Contains information that defines how the build project reports the build status to the source provider. This option is only used when the source provider is GITHUB, GITHUB_ENTERPRISE, or BITBUCKET.

      Returns:
      Contains information that defines how the build project reports the build status to the source provider. This option is only used when the source provider is GITHUB, GITHUB_ENTERPRISE, or BITBUCKET.
    • insecureSsl

      public final Boolean insecureSsl()

      Enable this flag to ignore SSL warnings while connecting to the project source code.

      Returns:
      Enable this flag to ignore SSL warnings while connecting to the project source code.
    • sourceIdentifier

      public final String sourceIdentifier()

      An identifier for this project source. The identifier can only contain alphanumeric characters and underscores, and must be less than 128 characters in length.

      Returns:
      An identifier for this project source. The identifier can only contain alphanumeric characters and underscores, and must be less than 128 characters in length.
    • toBuilder

      public ProjectSource.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<ProjectSource.Builder,ProjectSource>
      Returns:
      a builder for type T
    • builder

      public static ProjectSource.Builder builder()
    • serializableBuilderClass

      public static Class<? extends ProjectSource.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.