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

Configuration of attachment settings for the Confluence data source. * Attachment settings are optional, if you don't specify settings attachments, * Amazon Kendra won't index them.

See Also:

AWS * API Reference

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

TRUE to index attachments of pages and blogs in Confluence.

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

TRUE to index attachments of pages and blogs in Confluence.

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

TRUE to index attachments of pages and blogs in Confluence.

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

TRUE to index attachments of pages and blogs in Confluence.

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

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

If you specify the * AttachentFieldMappings parameter, you must specify at least one * field mapping.

*/ inline const Aws::Vector& GetAttachmentFieldMappings() const{ return m_attachmentFieldMappings; } /** *

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

If you specify the * AttachentFieldMappings parameter, you must specify at least one * field mapping.

*/ inline bool AttachmentFieldMappingsHasBeenSet() const { return m_attachmentFieldMappingsHasBeenSet; } /** *

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

If you specify the * AttachentFieldMappings parameter, you must specify at least one * field mapping.

*/ inline void SetAttachmentFieldMappings(const Aws::Vector& value) { m_attachmentFieldMappingsHasBeenSet = true; m_attachmentFieldMappings = value; } /** *

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

If you specify the * AttachentFieldMappings parameter, you must specify at least one * field mapping.

*/ inline void SetAttachmentFieldMappings(Aws::Vector&& value) { m_attachmentFieldMappingsHasBeenSet = true; m_attachmentFieldMappings = std::move(value); } /** *

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

If you specify the * AttachentFieldMappings parameter, you must specify at least one * field mapping.

*/ inline ConfluenceAttachmentConfiguration& WithAttachmentFieldMappings(const Aws::Vector& value) { SetAttachmentFieldMappings(value); return *this;} /** *

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

If you specify the * AttachentFieldMappings parameter, you must specify at least one * field mapping.

*/ inline ConfluenceAttachmentConfiguration& WithAttachmentFieldMappings(Aws::Vector&& value) { SetAttachmentFieldMappings(std::move(value)); return *this;} /** *

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

If you specify the * AttachentFieldMappings parameter, you must specify at least one * field mapping.

*/ inline ConfluenceAttachmentConfiguration& AddAttachmentFieldMappings(const ConfluenceAttachmentToIndexFieldMapping& value) { m_attachmentFieldMappingsHasBeenSet = true; m_attachmentFieldMappings.push_back(value); return *this; } /** *

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

If you specify the * AttachentFieldMappings parameter, you must specify at least one * field mapping.

*/ inline ConfluenceAttachmentConfiguration& AddAttachmentFieldMappings(ConfluenceAttachmentToIndexFieldMapping&& value) { m_attachmentFieldMappingsHasBeenSet = true; m_attachmentFieldMappings.push_back(std::move(value)); return *this; } private: bool m_crawlAttachments; bool m_crawlAttachmentsHasBeenSet = false; Aws::Vector m_attachmentFieldMappings; bool m_attachmentFieldMappingsHasBeenSet = false; }; } // namespace Model } // namespace kendra } // namespace Aws