import { Value } from '../../../cloudformation/Value';
import { DataSourceToIndexFieldMappingProps } from './DataSourceToIndexFieldMappingProps';
/**
  Provides information about how Amazon Kendra should use the columns of a database in an index.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-columnconfiguration.html">the AWS Docs</a>
*/
export interface ColumnConfigurationProps {
    /** <code>ChangeDetectingColumns</code>  <a name="cfn-kendra-datasource-columnconfiguration-changedetectingcolumns"></a>
  One to five columns that indicate when a document in the database has changed.<br />
  
  Required: Yes<br />
  
  Maximum: <code>5</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> */
    changeDetectingColumns: Value<Value<string>[]>;
    /** <code>DocumentTitleColumnName</code>  <a name="cfn-kendra-datasource-columnconfiguration-documenttitlecolumnname"></a>
  The column that contains the title of the document.<br />
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>100</code><br />
  
  Pattern: <code>^[a-zA-Z][a-zA-Z0-9_]*$</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> */
    documentTitleColumnName?: Value<string>;
    /** <code>DocumentIdColumnName</code>  <a name="cfn-kendra-datasource-columnconfiguration-documentidcolumnname"></a>
  The column that provides the document’s identifier.<br />
  
  Required: Yes<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>100</code><br />
  
  Pattern: <code>^[a-zA-Z][a-zA-Z0-9_]*$</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> */
    documentIdColumnName: Value<string>;
    /** <code>DocumentDataColumnName</code>  <a name="cfn-kendra-datasource-columnconfiguration-documentdatacolumnname"></a>
  The column that contains the contents of the document.<br />
  
  Required: Yes<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>100</code><br />
  
  Pattern: <code>^[a-zA-Z][a-zA-Z0-9_]*$</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> */
    documentDataColumnName: Value<string>;
    /** <code>FieldMappings</code>  <a name="cfn-kendra-datasource-columnconfiguration-fieldmappings"></a>
  An array of objects that map database column names to the corresponding fields in an index. You must first create the fields in the index using the <a href="https://docs.aws.amazon.com/kendra/latest/dg/API_UpdateIndex.html">UpdateIndex</a> operation.<br />
  
  Required: No<br />
  
  Maximum: <code>100</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> */
    fieldMappings?: DataSourceToIndexFieldMappingProps[];
}
