aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
778 lines • 176 kB
TypeScript
import * as cdk from "../../core";
import * as constructs from "constructs";
import * as cfn_parse from "../../core/lib/helpers-internal";
/**
* Creates a data source connector that you want to use with an Amazon Kendra index.
*
* You specify a name, data source connector type and description for your data source. You also specify configuration information for the data source connector.
*
* > `CreateDataSource` does *not* support connectors which [require a `TemplateConfiguration` object](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html) for connecting to Amazon Kendra .
*
* @cloudformationResource AWS::Kendra::DataSource
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-datasource.html
*/
export declare class CfnDataSource extends cdk.CfnResource implements cdk.IInspectable, cdk.ITaggable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnDataSource from CloudFormation properties
*
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnDataSource;
/**
* The Amazon Resource Name (ARN) of the data source. For example:
*
* `arn:aws:kendra:us-west-2:111122223333:index/335c3741-41df-46a6-b5d3-61f85b787884/data-source/b8cae438-6787-4091-8897-684a652bbb0a`
*
* @cloudformationAttribute Arn
*/
readonly attrArn: string;
/**
* The identifier for the data source. For example:
*
* `b8cae438-6787-4091-8897-684a652bbb0a` .
*
* @cloudformationAttribute Id
*/
readonly attrId: string;
/**
* Configuration information for altering document metadata and content during the document ingestion process.
*/
customDocumentEnrichmentConfiguration?: CfnDataSource.CustomDocumentEnrichmentConfigurationProperty | cdk.IResolvable;
/**
* Configuration information for an Amazon Kendra data source.
*/
dataSourceConfiguration?: CfnDataSource.DataSourceConfigurationProperty | cdk.IResolvable;
/**
* A description for the data source connector.
*/
description?: string;
/**
* The identifier of the index you want to use with the data source connector.
*/
indexId: string;
/**
* The code for a language.
*/
languageCode?: string;
/**
* The name of the data source.
*/
name: string;
/**
* The Amazon Resource Name (ARN) of a role with permission to access the data source.
*/
roleArn?: string;
/**
* Sets the frequency that Amazon Kendra checks the documents in your data source and updates the index.
*/
schedule?: string;
/**
* Tag Manager which manages the tags for this resource
*/
readonly tags: cdk.TagManager;
/**
* An array of key-value pairs to apply to this resource.
*/
tagsRaw?: Array<cdk.CfnTag>;
/**
* The type of the data source.
*/
type: string;
/**
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props: CfnDataSourceProps);
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnDataSource {
/**
* Provides the configuration information for altering document metadata and content during the document ingestion process.
*
* For more information, see [Customizing document metadata during the ingestion process](https://docs.aws.amazon.com/kendra/latest/dg/custom-document-enrichment.html) .
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-customdocumentenrichmentconfiguration.html
*/
interface CustomDocumentEnrichmentConfigurationProperty {
/**
* Configuration information to alter document attributes or metadata fields and content when ingesting documents into Amazon Kendra.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-customdocumentenrichmentconfiguration.html#cfn-kendra-datasource-customdocumentenrichmentconfiguration-inlineconfigurations
*/
readonly inlineConfigurations?: Array<CfnDataSource.InlineCustomDocumentEnrichmentConfigurationProperty | cdk.IResolvable> | cdk.IResolvable;
/**
* 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 [Advanced data manipulation](https://docs.aws.amazon.com/kendra/latest/dg/custom-document-enrichment.html#advanced-data-manipulation) .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-customdocumentenrichmentconfiguration.html#cfn-kendra-datasource-customdocumentenrichmentconfiguration-postextractionhookconfiguration
*/
readonly postExtractionHookConfiguration?: CfnDataSource.HookConfigurationProperty | cdk.IResolvable;
/**
* 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 [Advanced data manipulation](https://docs.aws.amazon.com/kendra/latest/dg/custom-document-enrichment.html#advanced-data-manipulation) .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-customdocumentenrichmentconfiguration.html#cfn-kendra-datasource-customdocumentenrichmentconfiguration-preextractionhookconfiguration
*/
readonly preExtractionHookConfiguration?: CfnDataSource.HookConfigurationProperty | cdk.IResolvable;
/**
* The Amazon Resource Name (ARN) of an IAM role with permission to run `PreExtractionHookConfiguration` and `PostExtractionHookConfiguration` for altering document metadata and content during the document ingestion process.
*
* For more information, see [an IAM roles for Amazon Kendra](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html) .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-customdocumentenrichmentconfiguration.html#cfn-kendra-datasource-customdocumentenrichmentconfiguration-rolearn
*/
readonly roleArn?: string;
}
/**
* Provides the configuration information for applying basic logic to alter document metadata and content when ingesting documents into Amazon Kendra.
*
* To apply advanced logic, to go beyond what you can do with basic logic, see [HookConfiguration](https://docs.aws.amazon.com/kendra/latest/dg/API_HookConfiguration.html) .
*
* For more information, see [Customizing document metadata during the ingestion process](https://docs.aws.amazon.com/kendra/latest/dg/custom-document-enrichment.html) .
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-inlinecustomdocumentenrichmentconfiguration.html
*/
interface InlineCustomDocumentEnrichmentConfigurationProperty {
/**
* Configuration of the condition used for the target document attribute or metadata field when ingesting documents into Amazon Kendra.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-inlinecustomdocumentenrichmentconfiguration.html#cfn-kendra-datasource-inlinecustomdocumentenrichmentconfiguration-condition
*/
readonly condition?: CfnDataSource.DocumentAttributeConditionProperty | cdk.IResolvable;
/**
* `TRUE` to delete content if the condition used for the target attribute is met.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-inlinecustomdocumentenrichmentconfiguration.html#cfn-kendra-datasource-inlinecustomdocumentenrichmentconfiguration-documentcontentdeletion
*/
readonly documentContentDeletion?: boolean | cdk.IResolvable;
/**
* Configuration of the target document attribute or metadata field when ingesting documents into Amazon Kendra.
*
* You can also include a value.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-inlinecustomdocumentenrichmentconfiguration.html#cfn-kendra-datasource-inlinecustomdocumentenrichmentconfiguration-target
*/
readonly target?: CfnDataSource.DocumentAttributeTargetProperty | cdk.IResolvable;
}
/**
* The condition used for the target document attribute or metadata field when ingesting documents into Amazon Kendra.
*
* You use this with [DocumentAttributeTarget to apply the condition](https://docs.aws.amazon.com/kendra/latest/dg/API_DocumentAttributeTarget.html) .
*
* For example, you can create the 'Department' target field and have it prefill department names associated with the documents based on information in the 'Source_URI' field. Set the condition that if the 'Source_URI' field contains 'financial' in its URI value, then prefill the target field 'Department' with the target value 'Finance' for the document.
*
* Amazon Kendra cannot create a target field if it has not already been created as an index field. After you create your index field, you can create a document metadata field using `DocumentAttributeTarget` . Amazon Kendra then will map your newly created metadata field to your index field.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-documentattributecondition.html
*/
interface DocumentAttributeConditionProperty {
/**
* The identifier of the document attribute used for the condition.
*
* For example, 'Source_URI' could be an identifier for the attribute or metadata field that contains source URIs associated with the documents.
*
* Amazon Kendra currently does not support `_document_body` as an attribute key used for the condition.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-documentattributecondition.html#cfn-kendra-datasource-documentattributecondition-conditiondocumentattributekey
*/
readonly conditionDocumentAttributeKey: string;
/**
* The value used by the operator.
*
* For example, you can specify the value 'financial' for strings in the 'Source_URI' field that partially match or contain this value.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-documentattributecondition.html#cfn-kendra-datasource-documentattributecondition-conditiononvalue
*/
readonly conditionOnValue?: CfnDataSource.DocumentAttributeValueProperty | cdk.IResolvable;
/**
* The condition operator.
*
* For example, you can use 'Contains' to partially match a string.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-documentattributecondition.html#cfn-kendra-datasource-documentattributecondition-operator
*/
readonly operator: string;
}
/**
* The value of a document attribute.
*
* You can only provide one value for a document attribute.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-documentattributevalue.html
*/
interface DocumentAttributeValueProperty {
/**
* A date expressed as an ISO 8601 string.
*
* It is important for the time zone to be included in the ISO 8601 date-time format. For example, 2012-03-25T12:30:10+01:00 is the ISO 8601 date-time format for March 25th 2012 at 12:30PM (plus 10 seconds) in Central European Time.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-documentattributevalue.html#cfn-kendra-datasource-documentattributevalue-datevalue
*/
readonly dateValue?: string;
/**
* A long integer value.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-documentattributevalue.html#cfn-kendra-datasource-documentattributevalue-longvalue
*/
readonly longValue?: number;
/**
* A list of strings.
*
* The default maximum length or number of strings is 10.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-documentattributevalue.html#cfn-kendra-datasource-documentattributevalue-stringlistvalue
*/
readonly stringListValue?: Array<string>;
/**
* A string, such as "department".
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-documentattributevalue.html#cfn-kendra-datasource-documentattributevalue-stringvalue
*/
readonly stringValue?: string;
}
/**
* The target document attribute or metadata field you want to alter when ingesting documents into Amazon Kendra.
*
* For example, you can delete customer identification numbers associated with the documents, stored in the document metadata field called 'Customer_ID'. You set the target key as 'Customer_ID' and the deletion flag to `TRUE` . This removes all customer ID values in the field 'Customer_ID'. This would scrub personally identifiable information from each document's metadata.
*
* Amazon Kendra cannot create a target field if it has not already been created as an index field. After you create your index field, you can create a document metadata field using `DocumentAttributeTarget` . Amazon Kendra then will map your newly created metadata field to your index field.
*
* You can also use this with [DocumentAttributeCondition](https://docs.aws.amazon.com/kendra/latest/dg/API_DocumentAttributeCondition.html) .
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-documentattributetarget.html
*/
interface DocumentAttributeTargetProperty {
/**
* The identifier of the target document attribute or metadata field.
*
* For example, 'Department' could be an identifier for the target attribute or metadata field that includes the department names associated with the documents.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-documentattributetarget.html#cfn-kendra-datasource-documentattributetarget-targetdocumentattributekey
*/
readonly targetDocumentAttributeKey: string;
/**
* The target value you want to create for the target attribute.
*
* For example, 'Finance' could be the target value for the target attribute key 'Department'.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-documentattributetarget.html#cfn-kendra-datasource-documentattributetarget-targetdocumentattributevalue
*/
readonly targetDocumentAttributeValue?: CfnDataSource.DocumentAttributeValueProperty | cdk.IResolvable;
/**
* `TRUE` to delete the existing target value for your specified target attribute key.
*
* You cannot create a target value and set this to `TRUE` . To create a target value ( `TargetDocumentAttributeValue` ), set this to `FALSE` .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-documentattributetarget.html#cfn-kendra-datasource-documentattributetarget-targetdocumentattributevaluedeletion
*/
readonly targetDocumentAttributeValueDeletion?: boolean | cdk.IResolvable;
}
/**
* Provides the configuration information for invoking a Lambda function in AWS Lambda to alter document metadata and content when ingesting documents into Amazon Kendra.
*
* You can configure your Lambda function using [PreExtractionHookConfiguration](https://docs.aws.amazon.com/kendra/latest/dg/API_CustomDocumentEnrichmentConfiguration.html) if you want to apply advanced alterations on the original or raw documents. If you want to apply advanced alterations on the Amazon Kendra structured documents, you must configure your Lambda function using [PostExtractionHookConfiguration](https://docs.aws.amazon.com/kendra/latest/dg/API_CustomDocumentEnrichmentConfiguration.html) . You can only invoke one Lambda function. However, this function can invoke other functions it requires.
*
* For more information, see [Customizing document metadata during the ingestion process](https://docs.aws.amazon.com/kendra/latest/dg/custom-document-enrichment.html) .
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-hookconfiguration.html
*/
interface HookConfigurationProperty {
/**
* The condition used for when a Lambda function should be invoked.
*
* For example, you can specify a condition that if there are empty date-time values, then Amazon Kendra should invoke a function that inserts the current date-time.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-hookconfiguration.html#cfn-kendra-datasource-hookconfiguration-invocationcondition
*/
readonly invocationCondition?: CfnDataSource.DocumentAttributeConditionProperty | cdk.IResolvable;
/**
* The Amazon Resource Name (ARN) of an IAM role with permission to run a Lambda function during ingestion.
*
* For more information, see [an IAM roles for Amazon Kendra](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html) .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-hookconfiguration.html#cfn-kendra-datasource-hookconfiguration-lambdaarn
*/
readonly lambdaArn: string;
/**
* Stores the original, raw documents or the structured, parsed documents before and after altering them.
*
* For more information, see [Data contracts for Lambda functions](https://docs.aws.amazon.com/kendra/latest/dg/custom-document-enrichment.html#cde-data-contracts-lambda) .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-hookconfiguration.html#cfn-kendra-datasource-hookconfiguration-s3bucket
*/
readonly s3Bucket: string;
}
/**
* Provides the configuration information for an Amazon Kendra data source.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-datasourceconfiguration.html
*/
interface DataSourceConfigurationProperty {
/**
* Provides the configuration information to connect to Confluence as your data source.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-datasourceconfiguration.html#cfn-kendra-datasource-datasourceconfiguration-confluenceconfiguration
*/
readonly confluenceConfiguration?: CfnDataSource.ConfluenceConfigurationProperty | cdk.IResolvable;
/**
* Provides the configuration information to connect to a database as your data source.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-datasourceconfiguration.html#cfn-kendra-datasource-datasourceconfiguration-databaseconfiguration
*/
readonly databaseConfiguration?: CfnDataSource.DatabaseConfigurationProperty | cdk.IResolvable;
/**
* Provides the configuration information to connect to Google Drive as your data source.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-datasourceconfiguration.html#cfn-kendra-datasource-datasourceconfiguration-googledriveconfiguration
*/
readonly googleDriveConfiguration?: CfnDataSource.GoogleDriveConfigurationProperty | cdk.IResolvable;
/**
* Provides the configuration information to connect to Microsoft OneDrive as your data source.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-datasourceconfiguration.html#cfn-kendra-datasource-datasourceconfiguration-onedriveconfiguration
*/
readonly oneDriveConfiguration?: cdk.IResolvable | CfnDataSource.OneDriveConfigurationProperty;
/**
* Provides the configuration information to connect to an Amazon S3 bucket as your data source.
*
* > Amazon Kendra now supports an upgraded Amazon S3 connector.
* >
* > You must now use the [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) object instead of the `S3DataSourceConfiguration` object to configure your connector.
* >
* > Connectors configured using the older console and API architecture will continue to function as configured. However, you won't be able to edit or update them. If you want to edit or update your connector configuration, you must create a new connector.
* >
* > We recommended migrating your connector workflow to the upgraded version. Support for connectors configured using the older architecture is scheduled to end by June 2024.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-datasourceconfiguration.html#cfn-kendra-datasource-datasourceconfiguration-s3configuration
*/
readonly s3Configuration?: cdk.IResolvable | CfnDataSource.S3DataSourceConfigurationProperty;
/**
* Provides the configuration information to connect to Salesforce as your data source.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-datasourceconfiguration.html#cfn-kendra-datasource-datasourceconfiguration-salesforceconfiguration
*/
readonly salesforceConfiguration?: cdk.IResolvable | CfnDataSource.SalesforceConfigurationProperty;
/**
* Provides the configuration information to connect to ServiceNow as your data source.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-datasourceconfiguration.html#cfn-kendra-datasource-datasourceconfiguration-servicenowconfiguration
*/
readonly serviceNowConfiguration?: cdk.IResolvable | CfnDataSource.ServiceNowConfigurationProperty;
/**
* Provides the configuration information to connect to Microsoft SharePoint as your data source.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-datasourceconfiguration.html#cfn-kendra-datasource-datasourceconfiguration-sharepointconfiguration
*/
readonly sharePointConfiguration?: cdk.IResolvable | CfnDataSource.SharePointConfigurationProperty;
/**
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-datasourceconfiguration.html#cfn-kendra-datasource-datasourceconfiguration-templateconfiguration
*/
readonly templateConfiguration?: cdk.IResolvable | CfnDataSource.TemplateConfigurationProperty;
/**
* Provides the configuration information required for Amazon Kendra Web Crawler.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-datasourceconfiguration.html#cfn-kendra-datasource-datasourceconfiguration-webcrawlerconfiguration
*/
readonly webCrawlerConfiguration?: cdk.IResolvable | CfnDataSource.WebCrawlerConfigurationProperty;
/**
* Provides the configuration information to connect to Amazon WorkDocs as your data source.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-datasourceconfiguration.html#cfn-kendra-datasource-datasourceconfiguration-workdocsconfiguration
*/
readonly workDocsConfiguration?: cdk.IResolvable | CfnDataSource.WorkDocsConfigurationProperty;
}
/**
* Provides the configuration information to connect to Google Drive as your data source.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-googledriveconfiguration.html
*/
interface GoogleDriveConfigurationProperty {
/**
* A list of MIME types to exclude from the index. All documents matching the specified MIME type are excluded.
*
* For a list of MIME types, see [Using a Google Workspace Drive data source](https://docs.aws.amazon.com/kendra/latest/dg/data-source-google-drive.html) .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-googledriveconfiguration.html#cfn-kendra-datasource-googledriveconfiguration-excludemimetypes
*/
readonly excludeMimeTypes?: Array<string>;
/**
* A list of identifiers or shared drives to exclude from the index.
*
* All files and folders stored on the shared drive are excluded.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-googledriveconfiguration.html#cfn-kendra-datasource-googledriveconfiguration-excludeshareddrives
*/
readonly excludeSharedDrives?: Array<string>;
/**
* A list of email addresses of the users.
*
* Documents owned by these users are excluded from the index. Documents shared with excluded users are indexed unless they are excluded in another way.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-googledriveconfiguration.html#cfn-kendra-datasource-googledriveconfiguration-excludeuseraccounts
*/
readonly excludeUserAccounts?: Array<string>;
/**
* A list of regular expression patterns to exclude certain items in your Google Drive, including shared drives and users' My Drives.
*
* Items that match the patterns are excluded from the index. Items that don't match the patterns are included in the index. If an item matches both an inclusion and exclusion pattern, the exclusion pattern takes precedence and the item isn't included in the index.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-googledriveconfiguration.html#cfn-kendra-datasource-googledriveconfiguration-exclusionpatterns
*/
readonly exclusionPatterns?: Array<string>;
/**
* Maps Google Drive data source attributes or field names to Amazon Kendra index field names.
*
* To create custom fields, use the `UpdateIndex` API before you map to Google Drive fields. For more information, see [Mapping data source fields](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html) . The Google Drive data source field names must exist in your Google Drive custom metadata.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-googledriveconfiguration.html#cfn-kendra-datasource-googledriveconfiguration-fieldmappings
*/
readonly fieldMappings?: Array<CfnDataSource.DataSourceToIndexFieldMappingProperty | cdk.IResolvable> | cdk.IResolvable;
/**
* A list of regular expression patterns to include certain items in your Google Drive, including shared drives and users' My Drives.
*
* Items that match the patterns are included in the index. Items that don't match the patterns are excluded from the index. If an item matches both an inclusion and exclusion pattern, the exclusion pattern takes precedence and the item isn't included in the index.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-googledriveconfiguration.html#cfn-kendra-datasource-googledriveconfiguration-inclusionpatterns
*/
readonly inclusionPatterns?: Array<string>;
/**
* The Amazon Resource Name (ARN) of a AWS Secrets Manager secret that contains the credentials required to connect to Google Drive.
*
* For more information, see [Using a Google Workspace Drive data source](https://docs.aws.amazon.com/kendra/latest/dg/data-source-google-drive.html) .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-googledriveconfiguration.html#cfn-kendra-datasource-googledriveconfiguration-secretarn
*/
readonly secretArn: string;
}
/**
* Maps a column or attribute in the data source to an index field.
*
* You must first create the fields in the index using the [UpdateIndex](https://docs.aws.amazon.com/kendra/latest/dg/API_UpdateIndex.html) operation.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-datasourcetoindexfieldmapping.html
*/
interface DataSourceToIndexFieldMappingProperty {
/**
* The name of the field in the data source.
*
* You must first create the index field using the `UpdateIndex` API.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-datasourcetoindexfieldmapping.html#cfn-kendra-datasource-datasourcetoindexfieldmapping-datasourcefieldname
*/
readonly dataSourceFieldName: string;
/**
* The format for date fields in the data source.
*
* If the field specified in `DataSourceFieldName` is a date field, you must specify the date format. If the field is not a date field, an exception is thrown.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-datasourcetoindexfieldmapping.html#cfn-kendra-datasource-datasourcetoindexfieldmapping-datefieldformat
*/
readonly dateFieldFormat?: string;
/**
* The name of the index field to map to the data source field.
*
* The index field type must match the data source field type.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-datasourcetoindexfieldmapping.html#cfn-kendra-datasource-datasourcetoindexfieldmapping-indexfieldname
*/
readonly indexFieldName: string;
}
/**
* Provides the configuration information required for Amazon Kendra Web Crawler.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-webcrawlerconfiguration.html
*/
interface WebCrawlerConfigurationProperty {
/**
* Configuration information required to connect to websites using authentication.
*
* You can connect to websites using basic authentication of user name and password. You use a secret in [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) to store your authentication credentials.
*
* You must provide the website host name and port number. For example, the host name of https://a.example.com/page1.html is "a.example.com" and the port is 443, the standard port for HTTPS.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-webcrawlerconfiguration.html#cfn-kendra-datasource-webcrawlerconfiguration-authenticationconfiguration
*/
readonly authenticationConfiguration?: cdk.IResolvable | CfnDataSource.WebCrawlerAuthenticationConfigurationProperty;
/**
* The 'depth' or number of levels from the seed level to crawl.
*
* For example, the seed URL page is depth 1 and any hyperlinks on this page that are also crawled are depth 2.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-webcrawlerconfiguration.html#cfn-kendra-datasource-webcrawlerconfiguration-crawldepth
*/
readonly crawlDepth?: number;
/**
* The maximum size (in MB) of a web page or attachment to crawl.
*
* Files larger than this size (in MB) are skipped/not crawled.
*
* The default maximum size of a web page or attachment is set to 50 MB.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-webcrawlerconfiguration.html#cfn-kendra-datasource-webcrawlerconfiguration-maxcontentsizeperpageinmegabytes
*/
readonly maxContentSizePerPageInMegaBytes?: number;
/**
* The maximum number of URLs on a web page to include when crawling a website.
*
* This number is per web page.
*
* As a website’s web pages are crawled, any URLs the web pages link to are also crawled. URLs on a web page are crawled in order of appearance.
*
* The default maximum links per page is 100.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-webcrawlerconfiguration.html#cfn-kendra-datasource-webcrawlerconfiguration-maxlinksperpage
*/
readonly maxLinksPerPage?: number;
/**
* The maximum number of URLs crawled per website host per minute.
*
* A minimum of one URL is required.
*
* The default maximum number of URLs crawled per website host per minute is 300.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-webcrawlerconfiguration.html#cfn-kendra-datasource-webcrawlerconfiguration-maxurlsperminutecrawlrate
*/
readonly maxUrlsPerMinuteCrawlRate?: number;
/**
* Configuration information required to connect to your internal websites via a web proxy.
*
* You must provide the website host name and port number. For example, the host name of https://a.example.com/page1.html is "a.example.com" and the port is 443, the standard port for HTTPS.
*
* Web proxy credentials are optional and you can use them to connect to a web proxy server that requires basic authentication. To store web proxy credentials, you use a secret in [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-webcrawlerconfiguration.html#cfn-kendra-datasource-webcrawlerconfiguration-proxyconfiguration
*/
readonly proxyConfiguration?: cdk.IResolvable | CfnDataSource.ProxyConfigurationProperty;
/**
* A list of regular expression patterns to exclude certain URLs to crawl.
*
* URLs that match the patterns are excluded from the index. URLs that don't match the patterns are included in the index. If a URL matches both an inclusion and exclusion pattern, the exclusion pattern takes precedence and the URL file isn't included in the index.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-webcrawlerconfiguration.html#cfn-kendra-datasource-webcrawlerconfiguration-urlexclusionpatterns
*/
readonly urlExclusionPatterns?: Array<string>;
/**
* A list of regular expression patterns to include certain URLs to crawl.
*
* URLs that match the patterns are included in the index. URLs that don't match the patterns are excluded from the index. If a URL matches both an inclusion and exclusion pattern, the exclusion pattern takes precedence and the URL file isn't included in the index.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-webcrawlerconfiguration.html#cfn-kendra-datasource-webcrawlerconfiguration-urlinclusionpatterns
*/
readonly urlInclusionPatterns?: Array<string>;
/**
* Specifies the seed or starting point URLs of the websites or the sitemap URLs of the websites you want to crawl.
*
* You can include website subdomains. You can list up to 100 seed URLs and up to three sitemap URLs.
*
* You can only crawl websites that use the secure communication protocol, Hypertext Transfer Protocol Secure (HTTPS). If you receive an error when crawling a website, it could be that the website is blocked from crawling.
*
* *When selecting websites to index, you must adhere to the [Amazon Acceptable Use Policy](https://docs.aws.amazon.com/aup/) and all other Amazon terms. Remember that you must only use Amazon Kendra Web Crawler to index your own webpages, or webpages that you have authorization to index.*
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-webcrawlerconfiguration.html#cfn-kendra-datasource-webcrawlerconfiguration-urls
*/
readonly urls: cdk.IResolvable | CfnDataSource.WebCrawlerUrlsProperty;
}
/**
* Provides the configuration information to connect to websites that require user authentication.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-webcrawlerauthenticationconfiguration.html
*/
interface WebCrawlerAuthenticationConfigurationProperty {
/**
* The list of configuration information that's required to connect to and crawl a website host using basic authentication credentials.
*
* The list includes the name and port number of the website host.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-webcrawlerauthenticationconfiguration.html#cfn-kendra-datasource-webcrawlerauthenticationconfiguration-basicauthentication
*/
readonly basicAuthentication?: Array<cdk.IResolvable | CfnDataSource.WebCrawlerBasicAuthenticationProperty> | cdk.IResolvable;
}
/**
* Provides the configuration information to connect to websites that require basic user authentication.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-webcrawlerbasicauthentication.html
*/
interface WebCrawlerBasicAuthenticationProperty {
/**
* The Amazon Resource Name (ARN) of an AWS Secrets Manager secret.
*
* You create a secret to store your credentials in [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html)
*
* You use a secret if basic authentication credentials are required to connect to a website. The secret stores your credentials of user name and password.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-webcrawlerbasicauthentication.html#cfn-kendra-datasource-webcrawlerbasicauthentication-credentials
*/
readonly credentials: string;
/**
* The name of the website host you want to connect to using authentication credentials.
*
* For example, the host name of https://a.example.com/page1.html is "a.example.com".
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-webcrawlerbasicauthentication.html#cfn-kendra-datasource-webcrawlerbasicauthentication-host
*/
readonly host: string;
/**
* The port number of the website host you want to connect to using authentication credentials.
*
* For example, the port for https://a.example.com/page1.html is 443, the standard port for HTTPS.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-webcrawlerbasicauthentication.html#cfn-kendra-datasource-webcrawlerbasicauthentication-port
*/
readonly port: number;
}
/**
* Provides the configuration information for a web proxy to connect to website hosts.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-proxyconfiguration.html
*/
interface ProxyConfigurationProperty {
/**
* The Amazon Resource Name (ARN) of an AWS Secrets Manager secret.
*
* You create a secret to store your credentials in [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html)
*
* The credentials are optional. You use a secret if web proxy credentials are required to connect to a website host. Amazon Kendra currently support basic authentication to connect to a web proxy server. The secret stores your credentials.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-proxyconfiguration.html#cfn-kendra-datasource-proxyconfiguration-credentials
*/
readonly credentials?: string;
/**
* The name of the website host you want to connect to via a web proxy server.
*
* For example, the host name of https://a.example.com/page1.html is "a.example.com".
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-proxyconfiguration.html#cfn-kendra-datasource-proxyconfiguration-host
*/
readonly host: string;
/**
* The port number of the website host you want to connect to via a web proxy server.
*
* For example, the port for https://a.example.com/page1.html is 443, the standard port for HTTPS.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-proxyconfiguration.html#cfn-kendra-datasource-proxyconfiguration-port
*/
readonly port: number;
}
/**
* Specifies the seed or starting point URLs of the websites or the sitemap URLs of the websites you want to crawl.
*
* You can include website subdomains. You can list up to 100 seed URLs and up to three sitemap URLs.
*
* You can only crawl websites that use the secure communication protocol, Hypertext Transfer Protocol Secure (HTTPS). If you receive an error when crawling a website, it could be that the website is blocked from crawling.
*
* *When selecting websites to index, you must adhere to the [Amazon Acceptable Use Policy](https://docs.aws.amazon.com/aup/) and all other Amazon terms. Remember that you must only use the Amazon Kendra web crawler to index your own webpages, or webpages that you have authorization to index.*
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-webcrawlerurls.html
*/
interface WebCrawlerUrlsProperty {
/**
* Configuration of the seed or starting point URLs of the websites you want to crawl.
*
* You can choose to crawl only the website host names, or the website host names with subdomains, or the website host names with subdomains and other domains that the web pages link to.
*
* You can list up to 100 seed URLs.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-webcrawlerurls.html#cfn-kendra-datasource-webcrawlerurls-seedurlconfiguration
*/
readonly seedUrlConfiguration?: cdk.IResolvable | CfnDataSource.WebCrawlerSeedUrlConfigurationProperty;
/**
* Configuration of the sitemap URLs of the websites you want to crawl.
*
* Only URLs belonging to the same website host names are crawled. You can list up to three sitemap URLs.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-webcrawlerurls.html#cfn-kendra-datasource-webcrawlerurls-sitemapsconfiguration
*/
readonly siteMapsConfiguration?: cdk.IResolvable | CfnDataSource.WebCrawlerSiteMapsConfigurationProperty;
}
/**
* Provides the configuration information of the sitemap URLs to crawl.
*
* *When selecting websites to index, you must adhere to the [Amazon Acceptable Use Policy](https://docs.aws.amazon.com/aup/) and all other Amazon terms. Remember that you must only use the Amazon Kendra web crawler to index your own webpages, or webpages that you have authorization to index.*
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-webcrawlersitemapsconfiguration.html
*/
interface WebCrawlerSiteMapsConfigurationProperty {
/**
* The list of sitemap URLs of the websites you want to crawl.
*
* The list can include a maximum of three sitemap URLs.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-webcrawlersitemapsconfiguration.html#cfn-kendra-datasource-webcrawlersitemapsconfiguration-sitemaps
*/
readonly siteMaps: Array<string>;
}
/**
* Provides the configuration information of the seed or starting point URLs to crawl.
*
* *When selecting websites to index, you must adhere to the [Amazon Acceptable Use Policy](https://docs.aws.amazon.com/aup/) and all other Amazon terms. Remember that you must only use the Amazon Kendra web crawler to index your own webpages, or webpages that you have authorization to index.*
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-webcrawlerseedurlconfiguration.html
*/
interface WebCrawlerSeedUrlConfigurationProperty {
/**
* The list of seed or starting point URLs of the websites you want to crawl.
*
* The list can include a maximum of 100 seed URLs.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-webcrawlerseedurlconfiguration.html#cfn-kendra-datasource-webcrawlerseedurlconfiguration-seedurls
*/
readonly seedUrls: Array<string>;
/**
* You can choose one of the following modes:.
*
* - `HOST_ONLY` —crawl only the website host names. For example, if the seed URL is "abc.example.com", then only URLs with host name "abc.example.com" are crawled.
* - `SUBDOMAINS` —crawl the website host names with subdomains. For example, if the seed URL is "abc.example.com", then "a.abc.example.com" and "b.abc.example.com" are also crawled.
* - `EVERYTHING` —crawl the website host names with subdomains and other domains that the web pages link to.
*
*