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

A source identifier and its corresponding version.

See Also:

* AWS * API Reference

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

An identifier for a source in the build project. 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 a source in the build project. 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 a source in the build project. 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 a source in the build project. 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 a source in the build project. 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 a source in the build project. The identifier can only * contain alphanumeric characters and underscores, and must be less than 128 * characters in length.

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

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

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

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

*/ inline ProjectSourceVersion& WithSourceIdentifier(const char* value) { SetSourceIdentifier(value); return *this;} /** *

The source version for the corresponding source identifier. If specified, * 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.

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

*/ inline const Aws::String& GetSourceVersion() const{ return m_sourceVersion; } /** *

The source version for the corresponding source identifier. If specified, * 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.

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

*/ inline bool SourceVersionHasBeenSet() const { return m_sourceVersionHasBeenSet; } /** *

The source version for the corresponding source identifier. If specified, * 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.

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

*/ inline void SetSourceVersion(const Aws::String& value) { m_sourceVersionHasBeenSet = true; m_sourceVersion = value; } /** *

The source version for the corresponding source identifier. If specified, * 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.

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

*/ inline void SetSourceVersion(Aws::String&& value) { m_sourceVersionHasBeenSet = true; m_sourceVersion = std::move(value); } /** *

The source version for the corresponding source identifier. If specified, * 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.

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

*/ inline void SetSourceVersion(const char* value) { m_sourceVersionHasBeenSet = true; m_sourceVersion.assign(value); } /** *

The source version for the corresponding source identifier. If specified, * 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.

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

*/ inline ProjectSourceVersion& WithSourceVersion(const Aws::String& value) { SetSourceVersion(value); return *this;} /** *

The source version for the corresponding source identifier. If specified, * 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.

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

*/ inline ProjectSourceVersion& WithSourceVersion(Aws::String&& value) { SetSourceVersion(std::move(value)); return *this;} /** *

The source version for the corresponding source identifier. If specified, * 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.

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

*/ inline ProjectSourceVersion& WithSourceVersion(const char* value) { SetSourceVersion(value); return *this;} private: Aws::String m_sourceIdentifier; bool m_sourceIdentifierHasBeenSet = false; Aws::String m_sourceVersion; bool m_sourceVersionHasBeenSet = false; }; } // namespace Model } // namespace CodeBuild } // namespace Aws