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

Provides the configuration information for crawling knowledge articles in the * ServiceNow site.

See Also:

AWS * API Reference

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

TRUE to index attachments to knowledge articles.

*/ inline bool GetCrawlAttachments() const{ return m_crawlAttachments; } /** *

TRUE to index attachments to knowledge articles.

*/ inline bool CrawlAttachmentsHasBeenSet() const { return m_crawlAttachmentsHasBeenSet; } /** *

TRUE to index attachments to knowledge articles.

*/ inline void SetCrawlAttachments(bool value) { m_crawlAttachmentsHasBeenSet = true; m_crawlAttachments = value; } /** *

TRUE to index attachments to knowledge articles.

*/ inline ServiceNowKnowledgeArticleConfiguration& WithCrawlAttachments(bool value) { SetCrawlAttachments(value); return *this;} /** *

A list of regular expression patterns applied to include knowledge article * attachments. Attachments that match the patterns are included in the index. * Items that don't match the patterns are excluded from the index. If an item * matches both an inclusion and exclusion pattern, the exclusion pattern takes * precedence and the item isn't included in the index.

*/ inline const Aws::Vector& GetIncludeAttachmentFilePatterns() const{ return m_includeAttachmentFilePatterns; } /** *

A list of regular expression patterns applied to include knowledge article * attachments. Attachments that match the patterns are included in the index. * Items that don't match the patterns are excluded from the index. If an item * matches both an inclusion and exclusion pattern, the exclusion pattern takes * precedence and the item isn't included in the index.

*/ inline bool IncludeAttachmentFilePatternsHasBeenSet() const { return m_includeAttachmentFilePatternsHasBeenSet; } /** *

A list of regular expression patterns applied to include knowledge article * attachments. Attachments that match the patterns are included in the index. * Items that don't match the patterns are excluded from the index. If an item * matches both an inclusion and exclusion pattern, the exclusion pattern takes * precedence and the item isn't included in the index.

*/ inline void SetIncludeAttachmentFilePatterns(const Aws::Vector& value) { m_includeAttachmentFilePatternsHasBeenSet = true; m_includeAttachmentFilePatterns = value; } /** *

A list of regular expression patterns applied to include knowledge article * attachments. Attachments that match the patterns are included in the index. * Items that don't match the patterns are excluded from the index. If an item * matches both an inclusion and exclusion pattern, the exclusion pattern takes * precedence and the item isn't included in the index.

*/ inline void SetIncludeAttachmentFilePatterns(Aws::Vector&& value) { m_includeAttachmentFilePatternsHasBeenSet = true; m_includeAttachmentFilePatterns = std::move(value); } /** *

A list of regular expression patterns applied to include knowledge article * attachments. Attachments that match the patterns are included in the index. * Items that don't match the patterns are excluded from the index. If an item * matches both an inclusion and exclusion pattern, the exclusion pattern takes * precedence and the item isn't included in the index.

*/ inline ServiceNowKnowledgeArticleConfiguration& WithIncludeAttachmentFilePatterns(const Aws::Vector& value) { SetIncludeAttachmentFilePatterns(value); return *this;} /** *

A list of regular expression patterns applied to include knowledge article * attachments. Attachments that match the patterns are included in the index. * Items that don't match the patterns are excluded from the index. If an item * matches both an inclusion and exclusion pattern, the exclusion pattern takes * precedence and the item isn't included in the index.

*/ inline ServiceNowKnowledgeArticleConfiguration& WithIncludeAttachmentFilePatterns(Aws::Vector&& value) { SetIncludeAttachmentFilePatterns(std::move(value)); return *this;} /** *

A list of regular expression patterns applied to include knowledge article * attachments. Attachments that match the patterns are included in the index. * Items that don't match the patterns are excluded from the index. If an item * matches both an inclusion and exclusion pattern, the exclusion pattern takes * precedence and the item isn't included in the index.

*/ inline ServiceNowKnowledgeArticleConfiguration& AddIncludeAttachmentFilePatterns(const Aws::String& value) { m_includeAttachmentFilePatternsHasBeenSet = true; m_includeAttachmentFilePatterns.push_back(value); return *this; } /** *

A list of regular expression patterns applied to include knowledge article * attachments. Attachments that match the patterns are included in the index. * Items that don't match the patterns are excluded from the index. If an item * matches both an inclusion and exclusion pattern, the exclusion pattern takes * precedence and the item isn't included in the index.

*/ inline ServiceNowKnowledgeArticleConfiguration& AddIncludeAttachmentFilePatterns(Aws::String&& value) { m_includeAttachmentFilePatternsHasBeenSet = true; m_includeAttachmentFilePatterns.push_back(std::move(value)); return *this; } /** *

A list of regular expression patterns applied to include knowledge article * attachments. Attachments that match the patterns are included in the index. * Items that don't match the patterns are excluded from the index. If an item * matches both an inclusion and exclusion pattern, the exclusion pattern takes * precedence and the item isn't included in the index.

*/ inline ServiceNowKnowledgeArticleConfiguration& AddIncludeAttachmentFilePatterns(const char* value) { m_includeAttachmentFilePatternsHasBeenSet = true; m_includeAttachmentFilePatterns.push_back(value); return *this; } /** *

A list of regular expression patterns applied to exclude certain knowledge * article attachments. Attachments that match the patterns are excluded from the * index. Items that don't match the patterns are included in the index. If an item * matches both an inclusion and exclusion pattern, the exclusion pattern takes * precedence and the item isn't included in the index.

*/ inline const Aws::Vector& GetExcludeAttachmentFilePatterns() const{ return m_excludeAttachmentFilePatterns; } /** *

A list of regular expression patterns applied to exclude certain knowledge * article attachments. Attachments that match the patterns are excluded from the * index. Items that don't match the patterns are included in the index. If an item * matches both an inclusion and exclusion pattern, the exclusion pattern takes * precedence and the item isn't included in the index.

*/ inline bool ExcludeAttachmentFilePatternsHasBeenSet() const { return m_excludeAttachmentFilePatternsHasBeenSet; } /** *

A list of regular expression patterns applied to exclude certain knowledge * article attachments. Attachments that match the patterns are excluded from the * index. Items that don't match the patterns are included in the index. If an item * matches both an inclusion and exclusion pattern, the exclusion pattern takes * precedence and the item isn't included in the index.

*/ inline void SetExcludeAttachmentFilePatterns(const Aws::Vector& value) { m_excludeAttachmentFilePatternsHasBeenSet = true; m_excludeAttachmentFilePatterns = value; } /** *

A list of regular expression patterns applied to exclude certain knowledge * article attachments. Attachments that match the patterns are excluded from the * index. Items that don't match the patterns are included in the index. If an item * matches both an inclusion and exclusion pattern, the exclusion pattern takes * precedence and the item isn't included in the index.

*/ inline void SetExcludeAttachmentFilePatterns(Aws::Vector&& value) { m_excludeAttachmentFilePatternsHasBeenSet = true; m_excludeAttachmentFilePatterns = std::move(value); } /** *

A list of regular expression patterns applied to exclude certain knowledge * article attachments. Attachments that match the patterns are excluded from the * index. Items that don't match the patterns are included in the index. If an item * matches both an inclusion and exclusion pattern, the exclusion pattern takes * precedence and the item isn't included in the index.

*/ inline ServiceNowKnowledgeArticleConfiguration& WithExcludeAttachmentFilePatterns(const Aws::Vector& value) { SetExcludeAttachmentFilePatterns(value); return *this;} /** *

A list of regular expression patterns applied to exclude certain knowledge * article attachments. Attachments that match the patterns are excluded from the * index. Items that don't match the patterns are included in the index. If an item * matches both an inclusion and exclusion pattern, the exclusion pattern takes * precedence and the item isn't included in the index.

*/ inline ServiceNowKnowledgeArticleConfiguration& WithExcludeAttachmentFilePatterns(Aws::Vector&& value) { SetExcludeAttachmentFilePatterns(std::move(value)); return *this;} /** *

A list of regular expression patterns applied to exclude certain knowledge * article attachments. Attachments that match the patterns are excluded from the * index. Items that don't match the patterns are included in the index. If an item * matches both an inclusion and exclusion pattern, the exclusion pattern takes * precedence and the item isn't included in the index.

*/ inline ServiceNowKnowledgeArticleConfiguration& AddExcludeAttachmentFilePatterns(const Aws::String& value) { m_excludeAttachmentFilePatternsHasBeenSet = true; m_excludeAttachmentFilePatterns.push_back(value); return *this; } /** *

A list of regular expression patterns applied to exclude certain knowledge * article attachments. Attachments that match the patterns are excluded from the * index. Items that don't match the patterns are included in the index. If an item * matches both an inclusion and exclusion pattern, the exclusion pattern takes * precedence and the item isn't included in the index.

*/ inline ServiceNowKnowledgeArticleConfiguration& AddExcludeAttachmentFilePatterns(Aws::String&& value) { m_excludeAttachmentFilePatternsHasBeenSet = true; m_excludeAttachmentFilePatterns.push_back(std::move(value)); return *this; } /** *

A list of regular expression patterns applied to exclude certain knowledge * article attachments. Attachments that match the patterns are excluded from the * index. Items that don't match the patterns are included in the index. If an item * matches both an inclusion and exclusion pattern, the exclusion pattern takes * precedence and the item isn't included in the index.

*/ inline ServiceNowKnowledgeArticleConfiguration& AddExcludeAttachmentFilePatterns(const char* value) { m_excludeAttachmentFilePatternsHasBeenSet = true; m_excludeAttachmentFilePatterns.push_back(value); return *this; } /** *

The name of the ServiceNow field that is mapped to the index document * contents field in the Amazon Kendra index.

*/ inline const Aws::String& GetDocumentDataFieldName() const{ return m_documentDataFieldName; } /** *

The name of the ServiceNow field that is mapped to the index document * contents field in the Amazon Kendra index.

*/ inline bool DocumentDataFieldNameHasBeenSet() const { return m_documentDataFieldNameHasBeenSet; } /** *

The name of the ServiceNow field that is mapped to the index document * contents field in the Amazon Kendra index.

*/ inline void SetDocumentDataFieldName(const Aws::String& value) { m_documentDataFieldNameHasBeenSet = true; m_documentDataFieldName = value; } /** *

The name of the ServiceNow field that is mapped to the index document * contents field in the Amazon Kendra index.

*/ inline void SetDocumentDataFieldName(Aws::String&& value) { m_documentDataFieldNameHasBeenSet = true; m_documentDataFieldName = std::move(value); } /** *

The name of the ServiceNow field that is mapped to the index document * contents field in the Amazon Kendra index.

*/ inline void SetDocumentDataFieldName(const char* value) { m_documentDataFieldNameHasBeenSet = true; m_documentDataFieldName.assign(value); } /** *

The name of the ServiceNow field that is mapped to the index document * contents field in the Amazon Kendra index.

*/ inline ServiceNowKnowledgeArticleConfiguration& WithDocumentDataFieldName(const Aws::String& value) { SetDocumentDataFieldName(value); return *this;} /** *

The name of the ServiceNow field that is mapped to the index document * contents field in the Amazon Kendra index.

*/ inline ServiceNowKnowledgeArticleConfiguration& WithDocumentDataFieldName(Aws::String&& value) { SetDocumentDataFieldName(std::move(value)); return *this;} /** *

The name of the ServiceNow field that is mapped to the index document * contents field in the Amazon Kendra index.

*/ inline ServiceNowKnowledgeArticleConfiguration& WithDocumentDataFieldName(const char* value) { SetDocumentDataFieldName(value); return *this;} /** *

The name of the ServiceNow field that is mapped to the index document title * field.

*/ inline const Aws::String& GetDocumentTitleFieldName() const{ return m_documentTitleFieldName; } /** *

The name of the ServiceNow field that is mapped to the index document title * field.

*/ inline bool DocumentTitleFieldNameHasBeenSet() const { return m_documentTitleFieldNameHasBeenSet; } /** *

The name of the ServiceNow field that is mapped to the index document title * field.

*/ inline void SetDocumentTitleFieldName(const Aws::String& value) { m_documentTitleFieldNameHasBeenSet = true; m_documentTitleFieldName = value; } /** *

The name of the ServiceNow field that is mapped to the index document title * field.

*/ inline void SetDocumentTitleFieldName(Aws::String&& value) { m_documentTitleFieldNameHasBeenSet = true; m_documentTitleFieldName = std::move(value); } /** *

The name of the ServiceNow field that is mapped to the index document title * field.

*/ inline void SetDocumentTitleFieldName(const char* value) { m_documentTitleFieldNameHasBeenSet = true; m_documentTitleFieldName.assign(value); } /** *

The name of the ServiceNow field that is mapped to the index document title * field.

*/ inline ServiceNowKnowledgeArticleConfiguration& WithDocumentTitleFieldName(const Aws::String& value) { SetDocumentTitleFieldName(value); return *this;} /** *

The name of the ServiceNow field that is mapped to the index document title * field.

*/ inline ServiceNowKnowledgeArticleConfiguration& WithDocumentTitleFieldName(Aws::String&& value) { SetDocumentTitleFieldName(std::move(value)); return *this;} /** *

The name of the ServiceNow field that is mapped to the index document title * field.

*/ inline ServiceNowKnowledgeArticleConfiguration& WithDocumentTitleFieldName(const char* value) { SetDocumentTitleFieldName(value); return *this;} /** *

Maps attributes or field names of knoweldge articles to Amazon Kendra index * field names. To create custom fields, use the UpdateIndex API * before you map to ServiceNow fields. For more information, see Mapping * data source fields. The ServiceNow data source field names must exist in * your ServiceNow custom metadata.

*/ inline const Aws::Vector& GetFieldMappings() const{ return m_fieldMappings; } /** *

Maps attributes or field names of knoweldge articles to Amazon Kendra index * field names. To create custom fields, use the UpdateIndex API * before you map to ServiceNow fields. For more information, see Mapping * data source fields. The ServiceNow data source field names must exist in * your ServiceNow custom metadata.

*/ inline bool FieldMappingsHasBeenSet() const { return m_fieldMappingsHasBeenSet; } /** *

Maps attributes or field names of knoweldge articles to Amazon Kendra index * field names. To create custom fields, use the UpdateIndex API * before you map to ServiceNow fields. For more information, see Mapping * data source fields. The ServiceNow data source field names must exist in * your ServiceNow custom metadata.

*/ inline void SetFieldMappings(const Aws::Vector& value) { m_fieldMappingsHasBeenSet = true; m_fieldMappings = value; } /** *

Maps attributes or field names of knoweldge articles to Amazon Kendra index * field names. To create custom fields, use the UpdateIndex API * before you map to ServiceNow fields. For more information, see Mapping * data source fields. The ServiceNow data source field names must exist in * your ServiceNow custom metadata.

*/ inline void SetFieldMappings(Aws::Vector&& value) { m_fieldMappingsHasBeenSet = true; m_fieldMappings = std::move(value); } /** *

Maps attributes or field names of knoweldge articles to Amazon Kendra index * field names. To create custom fields, use the UpdateIndex API * before you map to ServiceNow fields. For more information, see Mapping * data source fields. The ServiceNow data source field names must exist in * your ServiceNow custom metadata.

*/ inline ServiceNowKnowledgeArticleConfiguration& WithFieldMappings(const Aws::Vector& value) { SetFieldMappings(value); return *this;} /** *

Maps attributes or field names of knoweldge articles to Amazon Kendra index * field names. To create custom fields, use the UpdateIndex API * before you map to ServiceNow fields. For more information, see Mapping * data source fields. The ServiceNow data source field names must exist in * your ServiceNow custom metadata.

*/ inline ServiceNowKnowledgeArticleConfiguration& WithFieldMappings(Aws::Vector&& value) { SetFieldMappings(std::move(value)); return *this;} /** *

Maps attributes or field names of knoweldge articles to Amazon Kendra index * field names. To create custom fields, use the UpdateIndex API * before you map to ServiceNow fields. For more information, see Mapping * data source fields. The ServiceNow data source field names must exist in * your ServiceNow custom metadata.

*/ inline ServiceNowKnowledgeArticleConfiguration& AddFieldMappings(const DataSourceToIndexFieldMapping& value) { m_fieldMappingsHasBeenSet = true; m_fieldMappings.push_back(value); return *this; } /** *

Maps attributes or field names of knoweldge articles to Amazon Kendra index * field names. To create custom fields, use the UpdateIndex API * before you map to ServiceNow fields. For more information, see Mapping * data source fields. The ServiceNow data source field names must exist in * your ServiceNow custom metadata.

*/ inline ServiceNowKnowledgeArticleConfiguration& AddFieldMappings(DataSourceToIndexFieldMapping&& value) { m_fieldMappingsHasBeenSet = true; m_fieldMappings.push_back(std::move(value)); return *this; } /** *

A query that selects the knowledge articles to index. The query can return * articles from multiple knowledge bases, and the knowledge bases can be public or * private.

The query string must be one generated by the ServiceNow * console. For more information, see Specifying * documents to index with a query.

*/ inline const Aws::String& GetFilterQuery() const{ return m_filterQuery; } /** *

A query that selects the knowledge articles to index. The query can return * articles from multiple knowledge bases, and the knowledge bases can be public or * private.

The query string must be one generated by the ServiceNow * console. For more information, see Specifying * documents to index with a query.

*/ inline bool FilterQueryHasBeenSet() const { return m_filterQueryHasBeenSet; } /** *

A query that selects the knowledge articles to index. The query can return * articles from multiple knowledge bases, and the knowledge bases can be public or * private.

The query string must be one generated by the ServiceNow * console. For more information, see Specifying * documents to index with a query.

*/ inline void SetFilterQuery(const Aws::String& value) { m_filterQueryHasBeenSet = true; m_filterQuery = value; } /** *

A query that selects the knowledge articles to index. The query can return * articles from multiple knowledge bases, and the knowledge bases can be public or * private.

The query string must be one generated by the ServiceNow * console. For more information, see Specifying * documents to index with a query.

*/ inline void SetFilterQuery(Aws::String&& value) { m_filterQueryHasBeenSet = true; m_filterQuery = std::move(value); } /** *

A query that selects the knowledge articles to index. The query can return * articles from multiple knowledge bases, and the knowledge bases can be public or * private.

The query string must be one generated by the ServiceNow * console. For more information, see Specifying * documents to index with a query.

*/ inline void SetFilterQuery(const char* value) { m_filterQueryHasBeenSet = true; m_filterQuery.assign(value); } /** *

A query that selects the knowledge articles to index. The query can return * articles from multiple knowledge bases, and the knowledge bases can be public or * private.

The query string must be one generated by the ServiceNow * console. For more information, see Specifying * documents to index with a query.

*/ inline ServiceNowKnowledgeArticleConfiguration& WithFilterQuery(const Aws::String& value) { SetFilterQuery(value); return *this;} /** *

A query that selects the knowledge articles to index. The query can return * articles from multiple knowledge bases, and the knowledge bases can be public or * private.

The query string must be one generated by the ServiceNow * console. For more information, see Specifying * documents to index with a query.

*/ inline ServiceNowKnowledgeArticleConfiguration& WithFilterQuery(Aws::String&& value) { SetFilterQuery(std::move(value)); return *this;} /** *

A query that selects the knowledge articles to index. The query can return * articles from multiple knowledge bases, and the knowledge bases can be public or * private.

The query string must be one generated by the ServiceNow * console. For more information, see Specifying * documents to index with a query.

*/ inline ServiceNowKnowledgeArticleConfiguration& WithFilterQuery(const char* value) { SetFilterQuery(value); return *this;} private: bool m_crawlAttachments; bool m_crawlAttachmentsHasBeenSet = false; Aws::Vector m_includeAttachmentFilePatterns; bool m_includeAttachmentFilePatternsHasBeenSet = false; Aws::Vector m_excludeAttachmentFilePatterns; bool m_excludeAttachmentFilePatternsHasBeenSet = false; Aws::String m_documentDataFieldName; bool m_documentDataFieldNameHasBeenSet = false; Aws::String m_documentTitleFieldName; bool m_documentTitleFieldNameHasBeenSet = false; Aws::Vector m_fieldMappings; bool m_fieldMappingsHasBeenSet = false; Aws::String m_filterQuery; bool m_filterQueryHasBeenSet = false; }; } // namespace Model } // namespace kendra } // namespace Aws