import { Value } from '../../../cloudformation/Value';
import { ConfluenceSpaceToIndexFieldMappingProps } from './ConfluenceSpaceToIndexFieldMappingProps';
/**
  Configuration information for indexing Confluence spaces.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-confluencespaceconfiguration.html">the AWS Docs</a>
*/
export interface ConfluenceSpaceConfigurationProps {
    /** <code>ExcludeSpaces</code>  <a name="cfn-kendra-datasource-confluencespaceconfiguration-excludespaces"></a>
  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 <code>ExcludeSpaces</code> and the <code>IncludeSpaces</code> list, the space is excluded.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    excludeSpaces?: Value<Value<string>[]>;
    /** <code>SpaceFieldMappings</code>  <a name="cfn-kendra-datasource-confluencespaceconfiguration-spacefieldmappings"></a>
  Maps attributes or field names of Confluence spaces to Amazon Kendra index field names. To create custom fields, use the <code>UpdateIndex</code> API before you map to Confluence fields. For more information, see <a href="https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html">Mapping data source fields</a>. The Confluence data source field names must exist in your Confluence custom metadata.<br />
  If you specify the <code>SpaceFieldMappings</code> parameter, you must specify at least one field mapping.<br />
  
  Required: No<br />
  
  Maximum: <code>4</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    spaceFieldMappings?: ConfluenceSpaceToIndexFieldMappingProps[];
    /** <code>CrawlPersonalSpaces</code>  <a name="cfn-kendra-datasource-confluencespaceconfiguration-crawlpersonalspaces"></a>
  <code>TRUE</code> 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 <a href="https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html">Filtering on user context</a>.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    crawlPersonalSpaces?: Value<boolean>;
    /** <code>CrawlArchivedSpaces</code>  <a name="cfn-kendra-datasource-confluencespaceconfiguration-crawlarchivedspaces"></a>
  <code>TRUE</code> to index archived spaces.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    crawlArchivedSpaces?: Value<boolean>;
    /** <code>IncludeSpaces</code>  <a name="cfn-kendra-datasource-confluencespaceconfiguration-includespaces"></a>
  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 <code>IncludeSpaces</code> and the <code>ExcludeSpaces</code> list, the space is excluded.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    includeSpaces?: Value<Value<string>[]>;
}
