/**
* 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