/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #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 SourceCode { public: AWS_MIGRATIONHUBSTRATEGYRECOMMENDATIONS_API SourceCode(); AWS_MIGRATIONHUBSTRATEGYRECOMMENDATIONS_API SourceCode(Aws::Utils::Json::JsonView jsonValue); AWS_MIGRATIONHUBSTRATEGYRECOMMENDATIONS_API SourceCode& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_MIGRATIONHUBSTRATEGYRECOMMENDATIONS_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The repository name for the source code.

*/ inline const Aws::String& GetLocation() const{ return m_location; } /** *

The repository name for the source code.

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

The repository name for the source code.

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

The repository name for the source code.

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

The repository name for the source code.

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

The repository name for the source code.

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

The repository name for the source code.

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

The repository name for the source code.

*/ inline SourceCode& WithLocation(const char* value) { SetLocation(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 SourceCode& WithProjectName(const Aws::String& value) { SetProjectName(value); return *this;} /** *

The name of the project.

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

The name of the project.

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

The branch of the source code.

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

The branch of the source code.

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

The branch of the source code.

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

The branch of the source code.

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

The branch of the source code.

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

The branch of the source code.

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

The branch of the source code.

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

The branch of the source code.

*/ inline SourceCode& WithSourceVersion(const char* value) { SetSourceVersion(value); return *this;} /** *

The type of repository to use for the source code.

*/ inline const VersionControl& GetVersionControl() const{ return m_versionControl; } /** *

The type of repository to use for the source code.

*/ inline bool VersionControlHasBeenSet() const { return m_versionControlHasBeenSet; } /** *

The type of repository to use for the source code.

*/ inline void SetVersionControl(const VersionControl& value) { m_versionControlHasBeenSet = true; m_versionControl = value; } /** *

The type of repository to use for the source code.

*/ inline void SetVersionControl(VersionControl&& value) { m_versionControlHasBeenSet = true; m_versionControl = std::move(value); } /** *

The type of repository to use for the source code.

*/ inline SourceCode& WithVersionControl(const VersionControl& value) { SetVersionControl(value); return *this;} /** *

The type of repository to use for the source code.

*/ inline SourceCode& WithVersionControl(VersionControl&& value) { SetVersionControl(std::move(value)); return *this;} private: Aws::String m_location; bool m_locationHasBeenSet = false; Aws::String m_projectName; bool m_projectNameHasBeenSet = false; Aws::String m_sourceVersion; bool m_sourceVersionHasBeenSet = false; VersionControl m_versionControl; bool m_versionControlHasBeenSet = false; }; } // namespace Model } // namespace MigrationHubStrategyRecommendations } // namespace Aws