import { Value } from '../../../cloudformation/Value';
import { SalesforceStandardObjectConfigurationProps } from './SalesforceStandardObjectConfigurationProps';
import { SalesforceStandardObjectAttachmentConfigurationProps } from './SalesforceStandardObjectAttachmentConfigurationProps';
import { SalesforceChatterFeedConfigurationProps } from './SalesforceChatterFeedConfigurationProps';
import { SalesforceKnowledgeArticleConfigurationProps } from './SalesforceKnowledgeArticleConfigurationProps';
/**
  Provides the configuration information to connect to Salesforce as your data source.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-salesforceconfiguration.html">the AWS Docs</a>
*/
export interface SalesforceConfigurationProps {
    /** <p> */
    secretArn: Value<string>;
    /** <code>ServerUrl</code>  <a name="cfn-kendra-datasource-salesforceconfiguration-serverurl"></a>
  The instance URL for the Salesforce site that you want to index.<br />
  
  Required: Yes<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>2048</code><br />
  
  Pattern: <code>^(https?|ftp|file):\/\/([^\s]*)</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> */
    serverUrl: Value<string>;
    /** <code>IncludeAttachmentFilePatterns</code>  <a name="cfn-kendra-datasource-salesforceconfiguration-includeattachmentfilepatterns"></a>
  A list of regular expression patterns to include certain documents in your Salesforce. Documents that match the patterns are included in the index. Documents that don’t match the patterns are excluded from the index. If a document matches both an inclusion and exclusion pattern, the exclusion pattern takes precedence and the document isn’t included in the index.<br />
  The pattern is applied to the name of the attached file.<br />
  
  Required: No<br />
  
  Maximum: <code>250</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> */
    includeAttachmentFilePatterns?: Value<Value<string>[]>;
    /** <code>StandardObjectConfigurations</code>  <a name="cfn-kendra-datasource-salesforceconfiguration-standardobjectconfigurations"></a>
  Configuration of the Salesforce standard objects that Amazon Kendra indexes.<br />
  
  Required: No<br />
  
  Maximum: <code>17</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> */
    standardObjectConfigurations?: SalesforceStandardObjectConfigurationProps[];
    /** <code>StandardObjectAttachmentConfiguration</code>  <a name="cfn-kendra-datasource-salesforceconfiguration-standardobjectattachmentconfiguration"></a>
  Configuration information for processing attachments to Salesforce standard objects.<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> */
    standardObjectAttachmentConfiguration?: SalesforceStandardObjectAttachmentConfigurationProps;
    /** <code>ExcludeAttachmentFilePatterns</code>  <a name="cfn-kendra-datasource-salesforceconfiguration-excludeattachmentfilepatterns"></a>
  A list of regular expression patterns to exclude certain documents in your Salesforce. Documents that match the patterns are excluded from the index. Documents that don’t match the patterns are included in the index. If a document matches both an inclusion and exclusion pattern, the exclusion pattern takes precedence and the document isn’t included in the index.<br />
  The pattern is applied to the name of the attached file.<br />
  
  Required: No<br />
  
  Maximum: <code>250</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> */
    excludeAttachmentFilePatterns?: Value<Value<string>[]>;
    /** <code>CrawlAttachments</code>  <a name="cfn-kendra-datasource-salesforceconfiguration-crawlattachments"></a>
  Indicates whether Amazon Kendra should index attachments to Salesforce objects.<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> */
    crawlAttachments?: Value<boolean>;
    /** <code>ChatterFeedConfiguration</code>  <a name="cfn-kendra-datasource-salesforceconfiguration-chatterfeedconfiguration"></a>
  Configuration information for Salesforce chatter feeds.<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> */
    chatterFeedConfiguration?: SalesforceChatterFeedConfigurationProps;
    /** <code>KnowledgeArticleConfiguration</code>  <a name="cfn-kendra-datasource-salesforceconfiguration-knowledgearticleconfiguration"></a>
  Configuration information for the knowledge article types that Amazon Kendra indexes. Amazon Kendra indexes standard knowledge articles and the standard fields of knowledge articles, or the custom fields of custom knowledge articles, but not both.<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> */
    knowledgeArticleConfiguration?: SalesforceKnowledgeArticleConfigurationProps;
}
