awskendra

package
v1.148.0-devpreview Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 10, 2022 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CfnDataSource_CFN_RESOURCE_TYPE_NAME

func CfnDataSource_CFN_RESOURCE_TYPE_NAME() *string

func CfnDataSource_IsCfnElement

func CfnDataSource_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnDataSource_IsCfnResource

func CfnDataSource_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnDataSource_IsConstruct

func CfnDataSource_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func CfnFaq_CFN_RESOURCE_TYPE_NAME

func CfnFaq_CFN_RESOURCE_TYPE_NAME() *string

func CfnFaq_IsCfnElement

func CfnFaq_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnFaq_IsCfnResource

func CfnFaq_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnFaq_IsConstruct

func CfnFaq_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func CfnIndex_CFN_RESOURCE_TYPE_NAME

func CfnIndex_CFN_RESOURCE_TYPE_NAME() *string

func CfnIndex_IsCfnElement

func CfnIndex_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnIndex_IsCfnResource

func CfnIndex_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnIndex_IsConstruct

func CfnIndex_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func NewCfnDataSource_Override

func NewCfnDataSource_Override(c CfnDataSource, scope awscdk.Construct, id *string, props *CfnDataSourceProps)

Create a new `AWS::Kendra::DataSource`.

func NewCfnFaq_Override

func NewCfnFaq_Override(c CfnFaq, scope awscdk.Construct, id *string, props *CfnFaqProps)

Create a new `AWS::Kendra::Faq`.

func NewCfnIndex_Override

func NewCfnIndex_Override(c CfnIndex, scope awscdk.Construct, id *string, props *CfnIndexProps)

Create a new `AWS::Kendra::Index`.

Types

type CfnDataSource

type CfnDataSource interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AttrArn() *string
	AttrId() *string
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	CreationStack() *[]*string
	CustomDocumentEnrichmentConfiguration() interface{}
	SetCustomDocumentEnrichmentConfiguration(val interface{})
	DataSourceConfiguration() interface{}
	SetDataSourceConfiguration(val interface{})
	Description() *string
	SetDescription(val *string)
	IndexId() *string
	SetIndexId(val *string)
	LogicalId() *string
	Name() *string
	SetName(val *string)
	Node() awscdk.ConstructNode
	Ref() *string
	RoleArn() *string
	SetRoleArn(val *string)
	Schedule() *string
	SetSchedule(val *string)
	Stack() awscdk.Stack
	Tags() awscdk.TagManager
	Type() *string
	SetType(val *string)
	UpdatedProperites() *map[string]interface{}
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OnPrepare()
	OnSynthesize(session constructs.ISynthesisSession)
	OnValidate() *[]*string
	OverrideLogicalId(newLogicalId *string)
	Prepare()
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	Synthesize(session awscdk.ISynthesisSession)
	ToString() *string
	Validate() *[]*string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::Kendra::DataSource`.

Specifies a data source that you use to with an Amazon Kendra index.

You specify a name, connector type and description for your data source.

TODO: EXAMPLE

func NewCfnDataSource

func NewCfnDataSource(scope awscdk.Construct, id *string, props *CfnDataSourceProps) CfnDataSource

Create a new `AWS::Kendra::DataSource`.

type CfnDataSourceProps

type CfnDataSourceProps struct {
	// The identifier of the index that should be associated with this data source.
	IndexId *string `json:"indexId" yaml:"indexId"`
	// The name of the data source.
	Name *string `json:"name" yaml:"name"`
	// The type of the data source.
	Type *string `json:"type" yaml:"type"`
	// `AWS::Kendra::DataSource.CustomDocumentEnrichmentConfiguration`.
	CustomDocumentEnrichmentConfiguration interface{} `json:"customDocumentEnrichmentConfiguration" yaml:"customDocumentEnrichmentConfiguration"`
	// Configuration information for an Amazon Kendra data source.
	//
	// The contents of the configuration depend on the type of data source. You can only specify one type of data source in the configuration. Choose from one of the following data sources.
	//
	// - Amazon S3
	// - Confluence
	// - Custom
	// - Database
	// - Microsoft OneDrive
	// - Microsoft SharePoint
	// - Salesforce
	// - ServiceNow
	//
	// You can't specify the `Configuration` parameter when the `Type` parameter is set to `CUSTOM` .
	//
	// The `Configuration` parameter is required for all other data sources.
	DataSourceConfiguration interface{} `json:"dataSourceConfiguration" yaml:"dataSourceConfiguration"`
	// A description of the data source.
	Description *string `json:"description" yaml:"description"`
	// The Amazon Resource Name (ARN) of a role with permission to access the data source.
	//
	// You can't specify the `RoleArn` parameter when the `Type` parameter is set to `CUSTOM` .
	//
	// The `RoleArn` parameter is required for all other data sources.
	RoleArn *string `json:"roleArn" yaml:"roleArn"`
	// Sets the frequency that Amazon Kendra checks the documents in your data source and updates the index.
	//
	// If you don't set a schedule, Amazon Kendra doesn't periodically update the index.
	Schedule *string `json:"schedule" yaml:"schedule"`
	// An array of key-value pairs to apply to this resource.
	//
	// For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .
	Tags *[]*awscdk.CfnTag `json:"tags" yaml:"tags"`
}

Properties for defining a `CfnDataSource`.

TODO: EXAMPLE

type CfnDataSource_AccessControlListConfigurationProperty

type CfnDataSource_AccessControlListConfigurationProperty struct {
	// Path to the AWS S3 bucket that contains the access control list files.
	KeyPath *string `json:"keyPath" yaml:"keyPath"`
}

Specifies access control list files for the documents in a data source.

TODO: EXAMPLE

type CfnDataSource_AclConfigurationProperty

type CfnDataSource_AclConfigurationProperty struct {
	// A list of groups, separated by semi-colons, that filters a query response based on user context.
	//
	// The document is only returned to users that are in one of the groups specified in the `UserContext` field of the [Query](https://docs.aws.amazon.com/kendra/latest/dg/API_Query.html) operation.
	AllowedGroupsColumnName *string `json:"allowedGroupsColumnName" yaml:"allowedGroupsColumnName"`
}

Provides information about the column that should be used for filtering the query response by groups.

TODO: EXAMPLE

type CfnDataSource_ColumnConfigurationProperty

type CfnDataSource_ColumnConfigurationProperty struct {
	// One to five columns that indicate when a document in the database has changed.
	ChangeDetectingColumns *[]*string `json:"changeDetectingColumns" yaml:"changeDetectingColumns"`
	// The column that contains the contents of the document.
	DocumentDataColumnName *string `json:"documentDataColumnName" yaml:"documentDataColumnName"`
	// The column that provides the document's unique identifier.
	DocumentIdColumnName *string `json:"documentIdColumnName" yaml:"documentIdColumnName"`
	// The column that contains the title of the document.
	DocumentTitleColumnName *string `json:"documentTitleColumnName" yaml:"documentTitleColumnName"`
	// 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 [UpdateIndex](https://docs.aws.amazon.com/kendra/latest/dg/API_UpdateIndex.html) operation.
	FieldMappings interface{} `json:"fieldMappings" yaml:"fieldMappings"`
}

Provides information about how Amazon Kendra should use the columns of a database in an index.

TODO: EXAMPLE

type CfnDataSource_ConfluenceAttachmentConfigurationProperty

type CfnDataSource_ConfluenceAttachmentConfigurationProperty struct {
	// Defines how attachment metadata fields should be mapped to index fields.
	//
	// Before you can map a field, you must first create an index field with a matching type using the console or the `UpdateIndex` API.
	//
	// If you specify the `AttachentFieldMappings` parameter, you must specify at least one field mapping.
	AttachmentFieldMappings interface{} `json:"attachmentFieldMappings" yaml:"attachmentFieldMappings"`
	// Indicates whether Amazon Kendra indexes attachments to the pages and blogs in the Confluence data source.
	CrawlAttachments interface{} `json:"crawlAttachments" yaml:"crawlAttachments"`
}

Specifies the attachment settings for the Confluence data source.

Attachment settings are optional, if you don't specify settings attachments, Amazon Kendra won't index them.

TODO: EXAMPLE

type CfnDataSource_ConfluenceAttachmentToIndexFieldMappingProperty

type CfnDataSource_ConfluenceAttachmentToIndexFieldMappingProperty struct {
	// The name of the field in the data source.
	//
	// You must first create the index field using the `UpdateIndex` API.
	DataSourceFieldName *string `json:"dataSourceFieldName" yaml:"dataSourceFieldName"`
	// The name of the index field to map to the Confluence data source field.
	//
	// The index field type must match the Confluence field type.
	IndexFieldName *string `json:"indexFieldName" yaml:"indexFieldName"`
	// 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.
	DateFieldFormat *string `json:"dateFieldFormat" yaml:"dateFieldFormat"`
}

Defines the mapping between a field in the Confluence data source to a Amazon Kendra index field.

You must first create the index field using the `UpdateIndex` API.

TODO: EXAMPLE

type CfnDataSource_ConfluenceBlogConfigurationProperty

type CfnDataSource_ConfluenceBlogConfigurationProperty struct {
	// Defines how blog metadata fields should be mapped to index fields.
	//
	// Before you can map a field, you must first create an index field with a matching type using the console or the `UpdateIndex` API.
	//
	// If you specify the `BlogFieldMappings` parameter, you must specify at least one field mapping.
	BlogFieldMappings interface{} `json:"blogFieldMappings" yaml:"blogFieldMappings"`
}

Specifies the blog settings for the Confluence data source.

Blogs are always indexed unless filtered from the index by the `ExclusionPatterns` or `InclusionPatterns` fields in the `ConfluenceConfiguration` object.

TODO: EXAMPLE

type CfnDataSource_ConfluenceBlogToIndexFieldMappingProperty

type CfnDataSource_ConfluenceBlogToIndexFieldMappingProperty struct {
	// The name of the field in the data source.
	DataSourceFieldName *string `json:"dataSourceFieldName" yaml:"dataSourceFieldName"`
	// The name of the index field to map to the Confluence data source field.
	//
	// The index field type must match the Confluence field type.
	IndexFieldName *string `json:"indexFieldName" yaml:"indexFieldName"`
	// 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.
	DateFieldFormat *string `json:"dateFieldFormat" yaml:"dateFieldFormat"`
}

Defines the mapping between a blog field in the Confluence data source to a Amazon Kendra index field.

You must first create the index field using the `UpdateIndex` API.

TODO: EXAMPLE

type CfnDataSource_ConfluenceConfigurationProperty

type CfnDataSource_ConfluenceConfigurationProperty struct {
	// The Amazon Resource Name (ARN) of an AWS Secrets Manager secret that contains the key/value pairs required to connect to your Confluence server.
	//
	// The secret must contain a JSON structure with the following keys:
	//
	// - username - The user name or email address of a user with administrative privileges for the Confluence server.
	// - password - The password associated with the user logging in to the Confluence server.
	SecretArn *string `json:"secretArn" yaml:"secretArn"`
	// The URL of your Confluence instance.
	//
	// Use the full URL of the server. For example, `https://server.example.com:port/` . You can also use an IP address, for example, `https://192.168.1.113/` .
	ServerUrl *string `json:"serverUrl" yaml:"serverUrl"`
	// Specifies the version of the Confluence installation that you are connecting to.
	Version *string `json:"version" yaml:"version"`
	// Specifies configuration information for indexing attachments to Confluence blogs and pages.
	AttachmentConfiguration interface{} `json:"attachmentConfiguration" yaml:"attachmentConfiguration"`
	// Specifies configuration information for indexing Confluence blogs.
	BlogConfiguration interface{} `json:"blogConfiguration" yaml:"blogConfiguration"`
	// A list of regular expression patterns that apply to a URL on the Confluence server.
	//
	// An exclusion pattern can apply to a blog post, a page, a space, or an attachment. Items that match the pattern are excluded from the index. Items that don't match the pattern are included in the index. If a item matches both an exclusion pattern and an inclusion pattern, the item isn't included in the index.
	ExclusionPatterns *[]*string `json:"exclusionPatterns" yaml:"exclusionPatterns"`
	// A list of regular expression patterns that apply to a URL on the Confluence server.
	//
	// An inclusion pattern can apply to a blog post, a page, a space, or an attachment. Items that match the patterns are included in the index. Items that don't match the pattern are excluded from the index. If an item matches both an inclusion pattern and an exclusion pattern, the item isn't included in the index.
	InclusionPatterns *[]*string `json:"inclusionPatterns" yaml:"inclusionPatterns"`
	// Specifies configuration information for indexing Confluence pages.
	PageConfiguration interface{} `json:"pageConfiguration" yaml:"pageConfiguration"`
	// Specifies configuration information for indexing Confluence spaces.
	SpaceConfiguration interface{} `json:"spaceConfiguration" yaml:"spaceConfiguration"`
	// Specifies the information for connecting to an Amazon VPC.
	VpcConfiguration interface{} `json:"vpcConfiguration" yaml:"vpcConfiguration"`
}

Provides the configuration information to connect to Confluence as your data source.

TODO: EXAMPLE

type CfnDataSource_ConfluencePageConfigurationProperty

type CfnDataSource_ConfluencePageConfigurationProperty struct {
	// Defines how page metadata fields should be mapped to index fields.
	//
	// Before you can map a field, you must first create an index field with a matching type using the console or the `UpdateIndex` API.
	//
	// If you specify the `PageFieldMappings` parameter, you must specify at least one field mapping.
	PageFieldMappings interface{} `json:"pageFieldMappings" yaml:"pageFieldMappings"`
}

Specifies the page settings for the Confluence data source.

TODO: EXAMPLE

type CfnDataSource_ConfluencePageToIndexFieldMappingProperty

type CfnDataSource_ConfluencePageToIndexFieldMappingProperty struct {
	// The name of the field in the data source.
	DataSourceFieldName *string `json:"dataSourceFieldName" yaml:"dataSourceFieldName"`
	// The name of the index field to map to the Confluence data source field.
	//
	// The index field type must match the Confluence field type.
	IndexFieldName *string `json:"indexFieldName" yaml:"indexFieldName"`
	// 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.
	DateFieldFormat *string `json:"dateFieldFormat" yaml:"dateFieldFormat"`
}

Defines the mapping between a field in the Confluence data source to a Amazon Kendra index field.

You must first create the index field using the `UpdateIndex` API.

TODO: EXAMPLE

type CfnDataSource_ConfluenceSpaceConfigurationProperty

type CfnDataSource_ConfluenceSpaceConfigurationProperty struct {
	// Specifies whether Amazon Kendra should index archived spaces.
	CrawlArchivedSpaces interface{} `json:"crawlArchivedSpaces" yaml:"crawlArchivedSpaces"`
	// Specifies whether Amazon Kendra should index personal spaces.
	//
	// Users can add restrictions to items in personal spaces. If personal spaces are indexed, queries without user context information may return restricted items from a personal space in their results. For more information, see [Filtering on user context](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html) .
	CrawlPersonalSpaces interface{} `json:"crawlPersonalSpaces" yaml:"crawlPersonalSpaces"`
	// A list of space keys of Confluence spaces.
	//
	// If you include a key, the blogs, documents, and attachments in the space are not indexed. If a space is in both the `ExcludeSpaces` and the `IncludeSpaces` list, the space is excluded.
	ExcludeSpaces *[]*string `json:"excludeSpaces" yaml:"excludeSpaces"`
	// A list of space keys for Confluence spaces.
	//
	// If you include a key, the blogs, documents, and attachments in the space are indexed. Spaces that aren't in the list aren't indexed. A space in the list must exist. Otherwise, Amazon Kendra logs an error when the data source is synchronized. If a space is in both the `IncludeSpaces` and the `ExcludeSpaces` list, the space is excluded.
	IncludeSpaces *[]*string `json:"includeSpaces" yaml:"includeSpaces"`
	// Defines how space metadata fields should be mapped to index fields.
	//
	// Before you can map a field, you must first create an index field with a matching type using the console or the `UpdateIndex` API.
	//
	// If you specify the `SpaceFieldMappings` parameter, you must specify at least one field mapping.
	SpaceFieldMappings interface{} `json:"spaceFieldMappings" yaml:"spaceFieldMappings"`
}

Specifies the configuration for indexing Confluence spaces.

TODO: EXAMPLE

type CfnDataSource_ConfluenceSpaceToIndexFieldMappingProperty

type CfnDataSource_ConfluenceSpaceToIndexFieldMappingProperty struct {
	// The name of the field in the data source.
	DataSourceFieldName *string `json:"dataSourceFieldName" yaml:"dataSourceFieldName"`
	// The name of the index field to map to the Confluence data source field.
	//
	// The index field type must match the Confluence field type.
	IndexFieldName *string `json:"indexFieldName" yaml:"indexFieldName"`
	// 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.
	DateFieldFormat *string `json:"dateFieldFormat" yaml:"dateFieldFormat"`
}

Defines the mapping between a field in the Confluence data source to an Amazon Kendra index field.

You must first create the index field using the `UpdateIndex` API.

TODO: EXAMPLE

type CfnDataSource_ConnectionConfigurationProperty

type CfnDataSource_ConnectionConfigurationProperty struct {
	// The name of the host for the database.
	//
	// Can be either a string (host.subdomain.domain.tld) or an IPv4 or IPv6 address.
	DatabaseHost *string `json:"databaseHost" yaml:"databaseHost"`
	// The name of the database containing the document data.
	DatabaseName *string `json:"databaseName" yaml:"databaseName"`
	// The port that the database uses for connections.
	DatabasePort *float64 `json:"databasePort" yaml:"databasePort"`
	// The Amazon Resource Name (ARN) of credentials stored in AWS Secrets Manager .
	//
	// The credentials should be a user/password pair. For more information, see [Using a Database Data Source](https://docs.aws.amazon.com/kendra/latest/dg/data-source-database.html) . For more information about AWS Secrets Manager , see [What Is AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) in the *AWS Secrets Manager* user guide.
	SecretArn *string `json:"secretArn" yaml:"secretArn"`
	// The name of the table that contains the document data.
	TableName *string `json:"tableName" yaml:"tableName"`
}

Provides the configuration information that's required to connect to a database.

TODO: EXAMPLE

type CfnDataSource_CustomDocumentEnrichmentConfigurationProperty

type CfnDataSource_CustomDocumentEnrichmentConfigurationProperty struct {
	// Configuration information to alter document attributes or metadata fields and content when ingesting documents into Amazon Kendra.
	InlineConfigurations interface{} `json:"inlineConfigurations" yaml:"inlineConfigurations"`
	// 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) .
	PostExtractionHookConfiguration interface{} `json:"postExtractionHookConfiguration" yaml:"postExtractionHookConfiguration"`
	// 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) .
	PreExtractionHookConfiguration interface{} `json:"preExtractionHookConfiguration" yaml:"preExtractionHookConfiguration"`
	// The Amazon Resource Name (ARN) of a role with permission to run `PreExtractionHookConfiguration` and `PostExtractionHookConfiguration` for altering document metadata and content during the document ingestion process.
	//
	// For more information, see [IAM roles for Amazon Kendra](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html) .
	RoleArn *string `json:"roleArn" yaml:"roleArn"`
}

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) .

TODO: EXAMPLE

type CfnDataSource_DataSourceConfigurationProperty

type CfnDataSource_DataSourceConfigurationProperty struct {
	// Provides configuration information for connecting to a Confluence data source.
	ConfluenceConfiguration interface{} `json:"confluenceConfiguration" yaml:"confluenceConfiguration"`
	// Provides the configuration information to connect to a database as your data source.
	DatabaseConfiguration interface{} `json:"databaseConfiguration" yaml:"databaseConfiguration"`
	// Provides the configuration information to connect to Google Drive as your data source.
	GoogleDriveConfiguration interface{} `json:"googleDriveConfiguration" yaml:"googleDriveConfiguration"`
	// Provides the configuration information to connect to Microsoft OneDrive as your data source.
	OneDriveConfiguration interface{} `json:"oneDriveConfiguration" yaml:"oneDriveConfiguration"`
	// Provides the configuration information to connect to an Amazon S3 bucket as your data source.
	S3Configuration interface{} `json:"s3Configuration" yaml:"s3Configuration"`
	// Provides the configuration information to connect to Salesforce as your data source.
	SalesforceConfiguration interface{} `json:"salesforceConfiguration" yaml:"salesforceConfiguration"`
	// Provides the configuration information to connect to ServiceNow as your data source.
	ServiceNowConfiguration interface{} `json:"serviceNowConfiguration" yaml:"serviceNowConfiguration"`
	// Provides the configuration information to connect to Microsoft SharePoint as your data source.
	SharePointConfiguration interface{} `json:"sharePointConfiguration" yaml:"sharePointConfiguration"`
	// Provides the configuration information required for Amazon Kendra Web Crawler.
	WebCrawlerConfiguration interface{} `json:"webCrawlerConfiguration" yaml:"webCrawlerConfiguration"`
	// Provides the configuration information to connect to Amazon WorkDocs as your data source.
	WorkDocsConfiguration interface{} `json:"workDocsConfiguration" yaml:"workDocsConfiguration"`
}

Provides the configuration information for an Amazon Kendra data source.

TODO: EXAMPLE

type CfnDataSource_DataSourceToIndexFieldMappingProperty

type CfnDataSource_DataSourceToIndexFieldMappingProperty struct {
	// The name of the column or attribute in the data source.
	DataSourceFieldName *string `json:"dataSourceFieldName" yaml:"dataSourceFieldName"`
	// The name of the field in the index.
	IndexFieldName *string `json:"indexFieldName" yaml:"indexFieldName"`
	// The type of data stored in the column or attribute.
	DateFieldFormat *string `json:"dateFieldFormat" yaml:"dateFieldFormat"`
}

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.

TODO: EXAMPLE

type CfnDataSource_DataSourceVpcConfigurationProperty

type CfnDataSource_DataSourceVpcConfigurationProperty struct {
	// A list of identifiers of security groups within your Amazon VPC.
	//
	// The security groups should enable Amazon Kendra to connect to the data source.
	SecurityGroupIds *[]*string `json:"securityGroupIds" yaml:"securityGroupIds"`
	// A list of identifiers for subnets within your Amazon VPC.
	//
	// The subnets should be able to connect to each other in the VPC, and they should have outgoing access to the Internet through a NAT device.
	SubnetIds *[]*string `json:"subnetIds" yaml:"subnetIds"`
}

Provides the configuration information to connect to an Amazon VPC.

TODO: EXAMPLE

type CfnDataSource_DatabaseConfigurationProperty

type CfnDataSource_DatabaseConfigurationProperty struct {
	// Information about where the index should get the document information from the database.
	ColumnConfiguration interface{} `json:"columnConfiguration" yaml:"columnConfiguration"`
	// Configuration information that's required to connect to a database.
	ConnectionConfiguration interface{} `json:"connectionConfiguration" yaml:"connectionConfiguration"`
	// The type of database engine that runs the database.
	DatabaseEngineType *string `json:"databaseEngineType" yaml:"databaseEngineType"`
	// Information about the database column that provides information for user context filtering.
	AclConfiguration interface{} `json:"aclConfiguration" yaml:"aclConfiguration"`
	// Provides information about how Amazon Kendra uses quote marks around SQL identifiers when querying a database data source.
	SqlConfiguration interface{} `json:"sqlConfiguration" yaml:"sqlConfiguration"`
	// Provides information for connecting to an Amazon VPC.
	VpcConfiguration interface{} `json:"vpcConfiguration" yaml:"vpcConfiguration"`
}

Provides the configuration information to connect to a index.

TODO: EXAMPLE

type CfnDataSource_DocumentAttributeConditionProperty

type CfnDataSource_DocumentAttributeConditionProperty struct {
	// 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.
	ConditionDocumentAttributeKey *string `json:"conditionDocumentAttributeKey" yaml:"conditionDocumentAttributeKey"`
	// The condition operator.
	//
	// For example, you can use 'Contains' to partially match a string.
	Operator *string `json:"operator" yaml:"operator"`
	// 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.
	ConditionOnValue interface{} `json:"conditionOnValue" yaml:"conditionOnValue"`
}

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.

TODO: EXAMPLE

type CfnDataSource_DocumentAttributeTargetProperty

type CfnDataSource_DocumentAttributeTargetProperty struct {
	// 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.
	TargetDocumentAttributeKey *string `json:"targetDocumentAttributeKey" yaml:"targetDocumentAttributeKey"`
	// 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'.
	TargetDocumentAttributeValue interface{} `json:"targetDocumentAttributeValue" yaml:"targetDocumentAttributeValue"`
	// `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` .
	TargetDocumentAttributeValueDeletion interface{} `json:"targetDocumentAttributeValueDeletion" yaml:"targetDocumentAttributeValueDeletion"`
}

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) .

TODO: EXAMPLE

type CfnDataSource_DocumentAttributeValueProperty

type CfnDataSource_DocumentAttributeValueProperty struct {
	// 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.
	DateValue *string `json:"dateValue" yaml:"dateValue"`
	// A long integer value.
	LongValue *float64 `json:"longValue" yaml:"longValue"`
	// A list of strings.
	StringListValue *[]*string `json:"stringListValue" yaml:"stringListValue"`
	// A string, such as "department".
	StringValue *string `json:"stringValue" yaml:"stringValue"`
}

The value of a custom document attribute.

You can only provide one value for a custom attribute.

TODO: EXAMPLE

type CfnDataSource_DocumentsMetadataConfigurationProperty

type CfnDataSource_DocumentsMetadataConfigurationProperty struct {
	// A prefix used to filter metadata configuration files in the AWS S3 bucket.
	//
	// The S3 bucket might contain multiple metadata files. Use `S3Prefix` to include only the desired metadata files.
	S3Prefix *string `json:"s3Prefix" yaml:"s3Prefix"`
}

Document metadata files that contain information such as the document access control information, source URI, document author, and custom attributes.

Each metadata file contains metadata about a single document.

TODO: EXAMPLE

type CfnDataSource_GoogleDriveConfigurationProperty

type CfnDataSource_GoogleDriveConfigurationProperty struct {
	// 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) .
	SecretArn *string `json:"secretArn" yaml:"secretArn"`
	// 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) .
	ExcludeMimeTypes *[]*string `json:"excludeMimeTypes" yaml:"excludeMimeTypes"`
	// A list of identifiers or shared drives to exclude from the index.
	//
	// All files and folders stored on the shared drive are excluded.
	ExcludeSharedDrives *[]*string `json:"excludeSharedDrives" yaml:"excludeSharedDrives"`
	// 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.
	ExcludeUserAccounts *[]*string `json:"excludeUserAccounts" yaml:"excludeUserAccounts"`
	// A list of regular expression patterns that apply to the path on Google Drive.
	//
	// Items that match the pattern are excluded from the index from both shared drives and users' My Drives. Items that don't match the pattern are included in the index. If an item matches both an exclusion pattern and an inclusion pattern, it is excluded from the index.
	ExclusionPatterns *[]*string `json:"exclusionPatterns" yaml:"exclusionPatterns"`
	// Defines mapping between a field in the Google Drive and a Amazon Kendra index field.
	//
	// If you are using the console, you can define index fields when creating the mapping. If you are using the API, you must first create the field using the `UpdateIndex` API.
	FieldMappings interface{} `json:"fieldMappings" yaml:"fieldMappings"`
	// A list of regular expression patterns that apply to path on Google Drive.
	//
	// Items that match the pattern are included in the index from both shared drives and users' My Drives. Items that don't match the pattern are excluded from the index. If an item matches both an inclusion pattern and an exclusion pattern, it is excluded from the index.
	InclusionPatterns *[]*string `json:"inclusionPatterns" yaml:"inclusionPatterns"`
}

Provides the configuration information to connect to Google Drive as your data source.

TODO: EXAMPLE

type CfnDataSource_HookConfigurationProperty

type CfnDataSource_HookConfigurationProperty struct {
	// The Amazon Resource Name (ARN) of a role with permission to run a Lambda function during ingestion.
	//
	// For more information, see [IAM roles for Amazon Kendra](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html) .
	LambdaArn *string `json:"lambdaArn" yaml:"lambdaArn"`
	// 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) .
	S3Bucket *string `json:"s3Bucket" yaml:"s3Bucket"`
	// 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.
	InvocationCondition interface{} `json:"invocationCondition" yaml:"invocationCondition"`
}

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) .

TODO: EXAMPLE

type CfnDataSource_InlineCustomDocumentEnrichmentConfigurationProperty

type CfnDataSource_InlineCustomDocumentEnrichmentConfigurationProperty struct {
	// Configuration of the condition used for the target document attribute or metadata field when ingesting documents into Amazon Kendra.
	Condition interface{} `json:"condition" yaml:"condition"`
	// `TRUE` to delete content if the condition used for the target attribute is met.
	DocumentContentDeletion interface{} `json:"documentContentDeletion" yaml:"documentContentDeletion"`
	// Configuration of the target document attribute or metadata field when ingesting documents into Amazon Kendra.
	//
	// You can also include a value.
	Target interface{} `json:"target" yaml:"target"`
}

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) .

TODO: EXAMPLE

type CfnDataSource_OneDriveConfigurationProperty

type CfnDataSource_OneDriveConfigurationProperty struct {
	// A list of user accounts whose documents should be indexed.
	OneDriveUsers interface{} `json:"oneDriveUsers" yaml:"oneDriveUsers"`
	// The Amazon Resource Name (ARN) of an AWS Secrets Manager secret that contains the user name and password to connect to OneDrive.
	//
	// The user named should be the application ID for the OneDrive application, and the password is the application key for the OneDrive application.
	SecretArn *string `json:"secretArn" yaml:"secretArn"`
	// The Azure Active Directory domain of the organization.
	TenantDomain *string `json:"tenantDomain" yaml:"tenantDomain"`
	// A Boolean value that specifies whether local groups are disabled ( `True` ) or enabled ( `False` ).
	DisableLocalGroups interface{} `json:"disableLocalGroups" yaml:"disableLocalGroups"`
	// List of regular expressions applied to documents.
	//
	// Items that match the exclusion pattern are not indexed. If you provide both an inclusion pattern and an exclusion pattern, any item that matches the exclusion pattern isn't indexed.
	//
	// The exclusion pattern is applied to the file name.
	ExclusionPatterns *[]*string `json:"exclusionPatterns" yaml:"exclusionPatterns"`
	// A list of `DataSourceToIndexFieldMapping` objects that map Microsoft OneDrive fields to custom fields in the Amazon Kendra index.
	//
	// You must first create the index fields before you map OneDrive fields.
	FieldMappings interface{} `json:"fieldMappings" yaml:"fieldMappings"`
	// A list of regular expression patterns.
	//
	// Documents that match the pattern are included in the index. Documents that don't match the pattern are excluded from the index. If a document matches both an inclusion pattern and an exclusion pattern, the document is not included in the index.
	//
	// The exclusion pattern is applied to the file name.
	InclusionPatterns *[]*string `json:"inclusionPatterns" yaml:"inclusionPatterns"`
}

Provides the configuration information to connect to OneDrive as your data source.

TODO: EXAMPLE

type CfnDataSource_OneDriveUsersProperty

type CfnDataSource_OneDriveUsersProperty struct {
	// A list of users whose documents should be indexed.
	//
	// Specify the user names in email format, for example, `username@tenantdomain` . If you need to index the documents of more than 100 users, use the `OneDriveUserS3Path` field to specify the location of a file containing a list of users.
	OneDriveUserList *[]*string `json:"oneDriveUserList" yaml:"oneDriveUserList"`
	// The S3 bucket location of a file containing a list of users whose documents should be indexed.
	OneDriveUserS3Path interface{} `json:"oneDriveUserS3Path" yaml:"oneDriveUserS3Path"`
}

User accounts whose documents should be indexed.

TODO: EXAMPLE

type CfnDataSource_ProxyConfigurationProperty

type CfnDataSource_ProxyConfigurationProperty struct {
	// 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".
	Host *string `json:"host" yaml:"host"`
	// 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.
	Port *float64 `json:"port" yaml:"port"`
	// Your secret ARN, which you can create 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.
	Credentials *string `json:"credentials" yaml:"credentials"`
}

Provides the configuration information for a web proxy to connect to website hosts.

TODO: EXAMPLE

type CfnDataSource_S3DataSourceConfigurationProperty

type CfnDataSource_S3DataSourceConfigurationProperty struct {
	// The name of the bucket that contains the documents.
	BucketName *string `json:"bucketName" yaml:"bucketName"`
	// Provides the path to the S3 bucket that contains the user context filtering files for the data source.
	//
	// For the format of the file, see [Access control for S3 data sources](https://docs.aws.amazon.com/kendra/latest/dg/s3-acl.html) .
	AccessControlListConfiguration interface{} `json:"accessControlListConfiguration" yaml:"accessControlListConfiguration"`
	// Specifies document metadata files that contain information such as the document access control information, source URI, document author, and custom attributes.
	//
	// Each metadata file contains metadata about a single document.
	DocumentsMetadataConfiguration interface{} `json:"documentsMetadataConfiguration" yaml:"documentsMetadataConfiguration"`
	// A list of glob patterns for documents that should not be indexed.
	//
	// If a document that matches an inclusion prefix or inclusion pattern also matches an exclusion pattern, the document is not indexed.
	//
	// Some [examples](https://docs.aws.amazon.com/cli/latest/reference/s3/#use-of-exclude-and-include-filters) are:
	//
	// - **.png , *.jpg* will exclude all PNG and JPEG image files in a directory (files with the extensions .png and .jpg).
	// - **internal** will exclude all files in a directory that contain 'internal' in the file name, such as 'internal', 'internal_only', 'company_internal'.
	// - *** /*internal** will exclude all internal-related files in a directory and its subdirectories.
	ExclusionPatterns *[]*string `json:"exclusionPatterns" yaml:"exclusionPatterns"`
	// A list of glob patterns for documents that should be indexed.
	//
	// If a document that matches an inclusion pattern also matches an exclusion pattern, the document is not indexed.
	//
	// Some [examples](https://docs.aws.amazon.com/cli/latest/reference/s3/#use-of-exclude-and-include-filters) are:
	//
	// - **.txt* will include all text files in a directory (files with the extension .txt).
	// - *** /*.txt* will include all text files in a directory and its subdirectories.
	// - **tax** will include all files in a directory that contain 'tax' in the file name, such as 'tax', 'taxes', 'income_tax'.
	InclusionPatterns *[]*string `json:"inclusionPatterns" yaml:"inclusionPatterns"`
	// A list of S3 prefixes for the documents that should be included in the index.
	InclusionPrefixes *[]*string `json:"inclusionPrefixes" yaml:"inclusionPrefixes"`
}

Provides the configuration information to connect to an Amazon S3 bucket.

TODO: EXAMPLE

type CfnDataSource_S3PathProperty

type CfnDataSource_S3PathProperty struct {
	// The name of the S3 bucket that contains the file.
	Bucket *string `json:"bucket" yaml:"bucket"`
	// The name of the file.
	Key *string `json:"key" yaml:"key"`
}

Information required to find a specific file in an Amazon S3 bucket.

TODO: EXAMPLE

type CfnDataSource_SalesforceChatterFeedConfigurationProperty

type CfnDataSource_SalesforceChatterFeedConfigurationProperty struct {
	// The name of the column in the Salesforce FeedItem table that contains the content to index.
	//
	// Typically this is the `Body` column.
	DocumentDataFieldName *string `json:"documentDataFieldName" yaml:"documentDataFieldName"`
	// The name of the column in the Salesforce FeedItem table that contains the title of the document.
	//
	// This is typically the `Title` column.
	DocumentTitleFieldName *string `json:"documentTitleFieldName" yaml:"documentTitleFieldName"`
	// Maps fields from a Salesforce chatter feed into Amazon Kendra index fields.
	FieldMappings interface{} `json:"fieldMappings" yaml:"fieldMappings"`
	// Filters the documents in the feed based on status of the user.
	//
	// When you specify `ACTIVE_USERS` only documents from users who have an active account are indexed. When you specify `STANDARD_USER` only documents for Salesforce standard users are documented. You can specify both.
	IncludeFilterTypes *[]*string `json:"includeFilterTypes" yaml:"includeFilterTypes"`
}

The configuration information for syncing a Salesforce chatter feed.

The contents of the object comes from the Salesforce FeedItem table.

TODO: EXAMPLE

type CfnDataSource_SalesforceConfigurationProperty

type CfnDataSource_SalesforceConfigurationProperty struct {
	// The Amazon Resource Name (ARN) of an AWS Secrets Manager secret that contains the key/value pairs required to connect to your Salesforce instance.
	//
	// The secret must contain a JSON structure with the following keys:
	//
	// - authenticationUrl - The OAUTH endpoint that Amazon Kendra connects to get an OAUTH token.
	// - consumerKey - The application public key generated when you created your Salesforce application.
	// - consumerSecret - The application private key generated when you created your Salesforce application.
	// - password - The password associated with the user logging in to the Salesforce instance.
	// - securityToken - The token associated with the user account logging in to the Salesforce instance.
	// - username - The user name of the user logging in to the Salesforce instance.
	SecretArn *string `json:"secretArn" yaml:"secretArn"`
	// The instance URL for the Salesforce site that you want to index.
	ServerUrl *string `json:"serverUrl" yaml:"serverUrl"`
	// Specifies configuration information for Salesforce chatter feeds.
	ChatterFeedConfiguration interface{} `json:"chatterFeedConfiguration" yaml:"chatterFeedConfiguration"`
	// Indicates whether Amazon Kendra should index attachments to Salesforce objects.
	CrawlAttachments interface{} `json:"crawlAttachments" yaml:"crawlAttachments"`
	// A list of regular expression patterns.
	//
	// 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 exclusion pattern and an inclusion pattern, the document is not included in the index.
	//
	// The regex is applied to the name of the attached file.
	ExcludeAttachmentFilePatterns *[]*string `json:"excludeAttachmentFilePatterns" yaml:"excludeAttachmentFilePatterns"`
	// A list of regular expression patterns.
	//
	// 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 pattern and an exclusion pattern, the document is not included in the index.
	//
	// The regex is applied to the name of the attached file.
	IncludeAttachmentFilePatterns *[]*string `json:"includeAttachmentFilePatterns" yaml:"includeAttachmentFilePatterns"`
	// Specifies 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.
	KnowledgeArticleConfiguration interface{} `json:"knowledgeArticleConfiguration" yaml:"knowledgeArticleConfiguration"`
	// Configuration information for processing attachments to Salesforce standard objects.
	StandardObjectAttachmentConfiguration interface{} `json:"standardObjectAttachmentConfiguration" yaml:"standardObjectAttachmentConfiguration"`
	// Specifies the Salesforce standard objects that Amazon Kendra indexes.
	StandardObjectConfigurations interface{} `json:"standardObjectConfigurations" yaml:"standardObjectConfigurations"`
}

Provides configuration information for connecting to a Salesforce data source.

TODO: EXAMPLE

type CfnDataSource_SalesforceCustomKnowledgeArticleTypeConfigurationProperty

type CfnDataSource_SalesforceCustomKnowledgeArticleTypeConfigurationProperty struct {
	// The name of the field in the custom knowledge article that contains the document data to index.
	DocumentDataFieldName *string `json:"documentDataFieldName" yaml:"documentDataFieldName"`
	// The name of the configuration.
	Name *string `json:"name" yaml:"name"`
	// The name of the field in the custom knowledge article that contains the document title.
	DocumentTitleFieldName *string `json:"documentTitleFieldName" yaml:"documentTitleFieldName"`
	// One or more objects that map fields in the custom knowledge article to fields in the Amazon Kendra index.
	FieldMappings interface{} `json:"fieldMappings" yaml:"fieldMappings"`
}

Provides configuration information for indexing Salesforce custom articles.

TODO: EXAMPLE

type CfnDataSource_SalesforceKnowledgeArticleConfigurationProperty

type CfnDataSource_SalesforceKnowledgeArticleConfigurationProperty struct {
	// Specifies the document states that should be included when Amazon Kendra indexes knowledge articles.
	//
	// You must specify at least one state.
	IncludedStates *[]*string `json:"includedStates" yaml:"includedStates"`
	// Configuration information for custom Salesforce knowledge articles.
	CustomKnowledgeArticleTypeConfigurations interface{} `json:"customKnowledgeArticleTypeConfigurations" yaml:"customKnowledgeArticleTypeConfigurations"`
	// Configuration information for standard Salesforce knowledge articles.
	StandardKnowledgeArticleTypeConfiguration interface{} `json:"standardKnowledgeArticleTypeConfiguration" yaml:"standardKnowledgeArticleTypeConfiguration"`
}

Provides the 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

TODO: EXAMPLE

type CfnDataSource_SalesforceStandardKnowledgeArticleTypeConfigurationProperty

type CfnDataSource_SalesforceStandardKnowledgeArticleTypeConfigurationProperty struct {
	// The name of the field that contains the document data to index.
	DocumentDataFieldName *string `json:"documentDataFieldName" yaml:"documentDataFieldName"`
	// The name of the field that contains the document title.
	DocumentTitleFieldName *string `json:"documentTitleFieldName" yaml:"documentTitleFieldName"`
	// One or more objects that map fields in the knowledge article to Amazon Kendra index fields.
	//
	// The index field must exist before you can map a Salesforce field to it.
	FieldMappings interface{} `json:"fieldMappings" yaml:"fieldMappings"`
}

Configuration information for standard Salesforce knowledge articles.

TODO: EXAMPLE

type CfnDataSource_SalesforceStandardObjectAttachmentConfigurationProperty

type CfnDataSource_SalesforceStandardObjectAttachmentConfigurationProperty struct {
	// The name of the field used for the document title.
	DocumentTitleFieldName *string `json:"documentTitleFieldName" yaml:"documentTitleFieldName"`
	// One or more objects that map fields in attachments to Amazon Kendra index fields.
	FieldMappings interface{} `json:"fieldMappings" yaml:"fieldMappings"`
}

Provides the configuration information for processing attachments to Salesforce standard objects.

TODO: EXAMPLE

type CfnDataSource_SalesforceStandardObjectConfigurationProperty

type CfnDataSource_SalesforceStandardObjectConfigurationProperty struct {
	// The name of the field in the standard object table that contains the document contents.
	DocumentDataFieldName *string `json:"documentDataFieldName" yaml:"documentDataFieldName"`
	// The name of the standard object.
	Name *string `json:"name" yaml:"name"`
	// The name of the field in the standard object table that contains the document title.
	DocumentTitleFieldName *string `json:"documentTitleFieldName" yaml:"documentTitleFieldName"`
	// One or more objects that map fields in the standard object to Amazon Kendra index fields.
	//
	// The index field must exist before you can map a Salesforce field to it.
	FieldMappings interface{} `json:"fieldMappings" yaml:"fieldMappings"`
}

Specifies configuration information for indexing a single standard object.

TODO: EXAMPLE

type CfnDataSource_ServiceNowConfigurationProperty

type CfnDataSource_ServiceNowConfigurationProperty struct {
	// The ServiceNow instance that the data source connects to.
	//
	// The host endpoint should look like the following: `{instance}.service-now.com.`
	HostUrl *string `json:"hostUrl" yaml:"hostUrl"`
	// 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.
	SecretArn *string `json:"secretArn" yaml:"secretArn"`
	// The identifier of the release that the ServiceNow host is running.
	//
	// If the host is not running the `LONDON` release, use `OTHERS` .
	ServiceNowBuildVersion *string `json:"serviceNowBuildVersion" yaml:"serviceNowBuildVersion"`
	// Determines the type of authentication used to connect to the ServiceNow instance.
	//
	// If you choose `HTTP_BASIC` , Amazon Kendra is authenticated using the user name and password provided in the AWS Secrets Manager secret in the `SecretArn` field. When you choose `OAUTH2` , Amazon Kendra is authenticated using the OAuth token and secret provided in the Secrets Manager secret, and the user name and password are used to determine which information Amazon Kendra has access to.
	//
	// When you use `OAUTH2` authentication, you must generate a token and a client secret using the ServiceNow console. For more information, see [Using a ServiceNow data source](https://docs.aws.amazon.com/kendra/latest/dg/data-source-servicenow.html) .
	AuthenticationType *string `json:"authenticationType" yaml:"authenticationType"`
	// Configuration information for crawling knowledge articles in the ServiceNow site.
	KnowledgeArticleConfiguration interface{} `json:"knowledgeArticleConfiguration" yaml:"knowledgeArticleConfiguration"`
	// Configuration information for crawling service catalogs in the ServiceNow site.
	ServiceCatalogConfiguration interface{} `json:"serviceCatalogConfiguration" yaml:"serviceCatalogConfiguration"`
}

Provides the configuration information to connect to ServiceNow as your data source.

TODO: EXAMPLE

type CfnDataSource_ServiceNowKnowledgeArticleConfigurationProperty

type CfnDataSource_ServiceNowKnowledgeArticleConfigurationProperty struct {
	// The name of the ServiceNow field that is mapped to the index document contents field in the Amazon Kendra index.
	DocumentDataFieldName *string `json:"documentDataFieldName" yaml:"documentDataFieldName"`
	// Indicates whether Amazon Kendra should index attachments to knowledge articles.
	CrawlAttachments interface{} `json:"crawlAttachments" yaml:"crawlAttachments"`
	// The name of the ServiceNow field that is mapped to the index document title field.
	DocumentTitleFieldName *string `json:"documentTitleFieldName" yaml:"documentTitleFieldName"`
	// List of regular expressions applied to knowledge articles.
	//
	// Items that don't match the inclusion pattern are not indexed. The regex is applied to the field specified in the `PatternTargetField`
	ExcludeAttachmentFilePatterns *[]*string `json:"excludeAttachmentFilePatterns" yaml:"excludeAttachmentFilePatterns"`
	// Mapping between ServiceNow fields and Amazon Kendra index fields.
	//
	// You must create the index field before you map the field.
	FieldMappings interface{} `json:"fieldMappings" yaml:"fieldMappings"`
	// A query that selects the knowledge articles to index.
	//
	// The query can return articles from multiple knowledge bases, and the knowledge bases can be public or private.
	//
	// The query string must be one generated by the ServiceNow console. For more information, see [Specifying documents to index with a query](https://docs.aws.amazon.com/kendra/latest/dg/servicenow-query.html) .
	FilterQuery *string `json:"filterQuery" yaml:"filterQuery"`
	// List of regular expressions applied to knowledge articles.
	//
	// Items that don't match the inclusion pattern are not indexed. The regex is applied to the field specified in the `PatternTargetField` .
	IncludeAttachmentFilePatterns *[]*string `json:"includeAttachmentFilePatterns" yaml:"includeAttachmentFilePatterns"`
}

Provides the configuration information for crawling knowledge articles in the ServiceNow site.

TODO: EXAMPLE

type CfnDataSource_ServiceNowServiceCatalogConfigurationProperty

type CfnDataSource_ServiceNowServiceCatalogConfigurationProperty struct {
	// The name of the ServiceNow field that is mapped to the index document contents field in the Amazon Kendra index.
	DocumentDataFieldName *string `json:"documentDataFieldName" yaml:"documentDataFieldName"`
	// Indicates whether Amazon Kendra should crawl attachments to the service catalog items.
	CrawlAttachments interface{} `json:"crawlAttachments" yaml:"crawlAttachments"`
	// The name of the ServiceNow field that is mapped to the index document title field.
	DocumentTitleFieldName *string `json:"documentTitleFieldName" yaml:"documentTitleFieldName"`
	// A list of regular expression patterns.
	//
	// 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 exclusion pattern and an inclusion pattern, the document is not included in the index.
	//
	// The regex is applied to the file name of the attachment.
	ExcludeAttachmentFilePatterns *[]*string `json:"excludeAttachmentFilePatterns" yaml:"excludeAttachmentFilePatterns"`
	// Mapping between ServiceNow fields and Amazon Kendra index fields.
	//
	// You must create the index field before you map the field.
	FieldMappings interface{} `json:"fieldMappings" yaml:"fieldMappings"`
	// A list of regular expression patterns.
	//
	// 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 exclusion pattern and an inclusion pattern, the document is not included in the index.
	//
	// The regex is applied to the file name of the attachment.
	IncludeAttachmentFilePatterns *[]*string `json:"includeAttachmentFilePatterns" yaml:"includeAttachmentFilePatterns"`
}

Provides the configuration information for crawling service catalog items in the ServiceNow site.

TODO: EXAMPLE

type CfnDataSource_SharePointConfigurationProperty

type CfnDataSource_SharePointConfigurationProperty struct {
	// The Amazon Resource Name (ARN) of credentials stored in AWS Secrets Manager .
	//
	// The credentials should be a user/password pair. If you use SharePoint Server, you also need to provide the sever domain name as part of the credentials. For more information, see [Using a Microsoft SharePoint Data Source](https://docs.aws.amazon.com/kendra/latest/dg/data-source-sharepoint.html) . For more information about AWS Secrets Manager see [What Is AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) in the *AWS Secrets Manager* user guide.
	SecretArn *string `json:"secretArn" yaml:"secretArn"`
	// The version of Microsoft SharePoint that you are using as a data source.
	SharePointVersion *string `json:"sharePointVersion" yaml:"sharePointVersion"`
	// The URLs of the Microsoft SharePoint site that contains the documents that should be indexed.
	Urls *[]*string `json:"urls" yaml:"urls"`
	// `TRUE` to include attachments to documents stored in your Microsoft SharePoint site in the index;
	//
	// otherwise, `FALSE` .
	CrawlAttachments interface{} `json:"crawlAttachments" yaml:"crawlAttachments"`
	// A Boolean value that specifies whether local groups are disabled ( `True` ) or enabled ( `False` ).
	DisableLocalGroups interface{} `json:"disableLocalGroups" yaml:"disableLocalGroups"`
	// The Microsoft SharePoint attribute field that contains the title of the document.
	DocumentTitleFieldName *string `json:"documentTitleFieldName" yaml:"documentTitleFieldName"`
	// A list of regular expression patterns.
	//
	// 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 exclusion pattern and an inclusion pattern, the document is not included in the index.
	//
	// The regex is applied to the display URL of the SharePoint document.
	ExclusionPatterns *[]*string `json:"exclusionPatterns" yaml:"exclusionPatterns"`
	// A list of `DataSourceToIndexFieldMapping` objects that map Microsoft SharePoint attributes to custom fields in the Amazon Kendra index.
	//
	// You must first create the index fields using the [UpdateIndex](https://docs.aws.amazon.com/kendra/latest/dg/API_UpdateIndex.html) operation before you map SharePoint attributes. For more information, see [Mapping Data Source Fields](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html) .
	FieldMappings interface{} `json:"fieldMappings" yaml:"fieldMappings"`
	// A list of regular expression patterns.
	//
	// 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 pattern and an exclusion pattern, the document is not included in the index.
	//
	// The regex is applied to the display URL of the SharePoint document.
	InclusionPatterns *[]*string `json:"inclusionPatterns" yaml:"inclusionPatterns"`
	// Information required to find a specific file in an Amazon S3 bucket.
	SslCertificateS3Path interface{} `json:"sslCertificateS3Path" yaml:"sslCertificateS3Path"`
	// Set to `TRUE` to use the Microsoft SharePoint change log to determine the documents that need to be updated in the index.
	//
	// Depending on the size of the SharePoint change log, it may take longer for Amazon Kendra to use the change log than it takes it to determine the changed documents using the Amazon Kendra document crawler.
	UseChangeLog interface{} `json:"useChangeLog" yaml:"useChangeLog"`
	// Provides information for connecting to an Amazon VPC.
	VpcConfiguration interface{} `json:"vpcConfiguration" yaml:"vpcConfiguration"`
}

Provides the configuration information to connect to Microsoft SharePoint as your data source.

TODO: EXAMPLE

type CfnDataSource_SqlConfigurationProperty

type CfnDataSource_SqlConfigurationProperty struct {
	// Determines whether Amazon Kendra encloses SQL identifiers for tables and column names in double quotes (") when making a database query.
	//
	// You can set the value to `DOUBLE_QUOTES` or `NONE` .
	//
	// By default, Amazon Kendra passes SQL identifiers the way that they are entered into the data source configuration. It does not change the case of identifiers or enclose them in quotes.
	//
	// PostgreSQL internally converts uppercase characters to lower case characters in identifiers unless they are quoted. Choosing this option encloses identifiers in quotes so that PostgreSQL does not convert the character's case.
	//
	// For MySQL databases, you must enable the ansi_quotes option when you set this field to `DOUBLE_QUOTES` .
	QueryIdentifiersEnclosingOption *string `json:"queryIdentifiersEnclosingOption" yaml:"queryIdentifiersEnclosingOption"`
}

Provides information that configures Amazon Kendra to use a SQL database.

TODO: EXAMPLE

type CfnDataSource_WebCrawlerAuthenticationConfigurationProperty

type CfnDataSource_WebCrawlerAuthenticationConfigurationProperty struct {
	// 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.
	BasicAuthentication interface{} `json:"basicAuthentication" yaml:"basicAuthentication"`
}

Provides the configuration information to connect to websites that require user authentication.

TODO: EXAMPLE

type CfnDataSource_WebCrawlerBasicAuthenticationProperty

type CfnDataSource_WebCrawlerBasicAuthenticationProperty struct {
	// Your secret ARN, which you can create 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.
	Credentials *string `json:"credentials" yaml:"credentials"`
	// 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".
	Host *string `json:"host" yaml:"host"`
	// 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.
	Port *float64 `json:"port" yaml:"port"`
}

Provides the configuration information to connect to websites that require basic user authentication.

TODO: EXAMPLE

type CfnDataSource_WebCrawlerConfigurationProperty

type CfnDataSource_WebCrawlerConfigurationProperty struct {
	// 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.*
	Urls interface{} `json:"urls" yaml:"urls"`
	// Configuration information required to connect to websites using authentication.
	//
	// You can connect to websites using basic authentication of user name and password.
	//
	// 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. You use a secret in [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) to store your authentication credentials.
	AuthenticationConfiguration interface{} `json:"authenticationConfiguration" yaml:"authenticationConfiguration"`
	// Specifies the number of levels in a website that you want to crawl.
	//
	// The first level begins from the website seed or starting point URL. For example, if a website has 3 levels – index level (i.e. seed in this example), sections level, and subsections level – and you are only interested in crawling information up to the sections level (i.e. levels 0-1), you can set your depth to 1.
	//
	// The default crawl depth is set to 2.
	CrawlDepth *float64 `json:"crawlDepth" yaml:"crawlDepth"`
	// The maximum size (in MB) of a webpage or attachment to crawl.
	//
	// Files larger than this size (in MB) are skipped/not crawled.
	//
	// The default maximum size of a webpage or attachment is set to 50 MB.
	MaxContentSizePerPageInMegaBytes *float64 `json:"maxContentSizePerPageInMegaBytes" yaml:"maxContentSizePerPageInMegaBytes"`
	// The maximum number of URLs on a webpage to include when crawling a website. This number is per webpage.
	//
	// As a website’s webpages are crawled, any URLs the webpages link to are also crawled. URLs on a webpage are crawled in order of appearance.
	//
	// The default maximum links per page is 100.
	MaxLinksPerPage *float64 `json:"maxLinksPerPage" yaml:"maxLinksPerPage"`
	// 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.
	MaxUrlsPerMinuteCrawlRate *float64 `json:"maxUrlsPerMinuteCrawlRate" yaml:"maxUrlsPerMinuteCrawlRate"`
	// 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) .
	ProxyConfiguration interface{} `json:"proxyConfiguration" yaml:"proxyConfiguration"`
	// The regular expression pattern to exclude certain URLs to crawl.
	//
	// If there is a regular expression pattern to include certain URLs that conflicts with the exclude pattern, the exclude pattern takes precedence.
	UrlExclusionPatterns *[]*string `json:"urlExclusionPatterns" yaml:"urlExclusionPatterns"`
	// The regular expression pattern to include certain URLs to crawl.
	//
	// If there is a regular expression pattern to exclude certain URLs that conflicts with the include pattern, the exclude pattern takes precedence.
	UrlInclusionPatterns *[]*string `json:"urlInclusionPatterns" yaml:"urlInclusionPatterns"`
}

Provides the configuration information required for Amazon Kendra Web Crawler.

TODO: EXAMPLE

type CfnDataSource_WebCrawlerSeedUrlConfigurationProperty

type CfnDataSource_WebCrawlerSeedUrlConfigurationProperty struct {
	// 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.
	SeedUrls *[]*string `json:"seedUrls" yaml:"seedUrls"`
	// 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 webpages link to.
	//
	// The default mode is set to `HOST_ONLY` .
	WebCrawlerMode *string `json:"webCrawlerMode" yaml:"webCrawlerMode"`
}

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.*

TODO: EXAMPLE

type CfnDataSource_WebCrawlerSiteMapsConfigurationProperty

type CfnDataSource_WebCrawlerSiteMapsConfigurationProperty struct {
	// The list of sitemap URLs of the websites you want to crawl.
	//
	// The list can include a maximum of three sitemap URLs.
	SiteMaps *[]*string `json:"siteMaps" yaml:"siteMaps"`
}

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.*

TODO: EXAMPLE

type CfnDataSource_WebCrawlerUrlsProperty

type CfnDataSource_WebCrawlerUrlsProperty struct {
	// 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 webpages link to.
	//
	// You can list up to 100 seed URLs.
	SeedUrlConfiguration interface{} `json:"seedUrlConfiguration" yaml:"seedUrlConfiguration"`
	// 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.
	SiteMapsConfiguration interface{} `json:"siteMapsConfiguration" yaml:"siteMapsConfiguration"`
}

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.*

TODO: EXAMPLE

type CfnDataSource_WorkDocsConfigurationProperty

type CfnDataSource_WorkDocsConfigurationProperty struct {
	// The identifier of the directory corresponding to your Amazon WorkDocs site repository.
	//
	// You can find the organization ID in the [AWS Directory Service](https://docs.aws.amazon.com/directoryservicev2/) by going to *Active Directory* , then *Directories* . Your Amazon WorkDocs site directory has an ID, which is the organization ID. You can also set up a new Amazon WorkDocs directory in the AWS Directory Service console and enable a Amazon WorkDocs site for the directory in the Amazon WorkDocs console.
	OrganizationId *string `json:"organizationId" yaml:"organizationId"`
	// `TRUE` to include comments on documents in your index.
	//
	// Including comments in your index means each comment is a document that can be searched on.
	//
	// The default is set to `FALSE` .
	CrawlComments interface{} `json:"crawlComments" yaml:"crawlComments"`
	// A list of regular expression patterns to exclude certain files in your Amazon WorkDocs site repository.
	//
	// Files that match the patterns are excluded from the index. Files that don’t match the patterns are included in the index. If a file matches both an inclusion pattern and an exclusion pattern, the exclusion pattern takes precedence and the file isn’t included in the index.
	ExclusionPatterns *[]*string `json:"exclusionPatterns" yaml:"exclusionPatterns"`
	// A list of `DataSourceToIndexFieldMapping` objects that map Amazon WorkDocs field names to custom index field names in Amazon Kendra.
	//
	// You must first create the custom index fields using the `UpdateIndex` API before you map to Amazon WorkDocs fields. For more information, see [Mapping Data Source Fields](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html) . The Amazon WorkDocs data source field names need to exist in your Amazon WorkDocs custom metadata.
	FieldMappings interface{} `json:"fieldMappings" yaml:"fieldMappings"`
	// A list of regular expression patterns to include certain files in your Amazon WorkDocs site repository.
	//
	// Files that match the patterns are included in the index. Files that don't match the patterns are excluded from the index. If a file matches both an inclusion pattern and an exclusion pattern, the exclusion pattern takes precedence and the file isn’t included in the index.
	InclusionPatterns *[]*string `json:"inclusionPatterns" yaml:"inclusionPatterns"`
	// `TRUE` to use the change logs to update documents in your index instead of scanning all documents.
	//
	// If you are syncing your Amazon WorkDocs data source with your index for the first time, all documents are scanned. After your first sync, you can use the change logs to update your documents in your index for future syncs.
	//
	// The default is set to `FALSE` .
	UseChangeLog interface{} `json:"useChangeLog" yaml:"useChangeLog"`
}

Provides the configuration information to connect to Amazon WorkDocs as your data source.

Amazon WorkDocs connector is available in Oregon, North Virginia, Sydney, Singapore and Ireland regions.

TODO: EXAMPLE

type CfnFaq

type CfnFaq interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AttrArn() *string
	AttrId() *string
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	CreationStack() *[]*string
	Description() *string
	SetDescription(val *string)
	FileFormat() *string
	SetFileFormat(val *string)
	IndexId() *string
	SetIndexId(val *string)
	LogicalId() *string
	Name() *string
	SetName(val *string)
	Node() awscdk.ConstructNode
	Ref() *string
	RoleArn() *string
	SetRoleArn(val *string)
	S3Path() interface{}
	SetS3Path(val interface{})
	Stack() awscdk.Stack
	Tags() awscdk.TagManager
	UpdatedProperites() *map[string]interface{}
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OnPrepare()
	OnSynthesize(session constructs.ISynthesisSession)
	OnValidate() *[]*string
	OverrideLogicalId(newLogicalId *string)
	Prepare()
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	Synthesize(session awscdk.ISynthesisSession)
	ToString() *string
	Validate() *[]*string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::Kendra::Faq`.

Specifies an new set of frequently asked question (FAQ) questions and answers.

TODO: EXAMPLE

func NewCfnFaq

func NewCfnFaq(scope awscdk.Construct, id *string, props *CfnFaqProps) CfnFaq

Create a new `AWS::Kendra::Faq`.

type CfnFaqProps

type CfnFaqProps struct {
	// The identifier of the index that contains the FAQ.
	IndexId *string `json:"indexId" yaml:"indexId"`
	// The name that you assigned the FAQ when you created or updated the FAQ.
	Name *string `json:"name" yaml:"name"`
	// The Amazon Resource Name (ARN) of a role with permission to access the S3 bucket that contains the FAQ.
	RoleArn *string `json:"roleArn" yaml:"roleArn"`
	// The Amazon Simple Storage Service (Amazon S3) location of the FAQ input data.
	S3Path interface{} `json:"s3Path" yaml:"s3Path"`
	// A description of the FAQ.
	Description *string `json:"description" yaml:"description"`
	// The format of the input file.
	//
	// You can choose between a basic CSV format, a CSV format that includes customs attributes in a header, and a JSON format that includes custom attributes.
	//
	// The format must match the format of the file stored in the S3 bucket identified in the S3Path parameter.
	//
	// Valid values are:
	//
	// - `CSV`
	// - `CSV_WITH_HEADER`
	// - `JSON`
	FileFormat *string `json:"fileFormat" yaml:"fileFormat"`
	// An array of key-value pairs to apply to this resource.
	//
	// For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .
	Tags *[]*awscdk.CfnTag `json:"tags" yaml:"tags"`
}

Properties for defining a `CfnFaq`.

TODO: EXAMPLE

type CfnFaq_S3PathProperty

type CfnFaq_S3PathProperty struct {
	// The name of the S3 bucket that contains the file.
	Bucket *string `json:"bucket" yaml:"bucket"`
	// The name of the file.
	Key *string `json:"key" yaml:"key"`
}

Information required to find a specific file in an Amazon S3 bucket.

TODO: EXAMPLE

type CfnIndex

type CfnIndex interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AttrArn() *string
	AttrId() *string
	CapacityUnits() interface{}
	SetCapacityUnits(val interface{})
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	CreationStack() *[]*string
	Description() *string
	SetDescription(val *string)
	DocumentMetadataConfigurations() interface{}
	SetDocumentMetadataConfigurations(val interface{})
	Edition() *string
	SetEdition(val *string)
	LogicalId() *string
	Name() *string
	SetName(val *string)
	Node() awscdk.ConstructNode
	Ref() *string
	RoleArn() *string
	SetRoleArn(val *string)
	ServerSideEncryptionConfiguration() interface{}
	SetServerSideEncryptionConfiguration(val interface{})
	Stack() awscdk.Stack
	Tags() awscdk.TagManager
	UpdatedProperites() *map[string]interface{}
	UserContextPolicy() *string
	SetUserContextPolicy(val *string)
	UserTokenConfigurations() interface{}
	SetUserTokenConfigurations(val interface{})
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OnPrepare()
	OnSynthesize(session constructs.ISynthesisSession)
	OnValidate() *[]*string
	OverrideLogicalId(newLogicalId *string)
	Prepare()
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	Synthesize(session awscdk.ISynthesisSession)
	ToString() *string
	Validate() *[]*string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::Kendra::Index`.

Specifies a new Amazon Kendra index. And index is a collection of documents and associated metadata that you want to search for relevant documents.

Once the index is active you can add documents to your index using the [BatchPutDocument](https://docs.aws.amazon.com/kendra/latest/dg/BatchPutDocument.html) operation or using one of the supported data sources.

TODO: EXAMPLE

func NewCfnIndex

func NewCfnIndex(scope awscdk.Construct, id *string, props *CfnIndexProps) CfnIndex

Create a new `AWS::Kendra::Index`.

type CfnIndexProps

type CfnIndexProps struct {
	// Indicates whether the index is a enterprise edition index or a developer edition index.
	//
	// Valid values are `DEVELOPER_EDITION` and `ENTERPRISE_EDITION` .
	Edition *string `json:"edition" yaml:"edition"`
	// The name of the index.
	Name *string `json:"name" yaml:"name"`
	// An IAM role that gives Amazon Kendra permissions to access your Amazon CloudWatch logs and metrics.
	//
	// This is also the role used when you use the [BatchPutDocument](https://docs.aws.amazon.com/kendra/latest/dg/BatchPutDocument.html) operation to index documents from an Amazon S3 bucket.
	RoleArn *string `json:"roleArn" yaml:"roleArn"`
	// Specifies capacity units configured for your index.
	//
	// You can add and remove capacity units to tune an index to your requirements. You can set capacity units only for Enterprise edition indexes.
	CapacityUnits interface{} `json:"capacityUnits" yaml:"capacityUnits"`
	// A description of the index.
	Description *string `json:"description" yaml:"description"`
	// Specifies the properties of an index field.
	//
	// You can add either a custom or a built-in field. You can add and remove built-in fields at any time. When a built-in field is removed it's configuration reverts to the default for the field. Custom fields can't be removed from an index after they are added.
	DocumentMetadataConfigurations interface{} `json:"documentMetadataConfigurations" yaml:"documentMetadataConfigurations"`
	// The identifier of the AWS KMS customer managed key (CMK) to use to encrypt data indexed by Amazon Kendra.
	//
	// Amazon Kendra doesn't support asymmetric CMKs.
	ServerSideEncryptionConfiguration interface{} `json:"serverSideEncryptionConfiguration" yaml:"serverSideEncryptionConfiguration"`
	// An array of key-value pairs to apply to this resource.
	//
	// For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .
	Tags *[]*awscdk.CfnTag `json:"tags" yaml:"tags"`
	// The user context policy.
	//
	// ATTRIBUTE_FILTER
	//
	// - All indexed content is searchable and displayable for all users. If there is an access control list, it is ignored. You can filter on user and group attributes.
	//
	// USER_TOKEN
	//
	// - Enables SSO and token-based user access control. All documents with no access control and all documents accessible to the user will be searchable and displayable.
	UserContextPolicy *string `json:"userContextPolicy" yaml:"userContextPolicy"`
	// Defines the type of user token used for the index.
	UserTokenConfigurations interface{} `json:"userTokenConfigurations" yaml:"userTokenConfigurations"`
}

Properties for defining a `CfnIndex`.

TODO: EXAMPLE

type CfnIndex_CapacityUnitsConfigurationProperty

type CfnIndex_CapacityUnitsConfigurationProperty struct {
	// The amount of extra query capacity for an index and [GetQuerySuggestions](https://docs.aws.amazon.com/kendra/latest/dg/API_GetQuerySuggestions.html) capacity.
	//
	// A single extra capacity unit for an index provides 0.1 queries per second or approximately 8,000 queries per day.
	//
	// `GetQuerySuggestions` capacity is five times the provisioned query capacity for an index, or the base capacity of 2.5 calls per second, whichever is higher. For example, the base capacity for an index is 0.1 queries per second, and `GetQuerySuggestions` capacity has a base of 2.5 calls per second. If you add another 0.1 queries per second to total 0.2 queries per second for an index, the `GetQuerySuggestions` capacity is 2.5 calls per second (higher than five times 0.2 queries per second).
	QueryCapacityUnits *float64 `json:"queryCapacityUnits" yaml:"queryCapacityUnits"`
	// The amount of extra storage capacity for an index.
	//
	// A single capacity unit provides 30 GB of storage space or 100,000 documents, whichever is reached first.
	StorageCapacityUnits *float64 `json:"storageCapacityUnits" yaml:"storageCapacityUnits"`
}

Specifies capacity units configured for your enterprise edition index.

You can add and remove capacity units to tune an index to your requirements.

TODO: EXAMPLE

type CfnIndex_DocumentMetadataConfigurationProperty

type CfnIndex_DocumentMetadataConfigurationProperty struct {
	// The name of the index field.
	Name *string `json:"name" yaml:"name"`
	// The data type of the index field.
	Type *string `json:"type" yaml:"type"`
	// Provides manual tuning parameters to determine how the field affects the search results.
	Relevance interface{} `json:"relevance" yaml:"relevance"`
	// Provides information about how the field is used during a search.
	Search interface{} `json:"search" yaml:"search"`
}

Specifies the properties of a custom index field.

TODO: EXAMPLE

type CfnIndex_JsonTokenTypeConfigurationProperty

type CfnIndex_JsonTokenTypeConfigurationProperty struct {
	// The group attribute field.
	GroupAttributeField *string `json:"groupAttributeField" yaml:"groupAttributeField"`
	// The user name attribute field.
	UserNameAttributeField *string `json:"userNameAttributeField" yaml:"userNameAttributeField"`
}

Provides the configuration information for the JSON token type.

TODO: EXAMPLE

type CfnIndex_JwtTokenTypeConfigurationProperty

type CfnIndex_JwtTokenTypeConfigurationProperty struct {
	// The location of the key.
	KeyLocation *string `json:"keyLocation" yaml:"keyLocation"`
	// The regular expression that identifies the claim.
	ClaimRegex *string `json:"claimRegex" yaml:"claimRegex"`
	// The group attribute field.
	GroupAttributeField *string `json:"groupAttributeField" yaml:"groupAttributeField"`
	// The issuer of the token.
	Issuer *string `json:"issuer" yaml:"issuer"`
	// The Amazon Resource Name (arn) of the secret.
	SecretManagerArn *string `json:"secretManagerArn" yaml:"secretManagerArn"`
	// The signing key URL.
	Url *string `json:"url" yaml:"url"`
	// The user name attribute field.
	UserNameAttributeField *string `json:"userNameAttributeField" yaml:"userNameAttributeField"`
}

Provides the configuration information for the JWT token type.

TODO: EXAMPLE

type CfnIndex_RelevanceProperty

type CfnIndex_RelevanceProperty struct {
	// Specifies the time period that the boost applies to.
	//
	// For example, to make the boost apply to documents with the field value within the last month, you would use "2628000s". Once the field value is beyond the specified range, the effect of the boost drops off. The higher the importance, the faster the effect drops off. If you don't specify a value, the default is 3 months. The value of the field is a numeric string followed by the character "s", for example "86400s" for one day, or "604800s" for one week.
	//
	// Only applies to `DATE` fields.
	Duration *string `json:"duration" yaml:"duration"`
	// Indicates that this field determines how "fresh" a document is.
	//
	// For example, if document 1 was created on November 5, and document 2 was created on October 31, document 1 is "fresher" than document 2. You can only set the `Freshness` field on one `DATE` type field. Only applies to `DATE` fields.
	Freshness interface{} `json:"freshness" yaml:"freshness"`
	// The relative importance of the field in the search.
	//
	// Larger numbers provide more of a boost than smaller numbers.
	Importance *float64 `json:"importance" yaml:"importance"`
	// Determines how values should be interpreted.
	//
	// When the `RankOrder` field is `ASCENDING` , higher numbers are better. For example, a document with a rating score of 10 is higher ranking than a document with a rating score of 1.
	//
	// When the `RankOrder` field is `DESCENDING` , lower numbers are better. For example, in a task tracking application, a priority 1 task is more important than a priority 5 task.
	//
	// Only applies to `LONG` and `DOUBLE` fields.
	RankOrder *string `json:"rankOrder" yaml:"rankOrder"`
	// An array of key-value pairs that contains an array of values that should be given a different boost when they appear in the search result list.
	//
	// For example, if you are boosting query terms that match the department field in the result, query terms that match the department field are boosted in the result. You can add entries from the department field to boost documents with those values higher.
	//
	// For example, you can add entries to the map with names of departments. If you add "HR", 5 and "Legal",3 those departments are given special attention when they appear in the metadata of a document.
	ValueImportanceItems interface{} `json:"valueImportanceItems" yaml:"valueImportanceItems"`
}

Provides information for manually tuning the relevance of a field in a search.

When a query includes terms that match the field, the results are given a boost in the response based on these tuning parameters.

TODO: EXAMPLE

type CfnIndex_SearchProperty

type CfnIndex_SearchProperty struct {
	// Determines whether the field is returned in the query response.
	//
	// The default is `true` .
	Displayable interface{} `json:"displayable" yaml:"displayable"`
	// Indicates that the field can be used to create search facets, a count of results for each value in the field.
	//
	// The default is `false` .
	Facetable interface{} `json:"facetable" yaml:"facetable"`
	// Determines whether the field is used in the search.
	//
	// If the `Searchable` field is `true` , you can use relevance tuning to manually tune how Amazon Kendra weights the field in the search. The default is `true` for string fields and `false` for number and date fields.
	Searchable interface{} `json:"searchable" yaml:"searchable"`
	// Indicates that the field can be used to sort the search results.
	//
	// The default is `false` .
	Sortable interface{} `json:"sortable" yaml:"sortable"`
}

Provides information about how a custom index field is used during a search.

TODO: EXAMPLE

type CfnIndex_ServerSideEncryptionConfigurationProperty

type CfnIndex_ServerSideEncryptionConfigurationProperty struct {
	// The identifier of the AWS KMS customer master key (CMK).
	//
	// Amazon Kendra doesn't support asymmetric CMKs.
	KmsKeyId *string `json:"kmsKeyId" yaml:"kmsKeyId"`
}

Provides the identifier of the AWS KMS customer master key (CMK) used to encrypt data indexed by Amazon Kendra.

We suggest that you use a CMK from your account to help secure your index. Amazon Kendra doesn't support asymmetric CMKs.

TODO: EXAMPLE

type CfnIndex_UserTokenConfigurationProperty

type CfnIndex_UserTokenConfigurationProperty struct {
	// Information about the JSON token type configuration.
	JsonTokenTypeConfiguration interface{} `json:"jsonTokenTypeConfiguration" yaml:"jsonTokenTypeConfiguration"`
	// Information about the JWT token type configuration.
	JwtTokenTypeConfiguration interface{} `json:"jwtTokenTypeConfiguration" yaml:"jwtTokenTypeConfiguration"`
}

Provides the configuration information for a token.

TODO: EXAMPLE

type CfnIndex_ValueImportanceItemProperty

type CfnIndex_ValueImportanceItemProperty struct {
	// The document metadata value that receives the search boost.
	Key *string `json:"key" yaml:"key"`
	// The boost value that a document receives when the key is part of the metadata of a document.
	Value *float64 `json:"value" yaml:"value"`
}

Specifies a key-value pair that determines the search boost value that a document receives when the key is part of the metadata of a document.

TODO: EXAMPLE

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL