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