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

Provides the configuration information to include certain types of GitHub * content. You can configure to index repository files only, or also include * issues and pull requests, comments, and comment attachments.

See * Also:

AWS * API Reference

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

TRUE to index all files with a repository.

*/ inline bool GetCrawlRepositoryDocuments() const{ return m_crawlRepositoryDocuments; } /** *

TRUE to index all files with a repository.

*/ inline bool CrawlRepositoryDocumentsHasBeenSet() const { return m_crawlRepositoryDocumentsHasBeenSet; } /** *

TRUE to index all files with a repository.

*/ inline void SetCrawlRepositoryDocuments(bool value) { m_crawlRepositoryDocumentsHasBeenSet = true; m_crawlRepositoryDocuments = value; } /** *

TRUE to index all files with a repository.

*/ inline GitHubDocumentCrawlProperties& WithCrawlRepositoryDocuments(bool value) { SetCrawlRepositoryDocuments(value); return *this;} /** *

TRUE to index all issues within a repository.

*/ inline bool GetCrawlIssue() const{ return m_crawlIssue; } /** *

TRUE to index all issues within a repository.

*/ inline bool CrawlIssueHasBeenSet() const { return m_crawlIssueHasBeenSet; } /** *

TRUE to index all issues within a repository.

*/ inline void SetCrawlIssue(bool value) { m_crawlIssueHasBeenSet = true; m_crawlIssue = value; } /** *

TRUE to index all issues within a repository.

*/ inline GitHubDocumentCrawlProperties& WithCrawlIssue(bool value) { SetCrawlIssue(value); return *this;} /** *

TRUE to index all comments on issues.

*/ inline bool GetCrawlIssueComment() const{ return m_crawlIssueComment; } /** *

TRUE to index all comments on issues.

*/ inline bool CrawlIssueCommentHasBeenSet() const { return m_crawlIssueCommentHasBeenSet; } /** *

TRUE to index all comments on issues.

*/ inline void SetCrawlIssueComment(bool value) { m_crawlIssueCommentHasBeenSet = true; m_crawlIssueComment = value; } /** *

TRUE to index all comments on issues.

*/ inline GitHubDocumentCrawlProperties& WithCrawlIssueComment(bool value) { SetCrawlIssueComment(value); return *this;} /** *

TRUE to include all comment attachments for issues.

*/ inline bool GetCrawlIssueCommentAttachment() const{ return m_crawlIssueCommentAttachment; } /** *

TRUE to include all comment attachments for issues.

*/ inline bool CrawlIssueCommentAttachmentHasBeenSet() const { return m_crawlIssueCommentAttachmentHasBeenSet; } /** *

TRUE to include all comment attachments for issues.

*/ inline void SetCrawlIssueCommentAttachment(bool value) { m_crawlIssueCommentAttachmentHasBeenSet = true; m_crawlIssueCommentAttachment = value; } /** *

TRUE to include all comment attachments for issues.

*/ inline GitHubDocumentCrawlProperties& WithCrawlIssueCommentAttachment(bool value) { SetCrawlIssueCommentAttachment(value); return *this;} /** *

TRUE to index all pull requests within a repository.

*/ inline bool GetCrawlPullRequest() const{ return m_crawlPullRequest; } /** *

TRUE to index all pull requests within a repository.

*/ inline bool CrawlPullRequestHasBeenSet() const { return m_crawlPullRequestHasBeenSet; } /** *

TRUE to index all pull requests within a repository.

*/ inline void SetCrawlPullRequest(bool value) { m_crawlPullRequestHasBeenSet = true; m_crawlPullRequest = value; } /** *

TRUE to index all pull requests within a repository.

*/ inline GitHubDocumentCrawlProperties& WithCrawlPullRequest(bool value) { SetCrawlPullRequest(value); return *this;} /** *

TRUE to index all comments on pull requests.

*/ inline bool GetCrawlPullRequestComment() const{ return m_crawlPullRequestComment; } /** *

TRUE to index all comments on pull requests.

*/ inline bool CrawlPullRequestCommentHasBeenSet() const { return m_crawlPullRequestCommentHasBeenSet; } /** *

TRUE to index all comments on pull requests.

*/ inline void SetCrawlPullRequestComment(bool value) { m_crawlPullRequestCommentHasBeenSet = true; m_crawlPullRequestComment = value; } /** *

TRUE to index all comments on pull requests.

*/ inline GitHubDocumentCrawlProperties& WithCrawlPullRequestComment(bool value) { SetCrawlPullRequestComment(value); return *this;} /** *

TRUE to include all comment attachments for pull requests.

*/ inline bool GetCrawlPullRequestCommentAttachment() const{ return m_crawlPullRequestCommentAttachment; } /** *

TRUE to include all comment attachments for pull requests.

*/ inline bool CrawlPullRequestCommentAttachmentHasBeenSet() const { return m_crawlPullRequestCommentAttachmentHasBeenSet; } /** *

TRUE to include all comment attachments for pull requests.

*/ inline void SetCrawlPullRequestCommentAttachment(bool value) { m_crawlPullRequestCommentAttachmentHasBeenSet = true; m_crawlPullRequestCommentAttachment = value; } /** *

TRUE to include all comment attachments for pull requests.

*/ inline GitHubDocumentCrawlProperties& WithCrawlPullRequestCommentAttachment(bool value) { SetCrawlPullRequestCommentAttachment(value); return *this;} private: bool m_crawlRepositoryDocuments; bool m_crawlRepositoryDocumentsHasBeenSet = false; bool m_crawlIssue; bool m_crawlIssueHasBeenSet = false; bool m_crawlIssueComment; bool m_crawlIssueCommentHasBeenSet = false; bool m_crawlIssueCommentAttachment; bool m_crawlIssueCommentAttachmentHasBeenSet = false; bool m_crawlPullRequest; bool m_crawlPullRequestHasBeenSet = false; bool m_crawlPullRequestComment; bool m_crawlPullRequestCommentHasBeenSet = false; bool m_crawlPullRequestCommentAttachment; bool m_crawlPullRequestCommentAttachmentHasBeenSet = false; }; } // namespace Model } // namespace kendra } // namespace Aws