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

The details for a source control configuration for a job, allowing * synchronization of job artifacts to or from a remote repository.

See * Also:

AWS * API Reference

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

The provider for the remote repository.

*/ inline const SourceControlProvider& GetProvider() const{ return m_provider; } /** *

The provider for the remote repository.

*/ inline bool ProviderHasBeenSet() const { return m_providerHasBeenSet; } /** *

The provider for the remote repository.

*/ inline void SetProvider(const SourceControlProvider& value) { m_providerHasBeenSet = true; m_provider = value; } /** *

The provider for the remote repository.

*/ inline void SetProvider(SourceControlProvider&& value) { m_providerHasBeenSet = true; m_provider = std::move(value); } /** *

The provider for the remote repository.

*/ inline SourceControlDetails& WithProvider(const SourceControlProvider& value) { SetProvider(value); return *this;} /** *

The provider for the remote repository.

*/ inline SourceControlDetails& WithProvider(SourceControlProvider&& value) { SetProvider(std::move(value)); return *this;} /** *

The name of the remote repository that contains the job artifacts.

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

The name of the remote repository that contains the job artifacts.

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

The name of the remote repository that contains the job artifacts.

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

The name of the remote repository that contains the job artifacts.

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

The name of the remote repository that contains the job artifacts.

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

The name of the remote repository that contains the job artifacts.

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

The name of the remote repository that contains the job artifacts.

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

The name of the remote repository that contains the job artifacts.

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

The owner of the remote repository that contains the job artifacts.

*/ inline const Aws::String& GetOwner() const{ return m_owner; } /** *

The owner of the remote repository that contains the job artifacts.

*/ inline bool OwnerHasBeenSet() const { return m_ownerHasBeenSet; } /** *

The owner of the remote repository that contains the job artifacts.

*/ inline void SetOwner(const Aws::String& value) { m_ownerHasBeenSet = true; m_owner = value; } /** *

The owner of the remote repository that contains the job artifacts.

*/ inline void SetOwner(Aws::String&& value) { m_ownerHasBeenSet = true; m_owner = std::move(value); } /** *

The owner of the remote repository that contains the job artifacts.

*/ inline void SetOwner(const char* value) { m_ownerHasBeenSet = true; m_owner.assign(value); } /** *

The owner of the remote repository that contains the job artifacts.

*/ inline SourceControlDetails& WithOwner(const Aws::String& value) { SetOwner(value); return *this;} /** *

The owner of the remote repository that contains the job artifacts.

*/ inline SourceControlDetails& WithOwner(Aws::String&& value) { SetOwner(std::move(value)); return *this;} /** *

The owner of the remote repository that contains the job artifacts.

*/ inline SourceControlDetails& WithOwner(const char* value) { SetOwner(value); return *this;} /** *

An optional branch in the remote repository.

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

An optional branch in the remote repository.

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

An optional branch in the remote repository.

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

An optional branch in the remote repository.

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

An optional branch in the remote repository.

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

An optional branch in the remote repository.

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

An optional branch in the remote repository.

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

An optional branch in the remote repository.

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

An optional folder in the remote repository.

*/ inline const Aws::String& GetFolder() const{ return m_folder; } /** *

An optional folder in the remote repository.

*/ inline bool FolderHasBeenSet() const { return m_folderHasBeenSet; } /** *

An optional folder in the remote repository.

*/ inline void SetFolder(const Aws::String& value) { m_folderHasBeenSet = true; m_folder = value; } /** *

An optional folder in the remote repository.

*/ inline void SetFolder(Aws::String&& value) { m_folderHasBeenSet = true; m_folder = std::move(value); } /** *

An optional folder in the remote repository.

*/ inline void SetFolder(const char* value) { m_folderHasBeenSet = true; m_folder.assign(value); } /** *

An optional folder in the remote repository.

*/ inline SourceControlDetails& WithFolder(const Aws::String& value) { SetFolder(value); return *this;} /** *

An optional folder in the remote repository.

*/ inline SourceControlDetails& WithFolder(Aws::String&& value) { SetFolder(std::move(value)); return *this;} /** *

An optional folder in the remote repository.

*/ inline SourceControlDetails& WithFolder(const char* value) { SetFolder(value); return *this;} /** *

The last commit ID for a commit in the remote repository.

*/ inline const Aws::String& GetLastCommitId() const{ return m_lastCommitId; } /** *

The last commit ID for a commit in the remote repository.

*/ inline bool LastCommitIdHasBeenSet() const { return m_lastCommitIdHasBeenSet; } /** *

The last commit ID for a commit in the remote repository.

*/ inline void SetLastCommitId(const Aws::String& value) { m_lastCommitIdHasBeenSet = true; m_lastCommitId = value; } /** *

The last commit ID for a commit in the remote repository.

*/ inline void SetLastCommitId(Aws::String&& value) { m_lastCommitIdHasBeenSet = true; m_lastCommitId = std::move(value); } /** *

The last commit ID for a commit in the remote repository.

*/ inline void SetLastCommitId(const char* value) { m_lastCommitIdHasBeenSet = true; m_lastCommitId.assign(value); } /** *

The last commit ID for a commit in the remote repository.

*/ inline SourceControlDetails& WithLastCommitId(const Aws::String& value) { SetLastCommitId(value); return *this;} /** *

The last commit ID for a commit in the remote repository.

*/ inline SourceControlDetails& WithLastCommitId(Aws::String&& value) { SetLastCommitId(std::move(value)); return *this;} /** *

The last commit ID for a commit in the remote repository.

*/ inline SourceControlDetails& WithLastCommitId(const char* value) { SetLastCommitId(value); return *this;} /** *

The type of authentication, which can be an authentication token stored in * Amazon Web Services Secrets Manager, or a personal access token.

*/ inline const SourceControlAuthStrategy& GetAuthStrategy() const{ return m_authStrategy; } /** *

The type of authentication, which can be an authentication token stored in * Amazon Web Services Secrets Manager, or a personal access token.

*/ inline bool AuthStrategyHasBeenSet() const { return m_authStrategyHasBeenSet; } /** *

The type of authentication, which can be an authentication token stored in * Amazon Web Services Secrets Manager, or a personal access token.

*/ inline void SetAuthStrategy(const SourceControlAuthStrategy& value) { m_authStrategyHasBeenSet = true; m_authStrategy = value; } /** *

The type of authentication, which can be an authentication token stored in * Amazon Web Services Secrets Manager, or a personal access token.

*/ inline void SetAuthStrategy(SourceControlAuthStrategy&& value) { m_authStrategyHasBeenSet = true; m_authStrategy = std::move(value); } /** *

The type of authentication, which can be an authentication token stored in * Amazon Web Services Secrets Manager, or a personal access token.

*/ inline SourceControlDetails& WithAuthStrategy(const SourceControlAuthStrategy& value) { SetAuthStrategy(value); return *this;} /** *

The type of authentication, which can be an authentication token stored in * Amazon Web Services Secrets Manager, or a personal access token.

*/ inline SourceControlDetails& WithAuthStrategy(SourceControlAuthStrategy&& value) { SetAuthStrategy(std::move(value)); return *this;} /** *

The value of an authorization token.

*/ inline const Aws::String& GetAuthToken() const{ return m_authToken; } /** *

The value of an authorization token.

*/ inline bool AuthTokenHasBeenSet() const { return m_authTokenHasBeenSet; } /** *

The value of an authorization token.

*/ inline void SetAuthToken(const Aws::String& value) { m_authTokenHasBeenSet = true; m_authToken = value; } /** *

The value of an authorization token.

*/ inline void SetAuthToken(Aws::String&& value) { m_authTokenHasBeenSet = true; m_authToken = std::move(value); } /** *

The value of an authorization token.

*/ inline void SetAuthToken(const char* value) { m_authTokenHasBeenSet = true; m_authToken.assign(value); } /** *

The value of an authorization token.

*/ inline SourceControlDetails& WithAuthToken(const Aws::String& value) { SetAuthToken(value); return *this;} /** *

The value of an authorization token.

*/ inline SourceControlDetails& WithAuthToken(Aws::String&& value) { SetAuthToken(std::move(value)); return *this;} /** *

The value of an authorization token.

*/ inline SourceControlDetails& WithAuthToken(const char* value) { SetAuthToken(value); return *this;} private: SourceControlProvider m_provider; bool m_providerHasBeenSet = false; Aws::String m_repository; bool m_repositoryHasBeenSet = false; Aws::String m_owner; bool m_ownerHasBeenSet = false; Aws::String m_branch; bool m_branchHasBeenSet = false; Aws::String m_folder; bool m_folderHasBeenSet = false; Aws::String m_lastCommitId; bool m_lastCommitIdHasBeenSet = false; SourceControlAuthStrategy m_authStrategy; bool m_authStrategyHasBeenSet = false; Aws::String m_authToken; bool m_authTokenHasBeenSet = false; }; } // namespace Model } // namespace Glue } // namespace Aws