import { InlineCustomDocumentEnrichmentConfigurationProps } from './InlineCustomDocumentEnrichmentConfigurationProps';
import { HookConfigurationProps } from './HookConfigurationProps';
import { Value } from '../../../cloudformation/Value';
/**
  Provides the configuration information for altering document metadata and content during the document ingestion process.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-customdocumentenrichmentconfiguration.html">the AWS Docs</a>
*/
export interface CustomDocumentEnrichmentConfigurationProps {
    /** <code>InlineConfigurations</code>  <a name="cfn-kendra-datasource-customdocumentenrichmentconfiguration-inlineconfigurations"></a>
  Configuration information to alter document attributes or metadata fields and content when ingesting documents into Amazon Kendra.<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> */
    inlineConfigurations?: InlineCustomDocumentEnrichmentConfigurationProps[];
    /** <code>PreExtractionHookConfiguration</code>  <a name="cfn-kendra-datasource-customdocumentenrichmentconfiguration-preextractionhookconfiguration"></a>
  Configuration information for invoking a Lambda function in AWS Lambda on the original or raw documents before extracting their metadata and text. You can use a Lambda function to apply advanced logic for creating, modifying, or deleting document metadata and content. For more information, see <a href="https://docs.aws.amazon.com/kendra/latest/dg/custom-document-enrichment.html#advanced-data-manipulation">Advanced data manipulation</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> */
    preExtractionHookConfiguration?: HookConfigurationProps;
    /** <code>PostExtractionHookConfiguration</code>  <a name="cfn-kendra-datasource-customdocumentenrichmentconfiguration-postextractionhookconfiguration"></a>
  Configuration information for invoking a Lambda function in AWS Lambda on the structured documents with their metadata and text extracted. You can use a Lambda function to apply advanced logic for creating, modifying, or deleting document metadata and content. For more information, see <a href="https://docs.aws.amazon.com/kendra/latest/dg/custom-document-enrichment.html#advanced-data-manipulation">Advanced data manipulation</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> */
    postExtractionHookConfiguration?: HookConfigurationProps;
    /** <code>RoleArn</code>  <a name="cfn-kendra-datasource-customdocumentenrichmentconfiguration-rolearn"></a>
  The Amazon Resource Name (ARN) of a role with permission to run <code>PreExtractionHookConfiguration</code> and <code>PostExtractionHookConfiguration</code> for altering document metadata and content during the document ingestion process. For more information, see <a href="https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html">IAM roles for Amazon Kendra</a>.<br />
  
  Required: No<br />
  
  Minimum: <code>0</code><br />
  
  Maximum: <code>1284</code><br />
  
  Pattern: <code>arn:[a-z0-9-\.]{1,63}:[a-z0-9-\.]{0,63}:[a-z0-9-\.]{0,63}:[a-z0-9-\.]{0,63}:[^/].{0,1023}</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> */
    roleArn?: Value<string>;
}
