1// Code generated by smithy-go-codegen DO NOT EDIT.
2
3package types
4
5import (
6	"time"
7)
8
9// Access Control List files for the documents in a data source. For the format of
10// the file, see Access control for S3 data sources
11// (https://docs.aws.amazon.com/kendra/latest/dg/s3-acl.html).
12type AccessControlListConfiguration struct {
13
14	// Path to the AWS S3 bucket that contains the ACL files.
15	KeyPath *string
16}
17
18// Provides information about the column that should be used for filtering the
19// query response by groups.
20type AclConfiguration struct {
21
22	// A list of groups, separated by semi-colons, that filters a query response based
23	// on user context. The document is only returned to users that are in one of the
24	// groups specified in the UserContext field of the Query operation.
25	//
26	// This member is required.
27	AllowedGroupsColumnName *string
28}
29
30// An attribute returned from an index query.
31type AdditionalResultAttribute struct {
32
33	// The key that identifies the attribute.
34	//
35	// This member is required.
36	Key *string
37
38	// An object that contains the attribute value.
39	//
40	// This member is required.
41	Value *AdditionalResultAttributeValue
42
43	// The data type of the Value property.
44	//
45	// This member is required.
46	ValueType AdditionalResultAttributeValueType
47}
48
49// An attribute returned with a document from a search.
50type AdditionalResultAttributeValue struct {
51
52	// The text associated with the attribute and information about the highlight to
53	// apply to the text.
54	TextWithHighlightsValue *TextWithHighlights
55}
56
57// Provides filtering the query results based on document attributes. When you use
58// the AndAllFilters or OrAllFilters, filters you can use 2 layers under the first
59// attribute filter. For example, you can use:
60//
61// If you use more than 2 layers, you
62// receive a ValidationException exception with the message "AttributeFilter cannot
63// have a depth of more than 2."
64type AttributeFilter struct {
65
66	// Performs a logical AND operation on all supplied filters.
67	AndAllFilters []AttributeFilter
68
69	// Returns true when a document contains all of the specified document attributes.
70	// This filter is only applicable to StringListValue metadata.
71	ContainsAll *DocumentAttribute
72
73	// Returns true when a document contains any of the specified document attributes.
74	// This filter is only applicable to StringListValue metadata.
75	ContainsAny *DocumentAttribute
76
77	// Performs an equals operation on two document attributes.
78	EqualsTo *DocumentAttribute
79
80	// Performs a greater than operation on two document attributes. Use with a
81	// document attribute of type Integer or Long.
82	GreaterThan *DocumentAttribute
83
84	// Performs a greater or equals than operation on two document attributes. Use with
85	// a document attribute of type Integer or Long.
86	GreaterThanOrEquals *DocumentAttribute
87
88	// Performs a less than operation on two document attributes. Use with a document
89	// attribute of type Integer or Long.
90	LessThan *DocumentAttribute
91
92	// Performs a less than or equals operation on two document attributes. Use with a
93	// document attribute of type Integer or Long.
94	LessThanOrEquals *DocumentAttribute
95
96	// Performs a logical NOT operation on all supplied filters.
97	NotFilter *AttributeFilter
98
99	// Performs a logical OR operation on all supplied filters.
100	OrAllFilters []AttributeFilter
101}
102
103// Provides information about documents that could not be removed from an index by
104// the BatchDeleteDocument operation.
105type BatchDeleteDocumentResponseFailedDocument struct {
106
107	// The error code for why the document couldn't be removed from the index.
108	ErrorCode ErrorCode
109
110	// An explanation for why the document couldn't be removed from the index.
111	ErrorMessage *string
112
113	// The identifier of the document that couldn't be removed from the index.
114	Id *string
115}
116
117// Provides information about a document that could not be indexed.
118type BatchPutDocumentResponseFailedDocument struct {
119
120	// The type of error that caused the document to fail to be indexed.
121	ErrorCode ErrorCode
122
123	// A description of the reason why the document could not be indexed.
124	ErrorMessage *string
125
126	// The unique identifier of the document.
127	Id *string
128}
129
130// Specifies capacity units configured for your index. You can add and remove
131// capacity units to tune an index to your requirements.
132type CapacityUnitsConfiguration struct {
133
134	// The amount of extra query capacity for an index. Each capacity unit provides 0.5
135	// queries per second and 40,000 queries per day.
136	//
137	// This member is required.
138	QueryCapacityUnits *int32
139
140	// The amount of extra storage capacity for an index. Each capacity unit provides
141	// 150 Gb of storage space or 500,000 documents, whichever is reached first.
142	//
143	// This member is required.
144	StorageCapacityUnits *int32
145}
146
147// Gathers information about when a particular result was clicked by a user. Your
148// application uses the SubmitFeedback operation to provide click information.
149type ClickFeedback struct {
150
151	// The Unix timestamp of the date and time that the result was clicked.
152	//
153	// This member is required.
154	ClickTime *time.Time
155
156	// The unique identifier of the search result that was clicked.
157	//
158	// This member is required.
159	ResultId *string
160}
161
162// Provides information about how Amazon Kendra should use the columns of a
163// database in an index.
164type ColumnConfiguration struct {
165
166	// One to five columns that indicate when a document in the database has changed.
167	//
168	// This member is required.
169	ChangeDetectingColumns []string
170
171	// The column that contains the contents of the document.
172	//
173	// This member is required.
174	DocumentDataColumnName *string
175
176	// The column that provides the document's unique identifier.
177	//
178	// This member is required.
179	DocumentIdColumnName *string
180
181	// The column that contains the title of the document.
182	DocumentTitleColumnName *string
183
184	// An array of objects that map database column names to the corresponding fields
185	// in an index. You must first create the fields in the index using the UpdateIndex
186	// operation.
187	FieldMappings []DataSourceToIndexFieldMapping
188}
189
190// Specifies the attachment settings for the Confluence data source. Attachment
191// settings are optional, if you don't specify settings attachments, Amazon Kendra
192// won't index them.
193type ConfluenceAttachmentConfiguration struct {
194
195	// Defines how attachment metadata fields should be mapped to index fields. Before
196	// you can map a field, you must first create an index field with a matching type
197	// using the console or the UpdateIndex operation. If you specify the
198	// AttachentFieldMappings parameter, you must specify at least one field mapping.
199	AttachmentFieldMappings []ConfluenceAttachmentToIndexFieldMapping
200
201	// Indicates whether Amazon Kendra indexes attachments to the pages and blogs in
202	// the Confluence data source.
203	CrawlAttachments bool
204}
205
206// Defines the mapping between a field in the Confluence data source to a Amazon
207// Kendra index field. You must first create the index field using the UpdateIndex
208// operation.
209type ConfluenceAttachmentToIndexFieldMapping struct {
210
211	// The name of the field in the data source. You must first create the index field
212	// using the UpdateIndex operation.
213	DataSourceFieldName ConfluenceAttachmentFieldName
214
215	// The format for date fields in the data source. If the field specified in
216	// DataSourceFieldName is a date field you must specify the date format. If the
217	// field is not a date field, an exception is thrown.
218	DateFieldFormat *string
219
220	// The name of the index field to map to the Confluence data source field. The
221	// index field type must match the Confluence field type.
222	IndexFieldName *string
223}
224
225// Specifies the blog settings for the Confluence data source. Blogs are always
226// indexed unless filtered from the index by the ExclusionPatterns or
227// InclusionPatterns fields in the ConfluenceConfiguration type.
228type ConfluenceBlogConfiguration struct {
229
230	// Defines how blog metadata fields should be mapped to index fields. Before you
231	// can map a field, you must first create an index field with a matching type using
232	// the console or the UpdateIndex operation. If you specify the BlogFieldMappings
233	// parameter, you must specify at least one field mapping.
234	BlogFieldMappings []ConfluenceBlogToIndexFieldMapping
235}
236
237// Defines the mapping between a blog field in the Confluence data source to a
238// Amazon Kendra index field. You must first create the index field using the
239// UpdateIndex operation.
240type ConfluenceBlogToIndexFieldMapping struct {
241
242	// The name of the field in the data source.
243	DataSourceFieldName ConfluenceBlogFieldName
244
245	// The format for date fields in the data source. If the field specified in
246	// DataSourceFieldName is a date field you must specify the date format. If the
247	// field is not a date field, an exception is thrown.
248	DateFieldFormat *string
249
250	// The name of the index field to map to the Confluence data source field. The
251	// index field type must match the Confluence field type.
252	IndexFieldName *string
253}
254
255// Provides configuration information for data sources that connect to Confluence.
256type ConfluenceConfiguration struct {
257
258	// The Amazon Resource Name (ARN) of an AWS Secrets Manager secret that contains
259	// the key/value pairs required to connect to your Confluence server. The secret
260	// must contain a JSON structure with the following keys:
261	//
262	// * username - The user
263	// name or email address of a user with administrative privileges for the
264	// Confluence server.
265	//
266	// * password - The password associated with the user logging
267	// in to the Confluence server.
268	//
269	// This member is required.
270	SecretArn *string
271
272	// The URL of your Confluence instance. Use the full URL of the server. For
273	// example, https://server.example.com:port/. You can also use an IP address, for
274	// example, https://192.168.1.113/.
275	//
276	// This member is required.
277	ServerUrl *string
278
279	// Specifies the version of the Confluence installation that you are connecting to.
280	//
281	// This member is required.
282	Version ConfluenceVersion
283
284	// Specifies configuration information for indexing attachments to Confluence blogs
285	// and pages.
286	AttachmentConfiguration *ConfluenceAttachmentConfiguration
287
288	// Specifies configuration information for indexing Confluence blogs.
289	BlogConfiguration *ConfluenceBlogConfiguration
290
291	// A list of regular expression patterns that apply to a URL on the Confluence
292	// server. An exclusion pattern can apply to a blog post, a page, a space, or an
293	// attachment. Items that match the pattern are excluded from the index. Items that
294	// don't match the pattern are included in the index. If a item matches both an
295	// exclusion pattern and an inclusion pattern, the item isn't included in the
296	// index.
297	ExclusionPatterns []string
298
299	// A list of regular expression patterns that apply to a URL on the Confluence
300	// server. An inclusion pattern can apply to a blog post, a page, a space, or an
301	// attachment. Items that match the patterns are included in the index. Items that
302	// don't match the pattern are excluded from the index. If an item matches both an
303	// inclusion pattern and an exclusion pattern, the item isn't included in the
304	// index.
305	InclusionPatterns []string
306
307	// Specifies configuration information for indexing Confluence pages.
308	PageConfiguration *ConfluencePageConfiguration
309
310	// Specifies configuration information for indexing Confluence spaces.
311	SpaceConfiguration *ConfluenceSpaceConfiguration
312
313	// Specifies the information for connecting to an Amazon VPC.
314	VpcConfiguration *DataSourceVpcConfiguration
315}
316
317// Specifies the page settings for the Confluence data source.
318type ConfluencePageConfiguration struct {
319
320	// Defines how page metadata fields should be mapped to index fields. Before you
321	// can map a field, you must first create an index field with a matching type using
322	// the console or the UpdateIndex operation. If you specify the PageFieldMappings
323	// parameter, you must specify at least one field mapping.
324	PageFieldMappings []ConfluencePageToIndexFieldMapping
325}
326
327// Defines the mapping between a field in the Confluence data source to a Amazon
328// Kendra index field. You must first create the index field using the UpdateIndex
329// operation.
330type ConfluencePageToIndexFieldMapping struct {
331
332	// The name of the field in the data source.
333	DataSourceFieldName ConfluencePageFieldName
334
335	// The format for date fields in the data source. If the field specified in
336	// DataSourceFieldName is a date field you must specify the date format. If the
337	// field is not a date field, an exception is thrown.
338	DateFieldFormat *string
339
340	// The name of the index field to map to the Confluence data source field. The
341	// index field type must match the Confluence field type.
342	IndexFieldName *string
343}
344
345// Specifies the configuration for indexing Confluence spaces.
346type ConfluenceSpaceConfiguration struct {
347
348	// Specifies whether Amazon Kendra should index archived spaces.
349	CrawlArchivedSpaces bool
350
351	// Specifies whether Amazon Kendra should index personal spaces. Users can add
352	// restrictions to items in personal spaces. If personal spaces are indexed,
353	// queries without user context information may return restricted items from a
354	// personal space in their results. For more information, see Filtering on user
355	// context (https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html).
356	CrawlPersonalSpaces bool
357
358	// A list of space keys of Confluence spaces. If you include a key, the blogs,
359	// documents, and attachments in the space are not indexed. If a space is in both
360	// the ExcludeSpaces and the IncludeSpaces list, the space is excluded.
361	ExcludeSpaces []string
362
363	// A list of space keys for Confluence spaces. If you include a key, the blogs,
364	// documents, and attachments in the space are indexed. Spaces that aren't in the
365	// list aren't indexed. A space in the list must exist. Otherwise, Amazon Kendra
366	// logs an error when the data source is synchronized. If a space is in both the
367	// IncludeSpaces and the ExcludeSpaces list, the space is excluded.
368	IncludeSpaces []string
369
370	// Defines how space metadata fields should be mapped to index fields. Before you
371	// can map a field, you must first create an index field with a matching type using
372	// the console or the UpdateIndex operation. If you specify the SpaceFieldMappings
373	// parameter, you must specify at least one field mapping.
374	SpaceFieldMappings []ConfluenceSpaceToIndexFieldMapping
375}
376
377// Defines the mapping between a field in the Confluence data source to a Amazon
378// Kendra index field. You must first create the index field using the UpdateIndex
379// operation.
380type ConfluenceSpaceToIndexFieldMapping struct {
381
382	// The name of the field in the data source.
383	DataSourceFieldName ConfluenceSpaceFieldName
384
385	// The format for date fields in the data source. If the field specified in
386	// DataSourceFieldName is a date field you must specify the date format. If the
387	// field is not a date field, an exception is thrown.
388	DateFieldFormat *string
389
390	// The name of the index field to map to the Confluence data source field. The
391	// index field type must match the Confluence field type.
392	IndexFieldName *string
393}
394
395// Provides the information necessary to connect to a database.
396type ConnectionConfiguration struct {
397
398	// The name of the host for the database. Can be either a string
399	// (host.subdomain.domain.tld) or an IPv4 or IPv6 address.
400	//
401	// This member is required.
402	DatabaseHost *string
403
404	// The name of the database containing the document data.
405	//
406	// This member is required.
407	DatabaseName *string
408
409	// The port that the database uses for connections.
410	//
411	// This member is required.
412	DatabasePort *int32
413
414	// The Amazon Resource Name (ARN) of credentials stored in AWS Secrets Manager. The
415	// credentials should be a user/password pair. For more information, see Using a
416	// Database Data Source
417	// (https://docs.aws.amazon.com/kendra/latest/dg/data-source-database.html). For
418	// more information about AWS Secrets Manager, see  What Is AWS Secrets Manager
419	// (https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) in the
420	// AWS Secrets Manager user guide.
421	//
422	// This member is required.
423	SecretArn *string
424
425	// The name of the table that contains the document data.
426	//
427	// This member is required.
428	TableName *string
429}
430
431// Provides the information necessary to connect a database to an index.
432type DatabaseConfiguration struct {
433
434	// Information about where the index should get the document information from the
435	// database.
436	//
437	// This member is required.
438	ColumnConfiguration *ColumnConfiguration
439
440	// The information necessary to connect to a database.
441	//
442	// This member is required.
443	ConnectionConfiguration *ConnectionConfiguration
444
445	// The type of database engine that runs the database.
446	//
447	// This member is required.
448	DatabaseEngineType DatabaseEngineType
449
450	// Information about the database column that provides information for user context
451	// filtering.
452	AclConfiguration *AclConfiguration
453
454	// Provides information about how Amazon Kendra uses quote marks around SQL
455	// identifiers when querying a database data source.
456	SqlConfiguration *SqlConfiguration
457
458	// Provides information for connecting to an Amazon VPC.
459	VpcConfiguration *DataSourceVpcConfiguration
460}
461
462// Configuration information for a Amazon Kendra data source.
463type DataSourceConfiguration struct {
464
465	// Provides configuration information for connecting to a Confluence data source.
466	ConfluenceConfiguration *ConfluenceConfiguration
467
468	// Provides information necessary to create a data source connector for a database.
469	DatabaseConfiguration *DatabaseConfiguration
470
471	// Provides configuration for data sources that connect to Google Drive.
472	GoogleDriveConfiguration *GoogleDriveConfiguration
473
474	// Provides configuration for data sources that connect to Microsoft OneDrive.
475	OneDriveConfiguration *OneDriveConfiguration
476
477	// Provides information to create a data source connector for a document repository
478	// in an Amazon S3 bucket.
479	S3Configuration *S3DataSourceConfiguration
480
481	// Provides configuration information for data sources that connect to a Salesforce
482	// site.
483	SalesforceConfiguration *SalesforceConfiguration
484
485	// Provides configuration for data sources that connect to ServiceNow instances.
486	ServiceNowConfiguration *ServiceNowConfiguration
487
488	// Provides information necessary to create a data source connector for a Microsoft
489	// SharePoint site.
490	SharePointConfiguration *SharePointConfiguration
491}
492
493// Summary information for a Amazon Kendra data source. Returned in a call to the
494// DescribeDataSource operation.
495type DataSourceSummary struct {
496
497	// The UNIX datetime that the data source was created.
498	CreatedAt *time.Time
499
500	// The unique identifier for the data source.
501	Id *string
502
503	// The name of the data source.
504	Name *string
505
506	// The status of the data source. When the status is ACTIVE the data source is
507	// ready to use.
508	Status DataSourceStatus
509
510	// The type of the data source.
511	Type DataSourceType
512
513	// The UNIX datetime that the data source was lasted updated.
514	UpdatedAt *time.Time
515}
516
517// Provides information about a synchronization job.
518type DataSourceSyncJob struct {
519
520	// If the reason that the synchronization failed is due to an error with the
521	// underlying data source, this field contains a code that identifies the error.
522	DataSourceErrorCode *string
523
524	// The UNIX datetime that the synchronization job was completed.
525	EndTime *time.Time
526
527	// If the Status field is set to FAILED, the ErrorCode field contains a the reason
528	// that the synchronization failed.
529	ErrorCode ErrorCode
530
531	// If the Status field is set to ERROR, the ErrorMessage field contains a
532	// description of the error that caused the synchronization to fail.
533	ErrorMessage *string
534
535	// A unique identifier for the synchronization job.
536	ExecutionId *string
537
538	// Maps a batch delete document request to a specific data source sync job. This is
539	// optional and should only be supplied when documents are deleted by a data source
540	// connector.
541	Metrics *DataSourceSyncJobMetrics
542
543	// The UNIX datetime that the synchronization job was started.
544	StartTime *time.Time
545
546	// The execution status of the synchronization job. When the Status field is set to
547	// SUCCEEDED, the synchronization job is done. If the status code is set to FAILED,
548	// the ErrorCode and ErrorMessage fields give you the reason for the failure.
549	Status DataSourceSyncJobStatus
550}
551
552// Maps a batch delete document request to a specific data source sync job. This is
553// optional and should only be supplied when documents are deleted by a data source
554// connector.
555type DataSourceSyncJobMetrics struct {
556
557	// The number of documents added from the data source up to now in the data source
558	// sync.
559	DocumentsAdded *string
560
561	// The number of documents deleted from the data source up to now in the data
562	// source sync run.
563	DocumentsDeleted *string
564
565	// The number of documents that failed to sync from the data source up to now in
566	// the data source sync run.
567	DocumentsFailed *string
568
569	// The number of documents modified in the data source up to now in the data source
570	// sync run.
571	DocumentsModified *string
572
573	// The current number of documents crawled by the current sync job in the data
574	// source.
575	DocumentsScanned *string
576}
577
578// Maps a particular data source sync job to a particular data source.
579type DataSourceSyncJobMetricTarget struct {
580
581	// The ID of the data source that is running the sync job.
582	//
583	// This member is required.
584	DataSourceId *string
585
586	// The ID of the sync job that is running on the data source.
587	//
588	// This member is required.
589	DataSourceSyncJobId *string
590}
591
592// Maps a column or attribute in the data source to an index field. You must first
593// create the fields in the index using the UpdateIndex operation.
594type DataSourceToIndexFieldMapping struct {
595
596	// The name of the column or attribute in the data source.
597	//
598	// This member is required.
599	DataSourceFieldName *string
600
601	// The name of the field in the index.
602	//
603	// This member is required.
604	IndexFieldName *string
605
606	// The type of data stored in the column or attribute.
607	DateFieldFormat *string
608}
609
610// Provides information for connecting to an Amazon VPC.
611type DataSourceVpcConfiguration struct {
612
613	// A list of identifiers of security groups within your Amazon VPC. The security
614	// groups should enable Amazon Kendra to connect to the data source.
615	//
616	// This member is required.
617	SecurityGroupIds []string
618
619	// A list of identifiers for subnets within your Amazon VPC. The subnets should be
620	// able to connect to each other in the VPC, and they should have outgoing access
621	// to the Internet through a NAT device.
622	//
623	// This member is required.
624	SubnetIds []string
625}
626
627// A document in an index.
628type Document struct {
629
630	// A unique identifier of the document in the index.
631	//
632	// This member is required.
633	Id *string
634
635	// Information to use for user context filtering.
636	AccessControlList []Principal
637
638	// Custom attributes to apply to the document. Use the custom attributes to provide
639	// additional information for searching, to provide facets for refining searches,
640	// and to provide additional information in the query response.
641	Attributes []DocumentAttribute
642
643	// The contents of the document. Documents passed to the Blob parameter must be
644	// base64 encoded. Your code might not need to encode the document file bytes if
645	// you're using an AWS SDK to call Amazon Kendra operations. If you are calling the
646	// Amazon Kendra endpoint directly using REST, you must base64 encode the contents
647	// before sending.
648	Blob []byte
649
650	// The file type of the document in the Blob field.
651	ContentType ContentType
652
653	// Information required to find a specific file in an Amazon S3 bucket.
654	S3Path *S3Path
655
656	// The title of the document.
657	Title *string
658}
659
660// A custom attribute value assigned to a document.
661type DocumentAttribute struct {
662
663	// The identifier for the attribute.
664	//
665	// This member is required.
666	Key *string
667
668	// The value of the attribute.
669	//
670	// This member is required.
671	Value DocumentAttributeValue
672}
673
674// The value of a custom document attribute. You can only provide one value for a
675// custom attribute.
676//
677// The following types satisfy this interface:
678//  DocumentAttributeValueMemberStringValue
679//  DocumentAttributeValueMemberStringListValue
680//  DocumentAttributeValueMemberLongValue
681//  DocumentAttributeValueMemberDateValue
682type DocumentAttributeValue interface {
683	isDocumentAttributeValue()
684}
685
686// A string, such as "department".
687type DocumentAttributeValueMemberStringValue struct {
688	Value string
689}
690
691func (*DocumentAttributeValueMemberStringValue) isDocumentAttributeValue() {}
692
693// A list of strings.
694type DocumentAttributeValueMemberStringListValue struct {
695	Value []string
696}
697
698func (*DocumentAttributeValueMemberStringListValue) isDocumentAttributeValue() {}
699
700// A long integer value.
701type DocumentAttributeValueMemberLongValue struct {
702	Value int64
703}
704
705func (*DocumentAttributeValueMemberLongValue) isDocumentAttributeValue() {}
706
707// A date expressed as an ISO 8601 string.
708type DocumentAttributeValueMemberDateValue struct {
709	Value time.Time
710}
711
712func (*DocumentAttributeValueMemberDateValue) isDocumentAttributeValue() {}
713
714// Provides the count of documents that match a particular attribute when doing a
715// faceted search.
716type DocumentAttributeValueCountPair struct {
717
718	// The number of documents in the response that have the attribute value for the
719	// key.
720	Count *int32
721
722	// The value of the attribute. For example, "HR."
723	DocumentAttributeValue DocumentAttributeValue
724}
725
726// Specifies the properties of a custom index field.
727type DocumentMetadataConfiguration struct {
728
729	// The name of the index field.
730	//
731	// This member is required.
732	Name *string
733
734	// The data type of the index field.
735	//
736	// This member is required.
737	Type DocumentAttributeValueType
738
739	// Provides manual tuning parameters to determine how the field affects the search
740	// results.
741	Relevance *Relevance
742
743	// Provides information about how the field is used during a search.
744	Search *Search
745}
746
747// Overrides the document relevance properties of a custom index field.
748type DocumentRelevanceConfiguration struct {
749
750	// The name of the tuning configuration to override document relevance at the index
751	// level.
752	//
753	// This member is required.
754	Name *string
755
756	// Provides information for manually tuning the relevance of a field in a search.
757	// When a query includes terms that match the field, the results are given a boost
758	// in the response based on these tuning parameters.
759	//
760	// This member is required.
761	Relevance *Relevance
762}
763
764// Document metadata files that contain information such as the document access
765// control information, source URI, document author, and custom attributes. Each
766// metadata file contains metadata about a single document.
767type DocumentsMetadataConfiguration struct {
768
769	// A prefix used to filter metadata configuration files in the AWS S3 bucket. The
770	// S3 bucket might contain multiple metadata files. Use S3Prefix to include only
771	// the desired metadata files.
772	S3Prefix *string
773}
774
775// Information about a document attribute
776type Facet struct {
777
778	// The unique key for the document attribute.
779	DocumentAttributeKey *string
780}
781
782// The facet values for the documents in the response.
783type FacetResult struct {
784
785	// The key for the facet values. This is the same as the DocumentAttributeKey
786	// provided in the query.
787	DocumentAttributeKey *string
788
789	// An array of key/value pairs, where the key is the value of the attribute and the
790	// count is the number of documents that share the key value.
791	DocumentAttributeValueCountPairs []DocumentAttributeValueCountPair
792
793	// The data type of the facet value. This is the same as the type defined for the
794	// index field when it was created.
795	DocumentAttributeValueType DocumentAttributeValueType
796}
797
798// Provides statistical information about the FAQ questions and answers contained
799// in an index.
800type FaqStatistics struct {
801
802	// The total number of FAQ questions and answers contained in the index.
803	//
804	// This member is required.
805	IndexedQuestionAnswersCount int32
806}
807
808// Provides information about a frequently asked questions and answer contained in
809// an index.
810type FaqSummary struct {
811
812	// The UNIX datetime that the FAQ was added to the index.
813	CreatedAt *time.Time
814
815	// The file type used to create the FAQ.
816	FileFormat FaqFileFormat
817
818	// The unique identifier of the FAQ.
819	Id *string
820
821	// The name that you assigned the FAQ when you created or updated the FAQ.
822	Name *string
823
824	// The current status of the FAQ. When the status is ACTIVE the FAQ is ready for
825	// use.
826	Status FaqStatus
827
828	// The UNIX datetime that the FAQ was last updated.
829	UpdatedAt *time.Time
830}
831
832// Provides configuration information for data sources that connect to Google
833// Drive.
834type GoogleDriveConfiguration struct {
835
836	// The Amazon Resource Name (ARN) of a AWS Secrets Manager secret that contains the
837	// credentials required to connect to Google Drive. For more information, see Using
838	// a Google Workspace Drive data source
839	// (https://docs.aws.amazon.com/kendra/latest/dg/data-source-google-drive.html).
840	//
841	// This member is required.
842	SecretArn *string
843
844	// A list of MIME types to exclude from the index. All documents matching the
845	// specified MIME type are excluded. For a list of MIME types, see Using a Google
846	// Workspace Drive data source
847	// (https://docs.aws.amazon.com/kendra/latest/dg/data-source-google-drive.html).
848	ExcludeMimeTypes []string
849
850	// A list of identifiers or shared drives to exclude from the index. All files and
851	// folders stored on the shared drive are excluded.
852	ExcludeSharedDrives []string
853
854	// A list of email addresses of the users. Documents owned by these users are
855	// excluded from the index. Documents shared with excluded users are indexed unless
856	// they are excluded in another way.
857	ExcludeUserAccounts []string
858
859	// A list of regular expression patterns that apply to the path on Google Drive.
860	// Items that match the pattern are excluded from the index from both shared drives
861	// and users' My Drives. Items that don't match the pattern are included in the
862	// index. If an item matches both an exclusion pattern and an inclusion pattern, it
863	// is excluded from the index.
864	ExclusionPatterns []string
865
866	// Defines mapping between a field in the Google Drive and a Amazon Kendra index
867	// field. If you are using the console, you can define index fields when creating
868	// the mapping. If you are using the API, you must first create the field using the
869	// UpdateIndex operation.
870	FieldMappings []DataSourceToIndexFieldMapping
871
872	// A list of regular expression patterns that apply to path on Google Drive. Items
873	// that match the pattern are included in the index from both shared drives and
874	// users' My Drives. Items that don't match the pattern are excluded from the
875	// index. If an item matches both an inclusion pattern and an exclusion pattern, it
876	// is excluded from the index.
877	InclusionPatterns []string
878}
879
880// Provides information that you can use to highlight a search result so that your
881// users can quickly identify terms in the response.
882type Highlight struct {
883
884	// The zero-based location in the response string where the highlight starts.
885	//
886	// This member is required.
887	BeginOffset *int32
888
889	// The zero-based location in the response string where the highlight ends.
890	//
891	// This member is required.
892	EndOffset *int32
893
894	// Indicates whether the response is the best response. True if this is the best
895	// response; otherwise, false.
896	TopAnswer bool
897
898	// The highlight type.
899	Type HighlightType
900}
901
902// A summary of information about an index.
903type IndexConfigurationSummary struct {
904
905	// The Unix timestamp when the index was created.
906	//
907	// This member is required.
908	CreatedAt *time.Time
909
910	// The current status of the index. When the status is ACTIVE, the index is ready
911	// to search.
912	//
913	// This member is required.
914	Status IndexStatus
915
916	// The Unix timestamp when the index was last updated by the UpdateIndex operation.
917	//
918	// This member is required.
919	UpdatedAt *time.Time
920
921	// Indicates whether the index is a enterprise edition index or a developer edition
922	// index.
923	Edition IndexEdition
924
925	// A unique identifier for the index. Use this to identify the index when you are
926	// using operations such as Query, DescribeIndex, UpdateIndex, and DeleteIndex.
927	Id *string
928
929	// The name of the index.
930	Name *string
931}
932
933// Provides information about the number of documents and the number of questions
934// and answers in an index.
935type IndexStatistics struct {
936
937	// The number of question and answer topics in the index.
938	//
939	// This member is required.
940	FaqStatistics *FaqStatistics
941
942	// The number of text documents indexed.
943	//
944	// This member is required.
945	TextDocumentStatistics *TextDocumentStatistics
946}
947
948// Configuration information for the JSON token type.
949type JsonTokenTypeConfiguration struct {
950
951	// The group attribute field.
952	//
953	// This member is required.
954	GroupAttributeField *string
955
956	// The user name attribute field.
957	//
958	// This member is required.
959	UserNameAttributeField *string
960}
961
962// Configuration information for the JWT token type.
963type JwtTokenTypeConfiguration struct {
964
965	// The location of the key.
966	//
967	// This member is required.
968	KeyLocation KeyLocation
969
970	// The regular expression that identifies the claim.
971	ClaimRegex *string
972
973	// The group attribute field.
974	GroupAttributeField *string
975
976	// The issuer of the token.
977	Issuer *string
978
979	// The Amazon Resource Name (arn) of the secret.
980	SecretManagerArn *string
981
982	// The signing key URL.
983	URL *string
984
985	// The user name attribute field.
986	UserNameAttributeField *string
987}
988
989// Provides configuration information for data sources that connect to OneDrive.
990type OneDriveConfiguration struct {
991
992	// A list of user accounts whose documents should be indexed.
993	//
994	// This member is required.
995	OneDriveUsers *OneDriveUsers
996
997	// The Amazon Resource Name (ARN) of an AWS Secrets Manager secret that contains
998	// the user name and password to connect to OneDrive. The user namd should be the
999	// application ID for the OneDrive application, and the password is the application
1000	// key for the OneDrive application.
1001	//
1002	// This member is required.
1003	SecretArn *string
1004
1005	// The Azure Active Directory domain of the organization.
1006	//
1007	// This member is required.
1008	TenantDomain *string
1009
1010	// A Boolean value that specifies whether local groups are disabled (True) or
1011	// enabled (False).
1012	DisableLocalGroups bool
1013
1014	// List of regular expressions applied to documents. Items that match the exclusion
1015	// pattern are not indexed. If you provide both an inclusion pattern and an
1016	// exclusion pattern, any item that matches the exclusion pattern isn't indexed.
1017	// The exclusion pattern is applied to the file name.
1018	ExclusionPatterns []string
1019
1020	// A list of DataSourceToIndexFieldMapping objects that map Microsoft OneDrive
1021	// fields to custom fields in the Amazon Kendra index. You must first create the
1022	// index fields before you map OneDrive fields.
1023	FieldMappings []DataSourceToIndexFieldMapping
1024
1025	// A list of regular expression patterns. Documents that match the pattern are
1026	// included in the index. Documents that don't match the pattern are excluded from
1027	// the index. If a document matches both an inclusion pattern and an exclusion
1028	// pattern, the document is not included in the index. The exclusion pattern is
1029	// applied to the file name.
1030	InclusionPatterns []string
1031}
1032
1033// User accounts whose documents should be indexed.
1034type OneDriveUsers struct {
1035
1036	// A list of users whose documents should be indexed. Specify the user names in
1037	// email format, for example, username@tenantdomain. If you need to index the
1038	// documents of more than 100 users, use the OneDriveUserS3Path field to specify
1039	// the location of a file containing a list of users.
1040	OneDriveUserList []string
1041
1042	// The S3 bucket location of a file containing a list of users whose documents
1043	// should be indexed.
1044	OneDriveUserS3Path *S3Path
1045}
1046
1047// Provides user and group information for document access filtering.
1048type Principal struct {
1049
1050	// Whether to allow or deny access to the principal.
1051	//
1052	// This member is required.
1053	Access ReadAccessType
1054
1055	// The name of the user or group.
1056	//
1057	// This member is required.
1058	Name *string
1059
1060	// The type of principal.
1061	//
1062	// This member is required.
1063	Type PrincipalType
1064}
1065
1066// A single query result. A query result contains information about a document
1067// returned by the query. This includes the original location of the document, a
1068// list of attributes assigned to the document, and relevant text from the document
1069// that satisfies the query.
1070type QueryResultItem struct {
1071
1072	// One or more additional attributes associated with the query result.
1073	AdditionalAttributes []AdditionalResultAttribute
1074
1075	// An array of document attributes for the document that the query result maps to.
1076	// For example, the document author (Author) or the source URI (SourceUri) of the
1077	// document.
1078	DocumentAttributes []DocumentAttribute
1079
1080	// An extract of the text in the document. Contains information about highlighting
1081	// the relevant terms in the excerpt.
1082	DocumentExcerpt *TextWithHighlights
1083
1084	// The unique identifier for the document.
1085	DocumentId *string
1086
1087	// The title of the document. Contains the text of the title and information for
1088	// highlighting the relevant terms in the title.
1089	DocumentTitle *TextWithHighlights
1090
1091	// The URI of the original location of the document.
1092	DocumentURI *string
1093
1094	// A token that identifies a particular result from a particular query. Use this
1095	// token to provide click-through feedback for the result. For more information,
1096	// see  Submitting feedback
1097	// (https://docs.aws.amazon.com/kendra/latest/dg/submitting-feedback.html).
1098	FeedbackToken *string
1099
1100	// The unique identifier for the query result.
1101	Id *string
1102
1103	// Indicates the confidence that Amazon Kendra has that a result matches the query
1104	// that you provided. Each result is placed into a bin that indicates the
1105	// confidence, VERY_HIGH, HIGH, MEDIUM and LOW. You can use the score to determine
1106	// if a response meets the confidence needed for your application. The field is
1107	// only set to LOW when the Type field is set to DOCUMENT and Amazon Kendra is not
1108	// confident that the result matches the query.
1109	ScoreAttributes *ScoreAttributes
1110
1111	// The type of document.
1112	Type QueryResultType
1113}
1114
1115// Provides information for manually tuning the relevance of a field in a search.
1116// When a query includes terms that match the field, the results are given a boost
1117// in the response based on these tuning parameters.
1118type Relevance struct {
1119
1120	// Specifies the time period that the boost applies to. For example, to make the
1121	// boost apply to documents with the field value within the last month, you would
1122	// use "2628000s". Once the field value is beyond the specified range, the effect
1123	// of the boost drops off. The higher the importance, the faster the effect drops
1124	// off. If you don't specify a value, the default is 3 months. The value of the
1125	// field is a numeric string followed by the character "s", for example "86400s"
1126	// for one day, or "604800s" for one week. Only applies to DATE fields.
1127	Duration *string
1128
1129	// Indicates that this field determines how "fresh" a document is. For example, if
1130	// document 1 was created on November 5, and document 2 was created on October 31,
1131	// document 1 is "fresher" than document 2. You can only set the Freshness field on
1132	// one DATE type field. Only applies to DATE fields.
1133	Freshness *bool
1134
1135	// The relative importance of the field in the search. Larger numbers provide more
1136	// of a boost than smaller numbers.
1137	Importance *int32
1138
1139	// Determines how values should be interpreted. When the RankOrder field is
1140	// ASCENDING, higher numbers are better. For example, a document with a rating
1141	// score of 10 is higher ranking than a document with a rating score of 1. When the
1142	// RankOrder field is DESCENDING, lower numbers are better. For example, in a task
1143	// tracking application, a priority 1 task is more important than a priority 5
1144	// task. Only applies to LONG and DOUBLE fields.
1145	RankOrder Order
1146
1147	// A list of values that should be given a different boost when they appear in the
1148	// result list. For example, if you are boosting a field called "department," query
1149	// terms that match the department field are boosted in the result. However, you
1150	// can add entries from the department field to boost documents with those values
1151	// higher. For example, you can add entries to the map with names of departments.
1152	// If you add "HR",5 and "Legal",3 those departments are given special attention
1153	// when they appear in the metadata of a document. When those terms appear they are
1154	// given the specified importance instead of the regular importance for the boost.
1155	ValueImportanceMap map[string]int32
1156}
1157
1158// Provides feedback on how relevant a document is to a search. Your application
1159// uses the SubmitFeedback operation to provide relevance information.
1160type RelevanceFeedback struct {
1161
1162	// Whether to document was relevant or not relevant to the search.
1163	//
1164	// This member is required.
1165	RelevanceValue RelevanceType
1166
1167	// The unique identifier of the search result that the user provided relevance
1168	// feedback for.
1169	//
1170	// This member is required.
1171	ResultId *string
1172}
1173
1174// Provides configuration information for a data source to index documents in an
1175// Amazon S3 bucket.
1176type S3DataSourceConfiguration struct {
1177
1178	// The name of the bucket that contains the documents.
1179	//
1180	// This member is required.
1181	BucketName *string
1182
1183	// Provides the path to the S3 bucket that contains the user context filtering
1184	// files for the data source. For the format of the file, see Access control for S3
1185	// data sources (https://docs.aws.amazon.com/kendra/latest/dg/s3-acl.html).
1186	AccessControlListConfiguration *AccessControlListConfiguration
1187
1188	// Document metadata files that contain information such as the document access
1189	// control information, source URI, document author, and custom attributes. Each
1190	// metadata file contains metadata about a single document.
1191	DocumentsMetadataConfiguration *DocumentsMetadataConfiguration
1192
1193	// A list of glob patterns for documents that should not be indexed. If a document
1194	// that matches an inclusion prefix or inclusion pattern also matches an exclusion
1195	// pattern, the document is not indexed. For more information about glob patterns,
1196	// see glob (programming) (https://en.wikipedia.org/wiki/Glob_(programming)) in
1197	// Wikipedia.
1198	ExclusionPatterns []string
1199
1200	// A list of glob patterns for documents that should be indexed. If a document that
1201	// matches an inclusion pattern also matches an exclusion pattern, the document is
1202	// not indexed. For more information about glob patterns, see glob (programming)
1203	// (https://en.wikipedia.org/wiki/Glob_(programming)) in Wikipedia.
1204	InclusionPatterns []string
1205
1206	// A list of S3 prefixes for the documents that should be included in the index.
1207	InclusionPrefixes []string
1208}
1209
1210// Information required to find a specific file in an Amazon S3 bucket.
1211type S3Path struct {
1212
1213	// The name of the S3 bucket that contains the file.
1214	//
1215	// This member is required.
1216	Bucket *string
1217
1218	// The name of the file.
1219	//
1220	// This member is required.
1221	Key *string
1222}
1223
1224// Defines configuration for syncing a Salesforce chatter feed. The contents of the
1225// object comes from the Salesforce FeedItem table.
1226type SalesforceChatterFeedConfiguration struct {
1227
1228	// The name of the column in the Salesforce FeedItem table that contains the
1229	// content to index. Typically this is the Body column.
1230	//
1231	// This member is required.
1232	DocumentDataFieldName *string
1233
1234	// The name of the column in the Salesforce FeedItem table that contains the title
1235	// of the document. This is typically the Title collumn.
1236	DocumentTitleFieldName *string
1237
1238	// Maps fields from a Salesforce chatter feed into Amazon Kendra index fields.
1239	FieldMappings []DataSourceToIndexFieldMapping
1240
1241	// Filters the documents in the feed based on status of the user. When you specify
1242	// ACTIVE_USERS only documents from users who have an active account are indexed.
1243	// When you specify STANDARD_USER only documents for Salesforce standard users are
1244	// documented. You can specify both.
1245	IncludeFilterTypes []SalesforceChatterFeedIncludeFilterType
1246}
1247
1248// Provides configuration information for connecting to a Salesforce data source.
1249type SalesforceConfiguration struct {
1250
1251	// The Amazon Resource Name (ARN) of an AWS Secrets Manager secret that contains
1252	// the key/value pairs required to connect to your Salesforce instance. The secret
1253	// must contain a JSON structure with the following keys:
1254	//
1255	// * authenticationUrl -
1256	// The OAUTH endpoint that Amazon Kendra connects to get an OAUTH token.
1257	//
1258	// *
1259	// consumerKey - The application public key generated when you created your
1260	// Salesforce application.
1261	//
1262	// * consumerSecret - The application private key
1263	// generated when you created your Salesforce application.
1264	//
1265	// * password - The
1266	// password associated with the user logging in to the Salesforce instance.
1267	//
1268	// *
1269	// securityToken - The token associated with the user account logging in to the
1270	// Salesforce instance.
1271	//
1272	// * username - The user name of the user logging in to the
1273	// Salesforce instance.
1274	//
1275	// This member is required.
1276	SecretArn *string
1277
1278	// The instance URL for the Salesforce site that you want to index.
1279	//
1280	// This member is required.
1281	ServerUrl *string
1282
1283	// Specifies configuration information for Salesforce chatter feeds.
1284	ChatterFeedConfiguration *SalesforceChatterFeedConfiguration
1285
1286	// Indicates whether Amazon Kendra should index attachments to Salesforce objects.
1287	CrawlAttachments bool
1288
1289	// A list of regular expression patterns. Documents that match the patterns are
1290	// excluded from the index. Documents that don't match the patterns are included in
1291	// the index. If a document matches both an exclusion pattern and an inclusion
1292	// pattern, the document is not included in the index. The regex is applied to the
1293	// name of the attached file.
1294	ExcludeAttachmentFilePatterns []string
1295
1296	// A list of regular expression patterns. Documents that match the patterns are
1297	// included in the index. Documents that don't match the patterns are excluded from
1298	// the index. If a document matches both an inclusion pattern and an exclusion
1299	// pattern, the document is not included in the index. The regex is applied to the
1300	// name of the attached file.
1301	IncludeAttachmentFilePatterns []string
1302
1303	// Specifies configuration information for the knowledge article types that Amazon
1304	// Kendra indexes. Amazon Kendra indexes standard knowledge articles and the
1305	// standard fields of knowledge articles, or the custom fields of custom knowledge
1306	// articles, but not both.
1307	KnowledgeArticleConfiguration *SalesforceKnowledgeArticleConfiguration
1308
1309	// Provides configuration information for processing attachments to Salesforce
1310	// standard objects.
1311	StandardObjectAttachmentConfiguration *SalesforceStandardObjectAttachmentConfiguration
1312
1313	// Specifies the Salesforce standard objects that Amazon Kendra indexes.
1314	StandardObjectConfigurations []SalesforceStandardObjectConfiguration
1315}
1316
1317// Provides configuration information for indexing Salesforce custom articles.
1318type SalesforceCustomKnowledgeArticleTypeConfiguration struct {
1319
1320	// The name of the field in the custom knowledge article that contains the document
1321	// data to index.
1322	//
1323	// This member is required.
1324	DocumentDataFieldName *string
1325
1326	// The name of the configuration.
1327	//
1328	// This member is required.
1329	Name *string
1330
1331	// The name of the field in the custom knowledge article that contains the document
1332	// title.
1333	DocumentTitleFieldName *string
1334
1335	// One or more objects that map fields in the custom knowledge article to fields in
1336	// the Amazon Kendra index.
1337	FieldMappings []DataSourceToIndexFieldMapping
1338}
1339
1340// Specifies configuration information for the knowledge article types that Amazon
1341// Kendra indexes. Amazon Kendra indexes standard knowledge articles and the
1342// standard fields of knowledge articles, or the custom fields of custom knowledge
1343// articles, but not both
1344type SalesforceKnowledgeArticleConfiguration struct {
1345
1346	// Specifies the document states that should be included when Amazon Kendra indexes
1347	// knowledge articles. You must specify at least one state.
1348	//
1349	// This member is required.
1350	IncludedStates []SalesforceKnowledgeArticleState
1351
1352	// Provides configuration information for custom Salesforce knowledge articles.
1353	CustomKnowledgeArticleTypeConfigurations []SalesforceCustomKnowledgeArticleTypeConfiguration
1354
1355	// Provides configuration information for standard Salesforce knowledge articles.
1356	StandardKnowledgeArticleTypeConfiguration *SalesforceStandardKnowledgeArticleTypeConfiguration
1357}
1358
1359// Provides configuration information for standard Salesforce knowledge articles.
1360type SalesforceStandardKnowledgeArticleTypeConfiguration struct {
1361
1362	// The name of the field that contains the document data to index.
1363	//
1364	// This member is required.
1365	DocumentDataFieldName *string
1366
1367	// The name of the field that contains the document title.
1368	DocumentTitleFieldName *string
1369
1370	// One or more objects that map fields in the knowledge article to Amazon Kendra
1371	// index fields. The index field must exist before you can map a Salesforce field
1372	// to it.
1373	FieldMappings []DataSourceToIndexFieldMapping
1374}
1375
1376// Provides configuration information for processing attachments to Salesforce
1377// standard objects.
1378type SalesforceStandardObjectAttachmentConfiguration struct {
1379
1380	// The name of the field used for the document title.
1381	DocumentTitleFieldName *string
1382
1383	// One or more objects that map fields in attachments to Amazon Kendra index
1384	// fields.
1385	FieldMappings []DataSourceToIndexFieldMapping
1386}
1387
1388// Specifies configuration information for indexing a single standard object.
1389type SalesforceStandardObjectConfiguration struct {
1390
1391	// The name of the field in the standard object table that contains the document
1392	// contents.
1393	//
1394	// This member is required.
1395	DocumentDataFieldName *string
1396
1397	// The name of the standard object.
1398	//
1399	// This member is required.
1400	Name SalesforceStandardObjectName
1401
1402	// The name of the field in the standard object table that contains the document
1403	// title.
1404	DocumentTitleFieldName *string
1405
1406	// One or more objects that map fields in the standard object to Amazon Kendra
1407	// index fields. The index field must exist before you can map a Salesforce field
1408	// to it.
1409	FieldMappings []DataSourceToIndexFieldMapping
1410}
1411
1412// Provides a relative ranking that indicates how confident Amazon Kendra is that
1413// the response matches the query.
1414type ScoreAttributes struct {
1415
1416	// A relative ranking for how well the response matches the query.
1417	ScoreConfidence ScoreConfidence
1418}
1419
1420// Provides information about how a custom index field is used during a search.
1421type Search struct {
1422
1423	// Determines whether the field is returned in the query response. The default is
1424	// true.
1425	Displayable bool
1426
1427	// Indicates that the field can be used to create search facets, a count of results
1428	// for each value in the field. The default is false .
1429	Facetable bool
1430
1431	// Determines whether the field is used in the search. If the Searchable field is
1432	// true, you can use relevance tuning to manually tune how Amazon Kendra weights
1433	// the field in the search. The default is true for string fields and false for
1434	// number and date fields.
1435	Searchable bool
1436
1437	// Determines whether the field can be used to sort the results of a query. If you
1438	// specify sorting on a field that does not have Sortable set to true, Amazon
1439	// Kendra returns an exception. The default is false.
1440	Sortable bool
1441}
1442
1443// Provides the identifier of the AWS KMS customer master key (CMK) used to encrypt
1444// data indexed by Amazon Kendra. Amazon Kendra doesn't support asymmetric CMKs.
1445type ServerSideEncryptionConfiguration struct {
1446
1447	// The identifier of the AWS KMS customer master key (CMK). Amazon Kendra doesn't
1448	// support asymmetric CMKs.
1449	KmsKeyId *string
1450}
1451
1452// Provides configuration information required to connect to a ServiceNow data
1453// source.
1454type ServiceNowConfiguration struct {
1455
1456	// The ServiceNow instance that the data source connects to. The host endpoint
1457	// should look like the following: {instance}.service-now.com.
1458	//
1459	// This member is required.
1460	HostUrl *string
1461
1462	// The Amazon Resource Name (ARN) of the AWS Secret Manager secret that contains
1463	// the user name and password required to connect to the ServiceNow instance.
1464	//
1465	// This member is required.
1466	SecretArn *string
1467
1468	// The identifier of the release that the ServiceNow host is running. If the host
1469	// is not running the LONDON release, use OTHERS.
1470	//
1471	// This member is required.
1472	ServiceNowBuildVersion ServiceNowBuildVersionType
1473
1474	// Determines the type of authentication used to connect to the ServiceNow
1475	// instance. If you choose HTTP_BASIC, Amazon Kendra is authenticated using the
1476	// user name and password provided in the AWS Secrets Manager secret in the
1477	// SecretArn field. When you choose OAUTH2, Amazon Kendra is authenticated using
1478	// the OAuth token and secret provided in the Secrets Manager secret, and the user
1479	// name and password are used to determine which information Amazon Kendra has
1480	// access to. When you use OAUTH2 authentication, you must generate a token and a
1481	// client secret using the ServiceNow console. For more information, see Using a
1482	// ServiceNow data source
1483	// (https://docs.aws.amazon.com/kendra/latest/dg/data-source-servicenow.html).
1484	AuthenticationType ServiceNowAuthenticationType
1485
1486	// Provides configuration information for crawling knowledge articles in the
1487	// ServiceNow site.
1488	KnowledgeArticleConfiguration *ServiceNowKnowledgeArticleConfiguration
1489
1490	// Provides configuration information for crawling service catalogs in the
1491	// ServiceNow site.
1492	ServiceCatalogConfiguration *ServiceNowServiceCatalogConfiguration
1493}
1494
1495// Provides configuration information for crawling knowledge articles in the
1496// ServiceNow site.
1497type ServiceNowKnowledgeArticleConfiguration struct {
1498
1499	// The name of the ServiceNow field that is mapped to the index document contents
1500	// field in the Amazon Kendra index.
1501	//
1502	// This member is required.
1503	DocumentDataFieldName *string
1504
1505	// Indicates whether Amazon Kendra should index attachments to knowledge articles.
1506	CrawlAttachments bool
1507
1508	// The name of the ServiceNow field that is mapped to the index document title
1509	// field.
1510	DocumentTitleFieldName *string
1511
1512	// List of regular expressions applied to knowledge articles. Items that don't
1513	// match the inclusion pattern are not indexed. The regex is applied to the field
1514	// specified in the PatternTargetField
1515	ExcludeAttachmentFilePatterns []string
1516
1517	// Mapping between ServiceNow fields and Amazon Kendra index fields. You must
1518	// create the index field before you map the field.
1519	FieldMappings []DataSourceToIndexFieldMapping
1520
1521	// A query that selects the knowledge articles to index. The query can return
1522	// articles from multiple knowledge bases, and the knowledge bases can be public or
1523	// private. The query string must be one generated by the ServiceNow console. For
1524	// more information, see Specifying documents to index with a query
1525	// (https://docs.aws.amazon.com/kendra/latest/dg/servicenow-query.html).
1526	FilterQuery *string
1527
1528	// List of regular expressions applied to knowledge articles. Items that don't
1529	// match the inclusion pattern are not indexed. The regex is applied to the field
1530	// specified in the PatternTargetField.
1531	IncludeAttachmentFilePatterns []string
1532}
1533
1534// Provides configuration information for crawling service catalog items in the
1535// ServiceNow site
1536type ServiceNowServiceCatalogConfiguration struct {
1537
1538	// The name of the ServiceNow field that is mapped to the index document contents
1539	// field in the Amazon Kendra index.
1540	//
1541	// This member is required.
1542	DocumentDataFieldName *string
1543
1544	// Indicates whether Amazon Kendra should crawl attachments to the service catalog
1545	// items.
1546	CrawlAttachments bool
1547
1548	// The name of the ServiceNow field that is mapped to the index document title
1549	// field.
1550	DocumentTitleFieldName *string
1551
1552	// A list of regular expression patterns. Documents that match the patterns are
1553	// excluded from the index. Documents that don't match the patterns are included in
1554	// the index. If a document matches both an exclusion pattern and an inclusion
1555	// pattern, the document is not included in the index. The regex is applied to the
1556	// file name of the attachment.
1557	ExcludeAttachmentFilePatterns []string
1558
1559	// Mapping between ServiceNow fields and Amazon Kendra index fields. You must
1560	// create the index field before you map the field.
1561	FieldMappings []DataSourceToIndexFieldMapping
1562
1563	// A list of regular expression patterns. Documents that match the patterns are
1564	// included in the index. Documents that don't match the patterns are excluded from
1565	// the index. If a document matches both an exclusion pattern and an inclusion
1566	// pattern, the document is not included in the index. The regex is applied to the
1567	// file name of the attachment.
1568	IncludeAttachmentFilePatterns []string
1569}
1570
1571// Provides configuration information for connecting to a Microsoft SharePoint data
1572// source.
1573type SharePointConfiguration struct {
1574
1575	// The Amazon Resource Name (ARN) of credentials stored in AWS Secrets Manager. The
1576	// credentials should be a user/password pair. For more information, see Using a
1577	// Microsoft SharePoint Data Source
1578	// (https://docs.aws.amazon.com/kendra/latest/dg/data-source-sharepoint.html). For
1579	// more information about AWS Secrets Manager, see  What Is AWS Secrets Manager
1580	// (https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) in the
1581	// AWS Secrets Manager user guide.
1582	//
1583	// This member is required.
1584	SecretArn *string
1585
1586	// The version of Microsoft SharePoint that you are using as a data source.
1587	//
1588	// This member is required.
1589	SharePointVersion SharePointVersion
1590
1591	// The URLs of the Microsoft SharePoint site that contains the documents that
1592	// should be indexed.
1593	//
1594	// This member is required.
1595	Urls []string
1596
1597	// TRUE to include attachments to documents stored in your Microsoft SharePoint
1598	// site in the index; otherwise, FALSE.
1599	CrawlAttachments bool
1600
1601	// A Boolean value that specifies whether local groups are disabled (True) or
1602	// enabled (False).
1603	DisableLocalGroups bool
1604
1605	// The Microsoft SharePoint attribute field that contains the title of the
1606	// document.
1607	DocumentTitleFieldName *string
1608
1609	// A list of regular expression patterns. Documents that match the patterns are
1610	// excluded from the index. Documents that don't match the patterns are included in
1611	// the index. If a document matches both an exclusion pattern and an inclusion
1612	// pattern, the document is not included in the index. The regex is applied to the
1613	// display URL of the SharePoint document.
1614	ExclusionPatterns []string
1615
1616	// A list of DataSourceToIndexFieldMapping objects that map Microsoft SharePoint
1617	// attributes to custom fields in the Amazon Kendra index. You must first create
1618	// the index fields using the UpdateIndex operation before you map SharePoint
1619	// attributes. For more information, see Mapping Data Source Fields
1620	// (https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html).
1621	FieldMappings []DataSourceToIndexFieldMapping
1622
1623	// A list of regular expression patterns. Documents that match the patterns are
1624	// included in the index. Documents that don't match the patterns are excluded from
1625	// the index. If a document matches both an inclusion pattern and an exclusion
1626	// pattern, the document is not included in the index. The regex is applied to the
1627	// display URL of the SharePoint document.
1628	InclusionPatterns []string
1629
1630	// Set to TRUE to use the Microsoft SharePoint change log to determine the
1631	// documents that need to be updated in the index. Depending on the size of the
1632	// SharePoint change log, it may take longer for Amazon Kendra to use the change
1633	// log than it takes it to determine the changed documents using the Amazon Kendra
1634	// document crawler.
1635	UseChangeLog bool
1636
1637	// Provides information for connecting to an Amazon VPC.
1638	VpcConfiguration *DataSourceVpcConfiguration
1639}
1640
1641// Specifies the document attribute to use to sort the response to a Amazon Kendra
1642// query. You can specify a single attribute for sorting. The attribute must have
1643// the Sortable flag set to true, otherwise Amazon Kendra returns an exception. You
1644// can sort attributes of the following types.
1645//
1646// * Date value
1647//
1648// * Long value
1649//
1650// *
1651// String value
1652//
1653// You can't sort attributes of the following type.
1654//
1655// * String list
1656// value
1657type SortingConfiguration struct {
1658
1659	// The name of the document attribute used to sort the response. You can use any
1660	// field that has the Sortable flag set to true. You can also sort by any of the
1661	// following built-in attributes:
1662	//
1663	// * _category
1664	//
1665	// * _created_at
1666	//
1667	// *
1668	// _last_updated_at
1669	//
1670	// * _version
1671	//
1672	// * _view_count
1673	//
1674	// This member is required.
1675	DocumentAttributeKey *string
1676
1677	// The order that the results should be returned in. In case of ties, the relevance
1678	// assigned to the result by Amazon Kendra is used as the tie-breaker.
1679	//
1680	// This member is required.
1681	SortOrder SortOrder
1682}
1683
1684// Provides information that configures Amazon Kendra to use a SQL database.
1685type SqlConfiguration struct {
1686
1687	// Determines whether Amazon Kendra encloses SQL identifiers for tables and column
1688	// names in double quotes (") when making a database query. By default, Amazon
1689	// Kendra passes SQL identifiers the way that they are entered into the data source
1690	// configuration. It does not change the case of identifiers or enclose them in
1691	// quotes. PostgreSQL internally converts uppercase characters to lower case
1692	// characters in identifiers unless they are quoted. Choosing this option encloses
1693	// identifiers in quotes so that PostgreSQL does not convert the character's case.
1694	// For MySQL databases, you must enable the ansi_quotes option when you set this
1695	// field to DOUBLE_QUOTES.
1696	QueryIdentifiersEnclosingOption QueryIdentifiersEnclosingOption
1697}
1698
1699// A list of key/value pairs that identify an index, FAQ, or data source. Tag keys
1700// and values can consist of Unicode letters, digits, white space, and any of the
1701// following symbols: _ . : / = + - @.
1702type Tag struct {
1703
1704	// The key for the tag. Keys are not case sensitive and must be unique for the
1705	// index, FAQ, or data source.
1706	//
1707	// This member is required.
1708	Key *string
1709
1710	// The value associated with the tag. The value may be an empty string but it can't
1711	// be null.
1712	//
1713	// This member is required.
1714	Value *string
1715}
1716
1717// Provides information about text documents indexed in an index.
1718type TextDocumentStatistics struct {
1719
1720	// The total size, in bytes, of the indexed documents.
1721	//
1722	// This member is required.
1723	IndexedTextBytes int64
1724
1725	// The number of text documents indexed.
1726	//
1727	// This member is required.
1728	IndexedTextDocumentsCount int32
1729}
1730
1731// Provides text and information about where to highlight the text.
1732type TextWithHighlights struct {
1733
1734	// The beginning and end of the text that should be highlighted.
1735	Highlights []Highlight
1736
1737	// The text to display to the user.
1738	Text *string
1739}
1740
1741// An array of summary information for one or more thesauruses.
1742type ThesaurusSummary struct {
1743
1744	// The Unix datetime that the thesaurus was created.
1745	CreatedAt *time.Time
1746
1747	// The identifier of the thesaurus.
1748	Id *string
1749
1750	// The name of the thesaurus.
1751	Name *string
1752
1753	// The status of the thesaurus.
1754	Status ThesaurusStatus
1755
1756	// The Unix datetime that the thesaurus was last updated.
1757	UpdatedAt *time.Time
1758}
1759
1760// Provides a range of time.
1761type TimeRange struct {
1762
1763	// The UNIX datetime of the end of the time range.
1764	EndTime *time.Time
1765
1766	// The UNIX datetime of the beginning of the time range.
1767	StartTime *time.Time
1768}
1769
1770// Provides information about the user context for a Amazon Kendra index.
1771type UserContext struct {
1772
1773	// The user context token. It must be a JWT or a JSON token.
1774	Token *string
1775}
1776
1777// Provides configuration information for a token configuration.
1778type UserTokenConfiguration struct {
1779
1780	// Information about the JSON token type configuration.
1781	JsonTokenTypeConfiguration *JsonTokenTypeConfiguration
1782
1783	// Information about the JWT token type configuration.
1784	JwtTokenTypeConfiguration *JwtTokenTypeConfiguration
1785}
1786
1787// UnknownUnionMember is returned when a union member is returned over the wire,
1788// but has an unknown tag.
1789type UnknownUnionMember struct {
1790	Tag   string
1791	Value []byte
1792}
1793
1794func (*UnknownUnionMember) isDocumentAttributeValue() {}
1795