/
types.go
4303 lines (3393 loc) · 173 KB
/
types.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
// Code generated by smithy-go-codegen DO NOT EDIT.
package types
import (
"github.com/aws/aws-sdk-go-v2/service/kendra/document"
smithydocument "github.com/aws/smithy-go/document"
"time"
)
// Summary information on an access control configuration that you created for
// your documents in an index.
type AccessControlConfigurationSummary struct {
// The identifier of the access control configuration.
//
// This member is required.
Id *string
noSmithyDocumentSerde
}
// Access Control List files for the documents in a 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)
// .
type AccessControlListConfiguration struct {
// Path to the Amazon S3 bucket that contains the ACL files.
KeyPath *string
noSmithyDocumentSerde
}
// Provides information about the column that should be used for filtering the
// query response by groups.
type AclConfiguration 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 API.
//
// This member is required.
AllowedGroupsColumnName *string
noSmithyDocumentSerde
}
// An attribute returned from an index query.
type AdditionalResultAttribute struct {
// The key that identifies the attribute.
//
// This member is required.
Key *string
// An object that contains the attribute value.
//
// This member is required.
Value *AdditionalResultAttributeValue
// The data type of the Value property.
//
// This member is required.
ValueType AdditionalResultAttributeValueType
noSmithyDocumentSerde
}
// An attribute returned with a document from a search.
type AdditionalResultAttributeValue struct {
// The text associated with the attribute and information about the highlight to
// apply to the text.
TextWithHighlightsValue *TextWithHighlights
noSmithyDocumentSerde
}
// Provides the configuration information to connect to Alfresco as your data
// source. Support for AlfrescoConfiguration ended May 2023. We recommend
// migrating to or using the Alfresco data source template schema /
// TemplateConfiguration (https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html)
// API.
type AlfrescoConfiguration struct {
// The Amazon Resource Name (ARN) of an Secrets Manager secret that contains the
// key-value pairs required to connect to your Alfresco data source. The secret
// must contain a JSON structure with the following keys:
// - username—The user name of the Alfresco account.
// - password—The password of the Alfresco account.
//
// This member is required.
SecretArn *string
// The identifier of the Alfresco site. For example, my-site.
//
// This member is required.
SiteId *string
// The URL of the Alfresco site. For example, https://hostname:8080.
//
// This member is required.
SiteUrl *string
// The path to the SSL certificate stored in an Amazon S3 bucket. You use this to
// connect to Alfresco if you require a secure SSL connection. You can simply
// generate a self-signed X509 certificate on any computer using OpenSSL. For an
// example of using OpenSSL to create an X509 certificate, see Create and sign an
// X509 certificate (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/configuring-https-ssl.html)
// .
//
// This member is required.
SslCertificateS3Path *S3Path
// A list of DataSourceToIndexFieldMapping objects that map attributes or field
// names of Alfresco blogs to Amazon Kendra index field names. To create custom
// fields, use the UpdateIndex API before you map to Alfresco fields. For more
// information, see Mapping data source fields (https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)
// . The Alfresco data source field names must exist in your Alfresco custom
// metadata.
BlogFieldMappings []DataSourceToIndexFieldMapping
// TRUE to index comments of blogs and other content.
CrawlComments bool
// TRUE to index shared files.
CrawlSystemFolders bool
// A list of DataSourceToIndexFieldMapping objects that map attributes or field
// names of Alfresco document libraries to Amazon Kendra index field names. To
// create custom fields, use the UpdateIndex API before you map to Alfresco
// fields. For more information, see Mapping data source fields (https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)
// . The Alfresco data source field names must exist in your Alfresco custom
// metadata.
DocumentLibraryFieldMappings []DataSourceToIndexFieldMapping
// Specify whether to index document libraries, wikis, or blogs. You can specify
// one or more of these options.
EntityFilter []AlfrescoEntity
// A list of regular expression patterns to exclude certain files in your Alfresco
// data source. 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
// A list of regular expression patterns to include certain files in your Alfresco
// data source. 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
// Configuration information for an Amazon Virtual Private Cloud to connect to
// your Alfresco. For more information, see Configuring a VPC (https://docs.aws.amazon.com/kendra/latest/dg/vpc-configuration.html)
// .
VpcConfiguration *DataSourceVpcConfiguration
// A list of DataSourceToIndexFieldMapping objects that map attributes or field
// names of Alfresco wikis to Amazon Kendra index field names. To create custom
// fields, use the UpdateIndex API before you map to Alfresco fields. For more
// information, see Mapping data source fields (https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)
// . The Alfresco data source field names must exist in your Alfresco custom
// metadata.
WikiFieldMappings []DataSourceToIndexFieldMapping
noSmithyDocumentSerde
}
// Provides filtering the query results based on document attributes or metadata
// fields. When you use the AndAllFilters or OrAllFilters , filters you can use 2
// layers under the first attribute filter. For example, you can use:
// If you use more than 2 layers, you receive a ValidationException exception with
// the message " AttributeFilter cannot have a depth of more than 2." If you use
// more than 10 attribute filters in a given list for AndAllFilters or OrAllFilters
// , you receive a ValidationException with the message " AttributeFilter cannot
// have a length of more than 10".
type AttributeFilter struct {
// Performs a logical AND operation on all supplied filters.
AndAllFilters []AttributeFilter
// Returns true when a document contains all of the specified document attributes
// or metadata fields. This filter is only applicable to StringListValue metadata.
ContainsAll *DocumentAttribute
// Returns true when a document contains any of the specified document attributes
// or metadata fields. This filter is only applicable to StringListValue metadata.
ContainsAny *DocumentAttribute
// Performs an equals operation on two document attributes or metadata fields.
EqualsTo *DocumentAttribute
// Performs a greater than operation on two document attributes or metadata
// fields. Use with a document attribute of type Date or Long .
GreaterThan *DocumentAttribute
// Performs a greater or equals than operation on two document attributes or
// metadata fields. Use with a document attribute of type Date or Long .
GreaterThanOrEquals *DocumentAttribute
// Performs a less than operation on two document attributes or metadata fields.
// Use with a document attribute of type Date or Long .
LessThan *DocumentAttribute
// Performs a less than or equals operation on two document attributes or metadata
// fields. Use with a document attribute of type Date or Long .
LessThanOrEquals *DocumentAttribute
// Performs a logical NOT operation on all supplied filters.
NotFilter *AttributeFilter
// Performs a logical OR operation on all supplied filters.
OrAllFilters []AttributeFilter
noSmithyDocumentSerde
}
// Gets information on the configuration of document fields/attributes that you
// want to base query suggestions on. To change your configuration, use
// AttributeSuggestionsUpdateConfig (https://docs.aws.amazon.com/kendra/latest/dg/API_AttributeSuggestionsUpdateConfig.html)
// and then call UpdateQuerySuggestionsConfig (https://docs.aws.amazon.com/kendra/latest/dg/API_UpdateQuerySuggestionsConfig.html)
// .
type AttributeSuggestionsDescribeConfig struct {
// The mode is set to either ACTIVE or INACTIVE . If the Mode for query history is
// set to ENABLED when calling UpdateQuerySuggestionsConfig (https://docs.aws.amazon.com/kendra/latest/dg/API_UpdateQuerySuggestionsConfig.html)
// and AttributeSuggestionsMode to use fields/attributes is set to ACTIVE , and you
// haven't set your SuggestionTypes preference to DOCUMENT_ATTRIBUTES , then Amazon
// Kendra uses the query history.
AttributeSuggestionsMode AttributeSuggestionsMode
// The list of fields/attributes that you want to set as suggestible for query
// suggestions.
SuggestableConfigList []SuggestableConfig
noSmithyDocumentSerde
}
// Provides the configuration information for the document fields/attributes that
// you want to base query suggestions on.
type AttributeSuggestionsGetConfig struct {
// The list of additional document field/attribute keys or field names to include
// in the response. You can use additional fields to provide extra information in
// the response. Additional fields are not used to based suggestions on.
AdditionalResponseAttributes []string
// Filters the search results based on document fields/attributes.
AttributeFilter *AttributeFilter
// The list of document field/attribute keys or field names to use for query
// suggestions. If the content within any of the fields match what your user starts
// typing as their query, then the field content is returned as a query suggestion.
SuggestionAttributes []string
// Applies user context filtering so that only users who are given access to
// certain documents see these document in their search results.
UserContext *UserContext
noSmithyDocumentSerde
}
// Updates the configuration information for the document fields/attributes that
// you want to base query suggestions on. To deactivate using documents fields for
// query suggestions, set the mode to INACTIVE . You must also set SuggestionTypes
// as either QUERY or DOCUMENT_ATTRIBUTES and then call GetQuerySuggestions (https://docs.aws.amazon.com/kendra/latest/dg/API_GetQuerySuggestions.html)
// . If you set to QUERY , then Amazon Kendra uses the query history to base
// suggestions on. If you set to DOCUMENT_ATTRIBUTES , then Amazon Kendra uses the
// contents of document fields to base suggestions on.
type AttributeSuggestionsUpdateConfig struct {
// You can set the mode to ACTIVE or INACTIVE . You must also set SuggestionTypes
// as either QUERY or DOCUMENT_ATTRIBUTES and then call GetQuerySuggestions (https://docs.aws.amazon.com/kendra/latest/dg/API_GetQuerySuggestions.html)
// . If Mode to use query history is set to ENABLED when calling
// UpdateQuerySuggestionsConfig (https://docs.aws.amazon.com/kendra/latest/dg/API_UpdateQuerySuggestionsConfig.html)
// and AttributeSuggestionsMode to use fields/attributes is set to ACTIVE , and you
// haven't set your SuggestionTypes preference to DOCUMENT_ATTRIBUTES , then Amazon
// Kendra uses the query history.
AttributeSuggestionsMode AttributeSuggestionsMode
// The list of fields/attributes that you want to set as suggestible for query
// suggestions.
SuggestableConfigList []SuggestableConfig
noSmithyDocumentSerde
}
// Provides the configuration information to connect to websites that require user
// authentication.
type AuthenticationConfiguration 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 []BasicAuthenticationConfiguration
noSmithyDocumentSerde
}
// Provides the configuration information to connect to websites that require
// basic user authentication.
type BasicAuthenticationConfiguration struct {
// Your secret ARN, which you can create in 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.
//
// This member is required.
Credentials *string
// The name of the website host you want to connect to using authentication
// credentials. For example, the host name of https://a.example.com/page1.html is
// "a.example.com".
//
// This member is required.
Host *string
// The port number of the website host you want to connect to using authentication
// credentials. For example, the port for https://a.example.com/page1.html is 443,
// the standard port for HTTPS.
//
// This member is required.
Port *int32
noSmithyDocumentSerde
}
// Provides information about documents that could not be removed from an index by
// the BatchDeleteDocument API.
type BatchDeleteDocumentResponseFailedDocument struct {
// The error code for why the document couldn't be removed from the index.
ErrorCode ErrorCode
// An explanation for why the document couldn't be removed from the index.
ErrorMessage *string
// The identifier of the document that couldn't be removed from the index.
Id *string
noSmithyDocumentSerde
}
// Provides information about a set of featured results that couldn't be removed
// from an index by the BatchDeleteFeaturedResultsSet (https://docs.aws.amazon.com/kendra/latest/dg/API_BatchDeleteFeaturedResultsSet.html)
// API.
type BatchDeleteFeaturedResultsSetError struct {
// The error code for why the set of featured results couldn't be removed from the
// index.
//
// This member is required.
ErrorCode ErrorCode
// An explanation for why the set of featured results couldn't be removed from the
// index.
//
// This member is required.
ErrorMessage *string
// The identifier of the set of featured results that couldn't be removed from the
// index.
//
// This member is required.
Id *string
noSmithyDocumentSerde
}
// Provides a response when the status of a document could not be retrieved.
type BatchGetDocumentStatusResponseError struct {
// The identifier of the document whose status could not be retrieved.
DocumentId *string
// Indicates the source of the error.
ErrorCode ErrorCode
// States that the API could not get the status of a document. This could be
// because the request is not valid or there is a system error.
ErrorMessage *string
noSmithyDocumentSerde
}
// Provides information about a document that could not be indexed.
type BatchPutDocumentResponseFailedDocument struct {
// The type of error that caused the document to fail to be indexed.
ErrorCode ErrorCode
// A description of the reason why the document could not be indexed.
ErrorMessage *string
// The identifier of the document.
Id *string
noSmithyDocumentSerde
}
// Provides the configuration information to connect to Box as your data source.
type BoxConfiguration struct {
// The identifier of the Box Enterprise platform. You can find the enterprise ID
// in the Box Developer Console settings or when you create an app in Box and
// download your authentication credentials. For example, 801234567.
//
// This member is required.
EnterpriseId *string
// The Amazon Resource Name (ARN) of an Secrets Manager secret that contains the
// key-value pairs required to connect to your Box platform. The secret must
// contain a JSON structure with the following keys:
// - clientID—The identifier of the client OAuth 2.0 authentication application
// created in Box.
// - clientSecret—A set of characters known only to the OAuth 2.0 authentication
// application created in Box.
// - publicKeyId—The identifier of the public key contained within an identity
// certificate.
// - privateKey—A set of characters that make up an encryption key.
// - passphrase—A set of characters that act like a password.
// You create an application in Box to generate the keys or credentials required
// for the secret. For more information, see Using a Box data source (https://docs.aws.amazon.com/kendra/latest/dg/data-source-box.html)
// .
//
// This member is required.
SecretArn *string
// A list of DataSourceToIndexFieldMapping objects that map attributes or field
// names of Box comments to Amazon Kendra index field names. To create custom
// fields, use the UpdateIndex API before you map to Box fields. For more
// information, see Mapping data source fields (https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)
// . The Box field names must exist in your Box custom metadata.
CommentFieldMappings []DataSourceToIndexFieldMapping
// TRUE to index comments.
CrawlComments bool
// TRUE to index the contents of tasks.
CrawlTasks bool
// TRUE to index web links.
CrawlWebLinks bool
// A list of regular expression patterns to exclude certain files and folders from
// your Box platform. Files and folders that match the patterns are excluded from
// the index.Files and folders that don't match the patterns are included in the
// index. If a file or folder matches both an inclusion and exclusion pattern, the
// exclusion pattern takes precedence and the file or folder isn't included in the
// index.
ExclusionPatterns []string
// A list of DataSourceToIndexFieldMapping objects that map attributes or field
// names of Box files to Amazon Kendra index field names. To create custom fields,
// use the UpdateIndex API before you map to Box fields. For more information, see
// Mapping data source fields (https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)
// . The Box field names must exist in your Box custom metadata.
FileFieldMappings []DataSourceToIndexFieldMapping
// A list of regular expression patterns to include certain files and folders in
// your Box platform. Files and folders that match the patterns are included in the
// index. Files and folders that don't match the patterns are excluded from the
// index. If a file or folder matches both an inclusion and exclusion pattern, the
// exclusion pattern takes precedence and the file or folder isn't included in the
// index.
InclusionPatterns []string
// A list of DataSourceToIndexFieldMapping objects that map attributes or field
// names of Box tasks to Amazon Kendra index field names. To create custom fields,
// use the UpdateIndex API before you map to Box fields. For more information, see
// Mapping data source fields (https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)
// . The Box field names must exist in your Box custom metadata.
TaskFieldMappings []DataSourceToIndexFieldMapping
// TRUE to use the Slack change log to determine which documents require updating
// in the index. Depending on the data source change log's size, it may take longer
// for Amazon Kendra to use the change log than to scan all of your documents.
UseChangeLog bool
// Configuration information for an Amazon VPC to connect to your Box. For more
// information, see Configuring a VPC (https://docs.aws.amazon.com/kendra/latest/dg/vpc-configuration.html)
// .
VpcConfiguration *DataSourceVpcConfiguration
// A list of DataSourceToIndexFieldMapping objects that map attributes or field
// names of Box web links to Amazon Kendra index field names. To create custom
// fields, use the UpdateIndex API before you map to Box fields. For more
// information, see Mapping data source fields (https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)
// . The Box field names must exist in your Box custom metadata.
WebLinkFieldMappings []DataSourceToIndexFieldMapping
noSmithyDocumentSerde
}
// Specifies additional capacity units configured for your Enterprise Edition
// index. You can add and remove capacity units to fit your usage requirements.
type CapacityUnitsConfiguration 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. You can add up to 100 extra
// capacity units. 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).
//
// This member is required.
QueryCapacityUnits *int32
// 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. You can add up to 100 extra capacity units.
//
// This member is required.
StorageCapacityUnits *int32
noSmithyDocumentSerde
}
// Gathers information about when a particular result was clicked by a user. Your
// application uses the SubmitFeedback API to provide click information.
type ClickFeedback struct {
// The Unix timestamp when the result was clicked.
//
// This member is required.
ClickTime *time.Time
// The identifier of the search result that was clicked.
//
// This member is required.
ResultId *string
noSmithyDocumentSerde
}
// Provides information about how Amazon Kendra should use the columns of a
// database in an index.
type ColumnConfiguration struct {
// One to five columns that indicate when a document in the database has changed.
//
// This member is required.
ChangeDetectingColumns []string
// The column that contains the contents of the document.
//
// This member is required.
DocumentDataColumnName *string
// The column that provides the document's identifier.
//
// This member is required.
DocumentIdColumnName *string
// The column that contains the title of the document.
DocumentTitleColumnName *string
// 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
// API.
FieldMappings []DataSourceToIndexFieldMapping
noSmithyDocumentSerde
}
// Information about a conflicting query used across different sets of featured
// results. When you create a featured results set, you must check that the queries
// are unique per featured results set for each index.
type ConflictingItem struct {
// The text of the conflicting query.
QueryText *string
// The identifier of the set of featured results that the conflicting query
// belongs to.
SetId *string
// The name for the set of featured results that the conflicting query belongs to.
SetName *string
noSmithyDocumentSerde
}
// Configuration of attachment settings for the Confluence data source. Attachment
// settings are optional, if you don't specify settings attachments, Amazon Kendra
// won't index them.
type ConfluenceAttachmentConfiguration struct {
// Maps attributes or field names of Confluence attachments to Amazon Kendra index
// field names. To create custom fields, use the UpdateIndex API before you map to
// Confluence fields. For more information, see Mapping data source fields (https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)
// . The Confluence data source field names must exist in your Confluence custom
// metadata. If you specify the AttachentFieldMappings parameter, you must specify
// at least one field mapping.
AttachmentFieldMappings []ConfluenceAttachmentToIndexFieldMapping
// TRUE to index attachments of pages and blogs in Confluence.
CrawlAttachments bool
noSmithyDocumentSerde
}
// Maps attributes or field names of Confluence attachments to Amazon Kendra index
// field names. To create custom fields, use the UpdateIndex API before you map to
// Confluence fields. For more information, see Mapping data source fields (https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)
// . The Confuence data source field names must exist in your Confluence custom
// metadata.
type ConfluenceAttachmentToIndexFieldMapping struct {
// The name of the field in the data source. You must first create the index field
// using the UpdateIndex API.
DataSourceFieldName ConfluenceAttachmentFieldName
// 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
// 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
noSmithyDocumentSerde
}
// Configuration of 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.
type ConfluenceBlogConfiguration struct {
// Maps attributes or field names of Confluence blogs to Amazon Kendra index field
// names. To create custom fields, use the UpdateIndex API before you map to
// Confluence fields. For more information, see Mapping data source fields (https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)
// . The Confluence data source field names must exist in your Confluence custom
// metadata. If you specify the BlogFieldMappings parameter, you must specify at
// least one field mapping.
BlogFieldMappings []ConfluenceBlogToIndexFieldMapping
noSmithyDocumentSerde
}
// Maps attributes or field names of Confluence blog to Amazon Kendra index field
// names. To create custom fields, use the UpdateIndex API before you map to
// Confluence fields. For more information, see Mapping data source fields (https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)
// . The Confluence data source field names must exist in your Confluence custom
// metadata.
type ConfluenceBlogToIndexFieldMapping struct {
// The name of the field in the data source.
DataSourceFieldName ConfluenceBlogFieldName
// 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
// 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
noSmithyDocumentSerde
}
// Provides the configuration information to connect to Confluence as your data
// source.
type ConfluenceConfiguration struct {
// The Amazon Resource Name (ARN) of an Secrets Manager secret that contains the
// user name and password required to connect to the Confluence instance. If you
// use Confluence Cloud, you use a generated API token as the password. You can
// also provide authentication credentials in the form of a personal access token.
// For more information, see Using a Confluence data source (https://docs.aws.amazon.com/kendra/latest/dg/data-source-confluence.html)
// .
//
// This member is required.
SecretArn *string
// 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/.
//
// This member is required.
ServerUrl *string
// The version or the type of Confluence installation to connect to.
//
// This member is required.
Version ConfluenceVersion
// Configuration information for indexing attachments to Confluence blogs and
// pages.
AttachmentConfiguration *ConfluenceAttachmentConfiguration
// Whether you want to connect to Confluence using basic authentication of user
// name and password, or a personal access token. You can use a personal access
// token for Confluence Server.
AuthenticationType ConfluenceAuthenticationType
// Configuration information for indexing Confluence blogs.
BlogConfiguration *ConfluenceBlogConfiguration
// A list of regular expression patterns to exclude certain blog posts, pages,
// spaces, or attachments in your Confluence. Content that matches the patterns are
// excluded from the index. Content that doesn't match the patterns is included in
// the index. If content matches both an inclusion and exclusion pattern, the
// exclusion pattern takes precedence and the content isn't included in the index.
ExclusionPatterns []string
// A list of regular expression patterns to include certain blog posts, pages,
// spaces, or attachments in your Confluence. Content that matches the patterns are
// included in the index. Content that doesn't match the patterns is excluded from
// the index. If content matches both an inclusion and exclusion pattern, the
// exclusion pattern takes precedence and the content isn't included in the index.
InclusionPatterns []string
// Configuration information for indexing Confluence pages.
PageConfiguration *ConfluencePageConfiguration
// Configuration information to connect to your Confluence URL instance via a web
// proxy. You can use this option for Confluence Server. 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 of user name
// and password. To store web proxy credentials, you use a secret in Secrets
// Manager. It is recommended that you follow best security practices when
// configuring your web proxy. This includes setting up throttling, setting up
// logging and monitoring, and applying security patches on a regular basis. If you
// use your web proxy with multiple data sources, sync jobs that occur at the same
// time could strain the load on your proxy. It is recommended you prepare your
// proxy beforehand for any security and load requirements.
ProxyConfiguration *ProxyConfiguration
// Configuration information for indexing Confluence spaces.
SpaceConfiguration *ConfluenceSpaceConfiguration
// Configuration information for an Amazon Virtual Private Cloud to connect to
// your Confluence. For more information, see Configuring a VPC (https://docs.aws.amazon.com/kendra/latest/dg/vpc-configuration.html)
// .
VpcConfiguration *DataSourceVpcConfiguration
noSmithyDocumentSerde
}
// Configuration of the page settings for the Confluence data source.
type ConfluencePageConfiguration struct {
// Maps attributes or field names of Confluence pages to Amazon Kendra index field
// names. To create custom fields, use the UpdateIndex API before you map to
// Confluence fields. For more information, see Mapping data source fields (https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)
// . The Confluence data source field names must exist in your Confluence custom
// metadata. If you specify the PageFieldMappings parameter, you must specify at
// least one field mapping.
PageFieldMappings []ConfluencePageToIndexFieldMapping
noSmithyDocumentSerde
}
// Maps attributes or field names of Confluence pages to Amazon Kendra index field
// names. To create custom fields, use the UpdateIndex API before you map to
// Confluence fields. For more information, see Mapping data source fields (https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)
// . The Confluence data source field names must exist in your Confluence custom
// metadata.
type ConfluencePageToIndexFieldMapping struct {
// The name of the field in the data source.
DataSourceFieldName ConfluencePageFieldName
// 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
// 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
noSmithyDocumentSerde
}
// Configuration information for indexing Confluence spaces.
type ConfluenceSpaceConfiguration struct {
// TRUE to index archived spaces.
CrawlArchivedSpaces bool
// TRUE to index personal spaces. You 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 bool
// 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
// 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
// Maps attributes or field names of Confluence spaces to Amazon Kendra index
// field names. To create custom fields, use the UpdateIndex API before you map to
// Confluence fields. For more information, see Mapping data source fields (https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)
// . The Confluence data source field names must exist in your Confluence custom
// metadata. If you specify the SpaceFieldMappings parameter, you must specify at
// least one field mapping.
SpaceFieldMappings []ConfluenceSpaceToIndexFieldMapping
noSmithyDocumentSerde
}
// Maps attributes or field names of Confluence spaces to Amazon Kendra index
// field names. To create custom fields, use the UpdateIndex API before you map to
// Confluence fields. For more information, see Mapping data source fields (https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)
// . The Confluence data source field names must exist in your Confluence custom
// metadata.
type ConfluenceSpaceToIndexFieldMapping struct {
// The name of the field in the data source.
DataSourceFieldName ConfluenceSpaceFieldName
// 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
// 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
noSmithyDocumentSerde
}
// Provides the configuration information that's required to connect to a database.
type ConnectionConfiguration struct {
// The name of the host for the database. Can be either a string
// (host.subdomain.domain.tld) or an IPv4 or IPv6 address.
//
// This member is required.
DatabaseHost *string
// The name of the database containing the document data.
//
// This member is required.
DatabaseName *string
// The port that the database uses for connections.
//
// This member is required.
DatabasePort *int32
// The Amazon Resource Name (ARN) of credentials stored in 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 Secrets Manager, see What Is Secrets Manager (https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html)
// in the Secrets Manager user guide.
//
// This member is required.
SecretArn *string
// The name of the table that contains the document data.
//
// This member is required.
TableName *string
noSmithyDocumentSerde
}
// Provides the configuration information for your content sources, such as data
// sources, FAQs, and content indexed directly via BatchPutDocument (https://docs.aws.amazon.com/kendra/latest/dg/API_BatchPutDocument.html)
// .
type ContentSourceConfiguration struct {
// The identifier of the data sources you want to use for your Amazon Kendra
// experience.
DataSourceIds []string
// TRUE to use documents you indexed directly using the BatchPutDocument API.
DirectPutContent bool
// The identifier of the FAQs that you want to use for your Amazon Kendra
// experience.
FaqIds []string
noSmithyDocumentSerde
}
// A corrected misspelled word in a query.
type Correction struct {
// The zero-based location in the response string or text where the corrected word
// starts.
BeginOffset *int32
// The string or text of a corrected misspelled word in a query.
CorrectedTerm *string
// The zero-based location in the response string or text where the corrected word
// ends.
EndOffset *int32
// The string or text of a misspelled word in a query.
Term *string
noSmithyDocumentSerde
}
// 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)
// .
type CustomDocumentEnrichmentConfiguration struct {
// Configuration information to alter document attributes or metadata fields and
// content when ingesting documents into Amazon Kendra.
InlineConfigurations []InlineCustomDocumentEnrichmentConfiguration
// Configuration information for invoking a Lambda function in 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 *HookConfiguration
// Configuration information for invoking a Lambda function in 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 *HookConfiguration
// 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
noSmithyDocumentSerde
}
// Provides the configuration information to connect to a index.
type DatabaseConfiguration struct {
// Information about where the index should get the document information from the
// database.
//
// This member is required.
ColumnConfiguration *ColumnConfiguration
// Configuration information that's required to connect to a database.
//
// This member is required.
ConnectionConfiguration *ConnectionConfiguration
// The type of database engine that runs the database.
//
// This member is required.
DatabaseEngineType DatabaseEngineType
// Information about the database column that provides information for user
// context filtering.
AclConfiguration *AclConfiguration
// Provides information about how Amazon Kendra uses quote marks around SQL
// identifiers when querying a database data source.
SqlConfiguration *SqlConfiguration
// Provides the configuration information to connect to an Amazon VPC.
VpcConfiguration *DataSourceVpcConfiguration
noSmithyDocumentSerde
}
// Provides the configuration information for an Amazon Kendra data source.
type DataSourceConfiguration struct {
// Provides the configuration information to connect to Alfresco as your data
// source. Support for AlfrescoConfiguration ended May 2023. We recommend
// migrating to or using the Alfresco data source template schema /
// TemplateConfiguration (https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html)
// API.
//
// Deprecated: Deprecated AlfrescoConfiguration in favor of TemplateConfiguration
AlfrescoConfiguration *AlfrescoConfiguration