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

Configuration information for indexing Confluence spaces.

See * Also:

AWS * API Reference

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

TRUE to index personal spaces. You can add restrictions to * items in personal spaces. If personal spaces are indexed, queries without user * context information may return restricted items from a personal space in their * results. For more information, see Filtering * on user context.

*/ inline bool GetCrawlPersonalSpaces() const{ return m_crawlPersonalSpaces; } /** *

TRUE to index personal spaces. You can add restrictions to * items in personal spaces. If personal spaces are indexed, queries without user * context information may return restricted items from a personal space in their * results. For more information, see Filtering * on user context.

*/ inline bool CrawlPersonalSpacesHasBeenSet() const { return m_crawlPersonalSpacesHasBeenSet; } /** *

TRUE to index personal spaces. You can add restrictions to * items in personal spaces. If personal spaces are indexed, queries without user * context information may return restricted items from a personal space in their * results. For more information, see Filtering * on user context.

*/ inline void SetCrawlPersonalSpaces(bool value) { m_crawlPersonalSpacesHasBeenSet = true; m_crawlPersonalSpaces = value; } /** *

TRUE to index personal spaces. You can add restrictions to * items in personal spaces. If personal spaces are indexed, queries without user * context information may return restricted items from a personal space in their * results. For more information, see Filtering * on user context.

*/ inline ConfluenceSpaceConfiguration& WithCrawlPersonalSpaces(bool value) { SetCrawlPersonalSpaces(value); return *this;} /** *

TRUE to index archived spaces.

*/ inline bool GetCrawlArchivedSpaces() const{ return m_crawlArchivedSpaces; } /** *

TRUE to index archived spaces.

*/ inline bool CrawlArchivedSpacesHasBeenSet() const { return m_crawlArchivedSpacesHasBeenSet; } /** *

TRUE to index archived spaces.

*/ inline void SetCrawlArchivedSpaces(bool value) { m_crawlArchivedSpacesHasBeenSet = true; m_crawlArchivedSpaces = value; } /** *

TRUE to index archived spaces.

*/ inline ConfluenceSpaceConfiguration& WithCrawlArchivedSpaces(bool value) { SetCrawlArchivedSpaces(value); return *this;} /** *

A list of space keys for Confluence spaces. If you include a key, the blogs, * documents, and attachments in the space are indexed. Spaces that aren't in the * list aren't indexed. A space in the list must exist. Otherwise, Amazon Kendra * logs an error when the data source is synchronized. If a space is in both the * IncludeSpaces and the ExcludeSpaces list, the space is * excluded.

*/ inline const Aws::Vector& GetIncludeSpaces() const{ return m_includeSpaces; } /** *

A list of space keys for Confluence spaces. If you include a key, the blogs, * documents, and attachments in the space are indexed. Spaces that aren't in the * list aren't indexed. A space in the list must exist. Otherwise, Amazon Kendra * logs an error when the data source is synchronized. If a space is in both the * IncludeSpaces and the ExcludeSpaces list, the space is * excluded.

*/ inline bool IncludeSpacesHasBeenSet() const { return m_includeSpacesHasBeenSet; } /** *

A list of space keys for Confluence spaces. If you include a key, the blogs, * documents, and attachments in the space are indexed. Spaces that aren't in the * list aren't indexed. A space in the list must exist. Otherwise, Amazon Kendra * logs an error when the data source is synchronized. If a space is in both the * IncludeSpaces and the ExcludeSpaces list, the space is * excluded.

*/ inline void SetIncludeSpaces(const Aws::Vector& value) { m_includeSpacesHasBeenSet = true; m_includeSpaces = value; } /** *

A list of space keys for Confluence spaces. If you include a key, the blogs, * documents, and attachments in the space are indexed. Spaces that aren't in the * list aren't indexed. A space in the list must exist. Otherwise, Amazon Kendra * logs an error when the data source is synchronized. If a space is in both the * IncludeSpaces and the ExcludeSpaces list, the space is * excluded.

*/ inline void SetIncludeSpaces(Aws::Vector&& value) { m_includeSpacesHasBeenSet = true; m_includeSpaces = std::move(value); } /** *

A list of space keys for Confluence spaces. If you include a key, the blogs, * documents, and attachments in the space are indexed. Spaces that aren't in the * list aren't indexed. A space in the list must exist. Otherwise, Amazon Kendra * logs an error when the data source is synchronized. If a space is in both the * IncludeSpaces and the ExcludeSpaces list, the space is * excluded.

*/ inline ConfluenceSpaceConfiguration& WithIncludeSpaces(const Aws::Vector& value) { SetIncludeSpaces(value); return *this;} /** *

A list of space keys for Confluence spaces. If you include a key, the blogs, * documents, and attachments in the space are indexed. Spaces that aren't in the * list aren't indexed. A space in the list must exist. Otherwise, Amazon Kendra * logs an error when the data source is synchronized. If a space is in both the * IncludeSpaces and the ExcludeSpaces list, the space is * excluded.

*/ inline ConfluenceSpaceConfiguration& WithIncludeSpaces(Aws::Vector&& value) { SetIncludeSpaces(std::move(value)); return *this;} /** *

A list of space keys for Confluence spaces. If you include a key, the blogs, * documents, and attachments in the space are indexed. Spaces that aren't in the * list aren't indexed. A space in the list must exist. Otherwise, Amazon Kendra * logs an error when the data source is synchronized. If a space is in both the * IncludeSpaces and the ExcludeSpaces list, the space is * excluded.

*/ inline ConfluenceSpaceConfiguration& AddIncludeSpaces(const Aws::String& value) { m_includeSpacesHasBeenSet = true; m_includeSpaces.push_back(value); return *this; } /** *

A list of space keys for Confluence spaces. If you include a key, the blogs, * documents, and attachments in the space are indexed. Spaces that aren't in the * list aren't indexed. A space in the list must exist. Otherwise, Amazon Kendra * logs an error when the data source is synchronized. If a space is in both the * IncludeSpaces and the ExcludeSpaces list, the space is * excluded.

*/ inline ConfluenceSpaceConfiguration& AddIncludeSpaces(Aws::String&& value) { m_includeSpacesHasBeenSet = true; m_includeSpaces.push_back(std::move(value)); return *this; } /** *

A list of space keys for Confluence spaces. If you include a key, the blogs, * documents, and attachments in the space are indexed. Spaces that aren't in the * list aren't indexed. A space in the list must exist. Otherwise, Amazon Kendra * logs an error when the data source is synchronized. If a space is in both the * IncludeSpaces and the ExcludeSpaces list, the space is * excluded.

*/ inline ConfluenceSpaceConfiguration& AddIncludeSpaces(const char* value) { m_includeSpacesHasBeenSet = true; m_includeSpaces.push_back(value); return *this; } /** *

A list of space keys of Confluence spaces. If you include a key, the blogs, * documents, and attachments in the space are not indexed. If a space is in both * the ExcludeSpaces and the IncludeSpaces list, the * space is excluded.

*/ inline const Aws::Vector& GetExcludeSpaces() const{ return m_excludeSpaces; } /** *

A list of space keys of Confluence spaces. If you include a key, the blogs, * documents, and attachments in the space are not indexed. If a space is in both * the ExcludeSpaces and the IncludeSpaces list, the * space is excluded.

*/ inline bool ExcludeSpacesHasBeenSet() const { return m_excludeSpacesHasBeenSet; } /** *

A list of space keys of Confluence spaces. If you include a key, the blogs, * documents, and attachments in the space are not indexed. If a space is in both * the ExcludeSpaces and the IncludeSpaces list, the * space is excluded.

*/ inline void SetExcludeSpaces(const Aws::Vector& value) { m_excludeSpacesHasBeenSet = true; m_excludeSpaces = value; } /** *

A list of space keys of Confluence spaces. If you include a key, the blogs, * documents, and attachments in the space are not indexed. If a space is in both * the ExcludeSpaces and the IncludeSpaces list, the * space is excluded.

*/ inline void SetExcludeSpaces(Aws::Vector&& value) { m_excludeSpacesHasBeenSet = true; m_excludeSpaces = std::move(value); } /** *

A list of space keys of Confluence spaces. If you include a key, the blogs, * documents, and attachments in the space are not indexed. If a space is in both * the ExcludeSpaces and the IncludeSpaces list, the * space is excluded.

*/ inline ConfluenceSpaceConfiguration& WithExcludeSpaces(const Aws::Vector& value) { SetExcludeSpaces(value); return *this;} /** *

A list of space keys of Confluence spaces. If you include a key, the blogs, * documents, and attachments in the space are not indexed. If a space is in both * the ExcludeSpaces and the IncludeSpaces list, the * space is excluded.

*/ inline ConfluenceSpaceConfiguration& WithExcludeSpaces(Aws::Vector&& value) { SetExcludeSpaces(std::move(value)); return *this;} /** *

A list of space keys of Confluence spaces. If you include a key, the blogs, * documents, and attachments in the space are not indexed. If a space is in both * the ExcludeSpaces and the IncludeSpaces list, the * space is excluded.

*/ inline ConfluenceSpaceConfiguration& AddExcludeSpaces(const Aws::String& value) { m_excludeSpacesHasBeenSet = true; m_excludeSpaces.push_back(value); return *this; } /** *

A list of space keys of Confluence spaces. If you include a key, the blogs, * documents, and attachments in the space are not indexed. If a space is in both * the ExcludeSpaces and the IncludeSpaces list, the * space is excluded.

*/ inline ConfluenceSpaceConfiguration& AddExcludeSpaces(Aws::String&& value) { m_excludeSpacesHasBeenSet = true; m_excludeSpaces.push_back(std::move(value)); return *this; } /** *

A list of space keys of Confluence spaces. If you include a key, the blogs, * documents, and attachments in the space are not indexed. If a space is in both * the ExcludeSpaces and the IncludeSpaces list, the * space is excluded.

*/ inline ConfluenceSpaceConfiguration& AddExcludeSpaces(const char* value) { m_excludeSpacesHasBeenSet = true; m_excludeSpaces.push_back(value); return *this; } /** *

Maps attributes or field names of Confluence spaces 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 * SpaceFieldMappings parameter, you must specify at least one field * mapping.

*/ inline const Aws::Vector& GetSpaceFieldMappings() const{ return m_spaceFieldMappings; } /** *

Maps attributes or field names of Confluence spaces 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 * SpaceFieldMappings parameter, you must specify at least one field * mapping.

*/ inline bool SpaceFieldMappingsHasBeenSet() const { return m_spaceFieldMappingsHasBeenSet; } /** *

Maps attributes or field names of Confluence spaces 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 * SpaceFieldMappings parameter, you must specify at least one field * mapping.

*/ inline void SetSpaceFieldMappings(const Aws::Vector& value) { m_spaceFieldMappingsHasBeenSet = true; m_spaceFieldMappings = value; } /** *

Maps attributes or field names of Confluence spaces 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 * SpaceFieldMappings parameter, you must specify at least one field * mapping.

*/ inline void SetSpaceFieldMappings(Aws::Vector&& value) { m_spaceFieldMappingsHasBeenSet = true; m_spaceFieldMappings = std::move(value); } /** *

Maps attributes or field names of Confluence spaces 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 * SpaceFieldMappings parameter, you must specify at least one field * mapping.

*/ inline ConfluenceSpaceConfiguration& WithSpaceFieldMappings(const Aws::Vector& value) { SetSpaceFieldMappings(value); return *this;} /** *

Maps attributes or field names of Confluence spaces 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 * SpaceFieldMappings parameter, you must specify at least one field * mapping.

*/ inline ConfluenceSpaceConfiguration& WithSpaceFieldMappings(Aws::Vector&& value) { SetSpaceFieldMappings(std::move(value)); return *this;} /** *

Maps attributes or field names of Confluence spaces 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 * SpaceFieldMappings parameter, you must specify at least one field * mapping.

*/ inline ConfluenceSpaceConfiguration& AddSpaceFieldMappings(const ConfluenceSpaceToIndexFieldMapping& value) { m_spaceFieldMappingsHasBeenSet = true; m_spaceFieldMappings.push_back(value); return *this; } /** *

Maps attributes or field names of Confluence spaces 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 * SpaceFieldMappings parameter, you must specify at least one field * mapping.

*/ inline ConfluenceSpaceConfiguration& AddSpaceFieldMappings(ConfluenceSpaceToIndexFieldMapping&& value) { m_spaceFieldMappingsHasBeenSet = true; m_spaceFieldMappings.push_back(std::move(value)); return *this; } private: bool m_crawlPersonalSpaces; bool m_crawlPersonalSpacesHasBeenSet = false; bool m_crawlArchivedSpaces; bool m_crawlArchivedSpacesHasBeenSet = false; Aws::Vector m_includeSpaces; bool m_includeSpacesHasBeenSet = false; Aws::Vector m_excludeSpaces; bool m_excludeSpacesHasBeenSet = false; Aws::Vector m_spaceFieldMappings; bool m_spaceFieldMappingsHasBeenSet = false; }; } // namespace Model } // namespace kendra } // namespace Aws