/** * 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 MigrationHubStrategyRecommendations { namespace Model { /** *

Object containing source code information that is linked to an application * component.

See Also:

AWS * API Reference

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

The branch of the source code.

*/ inline const Aws::String& GetBranch() const{ return m_branch; } /** *

The branch of the source code.

*/ inline bool BranchHasBeenSet() const { return m_branchHasBeenSet; } /** *

The branch of the source code.

*/ inline void SetBranch(const Aws::String& value) { m_branchHasBeenSet = true; m_branch = value; } /** *

The branch of the source code.

*/ inline void SetBranch(Aws::String&& value) { m_branchHasBeenSet = true; m_branch = std::move(value); } /** *

The branch of the source code.

*/ inline void SetBranch(const char* value) { m_branchHasBeenSet = true; m_branch.assign(value); } /** *

The branch of the source code.

*/ inline SourceCodeRepository& WithBranch(const Aws::String& value) { SetBranch(value); return *this;} /** *

The branch of the source code.

*/ inline SourceCodeRepository& WithBranch(Aws::String&& value) { SetBranch(std::move(value)); return *this;} /** *

The branch of the source code.

*/ inline SourceCodeRepository& WithBranch(const char* value) { SetBranch(value); return *this;} /** *

The name of the project.

*/ inline const Aws::String& GetProjectName() const{ return m_projectName; } /** *

The name of the project.

*/ inline bool ProjectNameHasBeenSet() const { return m_projectNameHasBeenSet; } /** *

The name of the project.

*/ inline void SetProjectName(const Aws::String& value) { m_projectNameHasBeenSet = true; m_projectName = value; } /** *

The name of the project.

*/ inline void SetProjectName(Aws::String&& value) { m_projectNameHasBeenSet = true; m_projectName = std::move(value); } /** *

The name of the project.

*/ inline void SetProjectName(const char* value) { m_projectNameHasBeenSet = true; m_projectName.assign(value); } /** *

The name of the project.

*/ inline SourceCodeRepository& WithProjectName(const Aws::String& value) { SetProjectName(value); return *this;} /** *

The name of the project.

*/ inline SourceCodeRepository& WithProjectName(Aws::String&& value) { SetProjectName(std::move(value)); return *this;} /** *

The name of the project.

*/ inline SourceCodeRepository& WithProjectName(const char* value) { SetProjectName(value); return *this;} /** *

The repository name for the source code.

*/ inline const Aws::String& GetRepository() const{ return m_repository; } /** *

The repository name for the source code.

*/ inline bool RepositoryHasBeenSet() const { return m_repositoryHasBeenSet; } /** *

The repository name for the source code.

*/ inline void SetRepository(const Aws::String& value) { m_repositoryHasBeenSet = true; m_repository = value; } /** *

The repository name for the source code.

*/ inline void SetRepository(Aws::String&& value) { m_repositoryHasBeenSet = true; m_repository = std::move(value); } /** *

The repository name for the source code.

*/ inline void SetRepository(const char* value) { m_repositoryHasBeenSet = true; m_repository.assign(value); } /** *

The repository name for the source code.

*/ inline SourceCodeRepository& WithRepository(const Aws::String& value) { SetRepository(value); return *this;} /** *

The repository name for the source code.

*/ inline SourceCodeRepository& WithRepository(Aws::String&& value) { SetRepository(std::move(value)); return *this;} /** *

The repository name for the source code.

*/ inline SourceCodeRepository& WithRepository(const char* value) { SetRepository(value); return *this;} /** *

The type of repository to use for the source code.

*/ inline const Aws::String& GetVersionControlType() const{ return m_versionControlType; } /** *

The type of repository to use for the source code.

*/ inline bool VersionControlTypeHasBeenSet() const { return m_versionControlTypeHasBeenSet; } /** *

The type of repository to use for the source code.

*/ inline void SetVersionControlType(const Aws::String& value) { m_versionControlTypeHasBeenSet = true; m_versionControlType = value; } /** *

The type of repository to use for the source code.

*/ inline void SetVersionControlType(Aws::String&& value) { m_versionControlTypeHasBeenSet = true; m_versionControlType = std::move(value); } /** *

The type of repository to use for the source code.

*/ inline void SetVersionControlType(const char* value) { m_versionControlTypeHasBeenSet = true; m_versionControlType.assign(value); } /** *

The type of repository to use for the source code.

*/ inline SourceCodeRepository& WithVersionControlType(const Aws::String& value) { SetVersionControlType(value); return *this;} /** *

The type of repository to use for the source code.

*/ inline SourceCodeRepository& WithVersionControlType(Aws::String&& value) { SetVersionControlType(std::move(value)); return *this;} /** *

The type of repository to use for the source code.

*/ inline SourceCodeRepository& WithVersionControlType(const char* value) { SetVersionControlType(value); return *this;} private: Aws::String m_branch; bool m_branchHasBeenSet = false; Aws::String m_projectName; bool m_projectNameHasBeenSet = false; Aws::String m_repository; bool m_repositoryHasBeenSet = false; Aws::String m_versionControlType; bool m_versionControlTypeHasBeenSet = false; }; } // namespace Model } // namespace MigrationHubStrategyRecommendations } // namespace Aws