/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace CodeBuild { namespace Model { /** *

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

See Also:

AWS * API Reference

*/ class ProjectSource { public: AWS_CODEBUILD_API ProjectSource(); AWS_CODEBUILD_API ProjectSource(Aws::Utils::Json::JsonView jsonValue); AWS_CODEBUILD_API ProjectSource& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_CODEBUILD_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

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 or GitHub Enterprise Cloud repository.

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

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

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

*/ inline const SourceType& GetType() const{ return m_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 or GitHub Enterprise Cloud repository.

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

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

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

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

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 or GitHub Enterprise Cloud repository.

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

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

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

*/ inline void SetType(const SourceType& value) { m_typeHasBeenSet = true; m_type = value; } /** *

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 or GitHub Enterprise Cloud repository.

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

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

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

*/ inline void SetType(SourceType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

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 or GitHub Enterprise Cloud repository.

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

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

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

*/ inline ProjectSource& WithType(const SourceType& value) { SetType(value); return *this;} /** *

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 or GitHub Enterprise Cloud repository.

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

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

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

*/ inline ProjectSource& WithType(SourceType&& value) { SetType(std::move(value)); return *this;} /** *

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

*/ inline const Aws::String& GetLocation() const{ return m_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 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.

*/ inline bool LocationHasBeenSet() const { return m_locationHasBeenSet; } /** *

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

*/ inline void SetLocation(const Aws::String& value) { m_locationHasBeenSet = true; m_location = value; } /** *

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

*/ inline void SetLocation(Aws::String&& value) { m_locationHasBeenSet = true; m_location = std::move(value); } /** *

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

*/ inline void SetLocation(const char* value) { m_locationHasBeenSet = true; m_location.assign(value); } /** *

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

*/ inline ProjectSource& WithLocation(const Aws::String& value) { SetLocation(value); return *this;} /** *

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

*/ inline ProjectSource& WithLocation(Aws::String&& value) { SetLocation(std::move(value)); return *this;} /** *

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

*/ inline ProjectSource& WithLocation(const char* value) { SetLocation(value); return *this;} /** *

Information about the Git clone depth for the build project.

*/ inline int GetGitCloneDepth() const{ return m_gitCloneDepth; } /** *

Information about the Git clone depth for the build project.

*/ inline bool GitCloneDepthHasBeenSet() const { return m_gitCloneDepthHasBeenSet; } /** *

Information about the Git clone depth for the build project.

*/ inline void SetGitCloneDepth(int value) { m_gitCloneDepthHasBeenSet = true; m_gitCloneDepth = value; } /** *

Information about the Git clone depth for the build project.

*/ inline ProjectSource& WithGitCloneDepth(int value) { SetGitCloneDepth(value); return *this;} /** *

Information about the Git submodules configuration for the build project. *

*/ inline const GitSubmodulesConfig& GetGitSubmodulesConfig() const{ return m_gitSubmodulesConfig; } /** *

Information about the Git submodules configuration for the build project. *

*/ inline bool GitSubmodulesConfigHasBeenSet() const { return m_gitSubmodulesConfigHasBeenSet; } /** *

Information about the Git submodules configuration for the build project. *

*/ inline void SetGitSubmodulesConfig(const GitSubmodulesConfig& value) { m_gitSubmodulesConfigHasBeenSet = true; m_gitSubmodulesConfig = value; } /** *

Information about the Git submodules configuration for the build project. *

*/ inline void SetGitSubmodulesConfig(GitSubmodulesConfig&& value) { m_gitSubmodulesConfigHasBeenSet = true; m_gitSubmodulesConfig = std::move(value); } /** *

Information about the Git submodules configuration for the build project. *

*/ inline ProjectSource& WithGitSubmodulesConfig(const GitSubmodulesConfig& value) { SetGitSubmodulesConfig(value); return *this;} /** *

Information about the Git submodules configuration for the build project. *

*/ inline ProjectSource& WithGitSubmodulesConfig(GitSubmodulesConfig&& value) { SetGitSubmodulesConfig(std::move(value)); return *this;} /** *

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.

*/ inline const Aws::String& GetBuildspec() const{ return m_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.

*/ inline bool BuildspecHasBeenSet() const { return m_buildspecHasBeenSet; } /** *

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.

*/ inline void SetBuildspec(const Aws::String& value) { m_buildspecHasBeenSet = true; m_buildspec = value; } /** *

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.

*/ inline void SetBuildspec(Aws::String&& value) { m_buildspecHasBeenSet = true; m_buildspec = std::move(value); } /** *

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.

*/ inline void SetBuildspec(const char* value) { m_buildspecHasBeenSet = true; m_buildspec.assign(value); } /** *

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.

*/ inline ProjectSource& WithBuildspec(const Aws::String& value) { SetBuildspec(value); return *this;} /** *

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.

*/ inline ProjectSource& WithBuildspec(Aws::String&& value) { SetBuildspec(std::move(value)); return *this;} /** *

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.

*/ inline ProjectSource& WithBuildspec(const char* value) { SetBuildspec(value); return *this;} /** *

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.

*/ inline const SourceAuth& GetAuth() const{ return m_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.

*/ inline bool AuthHasBeenSet() const { return m_authHasBeenSet; } /** *

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.

*/ inline void SetAuth(const SourceAuth& value) { m_authHasBeenSet = true; m_auth = value; } /** *

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.

*/ inline void SetAuth(SourceAuth&& value) { m_authHasBeenSet = true; m_auth = std::move(value); } /** *

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.

*/ inline ProjectSource& WithAuth(const SourceAuth& value) { SetAuth(value); return *this;} /** *

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.

*/ inline ProjectSource& WithAuth(SourceAuth&& value) { SetAuth(std::move(value)); return *this;} /** *

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, 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.

*/ inline bool GetReportBuildStatus() const{ return m_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, 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.

*/ inline bool ReportBuildStatusHasBeenSet() const { return m_reportBuildStatusHasBeenSet; } /** *

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, 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.

*/ inline void SetReportBuildStatus(bool value) { m_reportBuildStatusHasBeenSet = true; m_reportBuildStatus = value; } /** *

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, 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.

*/ inline ProjectSource& WithReportBuildStatus(bool value) { SetReportBuildStatus(value); return *this;} /** *

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.

*/ inline const BuildStatusConfig& GetBuildStatusConfig() const{ return m_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.

*/ inline bool BuildStatusConfigHasBeenSet() const { return m_buildStatusConfigHasBeenSet; } /** *

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.

*/ inline void SetBuildStatusConfig(const BuildStatusConfig& value) { m_buildStatusConfigHasBeenSet = true; m_buildStatusConfig = value; } /** *

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.

*/ inline void SetBuildStatusConfig(BuildStatusConfig&& value) { m_buildStatusConfigHasBeenSet = true; m_buildStatusConfig = std::move(value); } /** *

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.

*/ inline ProjectSource& WithBuildStatusConfig(const BuildStatusConfig& value) { SetBuildStatusConfig(value); return *this;} /** *

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.

*/ inline ProjectSource& WithBuildStatusConfig(BuildStatusConfig&& value) { SetBuildStatusConfig(std::move(value)); return *this;} /** *

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

*/ inline bool GetInsecureSsl() const{ return m_insecureSsl; } /** *

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

*/ inline bool InsecureSslHasBeenSet() const { return m_insecureSslHasBeenSet; } /** *

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

*/ inline void SetInsecureSsl(bool value) { m_insecureSslHasBeenSet = true; m_insecureSsl = value; } /** *

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

*/ inline ProjectSource& WithInsecureSsl(bool value) { SetInsecureSsl(value); return *this;} /** *

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

*/ inline const Aws::String& GetSourceIdentifier() const{ return m_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.

*/ inline bool SourceIdentifierHasBeenSet() const { return m_sourceIdentifierHasBeenSet; } /** *

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

*/ inline void SetSourceIdentifier(const Aws::String& value) { m_sourceIdentifierHasBeenSet = true; m_sourceIdentifier = value; } /** *

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

*/ inline void SetSourceIdentifier(Aws::String&& value) { m_sourceIdentifierHasBeenSet = true; m_sourceIdentifier = std::move(value); } /** *

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

*/ inline void SetSourceIdentifier(const char* value) { m_sourceIdentifierHasBeenSet = true; m_sourceIdentifier.assign(value); } /** *

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

*/ inline ProjectSource& WithSourceIdentifier(const Aws::String& value) { SetSourceIdentifier(value); return *this;} /** *

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

*/ inline ProjectSource& WithSourceIdentifier(Aws::String&& value) { SetSourceIdentifier(std::move(value)); return *this;} /** *

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

*/ inline ProjectSource& WithSourceIdentifier(const char* value) { SetSourceIdentifier(value); return *this;} private: SourceType m_type; bool m_typeHasBeenSet = false; Aws::String m_location; bool m_locationHasBeenSet = false; int m_gitCloneDepth; bool m_gitCloneDepthHasBeenSet = false; GitSubmodulesConfig m_gitSubmodulesConfig; bool m_gitSubmodulesConfigHasBeenSet = false; Aws::String m_buildspec; bool m_buildspecHasBeenSet = false; SourceAuth m_auth; bool m_authHasBeenSet = false; bool m_reportBuildStatus; bool m_reportBuildStatusHasBeenSet = false; BuildStatusConfig m_buildStatusConfig; bool m_buildStatusConfigHasBeenSet = false; bool m_insecureSsl; bool m_insecureSslHasBeenSet = false; Aws::String m_sourceIdentifier; bool m_sourceIdentifierHasBeenSet = false; }; } // namespace Model } // namespace CodeBuild } // namespace Aws