import { Value } from '../../../cloudformation/Value';
import { ServiceNowServiceCatalogConfigurationProps } from './ServiceNowServiceCatalogConfigurationProps';
import { ServiceNowKnowledgeArticleConfigurationProps } from './ServiceNowKnowledgeArticleConfigurationProps';
/**
  Provides the configuration information to connect to ServiceNow as your data source.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-servicenowconfiguration.html">the AWS Docs</a>
*/
export interface ServiceNowConfigurationProps {
    /** <code>SecretArn</code>  <a name="cfn-kendra-datasource-servicenowconfiguration-secretarn"></a>
  The Amazon Resource Name (ARN) of the AWS Secrets Manager secret that contains the user name and password required to connect to the ServiceNow instance. You can also provide OAuth authentication credentials of user name, password, client ID, and client secret. For more information, see <a href="https://docs.aws.amazon.com/kendra/latest/dg/data-source-servicenow.html">Using a ServiceNow data source</a>.<br />
  
  Required: Yes<br />
  
  Minimum: <code>1</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> */
    secretArn: Value<string>;
    /** <code>HostUrl</code>  <a name="cfn-kendra-datasource-servicenowconfiguration-hosturl"></a>
  The ServiceNow instance that the data source connects to. The host endpoint should look like the following:
  {instance}.service-now.com.: r />
  
  Required: Yes<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>2048</code><br />
  
  Pattern: <code>^(?!(^(https?|ftp|file):\/\/))[a-z0-9-]+(\.service-now\.com)$</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> */
    hostUrl: Value<string>;
    /** <code>ServiceCatalogConfiguration</code>  <a name="cfn-kendra-datasource-servicenowconfiguration-servicecatalogconfiguration"></a>
  Configuration information for crawling service catalogs in the ServiceNow site.<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> */
    serviceCatalogConfiguration?: ServiceNowServiceCatalogConfigurationProps;
    /** <code>ServiceNowBuildVersion</code>  <a name="cfn-kendra-datasource-servicenowconfiguration-servicenowbuildversion"></a>
  The identifier of the release that the ServiceNow host is running. If the host is not running the <code>LONDON</code> release, use <code>OTHERS</code>.<br />
  
  Required: Yes<br />
  
  Allowed values: <code>LONDON | OTHERS</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> */
    serviceNowBuildVersion: Value<'LONDON' | 'OTHERS'>;
    /** <code>KnowledgeArticleConfiguration</code>  <a name="cfn-kendra-datasource-servicenowconfiguration-knowledgearticleconfiguration"></a>
  Configuration information for crawling knowledge articles in the ServiceNow site.<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?: ServiceNowKnowledgeArticleConfigurationProps;
    /** <code>AuthenticationType</code>  <a name="cfn-kendra-datasource-servicenowconfiguration-authenticationtype"></a>
  The type of authentication used to connect to the ServiceNow instance. If you choose <code>HTTP_BASIC</code>, Amazon Kendra is authenticated using the user name and password provided in the AWS Secrets Manager secret in the <code>SecretArn</code> field. If you choose <code>OAUTH2</code>, Amazon Kendra is authenticated using the credentials of client ID, client secret, user name and password.<br />
  When you use <code>OAUTH2</code> authentication, you must generate a token and a client secret using the ServiceNow console. For more information, see <a href="https://docs.aws.amazon.com/kendra/latest/dg/data-source-servicenow.html">Using a ServiceNow data source</a>.<br />
  
  Required: No<br />
  
  Allowed values: <code>HTTP_BASIC | OAUTH2</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> */
    authenticationType?: Value<'HTTP_BASIC' | 'OAUTH2'>;
}
