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// Document metadata files that contain information such as the document access 748// control information, source URI, document author, and custom attributes. Each 749// metadata file contains metadata about a single document. 750type DocumentsMetadataConfiguration struct { 751 752 // A prefix used to filter metadata configuration files in the AWS S3 bucket. The 753 // S3 bucket might contain multiple metadata files. Use S3Prefix to include only 754 // the desired metadata files. 755 S3Prefix *string 756} 757 758// Information about a document attribute 759type Facet struct { 760 761 // The unique key for the document attribute. 762 DocumentAttributeKey *string 763} 764 765// The facet values for the documents in the response. 766type FacetResult struct { 767 768 // The key for the facet values. This is the same as the DocumentAttributeKey 769 // provided in the query. 770 DocumentAttributeKey *string 771 772 // An array of key/value pairs, where the key is the value of the attribute and the 773 // count is the number of documents that share the key value. 774 DocumentAttributeValueCountPairs []DocumentAttributeValueCountPair 775 776 // The data type of the facet value. This is the same as the type defined for the 777 // index field when it was created. 778 DocumentAttributeValueType DocumentAttributeValueType 779} 780 781// Provides statistical information about the FAQ questions and answers contained 782// in an index. 783type FaqStatistics struct { 784 785 // The total number of FAQ questions and answers contained in the index. 786 // 787 // This member is required. 788 IndexedQuestionAnswersCount int32 789} 790 791// Provides information about a frequently asked questions and answer contained in 792// an index. 793type FaqSummary struct { 794 795 // The UNIX datetime that the FAQ was added to the index. 796 CreatedAt *time.Time 797 798 // The file type used to create the FAQ. 799 FileFormat FaqFileFormat 800 801 // The unique identifier of the FAQ. 802 Id *string 803 804 // The name that you assigned the FAQ when you created or updated the FAQ. 805 Name *string 806 807 // The current status of the FAQ. When the status is ACTIVE the FAQ is ready for 808 // use. 809 Status FaqStatus 810 811 // The UNIX datetime that the FAQ was last updated. 812 UpdatedAt *time.Time 813} 814 815// Provides configuration information for data sources that connect to Google 816// Drive. 817type GoogleDriveConfiguration struct { 818 819 // The Amazon Resource Name (ARN) of a AWS Secrets Manager secret that contains the 820 // credentials required to connect to Google Drive. For more information, see Using 821 // a Google Workspace Drive data source 822 // (https://docs.aws.amazon.com/kendra/latest/dg/data-source-google-drive.html). 823 // 824 // This member is required. 825 SecretArn *string 826 827 // A list of MIME types to exclude from the index. All documents matching the 828 // specified MIME type are excluded. For a list of MIME types, see Using a Google 829 // Workspace Drive data source 830 // (https://docs.aws.amazon.com/kendra/latest/dg/data-source-google-drive.html). 831 ExcludeMimeTypes []string 832 833 // A list of identifiers or shared drives to exclude from the index. All files and 834 // folders stored on the shared drive are excluded. 835 ExcludeSharedDrives []string 836 837 // A list of email addresses of the users. Documents owned by these users are 838 // excluded from the index. Documents shared with excluded users are indexed unless 839 // they are excluded in another way. 840 ExcludeUserAccounts []string 841 842 // A list of regular expression patterns that apply to the path on Google Drive. 843 // Items that match the pattern are excluded from the index from both shared drives 844 // and users' My Drives. Items that don't match the pattern are included in the 845 // index. If an item matches both an exclusion pattern and an inclusion pattern, it 846 // is excluded from the index. 847 ExclusionPatterns []string 848 849 // Defines mapping between a field in the Google Drive and a Amazon Kendra index 850 // field. If you are using the console, you can define index fields when creating 851 // the mapping. If you are using the API, you must first create the field using the 852 // UpdateIndex operation. 853 FieldMappings []DataSourceToIndexFieldMapping 854 855 // A list of regular expression patterns that apply to path on Google Drive. Items 856 // that match the pattern are included in the index from both shared drives and 857 // users' My Drives. Items that don't match the pattern are excluded from the 858 // index. If an item matches both an inclusion pattern and an exclusion pattern, it 859 // is excluded from the index. 860 InclusionPatterns []string 861} 862 863// Provides information that you can use to highlight a search result so that your 864// users can quickly identify terms in the response. 865type Highlight struct { 866 867 // The zero-based location in the response string where the highlight starts. 868 // 869 // This member is required. 870 BeginOffset *int32 871 872 // The zero-based location in the response string where the highlight ends. 873 // 874 // This member is required. 875 EndOffset *int32 876 877 // Indicates whether the response is the best response. True if this is the best 878 // response; otherwise, false. 879 TopAnswer bool 880 881 // The highlight type. 882 Type HighlightType 883} 884 885// A summary of information about an index. 886type IndexConfigurationSummary struct { 887 888 // The Unix timestamp when the index was created. 889 // 890 // This member is required. 891 CreatedAt *time.Time 892 893 // The current status of the index. When the status is ACTIVE, the index is ready 894 // to search. 895 // 896 // This member is required. 897 Status IndexStatus 898 899 // The Unix timestamp when the index was last updated by the UpdateIndex operation. 900 // 901 // This member is required. 902 UpdatedAt *time.Time 903 904 // Indicates whether the index is a enterprise edition index or a developer edition 905 // index. 906 Edition IndexEdition 907 908 // A unique identifier for the index. Use this to identify the index when you are 909 // using operations such as Query, DescribeIndex, UpdateIndex, and DeleteIndex. 910 Id *string 911 912 // The name of the index. 913 Name *string 914} 915 916// Provides information about the number of documents and the number of questions 917// and answers in an index. 918type IndexStatistics struct { 919 920 // The number of question and answer topics in the index. 921 // 922 // This member is required. 923 FaqStatistics *FaqStatistics 924 925 // The number of text documents indexed. 926 // 927 // This member is required. 928 TextDocumentStatistics *TextDocumentStatistics 929} 930 931// Configuration information for the JSON token type. 932type JsonTokenTypeConfiguration struct { 933 934 // The group attribute field. 935 // 936 // This member is required. 937 GroupAttributeField *string 938 939 // The user name attribute field. 940 // 941 // This member is required. 942 UserNameAttributeField *string 943} 944 945// Configuration information for the JWT token type. 946type JwtTokenTypeConfiguration struct { 947 948 // The location of the key. 949 // 950 // This member is required. 951 KeyLocation KeyLocation 952 953 // The regular expression that identifies the claim. 954 ClaimRegex *string 955 956 // The group attribute field. 957 GroupAttributeField *string 958 959 // The issuer of the token. 960 Issuer *string 961 962 // The Amazon Resource Name (arn) of the secret. 963 SecretManagerArn *string 964 965 // The signing key URL. 966 URL *string 967 968 // The user name attribute field. 969 UserNameAttributeField *string 970} 971 972// Provides configuration information for data sources that connect to OneDrive. 973type OneDriveConfiguration struct { 974 975 // A list of user accounts whose documents should be indexed. 976 // 977 // This member is required. 978 OneDriveUsers *OneDriveUsers 979 980 // The Amazon Resource Name (ARN) of an AWS Secrets Manager secret that contains 981 // the user name and password to connect to OneDrive. The user namd should be the 982 // application ID for the OneDrive application, and the password is the application 983 // key for the OneDrive application. 984 // 985 // This member is required. 986 SecretArn *string 987 988 // The Azure Active Directory domain of the organization. 989 // 990 // This member is required. 991 TenantDomain *string 992 993 // A Boolean value that specifies whether local groups are disabled (True) or 994 // enabled (False). 995 DisableLocalGroups bool 996 997 // List of regular expressions applied to documents. Items that match the exclusion 998 // pattern are not indexed. If you provide both an inclusion pattern and an 999 // exclusion pattern, any item that matches the exclusion pattern isn't indexed. 1000 // The exclusion pattern is applied to the file name. 1001 ExclusionPatterns []string 1002 1003 // A list of DataSourceToIndexFieldMapping objects that map Microsoft OneDrive 1004 // fields to custom fields in the Amazon Kendra index. You must first create the 1005 // index fields before you map OneDrive fields. 1006 FieldMappings []DataSourceToIndexFieldMapping 1007 1008 // A list of regular expression patterns. Documents that match the pattern are 1009 // included in the index. Documents that don't match the pattern are excluded from 1010 // the index. If a document matches both an inclusion pattern and an exclusion 1011 // pattern, the document is not included in the index. The exclusion pattern is 1012 // applied to the file name. 1013 InclusionPatterns []string 1014} 1015 1016// User accounts whose documents should be indexed. 1017type OneDriveUsers struct { 1018 1019 // A list of users whose documents should be indexed. Specify the user names in 1020 // email format, for example, username@tenantdomain. If you need to index the 1021 // documents of more than 100 users, use the OneDriveUserS3Path field to specify 1022 // the location of a file containing a list of users. 1023 OneDriveUserList []string 1024 1025 // The S3 bucket location of a file containing a list of users whose documents 1026 // should be indexed. 1027 OneDriveUserS3Path *S3Path 1028} 1029 1030// Provides user and group information for document access filtering. 1031type Principal struct { 1032 1033 // Whether to allow or deny access to the principal. 1034 // 1035 // This member is required. 1036 Access ReadAccessType 1037 1038 // The name of the user or group. 1039 // 1040 // This member is required. 1041 Name *string 1042 1043 // The type of principal. 1044 // 1045 // This member is required. 1046 Type PrincipalType 1047} 1048 1049// A single query result. A query result contains information about a document 1050// returned by the query. This includes the original location of the document, a 1051// list of attributes assigned to the document, and relevant text from the document 1052// that satisfies the query. 1053type QueryResultItem struct { 1054 1055 // One or more additional attributes associated with the query result. 1056 AdditionalAttributes []AdditionalResultAttribute 1057 1058 // An array of document attributes for the document that the query result maps to. 1059 // For example, the document author (Author) or the source URI (SourceUri) of the 1060 // document. 1061 DocumentAttributes []DocumentAttribute 1062 1063 // An extract of the text in the document. Contains information about highlighting 1064 // the relevant terms in the excerpt. 1065 DocumentExcerpt *TextWithHighlights 1066 1067 // The unique identifier for the document. 1068 DocumentId *string 1069 1070 // The title of the document. Contains the text of the title and information for 1071 // highlighting the relevant terms in the title. 1072 DocumentTitle *TextWithHighlights 1073 1074 // The URI of the original location of the document. 1075 DocumentURI *string 1076 1077 // A token that identifies a particular result from a particular query. Use this 1078 // token to provide click-through feedback for the result. For more information, 1079 // see Submitting feedback 1080 // (https://docs.aws.amazon.com/kendra/latest/dg/submitting-feedback.html). 1081 FeedbackToken *string 1082 1083 // The unique identifier for the query result. 1084 Id *string 1085 1086 // Indicates the confidence that Amazon Kendra has that a result matches the query 1087 // that you provided. Each result is placed into a bin that indicates the 1088 // confidence, VERY_HIGH, HIGH, MEDIUM and LOW. You can use the score to determine 1089 // if a response meets the confidence needed for your application. The field is 1090 // only set to LOW when the Type field is set to DOCUMENT and Amazon Kendra is not 1091 // confident that the result matches the query. 1092 ScoreAttributes *ScoreAttributes 1093 1094 // The type of document. 1095 Type QueryResultType 1096} 1097 1098// Provides information for manually tuning the relevance of a field in a search. 1099// When a query includes terms that match the field, the results are given a boost 1100// in the response based on these tuning parameters. 1101type Relevance struct { 1102 1103 // Specifies the time period that the boost applies to. For example, to make the 1104 // boost apply to documents with the field value within the last month, you would 1105 // use "2628000s". Once the field value is beyond the specified range, the effect 1106 // of the boost drops off. The higher the importance, the faster the effect drops 1107 // off. If you don't specify a value, the default is 3 months. The value of the 1108 // field is a numeric string followed by the character "s", for example "86400s" 1109 // for one day, or "604800s" for one week. Only applies to DATE fields. 1110 Duration *string 1111 1112 // Indicates that this field determines how "fresh" a document is. For example, if 1113 // document 1 was created on November 5, and document 2 was created on October 31, 1114 // document 1 is "fresher" than document 2. You can only set the Freshness field on 1115 // one DATE type field. Only applies to DATE fields. 1116 Freshness *bool 1117 1118 // The relative importance of the field in the search. Larger numbers provide more 1119 // of a boost than smaller numbers. 1120 Importance *int32 1121 1122 // Determines how values should be interpreted. When the RankOrder field is 1123 // ASCENDING, higher numbers are better. For example, a document with a rating 1124 // score of 10 is higher ranking than a document with a rating score of 1. When the 1125 // RankOrder field is DESCENDING, lower numbers are better. For example, in a task 1126 // tracking application, a priority 1 task is more important than a priority 5 1127 // task. Only applies to LONG and DOUBLE fields. 1128 RankOrder Order 1129 1130 // A list of values that should be given a different boost when they appear in the 1131 // result list. For example, if you are boosting a field called "department," query 1132 // terms that match the department field are boosted in the result. However, you 1133 // can add entries from the department field to boost documents with those values 1134 // higher. For example, you can add entries to the map with names of departments. 1135 // If you add "HR",5 and "Legal",3 those departments are given special attention 1136 // when they appear in the metadata of a document. When those terms appear they are 1137 // given the specified importance instead of the regular importance for the boost. 1138 ValueImportanceMap map[string]int32 1139} 1140 1141// Provides feedback on how relevant a document is to a search. Your application 1142// uses the SubmitFeedback operation to provide relevance information. 1143type RelevanceFeedback struct { 1144 1145 // Whether to document was relevant or not relevant to the search. 1146 // 1147 // This member is required. 1148 RelevanceValue RelevanceType 1149 1150 // The unique identifier of the search result that the user provided relevance 1151 // feedback for. 1152 // 1153 // This member is required. 1154 ResultId *string 1155} 1156 1157// Provides configuration information for a data source to index documents in an 1158// Amazon S3 bucket. 1159type S3DataSourceConfiguration struct { 1160 1161 // The name of the bucket that contains the documents. 1162 // 1163 // This member is required. 1164 BucketName *string 1165 1166 // Provides the path to the S3 bucket that contains the user context filtering 1167 // files for the data source. For the format of the file, see Access control for S3 1168 // data sources (https://docs.aws.amazon.com/kendra/latest/dg/s3-acl.html). 1169 AccessControlListConfiguration *AccessControlListConfiguration 1170 1171 // Document metadata files that contain information such as the document access 1172 // control information, source URI, document author, and custom attributes. Each 1173 // metadata file contains metadata about a single document. 1174 DocumentsMetadataConfiguration *DocumentsMetadataConfiguration 1175 1176 // A list of glob patterns for documents that should not be indexed. If a document 1177 // that matches an inclusion prefix or inclusion pattern also matches an exclusion 1178 // pattern, the document is not indexed. For more information about glob patterns, 1179 // see glob (programming) (https://en.wikipedia.org/wiki/Glob_(programming)) in 1180 // Wikipedia. 1181 ExclusionPatterns []string 1182 1183 // A list of glob patterns for documents that should be indexed. If a document that 1184 // matches an inclusion pattern also matches an exclusion pattern, the document is 1185 // not indexed. For more information about glob patterns, see glob (programming) 1186 // (https://en.wikipedia.org/wiki/Glob_(programming)) in Wikipedia. 1187 InclusionPatterns []string 1188 1189 // A list of S3 prefixes for the documents that should be included in the index. 1190 InclusionPrefixes []string 1191} 1192 1193// Information required to find a specific file in an Amazon S3 bucket. 1194type S3Path struct { 1195 1196 // The name of the S3 bucket that contains the file. 1197 // 1198 // This member is required. 1199 Bucket *string 1200 1201 // The name of the file. 1202 // 1203 // This member is required. 1204 Key *string 1205} 1206 1207// Defines configuration for syncing a Salesforce chatter feed. The contents of the 1208// object comes from the Salesforce FeedItem table. 1209type SalesforceChatterFeedConfiguration struct { 1210 1211 // The name of the column in the Salesforce FeedItem table that contains the 1212 // content to index. Typically this is the Body column. 1213 // 1214 // This member is required. 1215 DocumentDataFieldName *string 1216 1217 // The name of the column in the Salesforce FeedItem table that contains the title 1218 // of the document. This is typically the Title collumn. 1219 DocumentTitleFieldName *string 1220 1221 // Maps fields from a Salesforce chatter feed into Amazon Kendra index fields. 1222 FieldMappings []DataSourceToIndexFieldMapping 1223 1224 // Filters the documents in the feed based on status of the user. When you specify 1225 // ACTIVE_USERS only documents from users who have an active account are indexed. 1226 // When you specify STANDARD_USER only documents for Salesforce standard users are 1227 // documented. You can specify both. 1228 IncludeFilterTypes []SalesforceChatterFeedIncludeFilterType 1229} 1230 1231// Provides configuration information for connecting to a Salesforce data source. 1232type SalesforceConfiguration struct { 1233 1234 // The Amazon Resource Name (ARN) of an AWS Secrets Manager secret that contains 1235 // the key/value pairs required to connect to your Salesforce instance. The secret 1236 // must contain a JSON structure with the following keys: 1237 // 1238 // * authenticationUrl - 1239 // The OAUTH endpoint that Amazon Kendra connects to get an OAUTH token. 1240 // 1241 // * 1242 // consumerKey - The application public key generated when you created your 1243 // Salesforce application. 1244 // 1245 // * consumerSecret - The application private key 1246 // generated when you created your Salesforce application. 1247 // 1248 // * password - The 1249 // password associated with the user logging in to the Salesforce instance. 1250 // 1251 // * 1252 // securityToken - The token associated with the user account logging in to the 1253 // Salesforce instance. 1254 // 1255 // * username - The user name of the user logging in to the 1256 // Salesforce instance. 1257 // 1258 // This member is required. 1259 SecretArn *string 1260 1261 // The instance URL for the Salesforce site that you want to index. 1262 // 1263 // This member is required. 1264 ServerUrl *string 1265 1266 // Specifies configuration information for Salesforce chatter feeds. 1267 ChatterFeedConfiguration *SalesforceChatterFeedConfiguration 1268 1269 // Indicates whether Amazon Kendra should index attachments to Salesforce objects. 1270 CrawlAttachments bool 1271 1272 // A list of regular expression patterns. Documents that match the patterns are 1273 // excluded from the index. Documents that don't match the patterns are included in 1274 // the index. If a document matches both an exclusion pattern and an inclusion 1275 // pattern, the document is not included in the index. The regex is applied to the 1276 // name of the attached file. 1277 ExcludeAttachmentFilePatterns []string 1278 1279 // A list of regular expression patterns. Documents that match the patterns are 1280 // included in the index. Documents that don't match the patterns are excluded from 1281 // the index. If a document matches both an inclusion pattern and an exclusion 1282 // pattern, the document is not included in the index. The regex is applied to the 1283 // name of the attached file. 1284 IncludeAttachmentFilePatterns []string 1285 1286 // Specifies configuration information for the knowledge article types that Amazon 1287 // Kendra indexes. Amazon Kendra indexes standard knowledge articles and the 1288 // standard fields of knowledge articles, or the custom fields of custom knowledge 1289 // articles, but not both. 1290 KnowledgeArticleConfiguration *SalesforceKnowledgeArticleConfiguration 1291 1292 // Provides configuration information for processing attachments to Salesforce 1293 // standard objects. 1294 StandardObjectAttachmentConfiguration *SalesforceStandardObjectAttachmentConfiguration 1295 1296 // Specifies the Salesforce standard objects that Amazon Kendra indexes. 1297 StandardObjectConfigurations []SalesforceStandardObjectConfiguration 1298} 1299 1300// Provides configuration information for indexing Salesforce custom articles. 1301type SalesforceCustomKnowledgeArticleTypeConfiguration struct { 1302 1303 // The name of the field in the custom knowledge article that contains the document 1304 // data to index. 1305 // 1306 // This member is required. 1307 DocumentDataFieldName *string 1308 1309 // The name of the configuration. 1310 // 1311 // This member is required. 1312 Name *string 1313 1314 // The name of the field in the custom knowledge article that contains the document 1315 // title. 1316 DocumentTitleFieldName *string 1317 1318 // One or more objects that map fields in the custom knowledge article to fields in 1319 // the Amazon Kendra index. 1320 FieldMappings []DataSourceToIndexFieldMapping 1321} 1322 1323// Specifies configuration information for the knowledge article types that Amazon 1324// Kendra indexes. Amazon Kendra indexes standard knowledge articles and the 1325// standard fields of knowledge articles, or the custom fields of custom knowledge 1326// articles, but not both 1327type SalesforceKnowledgeArticleConfiguration struct { 1328 1329 // Specifies the document states that should be included when Amazon Kendra indexes 1330 // knowledge articles. You must specify at least one state. 1331 // 1332 // This member is required. 1333 IncludedStates []SalesforceKnowledgeArticleState 1334 1335 // Provides configuration information for custom Salesforce knowledge articles. 1336 CustomKnowledgeArticleTypeConfigurations []SalesforceCustomKnowledgeArticleTypeConfiguration 1337 1338 // Provides configuration information for standard Salesforce knowledge articles. 1339 StandardKnowledgeArticleTypeConfiguration *SalesforceStandardKnowledgeArticleTypeConfiguration 1340} 1341 1342// Provides configuration information for standard Salesforce knowledge articles. 1343type SalesforceStandardKnowledgeArticleTypeConfiguration struct { 1344 1345 // The name of the field that contains the document data to index. 1346 // 1347 // This member is required. 1348 DocumentDataFieldName *string 1349 1350 // The name of the field that contains the document title. 1351 DocumentTitleFieldName *string 1352 1353 // One or more objects that map fields in the knowledge article to Amazon Kendra 1354 // index fields. The index field must exist before you can map a Salesforce field 1355 // to it. 1356 FieldMappings []DataSourceToIndexFieldMapping 1357} 1358 1359// Provides configuration information for processing attachments to Salesforce 1360// standard objects. 1361type SalesforceStandardObjectAttachmentConfiguration struct { 1362 1363 // The name of the field used for the document title. 1364 DocumentTitleFieldName *string 1365 1366 // One or more objects that map fields in attachments to Amazon Kendra index 1367 // fields. 1368 FieldMappings []DataSourceToIndexFieldMapping 1369} 1370 1371// Specifies configuration information for indexing a single standard object. 1372type SalesforceStandardObjectConfiguration struct { 1373 1374 // The name of the field in the standard object table that contains the document 1375 // contents. 1376 // 1377 // This member is required. 1378 DocumentDataFieldName *string 1379 1380 // The name of the standard object. 1381 // 1382 // This member is required. 1383 Name SalesforceStandardObjectName 1384 1385 // The name of the field in the standard object table that contains the document 1386 // title. 1387 DocumentTitleFieldName *string 1388 1389 // One or more objects that map fields in the standard object to Amazon Kendra 1390 // index fields. The index field must exist before you can map a Salesforce field 1391 // to it. 1392 FieldMappings []DataSourceToIndexFieldMapping 1393} 1394 1395// Provides a relative ranking that indicates how confident Amazon Kendra is that 1396// the response matches the query. 1397type ScoreAttributes struct { 1398 1399 // A relative ranking for how well the response matches the query. 1400 ScoreConfidence ScoreConfidence 1401} 1402 1403// Provides information about how a custom index field is used during a search. 1404type Search struct { 1405 1406 // Determines whether the field is returned in the query response. The default is 1407 // true. 1408 Displayable bool 1409 1410 // Indicates that the field can be used to create search facets, a count of results 1411 // for each value in the field. The default is false . 1412 Facetable bool 1413 1414 // Determines whether the field is used in the search. If the Searchable field is 1415 // true, you can use relevance tuning to manually tune how Amazon Kendra weights 1416 // the field in the search. The default is true for string fields and false for 1417 // number and date fields. 1418 Searchable bool 1419 1420 // Determines whether the field can be used to sort the results of a query. If you 1421 // specify sorting on a field that does not have Sortable set to true, Amazon 1422 // Kendra returns an exception. The default is false. 1423 Sortable bool 1424} 1425 1426// Provides the identifier of the AWS KMS customer master key (CMK) used to encrypt 1427// data indexed by Amazon Kendra. Amazon Kendra doesn't support asymmetric CMKs. 1428type ServerSideEncryptionConfiguration struct { 1429 1430 // The identifier of the AWS KMS customer master key (CMK). Amazon Kendra doesn't 1431 // support asymmetric CMKs. 1432 KmsKeyId *string 1433} 1434 1435// Provides configuration information required to connect to a ServiceNow data 1436// source. 1437type ServiceNowConfiguration struct { 1438 1439 // The ServiceNow instance that the data source connects to. The host endpoint 1440 // should look like the following: {instance}.service-now.com. 1441 // 1442 // This member is required. 1443 HostUrl *string 1444 1445 // The Amazon Resource Name (ARN) of the AWS Secret Manager secret that contains 1446 // the user name and password required to connect to the ServiceNow instance. 1447 // 1448 // This member is required. 1449 SecretArn *string 1450 1451 // The identifier of the release that the ServiceNow host is running. If the host 1452 // is not running the LONDON release, use OTHERS. 1453 // 1454 // This member is required. 1455 ServiceNowBuildVersion ServiceNowBuildVersionType 1456 1457 // Determines the type of authentication used to connect to the ServiceNow 1458 // instance. If you choose HTTP_BASIC, Amazon Kendra is authenticated using the 1459 // user name and password provided in the AWS Secrets Manager secret in the 1460 // SecretArn field. When you choose OAUTH2, Amazon Kendra is authenticated using 1461 // the OAuth token and secret provided in the Secrets Manager secret, and the user 1462 // name and password are used to determine which information Amazon Kendra has 1463 // access to. When you use OAUTH2 authentication, you must generate a token and a 1464 // client secret using the ServiceNow console. For more information, see Using a 1465 // ServiceNow data source 1466 // (https://docs.aws.amazon.com/kendra/latest/dg/data-source-servicenow.html). 1467 AuthenticationType ServiceNowAuthenticationType 1468 1469 // Provides configuration information for crawling knowledge articles in the 1470 // ServiceNow site. 1471 KnowledgeArticleConfiguration *ServiceNowKnowledgeArticleConfiguration 1472 1473 // Provides configuration information for crawling service catalogs in the 1474 // ServiceNow site. 1475 ServiceCatalogConfiguration *ServiceNowServiceCatalogConfiguration 1476} 1477 1478// Provides configuration information for crawling knowledge articles in the 1479// ServiceNow site. 1480type ServiceNowKnowledgeArticleConfiguration struct { 1481 1482 // The name of the ServiceNow field that is mapped to the index document contents 1483 // field in the Amazon Kendra index. 1484 // 1485 // This member is required. 1486 DocumentDataFieldName *string 1487 1488 // Indicates whether Amazon Kendra should index attachments to knowledge articles. 1489 CrawlAttachments bool 1490 1491 // The name of the ServiceNow field that is mapped to the index document title 1492 // field. 1493 DocumentTitleFieldName *string 1494 1495 // List of regular expressions applied to knowledge articles. Items that don't 1496 // match the inclusion pattern are not indexed. The regex is applied to the field 1497 // specified in the PatternTargetField 1498 ExcludeAttachmentFilePatterns []string 1499 1500 // Mapping between ServiceNow fields and Amazon Kendra index fields. You must 1501 // create the index field before you map the field. 1502 FieldMappings []DataSourceToIndexFieldMapping 1503 1504 // A query that selects the knowledge articles to index. The query can return 1505 // articles from multiple knowledge bases, and the knowledge bases can be public or 1506 // private. The query string must be one generated by the ServiceNow console. For 1507 // more information, see Specifying documents to index with a query 1508 // (https://docs.aws.amazon.com/kendra/latest/dg/servicenow-query.html). 1509 FilterQuery *string 1510 1511 // List of regular expressions applied to knowledge articles. Items that don't 1512 // match the inclusion pattern are not indexed. The regex is applied to the field 1513 // specified in the PatternTargetField. 1514 IncludeAttachmentFilePatterns []string 1515} 1516 1517// Provides configuration information for crawling service catalog items in the 1518// ServiceNow site 1519type ServiceNowServiceCatalogConfiguration struct { 1520 1521 // The name of the ServiceNow field that is mapped to the index document contents 1522 // field in the Amazon Kendra index. 1523 // 1524 // This member is required. 1525 DocumentDataFieldName *string 1526 1527 // Indicates whether Amazon Kendra should crawl attachments to the service catalog 1528 // items. 1529 CrawlAttachments bool 1530 1531 // The name of the ServiceNow field that is mapped to the index document title 1532 // field. 1533 DocumentTitleFieldName *string 1534 1535 // A list of regular expression patterns. Documents that match the patterns are 1536 // excluded from the index. Documents that don't match the patterns are included in 1537 // the index. If a document matches both an exclusion pattern and an inclusion 1538 // pattern, the document is not included in the index. The regex is applied to the 1539 // file name of the attachment. 1540 ExcludeAttachmentFilePatterns []string 1541 1542 // Mapping between ServiceNow fields and Amazon Kendra index fields. You must 1543 // create the index field before you map the field. 1544 FieldMappings []DataSourceToIndexFieldMapping 1545 1546 // A list of regular expression patterns. Documents that match the patterns are 1547 // included in the index. Documents that don't match the patterns are excluded from 1548 // the index. If a document matches both an exclusion pattern and an inclusion 1549 // pattern, the document is not included in the index. The regex is applied to the 1550 // file name of the attachment. 1551 IncludeAttachmentFilePatterns []string 1552} 1553 1554// Provides configuration information for connecting to a Microsoft SharePoint data 1555// source. 1556type SharePointConfiguration struct { 1557 1558 // The Amazon Resource Name (ARN) of credentials stored in AWS Secrets Manager. The 1559 // credentials should be a user/password pair. For more information, see Using a 1560 // Microsoft SharePoint Data Source 1561 // (https://docs.aws.amazon.com/kendra/latest/dg/data-source-sharepoint.html). For 1562 // more information about AWS Secrets Manager, see What Is AWS Secrets Manager 1563 // (https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) in the 1564 // AWS Secrets Manager user guide. 1565 // 1566 // This member is required. 1567 SecretArn *string 1568 1569 // The version of Microsoft SharePoint that you are using as a data source. 1570 // 1571 // This member is required. 1572 SharePointVersion SharePointVersion 1573 1574 // The URLs of the Microsoft SharePoint site that contains the documents that 1575 // should be indexed. 1576 // 1577 // This member is required. 1578 Urls []string 1579 1580 // TRUE to include attachments to documents stored in your Microsoft SharePoint 1581 // site in the index; otherwise, FALSE. 1582 CrawlAttachments bool 1583 1584 // A Boolean value that specifies whether local groups are disabled (True) or 1585 // enabled (False). 1586 DisableLocalGroups bool 1587 1588 // The Microsoft SharePoint attribute field that contains the title of the 1589 // document. 1590 DocumentTitleFieldName *string 1591 1592 // A list of regular expression patterns. Documents that match the patterns are 1593 // excluded from the index. Documents that don't match the patterns are included in 1594 // the index. If a document matches both an exclusion pattern and an inclusion 1595 // pattern, the document is not included in the index. The regex is applied to the 1596 // display URL of the SharePoint document. 1597 ExclusionPatterns []string 1598 1599 // A list of DataSourceToIndexFieldMapping objects that map Microsoft SharePoint 1600 // attributes to custom fields in the Amazon Kendra index. You must first create 1601 // the index fields using the UpdateIndex operation before you map SharePoint 1602 // attributes. For more information, see Mapping Data Source Fields 1603 // (https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html). 1604 FieldMappings []DataSourceToIndexFieldMapping 1605 1606 // A list of regular expression patterns. Documents that match the patterns are 1607 // included in the index. Documents that don't match the patterns are excluded from 1608 // the index. If a document matches both an inclusion pattern and an exclusion 1609 // pattern, the document is not included in the index. The regex is applied to the 1610 // display URL of the SharePoint document. 1611 InclusionPatterns []string 1612 1613 // Set to TRUE to use the Microsoft SharePoint change log to determine the 1614 // documents that need to be updated in the index. Depending on the size of the 1615 // SharePoint change log, it may take longer for Amazon Kendra to use the change 1616 // log than it takes it to determine the changed documents using the Amazon Kendra 1617 // document crawler. 1618 UseChangeLog bool 1619 1620 // Provides information for connecting to an Amazon VPC. 1621 VpcConfiguration *DataSourceVpcConfiguration 1622} 1623 1624// Specifies the document attribute to use to sort the response to a Amazon Kendra 1625// query. You can specify a single attribute for sorting. The attribute must have 1626// the Sortable flag set to true, otherwise Amazon Kendra returns an exception. You 1627// can sort attributes of the following types. 1628// 1629// * Date value 1630// 1631// * Long value 1632// 1633// * 1634// String value 1635// 1636// You can't sort attributes of the following type. 1637// 1638// * String list 1639// value 1640type SortingConfiguration struct { 1641 1642 // The name of the document attribute used to sort the response. You can use any 1643 // field that has the Sortable flag set to true. You can also sort by any of the 1644 // following built-in attributes: 1645 // 1646 // * _category 1647 // 1648 // * _created_at 1649 // 1650 // * 1651 // _last_updated_at 1652 // 1653 // * _version 1654 // 1655 // * _view_count 1656 // 1657 // This member is required. 1658 DocumentAttributeKey *string 1659 1660 // The order that the results should be returned in. In case of ties, the relevance 1661 // assigned to the result by Amazon Kendra is used as the tie-breaker. 1662 // 1663 // This member is required. 1664 SortOrder SortOrder 1665} 1666 1667// Provides information that configures Amazon Kendra to use a SQL database. 1668type SqlConfiguration struct { 1669 1670 // Determines whether Amazon Kendra encloses SQL identifiers for tables and column 1671 // names in double quotes (") when making a database query. By default, Amazon 1672 // Kendra passes SQL identifiers the way that they are entered into the data source 1673 // configuration. It does not change the case of identifiers or enclose them in 1674 // quotes. PostgreSQL internally converts uppercase characters to lower case 1675 // characters in identifiers unless they are quoted. Choosing this option encloses 1676 // identifiers in quotes so that PostgreSQL does not convert the character's case. 1677 // For MySQL databases, you must enable the ansi_quotes option when you set this 1678 // field to DOUBLE_QUOTES. 1679 QueryIdentifiersEnclosingOption QueryIdentifiersEnclosingOption 1680} 1681 1682// A list of key/value pairs that identify an index, FAQ, or data source. Tag keys 1683// and values can consist of Unicode letters, digits, white space, and any of the 1684// following symbols: _ . : / = + - @. 1685type Tag struct { 1686 1687 // The key for the tag. Keys are not case sensitive and must be unique for the 1688 // index, FAQ, or data source. 1689 // 1690 // This member is required. 1691 Key *string 1692 1693 // The value associated with the tag. The value may be an empty string but it can't 1694 // be null. 1695 // 1696 // This member is required. 1697 Value *string 1698} 1699 1700// Provides information about text documents indexed in an index. 1701type TextDocumentStatistics struct { 1702 1703 // The total size, in bytes, of the indexed documents. 1704 // 1705 // This member is required. 1706 IndexedTextBytes int64 1707 1708 // The number of text documents indexed. 1709 // 1710 // This member is required. 1711 IndexedTextDocumentsCount int32 1712} 1713 1714// Provides text and information about where to highlight the text. 1715type TextWithHighlights struct { 1716 1717 // The beginning and end of the text that should be highlighted. 1718 Highlights []Highlight 1719 1720 // The text to display to the user. 1721 Text *string 1722} 1723 1724// An array of summary information for one or more thesauruses. 1725type ThesaurusSummary struct { 1726 1727 // The Unix datetime that the thesaurus was created. 1728 CreatedAt *time.Time 1729 1730 // The identifier of the thesaurus. 1731 Id *string 1732 1733 // The name of the thesaurus. 1734 Name *string 1735 1736 // The status of the thesaurus. 1737 Status ThesaurusStatus 1738 1739 // The Unix datetime that the thesaurus was last updated. 1740 UpdatedAt *time.Time 1741} 1742 1743// Provides a range of time. 1744type TimeRange struct { 1745 1746 // The UNIX datetime of the end of the time range. 1747 EndTime *time.Time 1748 1749 // The UNIX datetime of the beginning of the time range. 1750 StartTime *time.Time 1751} 1752 1753// Provides information about the user context for a Amazon Kendra index. 1754type UserContext struct { 1755 1756 // The user context token. It must be a JWT or a JSON token. 1757 Token *string 1758} 1759 1760// Provides configuration information for a token configuration. 1761type UserTokenConfiguration struct { 1762 1763 // Information about the JSON token type configuration. 1764 JsonTokenTypeConfiguration *JsonTokenTypeConfiguration 1765 1766 // Information about the JWT token type configuration. 1767 JwtTokenTypeConfiguration *JwtTokenTypeConfiguration 1768} 1769 1770// UnknownUnionMember is returned when a union member is returned over the wire, 1771// but has an unknown tag. 1772type UnknownUnionMember struct { 1773 Tag string 1774 Value []byte 1775} 1776 1777func (*UnknownUnionMember) isDocumentAttributeValue() {} 1778