1// Code generated by smithy-go-codegen DO NOT EDIT. 2 3package types 4 5import ( 6 smithydocument "github.com/aws/smithy-go/document" 7 "time" 8) 9 10// Access Control List files for the documents in a data source. For the format of 11// the file, see Access control for S3 data sources 12// (https://docs.aws.amazon.com/kendra/latest/dg/s3-acl.html). 13type AccessControlListConfiguration struct { 14 15 // Path to the Amazon Web Services S3 bucket that contains the ACL files. 16 KeyPath *string 17 18 noSmithyDocumentSerde 19} 20 21// Provides information about the column that should be used for filtering the 22// query response by groups. 23type AclConfiguration struct { 24 25 // A list of groups, separated by semi-colons, that filters a query response based 26 // on user context. The document is only returned to users that are in one of the 27 // groups specified in the UserContext field of the Query operation. 28 // 29 // This member is required. 30 AllowedGroupsColumnName *string 31 32 noSmithyDocumentSerde 33} 34 35// An attribute returned from an index query. 36type AdditionalResultAttribute struct { 37 38 // The key that identifies the attribute. 39 // 40 // This member is required. 41 Key *string 42 43 // An object that contains the attribute value. 44 // 45 // This member is required. 46 Value *AdditionalResultAttributeValue 47 48 // The data type of the Value property. 49 // 50 // This member is required. 51 ValueType AdditionalResultAttributeValueType 52 53 noSmithyDocumentSerde 54} 55 56// An attribute returned with a document from a search. 57type AdditionalResultAttributeValue struct { 58 59 // The text associated with the attribute and information about the highlight to 60 // apply to the text. 61 TextWithHighlightsValue *TextWithHighlights 62 63 noSmithyDocumentSerde 64} 65 66// Provides filtering the query results based on document attributes. When you use 67// the AndAllFilters or OrAllFilters, filters you can use 2 layers under the first 68// attribute filter. For example, you can use: 69// 70// If you use more than 2 layers, you 71// receive a ValidationException exception with the message "AttributeFilter cannot 72// have a depth of more than 2." If you use more than 10 attribute filters, you 73// receive a ValidationException exception with the message "AttributeFilter cannot 74// have a length of more than 10". 75type AttributeFilter struct { 76 77 // Performs a logical AND operation on all supplied filters. 78 AndAllFilters []AttributeFilter 79 80 // Returns true when a document contains all of the specified document attributes. 81 // This filter is only applicable to StringListValue metadata. 82 ContainsAll *DocumentAttribute 83 84 // Returns true when a document contains any of the specified document attributes. 85 // This filter is only applicable to StringListValue metadata. 86 ContainsAny *DocumentAttribute 87 88 // Performs an equals operation on two document attributes. 89 EqualsTo *DocumentAttribute 90 91 // Performs a greater than operation on two document attributes. Use with a 92 // document attribute of type Integer or Long. 93 GreaterThan *DocumentAttribute 94 95 // Performs a greater or equals than operation on two document attributes. Use with 96 // a document attribute of type Integer or Long. 97 GreaterThanOrEquals *DocumentAttribute 98 99 // Performs a less than operation on two document attributes. Use with a document 100 // attribute of type Integer or Long. 101 LessThan *DocumentAttribute 102 103 // Performs a less than or equals operation on two document attributes. Use with a 104 // document attribute of type Integer or Long. 105 LessThanOrEquals *DocumentAttribute 106 107 // Performs a logical NOT operation on all supplied filters. 108 NotFilter *AttributeFilter 109 110 // Performs a logical OR operation on all supplied filters. 111 OrAllFilters []AttributeFilter 112 113 noSmithyDocumentSerde 114} 115 116// Provides the configuration information to connect to websites that require user 117// authentication. 118type AuthenticationConfiguration struct { 119 120 // The list of configuration information that's required to connect to and crawl a 121 // website host using basic authentication credentials. The list includes the name 122 // and port number of the website host. 123 BasicAuthentication []BasicAuthenticationConfiguration 124 125 noSmithyDocumentSerde 126} 127 128// Provides the configuration information to connect to websites that require basic 129// user authentication. 130type BasicAuthenticationConfiguration struct { 131 132 // Your secret ARN, which you can create in AWS Secrets Manager 133 // (https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) You use 134 // a secret if basic authentication credentials are required to connect to a 135 // website. The secret stores your credentials of user name and password. 136 // 137 // This member is required. 138 Credentials *string 139 140 // The name of the website host you want to connect to using authentication 141 // credentials. For example, the host name of https://a.example.com/page1.html is 142 // "a.example.com". 143 // 144 // This member is required. 145 Host *string 146 147 // The port number of the website host you want to connect to using authentication 148 // credentials. For example, the port for https://a.example.com/page1.html is 443, 149 // the standard port for HTTPS. 150 // 151 // This member is required. 152 Port *int32 153 154 noSmithyDocumentSerde 155} 156 157// Provides information about documents that could not be removed from an index by 158// the BatchDeleteDocument operation. 159type BatchDeleteDocumentResponseFailedDocument struct { 160 161 // The error code for why the document couldn't be removed from the index. 162 ErrorCode ErrorCode 163 164 // An explanation for why the document couldn't be removed from the index. 165 ErrorMessage *string 166 167 // The identifier of the document that couldn't be removed from the index. 168 Id *string 169 170 noSmithyDocumentSerde 171} 172 173// Provides a response when the status of a document could not be retrieved. 174type BatchGetDocumentStatusResponseError struct { 175 176 // The unique identifier of the document whose status could not be retrieved. 177 DocumentId *string 178 179 // Indicates the source of the error. 180 ErrorCode ErrorCode 181 182 // States that the API could not get the status of a document. This could be 183 // because the request is not valid or there is a system error. 184 ErrorMessage *string 185 186 noSmithyDocumentSerde 187} 188 189// Provides information about a document that could not be indexed. 190type BatchPutDocumentResponseFailedDocument struct { 191 192 // The type of error that caused the document to fail to be indexed. 193 ErrorCode ErrorCode 194 195 // A description of the reason why the document could not be indexed. 196 ErrorMessage *string 197 198 // The unique identifier of the document. 199 Id *string 200 201 noSmithyDocumentSerde 202} 203 204// Specifies capacity units configured for your enterprise edition index. You can 205// add and remove capacity units to tune an index to your requirements. 206type CapacityUnitsConfiguration struct { 207 208 // The amount of extra query capacity for an index and GetQuerySuggestions 209 // (https://docs.aws.amazon.com/kendra/latest/dg/API_GetQuerySuggestions.html) 210 // capacity. A single extra capacity unit for an index provides 0.1 queries per 211 // second or approximately 8,000 queries per day. GetQuerySuggestions capacity is 212 // five times the provisioned query capacity for an index, or the base capacity of 213 // 2.5 calls per second, whichever is higher. For example, the base capacity for an 214 // index is 0.1 queries per second, and GetQuerySuggestions capacity has a base of 215 // 2.5 calls per second. If you add another 0.1 queries per second to total 0.2 216 // queries per second for an index, the GetQuerySuggestions capacity is 2.5 calls 217 // per second (higher than five times 0.2 queries per second). 218 // 219 // This member is required. 220 QueryCapacityUnits *int32 221 222 // The amount of extra storage capacity for an index. A single capacity unit 223 // provides 30 GB of storage space or 100,000 documents, whichever is reached 224 // first. 225 // 226 // This member is required. 227 StorageCapacityUnits *int32 228 229 noSmithyDocumentSerde 230} 231 232// Gathers information about when a particular result was clicked by a user. Your 233// application uses the SubmitFeedback operation to provide click information. 234type ClickFeedback struct { 235 236 // The Unix timestamp of the date and time that the result was clicked. 237 // 238 // This member is required. 239 ClickTime *time.Time 240 241 // The unique identifier of the search result that was clicked. 242 // 243 // This member is required. 244 ResultId *string 245 246 noSmithyDocumentSerde 247} 248 249// Provides information about how Amazon Kendra should use the columns of a 250// database in an index. 251type ColumnConfiguration struct { 252 253 // One to five columns that indicate when a document in the database has changed. 254 // 255 // This member is required. 256 ChangeDetectingColumns []string 257 258 // The column that contains the contents of the document. 259 // 260 // This member is required. 261 DocumentDataColumnName *string 262 263 // The column that provides the document's unique identifier. 264 // 265 // This member is required. 266 DocumentIdColumnName *string 267 268 // The column that contains the title of the document. 269 DocumentTitleColumnName *string 270 271 // An array of objects that map database column names to the corresponding fields 272 // in an index. You must first create the fields in the index using the UpdateIndex 273 // operation. 274 FieldMappings []DataSourceToIndexFieldMapping 275 276 noSmithyDocumentSerde 277} 278 279// Specifies the attachment settings for the Confluence data source. Attachment 280// settings are optional, if you don't specify settings attachments, Amazon Kendra 281// won't index them. 282type ConfluenceAttachmentConfiguration struct { 283 284 // Defines how attachment metadata fields should be mapped to index fields. Before 285 // you can map a field, you must first create an index field with a matching type 286 // using the console or the UpdateIndex operation. If you specify the 287 // AttachentFieldMappings parameter, you must specify at least one field mapping. 288 AttachmentFieldMappings []ConfluenceAttachmentToIndexFieldMapping 289 290 // Indicates whether Amazon Kendra indexes attachments to the pages and blogs in 291 // the Confluence data source. 292 CrawlAttachments bool 293 294 noSmithyDocumentSerde 295} 296 297// Defines the mapping between a field in the Confluence data source to a Amazon 298// Kendra index field. You must first create the index field using the UpdateIndex 299// operation. 300type ConfluenceAttachmentToIndexFieldMapping struct { 301 302 // The name of the field in the data source. You must first create the index field 303 // using the UpdateIndex operation. 304 DataSourceFieldName ConfluenceAttachmentFieldName 305 306 // The format for date fields in the data source. If the field specified in 307 // DataSourceFieldName is a date field you must specify the date format. If the 308 // field is not a date field, an exception is thrown. 309 DateFieldFormat *string 310 311 // The name of the index field to map to the Confluence data source field. The 312 // index field type must match the Confluence field type. 313 IndexFieldName *string 314 315 noSmithyDocumentSerde 316} 317 318// Specifies the blog settings for the Confluence data source. Blogs are always 319// indexed unless filtered from the index by the ExclusionPatterns or 320// InclusionPatterns fields in the ConfluenceConfiguration type. 321type ConfluenceBlogConfiguration struct { 322 323 // Defines how blog metadata fields should be mapped to index fields. Before you 324 // can map a field, you must first create an index field with a matching type using 325 // the console or the UpdateIndex operation. If you specify the BlogFieldMappings 326 // parameter, you must specify at least one field mapping. 327 BlogFieldMappings []ConfluenceBlogToIndexFieldMapping 328 329 noSmithyDocumentSerde 330} 331 332// Defines the mapping between a blog field in the Confluence data source to a 333// Amazon Kendra index field. You must first create the index field using the 334// UpdateIndex operation. 335type ConfluenceBlogToIndexFieldMapping struct { 336 337 // The name of the field in the data source. 338 DataSourceFieldName ConfluenceBlogFieldName 339 340 // The format for date fields in the data source. If the field specified in 341 // DataSourceFieldName is a date field you must specify the date format. If the 342 // field is not a date field, an exception is thrown. 343 DateFieldFormat *string 344 345 // The name of the index field to map to the Confluence data source field. The 346 // index field type must match the Confluence field type. 347 IndexFieldName *string 348 349 noSmithyDocumentSerde 350} 351 352// Provides configuration information for data sources that connect to Confluence. 353type ConfluenceConfiguration struct { 354 355 // The Amazon Resource Name (ARN) of an Secrets Managersecret that contains the 356 // key/value pairs required to connect to your Confluence server. The secret must 357 // contain a JSON structure with the following keys: 358 // 359 // * username - The user name or 360 // email address of a user with administrative privileges for the Confluence 361 // server. 362 // 363 // * password - The password associated with the user logging in to the 364 // Confluence server. 365 // 366 // This member is required. 367 SecretArn *string 368 369 // The URL of your Confluence instance. Use the full URL of the server. For 370 // example, https://server.example.com:port/. You can also use an IP address, for 371 // example, https://192.168.1.113/. 372 // 373 // This member is required. 374 ServerUrl *string 375 376 // Specifies the version of the Confluence installation that you are connecting to. 377 // 378 // This member is required. 379 Version ConfluenceVersion 380 381 // Specifies configuration information for indexing attachments to Confluence blogs 382 // and pages. 383 AttachmentConfiguration *ConfluenceAttachmentConfiguration 384 385 // Specifies configuration information for indexing Confluence blogs. 386 BlogConfiguration *ConfluenceBlogConfiguration 387 388 // A list of regular expression patterns that apply to a URL on the Confluence 389 // server. An exclusion pattern can apply to a blog post, a page, a space, or an 390 // attachment. Items that match the pattern are excluded from the index. Items that 391 // don't match the pattern are included in the index. If a item matches both an 392 // exclusion pattern and an inclusion pattern, the item isn't included in the 393 // index. 394 ExclusionPatterns []string 395 396 // A list of regular expression patterns that apply to a URL on the Confluence 397 // server. An inclusion pattern can apply to a blog post, a page, a space, or an 398 // attachment. Items that match the patterns are included in the index. Items that 399 // don't match the pattern are excluded from the index. If an item matches both an 400 // inclusion pattern and an exclusion pattern, the item isn't included in the 401 // index. 402 InclusionPatterns []string 403 404 // Specifies configuration information for indexing Confluence pages. 405 PageConfiguration *ConfluencePageConfiguration 406 407 // Specifies configuration information for indexing Confluence spaces. 408 SpaceConfiguration *ConfluenceSpaceConfiguration 409 410 // Specifies the information for connecting to an Amazon VPC. 411 VpcConfiguration *DataSourceVpcConfiguration 412 413 noSmithyDocumentSerde 414} 415 416// Specifies the page settings for the Confluence data source. 417type ConfluencePageConfiguration struct { 418 419 // Defines how page metadata fields should be mapped to index fields. Before you 420 // can map a field, you must first create an index field with a matching type using 421 // the console or the UpdateIndex operation. If you specify the PageFieldMappings 422 // parameter, you must specify at least one field mapping. 423 PageFieldMappings []ConfluencePageToIndexFieldMapping 424 425 noSmithyDocumentSerde 426} 427 428// Defines the mapping between a field in the Confluence data source to a Amazon 429// Kendra index field. You must first create the index field using the UpdateIndex 430// operation. 431type ConfluencePageToIndexFieldMapping struct { 432 433 // The name of the field in the data source. 434 DataSourceFieldName ConfluencePageFieldName 435 436 // The format for date fields in the data source. If the field specified in 437 // DataSourceFieldName is a date field you must specify the date format. If the 438 // field is not a date field, an exception is thrown. 439 DateFieldFormat *string 440 441 // The name of the index field to map to the Confluence data source field. The 442 // index field type must match the Confluence field type. 443 IndexFieldName *string 444 445 noSmithyDocumentSerde 446} 447 448// Specifies the configuration for indexing Confluence spaces. 449type ConfluenceSpaceConfiguration struct { 450 451 // Specifies whether Amazon Kendra should index archived spaces. 452 CrawlArchivedSpaces bool 453 454 // Specifies whether Amazon Kendra should index personal spaces. Users can add 455 // restrictions to items in personal spaces. If personal spaces are indexed, 456 // queries without user context information may return restricted items from a 457 // personal space in their results. For more information, see Filtering on user 458 // context (https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html). 459 CrawlPersonalSpaces bool 460 461 // A list of space keys of Confluence spaces. If you include a key, the blogs, 462 // documents, and attachments in the space are not indexed. If a space is in both 463 // the ExcludeSpaces and the IncludeSpaces list, the space is excluded. 464 ExcludeSpaces []string 465 466 // A list of space keys for Confluence spaces. If you include a key, the blogs, 467 // documents, and attachments in the space are indexed. Spaces that aren't in the 468 // list aren't indexed. A space in the list must exist. Otherwise, Amazon Kendra 469 // logs an error when the data source is synchronized. If a space is in both the 470 // IncludeSpaces and the ExcludeSpaces list, the space is excluded. 471 IncludeSpaces []string 472 473 // Defines how space metadata fields should be mapped to index fields. Before you 474 // can map a field, you must first create an index field with a matching type using 475 // the console or the UpdateIndex operation. If you specify the SpaceFieldMappings 476 // parameter, you must specify at least one field mapping. 477 SpaceFieldMappings []ConfluenceSpaceToIndexFieldMapping 478 479 noSmithyDocumentSerde 480} 481 482// Defines the mapping between a field in the Confluence data source to a Amazon 483// Kendra index field. You must first create the index field using the UpdateIndex 484// operation. 485type ConfluenceSpaceToIndexFieldMapping struct { 486 487 // The name of the field in the data source. 488 DataSourceFieldName ConfluenceSpaceFieldName 489 490 // The format for date fields in the data source. If the field specified in 491 // DataSourceFieldName is a date field you must specify the date format. If the 492 // field is not a date field, an exception is thrown. 493 DateFieldFormat *string 494 495 // The name of the index field to map to the Confluence data source field. The 496 // index field type must match the Confluence field type. 497 IndexFieldName *string 498 499 noSmithyDocumentSerde 500} 501 502// Provides the information necessary to connect to a database. 503type ConnectionConfiguration struct { 504 505 // The name of the host for the database. Can be either a string 506 // (host.subdomain.domain.tld) or an IPv4 or IPv6 address. 507 // 508 // This member is required. 509 DatabaseHost *string 510 511 // The name of the database containing the document data. 512 // 513 // This member is required. 514 DatabaseName *string 515 516 // The port that the database uses for connections. 517 // 518 // This member is required. 519 DatabasePort *int32 520 521 // The Amazon Resource Name (ARN) of credentials stored in Secrets Manager. The 522 // credentials should be a user/password pair. For more information, see Using a 523 // Database Data Source 524 // (https://docs.aws.amazon.com/kendra/latest/dg/data-source-database.html). For 525 // more information about Secrets Manager, see What Is Secrets Manager 526 // (https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) in the 527 // Secrets Manager user guide. 528 // 529 // This member is required. 530 SecretArn *string 531 532 // The name of the table that contains the document data. 533 // 534 // This member is required. 535 TableName *string 536 537 noSmithyDocumentSerde 538} 539 540// Provides the information necessary to connect a database to an index. 541type DatabaseConfiguration struct { 542 543 // Information about where the index should get the document information from the 544 // database. 545 // 546 // This member is required. 547 ColumnConfiguration *ColumnConfiguration 548 549 // The information necessary to connect to a database. 550 // 551 // This member is required. 552 ConnectionConfiguration *ConnectionConfiguration 553 554 // The type of database engine that runs the database. 555 // 556 // This member is required. 557 DatabaseEngineType DatabaseEngineType 558 559 // Information about the database column that provides information for user context 560 // filtering. 561 AclConfiguration *AclConfiguration 562 563 // Provides information about how Amazon Kendra uses quote marks around SQL 564 // identifiers when querying a database data source. 565 SqlConfiguration *SqlConfiguration 566 567 // Provides information for connecting to an Amazon VPC. 568 VpcConfiguration *DataSourceVpcConfiguration 569 570 noSmithyDocumentSerde 571} 572 573// Configuration information for a Amazon Kendra data source. 574type DataSourceConfiguration struct { 575 576 // Provides configuration information for connecting to a Confluence data source. 577 ConfluenceConfiguration *ConfluenceConfiguration 578 579 // Provides information necessary to create a data source connector for a database. 580 DatabaseConfiguration *DatabaseConfiguration 581 582 // Provides configuration for data sources that connect to Google Drive. 583 GoogleDriveConfiguration *GoogleDriveConfiguration 584 585 // Provides configuration for data sources that connect to Microsoft OneDrive. 586 OneDriveConfiguration *OneDriveConfiguration 587 588 // Provides information to create a data source connector for a document repository 589 // in an Amazon S3 bucket. 590 S3Configuration *S3DataSourceConfiguration 591 592 // Provides configuration information for data sources that connect to a Salesforce 593 // site. 594 SalesforceConfiguration *SalesforceConfiguration 595 596 // Provides configuration for data sources that connect to ServiceNow instances. 597 ServiceNowConfiguration *ServiceNowConfiguration 598 599 // Provides information necessary to create a data source connector for a Microsoft 600 // SharePoint site. 601 SharePointConfiguration *SharePointConfiguration 602 603 // Provides the configuration information required for Amazon Kendra web crawler. 604 WebCrawlerConfiguration *WebCrawlerConfiguration 605 606 // Provides the configuration information to connect to WorkDocs as your data 607 // source. 608 WorkDocsConfiguration *WorkDocsConfiguration 609 610 noSmithyDocumentSerde 611} 612 613// Data source information for user context filtering. 614type DataSourceGroup struct { 615 616 // The identifier of the data source group you want to add to your list of data 617 // source groups. This is for filtering search results based on the groups' access 618 // to documents in that data source. 619 // 620 // This member is required. 621 DataSourceId *string 622 623 // The identifier of the group you want to add to your list of groups. This is for 624 // filtering search results based on the groups' access to documents. 625 // 626 // This member is required. 627 GroupId *string 628 629 noSmithyDocumentSerde 630} 631 632// Summary information for a Amazon Kendra data source. Returned in a call to the 633// DescribeDataSource operation. 634type DataSourceSummary struct { 635 636 // The UNIX datetime that the data source was created. 637 CreatedAt *time.Time 638 639 // The unique identifier for the data source. 640 Id *string 641 642 // The name of the data source. 643 Name *string 644 645 // The status of the data source. When the status is ACTIVE the data source is 646 // ready to use. 647 Status DataSourceStatus 648 649 // The type of the data source. 650 Type DataSourceType 651 652 // The UNIX datetime that the data source was lasted updated. 653 UpdatedAt *time.Time 654 655 noSmithyDocumentSerde 656} 657 658// Provides information about a synchronization job. 659type DataSourceSyncJob struct { 660 661 // If the reason that the synchronization failed is due to an error with the 662 // underlying data source, this field contains a code that identifies the error. 663 DataSourceErrorCode *string 664 665 // The UNIX datetime that the synchronization job was completed. 666 EndTime *time.Time 667 668 // If the Status field is set to FAILED, the ErrorCode field contains a the reason 669 // that the synchronization failed. 670 ErrorCode ErrorCode 671 672 // If the Status field is set to ERROR, the ErrorMessage field contains a 673 // description of the error that caused the synchronization to fail. 674 ErrorMessage *string 675 676 // A unique identifier for the synchronization job. 677 ExecutionId *string 678 679 // Maps a batch delete document request to a specific data source sync job. This is 680 // optional and should only be supplied when documents are deleted by a data source 681 // connector. 682 Metrics *DataSourceSyncJobMetrics 683 684 // The UNIX datetime that the synchronization job was started. 685 StartTime *time.Time 686 687 // The execution status of the synchronization job. When the Status field is set to 688 // SUCCEEDED, the synchronization job is done. If the status code is set to FAILED, 689 // the ErrorCode and ErrorMessage fields give you the reason for the failure. 690 Status DataSourceSyncJobStatus 691 692 noSmithyDocumentSerde 693} 694 695// Maps a batch delete document request to a specific data source sync job. This is 696// optional and should only be supplied when documents are deleted by a data source 697// connector. 698type DataSourceSyncJobMetrics struct { 699 700 // The number of documents added from the data source up to now in the data source 701 // sync. 702 DocumentsAdded *string 703 704 // The number of documents deleted from the data source up to now in the data 705 // source sync run. 706 DocumentsDeleted *string 707 708 // The number of documents that failed to sync from the data source up to now in 709 // the data source sync run. 710 DocumentsFailed *string 711 712 // The number of documents modified in the data source up to now in the data source 713 // sync run. 714 DocumentsModified *string 715 716 // The current number of documents crawled by the current sync job in the data 717 // source. 718 DocumentsScanned *string 719 720 noSmithyDocumentSerde 721} 722 723// Maps a particular data source sync job to a particular data source. 724type DataSourceSyncJobMetricTarget struct { 725 726 // The ID of the data source that is running the sync job. 727 // 728 // This member is required. 729 DataSourceId *string 730 731 // The ID of the sync job that is running on the data source. If the ID of a sync 732 // job is not provided and there is a sync job running, then the ID of this sync 733 // job is used and metrics are generated for this sync job. If the ID of a sync job 734 // is not provided and there is no sync job running, then no metrics are generated 735 // and documents are indexed/deleted at the index level without sync job metrics 736 // included. 737 DataSourceSyncJobId *string 738 739 noSmithyDocumentSerde 740} 741 742// Maps a column or attribute in the data source to an index field. You must first 743// create the fields in the index using the UpdateIndex operation. 744type DataSourceToIndexFieldMapping struct { 745 746 // The name of the column or attribute in the data source. 747 // 748 // This member is required. 749 DataSourceFieldName *string 750 751 // The name of the field in the index. 752 // 753 // This member is required. 754 IndexFieldName *string 755 756 // The type of data stored in the column or attribute. 757 DateFieldFormat *string 758 759 noSmithyDocumentSerde 760} 761 762// Provides information for connecting to an Amazon VPC. 763type DataSourceVpcConfiguration struct { 764 765 // A list of identifiers of security groups within your Amazon VPC. The security 766 // groups should enable Amazon Kendra to connect to the data source. 767 // 768 // This member is required. 769 SecurityGroupIds []string 770 771 // A list of identifiers for subnets within your Amazon VPC. The subnets should be 772 // able to connect to each other in the VPC, and they should have outgoing access 773 // to the Internet through a NAT device. 774 // 775 // This member is required. 776 SubnetIds []string 777 778 noSmithyDocumentSerde 779} 780 781// A document in an index. 782type Document struct { 783 784 // A unique identifier of the document in the index. 785 // 786 // This member is required. 787 Id *string 788 789 // Information on user and group access rights, which is used for user context 790 // filtering. 791 AccessControlList []Principal 792 793 // Custom attributes to apply to the document. Use the custom attributes to provide 794 // additional information for searching, to provide facets for refining searches, 795 // and to provide additional information in the query response. 796 Attributes []DocumentAttribute 797 798 // The contents of the document. Documents passed to the Blob parameter must be 799 // base64 encoded. Your code might not need to encode the document file bytes if 800 // you're using an Amazon Web Services SDK to call Amazon Kendra operations. If you 801 // are calling the Amazon Kendra endpoint directly using REST, you must base64 802 // encode the contents before sending. 803 Blob []byte 804 805 // The file type of the document in the Blob field. 806 ContentType ContentType 807 808 // The list of principal 809 // (https://docs.aws.amazon.com/kendra/latest/dg/API_Principal.html) lists that 810 // define the hierarchy for which documents users should have access to. 811 HierarchicalAccessControlList []HierarchicalPrincipal 812 813 // Information required to find a specific file in an Amazon S3 bucket. 814 S3Path *S3Path 815 816 // The title of the document. 817 Title *string 818 819 noSmithyDocumentSerde 820} 821 822// A custom attribute value assigned to a document. 823type DocumentAttribute struct { 824 825 // The identifier for the attribute. 826 // 827 // This member is required. 828 Key *string 829 830 // The value of the attribute. 831 // 832 // This member is required. 833 Value DocumentAttributeValue 834 835 noSmithyDocumentSerde 836} 837 838// The value of a custom document attribute. You can only provide one value for a 839// custom attribute. 840// 841// The following types satisfy this interface: 842// DocumentAttributeValueMemberStringValue 843// DocumentAttributeValueMemberStringListValue 844// DocumentAttributeValueMemberLongValue 845// DocumentAttributeValueMemberDateValue 846type DocumentAttributeValue interface { 847 isDocumentAttributeValue() 848} 849 850// A string, such as "department". 851type DocumentAttributeValueMemberStringValue struct { 852 Value string 853 854 noSmithyDocumentSerde 855} 856 857func (*DocumentAttributeValueMemberStringValue) isDocumentAttributeValue() {} 858 859// A list of strings. 860type DocumentAttributeValueMemberStringListValue struct { 861 Value []string 862 863 noSmithyDocumentSerde 864} 865 866func (*DocumentAttributeValueMemberStringListValue) isDocumentAttributeValue() {} 867 868// A long integer value. 869type DocumentAttributeValueMemberLongValue struct { 870 Value int64 871 872 noSmithyDocumentSerde 873} 874 875func (*DocumentAttributeValueMemberLongValue) isDocumentAttributeValue() {} 876 877// A date expressed as an ISO 8601 string. It is important for the time zone to be 878// included in the ISO 8601 date-time format. For example, 20120325T123010+01:00 is 879// the ISO 8601 date-time format for March 25th 2012 at 12:30PM (plus 10 seconds) 880// in Central European Time. 881type DocumentAttributeValueMemberDateValue struct { 882 Value time.Time 883 884 noSmithyDocumentSerde 885} 886 887func (*DocumentAttributeValueMemberDateValue) isDocumentAttributeValue() {} 888 889// Provides the count of documents that match a particular attribute when doing a 890// faceted search. 891type DocumentAttributeValueCountPair struct { 892 893 // The number of documents in the response that have the attribute value for the 894 // key. 895 Count *int32 896 897 // The value of the attribute. For example, "HR." 898 DocumentAttributeValue DocumentAttributeValue 899 900 noSmithyDocumentSerde 901} 902 903// Identifies a document for which to retrieve status information 904type DocumentInfo struct { 905 906 // The unique identifier of the document. 907 // 908 // This member is required. 909 DocumentId *string 910 911 // Attributes that identify a specific version of a document to check. The only 912 // valid attributes are: 913 // 914 // * version 915 // 916 // * datasourceId 917 // 918 // * jobExecutionId 919 // 920 // The 921 // attributes follow these rules: 922 // 923 // * dataSourceId and jobExecutionId must be used 924 // together. 925 // 926 // * version is ignored if dataSourceId and jobExecutionId are not 927 // provided. 928 // 929 // * If dataSourceId and jobExecutionId are provided, but version is 930 // not, the version defaults to "0". 931 Attributes []DocumentAttribute 932 933 noSmithyDocumentSerde 934} 935 936// Specifies the properties of a custom index field. 937type DocumentMetadataConfiguration struct { 938 939 // The name of the index field. 940 // 941 // This member is required. 942 Name *string 943 944 // The data type of the index field. 945 // 946 // This member is required. 947 Type DocumentAttributeValueType 948 949 // Provides manual tuning parameters to determine how the field affects the search 950 // results. 951 Relevance *Relevance 952 953 // Provides information about how the field is used during a search. 954 Search *Search 955 956 noSmithyDocumentSerde 957} 958 959// Overrides the document relevance properties of a custom index field. 960type DocumentRelevanceConfiguration struct { 961 962 // The name of the tuning configuration to override document relevance at the index 963 // level. 964 // 965 // This member is required. 966 Name *string 967 968 // Provides information for manually tuning the relevance of a field in a search. 969 // When a query includes terms that match the field, the results are given a boost 970 // in the response based on these tuning parameters. 971 // 972 // This member is required. 973 Relevance *Relevance 974 975 noSmithyDocumentSerde 976} 977 978// Document metadata files that contain information such as the document access 979// control information, source URI, document author, and custom attributes. Each 980// metadata file contains metadata about a single document. 981type DocumentsMetadataConfiguration struct { 982 983 // A prefix used to filter metadata configuration files in the Amazon Web Services 984 // S3 bucket. The S3 bucket might contain multiple metadata files. Use S3Prefix to 985 // include only the desired metadata files. 986 S3Prefix *string 987 988 noSmithyDocumentSerde 989} 990 991// Information about a document attribute 992type Facet struct { 993 994 // The unique key for the document attribute. 995 DocumentAttributeKey *string 996 997 noSmithyDocumentSerde 998} 999 1000// The facet values for the documents in the response. 1001type FacetResult struct { 1002 1003 // The key for the facet values. This is the same as the DocumentAttributeKey 1004 // provided in the query. 1005 DocumentAttributeKey *string 1006 1007 // An array of key/value pairs, where the key is the value of the attribute and the 1008 // count is the number of documents that share the key value. 1009 DocumentAttributeValueCountPairs []DocumentAttributeValueCountPair 1010 1011 // The data type of the facet value. This is the same as the type defined for the 1012 // index field when it was created. 1013 DocumentAttributeValueType DocumentAttributeValueType 1014 1015 noSmithyDocumentSerde 1016} 1017 1018// Provides statistical information about the FAQ questions and answers contained 1019// in an index. 1020type FaqStatistics struct { 1021 1022 // The total number of FAQ questions and answers contained in the index. 1023 // 1024 // This member is required. 1025 IndexedQuestionAnswersCount int32 1026 1027 noSmithyDocumentSerde 1028} 1029 1030// Provides information about a frequently asked questions and answer contained in 1031// an index. 1032type FaqSummary struct { 1033 1034 // The UNIX datetime that the FAQ was added to the index. 1035 CreatedAt *time.Time 1036 1037 // The file type used to create the FAQ. 1038 FileFormat FaqFileFormat 1039 1040 // The unique identifier of the FAQ. 1041 Id *string 1042 1043 // The name that you assigned the FAQ when you created or updated the FAQ. 1044 Name *string 1045 1046 // The current status of the FAQ. When the status is ACTIVE the FAQ is ready for 1047 // use. 1048 Status FaqStatus 1049 1050 // The UNIX datetime that the FAQ was last updated. 1051 UpdatedAt *time.Time 1052 1053 noSmithyDocumentSerde 1054} 1055 1056// Provides configuration information for data sources that connect to Google 1057// Drive. 1058type GoogleDriveConfiguration struct { 1059 1060 // The Amazon Resource Name (ARN) of a Secrets Managersecret that contains the 1061 // credentials required to connect to Google Drive. For more information, see Using 1062 // a Google Workspace Drive data source 1063 // (https://docs.aws.amazon.com/kendra/latest/dg/data-source-google-drive.html). 1064 // 1065 // This member is required. 1066 SecretArn *string 1067 1068 // A list of MIME types to exclude from the index. All documents matching the 1069 // specified MIME type are excluded. For a list of MIME types, see Using a Google 1070 // Workspace Drive data source 1071 // (https://docs.aws.amazon.com/kendra/latest/dg/data-source-google-drive.html). 1072 ExcludeMimeTypes []string 1073 1074 // A list of identifiers or shared drives to exclude from the index. All files and 1075 // folders stored on the shared drive are excluded. 1076 ExcludeSharedDrives []string 1077 1078 // A list of email addresses of the users. Documents owned by these users are 1079 // excluded from the index. Documents shared with excluded users are indexed unless 1080 // they are excluded in another way. 1081 ExcludeUserAccounts []string 1082 1083 // A list of regular expression patterns that apply to the path on Google Drive. 1084 // Items that match the pattern are excluded from the index from both shared drives 1085 // and users' My Drives. Items that don't match the pattern are included in the 1086 // index. If an item matches both an exclusion pattern and an inclusion pattern, it 1087 // is excluded from the index. 1088 ExclusionPatterns []string 1089 1090 // Defines mapping between a field in the Google Drive and a Amazon Kendra index 1091 // field. If you are using the console, you can define index fields when creating 1092 // the mapping. If you are using the API, you must first create the field using the 1093 // UpdateIndex operation. 1094 FieldMappings []DataSourceToIndexFieldMapping 1095 1096 // A list of regular expression patterns that apply to path on Google Drive. Items 1097 // that match the pattern are included in the index from both shared drives and 1098 // users' My Drives. Items that don't match the pattern are excluded from the 1099 // index. If an item matches both an inclusion pattern and an exclusion pattern, it 1100 // is excluded from the index. 1101 InclusionPatterns []string 1102 1103 noSmithyDocumentSerde 1104} 1105 1106// A list of users or sub groups that belong to a group. Users and groups are 1107// useful for filtering search results to different users based on their group's 1108// access to documents. 1109type GroupMembers struct { 1110 1111 // A list of sub groups that belong to a group. For example, the sub groups 1112 // "Research", "Engineering", and "Sales and Marketing" all belong to the group 1113 // "Company". 1114 MemberGroups []MemberGroup 1115 1116 // A list of users that belong to a group. For example, a list of interns all 1117 // belong to the "Interns" group. 1118 MemberUsers []MemberUser 1119 1120 // If you have more than 1000 users and/or sub groups for a single group, you need 1121 // to provide the path to the S3 file that lists your users and sub groups for a 1122 // group. Your sub groups can contain more than 1000 users, but the list of sub 1123 // groups that belong to a group (and/or users) must be no more than 1000. 1124 S3PathforGroupMembers *S3Path 1125 1126 noSmithyDocumentSerde 1127} 1128 1129// Information on the processing of PUT and DELETE actions for mapping users to 1130// their groups. 1131type GroupOrderingIdSummary struct { 1132 1133 // The reason an action could not be processed. An action can be a PUT or DELETE 1134 // action for mapping users to their groups. 1135 FailureReason *string 1136 1137 // The last date-time an action was updated. An action can be a PUT or DELETE 1138 // action for mapping users to their groups. 1139 LastUpdatedAt *time.Time 1140 1141 // The order in which actions should complete processing. An action can be a PUT or 1142 // DELETE action for mapping users to their groups. 1143 OrderingId *int64 1144 1145 // The date-time an action was received by Amazon Kendra. An action can be a PUT or 1146 // DELETE action for mapping users to their groups. 1147 ReceivedAt *time.Time 1148 1149 // The current processing status of actions for mapping users to their groups. The 1150 // status can be either PROCESSING, SUCCEEDED, DELETING, DELETED, or FAILED. 1151 Status PrincipalMappingStatus 1152 1153 noSmithyDocumentSerde 1154} 1155 1156// Group summary information. 1157type GroupSummary struct { 1158 1159 // The identifier of the group you want group summary information on. 1160 GroupId *string 1161 1162 // The timestamp identifier used for the latest PUT or DELETE action. 1163 OrderingId *int64 1164 1165 noSmithyDocumentSerde 1166} 1167 1168// Information to define the hierarchy for which documents users should have access 1169// to. 1170type HierarchicalPrincipal struct { 1171 1172 // A list of principal 1173 // (https://docs.aws.amazon.com/kendra/latest/dg/API_Principal.html) lists that 1174 // define the hierarchy for which documents users should have access to. Each 1175 // hierarchical list specifies which user or group has allow or deny access for 1176 // each document. 1177 // 1178 // This member is required. 1179 PrincipalList []Principal 1180 1181 noSmithyDocumentSerde 1182} 1183 1184// Provides information that you can use to highlight a search result so that your 1185// users can quickly identify terms in the response. 1186type Highlight struct { 1187 1188 // The zero-based location in the response string where the highlight starts. 1189 // 1190 // This member is required. 1191 BeginOffset *int32 1192 1193 // The zero-based location in the response string where the highlight ends. 1194 // 1195 // This member is required. 1196 EndOffset *int32 1197 1198 // Indicates whether the response is the best response. True if this is the best 1199 // response; otherwise, false. 1200 TopAnswer bool 1201 1202 // The highlight type. 1203 Type HighlightType 1204 1205 noSmithyDocumentSerde 1206} 1207 1208// A summary of information about an index. 1209type IndexConfigurationSummary struct { 1210 1211 // The Unix timestamp when the index was created. 1212 // 1213 // This member is required. 1214 CreatedAt *time.Time 1215 1216 // The current status of the index. When the status is ACTIVE, the index is ready 1217 // to search. 1218 // 1219 // This member is required. 1220 Status IndexStatus 1221 1222 // The Unix timestamp when the index was last updated by the UpdateIndex operation. 1223 // 1224 // This member is required. 1225 UpdatedAt *time.Time 1226 1227 // Indicates whether the index is a enterprise edition index or a developer edition 1228 // index. 1229 Edition IndexEdition 1230 1231 // A unique identifier for the index. Use this to identify the index when you are 1232 // using operations such as Query, DescribeIndex, UpdateIndex, and DeleteIndex. 1233 Id *string 1234 1235 // The name of the index. 1236 Name *string 1237 1238 noSmithyDocumentSerde 1239} 1240 1241// Provides information about the number of documents and the number of questions 1242// and answers in an index. 1243type IndexStatistics struct { 1244 1245 // The number of question and answer topics in the index. 1246 // 1247 // This member is required. 1248 FaqStatistics *FaqStatistics 1249 1250 // The number of text documents indexed. 1251 // 1252 // This member is required. 1253 TextDocumentStatistics *TextDocumentStatistics 1254 1255 noSmithyDocumentSerde 1256} 1257 1258// Configuration information for the JSON token type. 1259type JsonTokenTypeConfiguration struct { 1260 1261 // The group attribute field. 1262 // 1263 // This member is required. 1264 GroupAttributeField *string 1265 1266 // The user name attribute field. 1267 // 1268 // This member is required. 1269 UserNameAttributeField *string 1270 1271 noSmithyDocumentSerde 1272} 1273 1274// Configuration information for the JWT token type. 1275type JwtTokenTypeConfiguration struct { 1276 1277 // The location of the key. 1278 // 1279 // This member is required. 1280 KeyLocation KeyLocation 1281 1282 // The regular expression that identifies the claim. 1283 ClaimRegex *string 1284 1285 // The group attribute field. 1286 GroupAttributeField *string 1287 1288 // The issuer of the token. 1289 Issuer *string 1290 1291 // The Amazon Resource Name (arn) of the secret. 1292 SecretManagerArn *string 1293 1294 // The signing key URL. 1295 URL *string 1296 1297 // The user name attribute field. 1298 UserNameAttributeField *string 1299 1300 noSmithyDocumentSerde 1301} 1302 1303// The sub groups that belong to a group. 1304type MemberGroup struct { 1305 1306 // The identifier of the sub group you want to map to a group. 1307 // 1308 // This member is required. 1309 GroupId *string 1310 1311 // The identifier of the data source for the sub group you want to map to a group. 1312 DataSourceId *string 1313 1314 noSmithyDocumentSerde 1315} 1316 1317// The users that belong to a group. 1318type MemberUser struct { 1319 1320 // The identifier of the user you want to map to a group. 1321 // 1322 // This member is required. 1323 UserId *string 1324 1325 noSmithyDocumentSerde 1326} 1327 1328// Provides configuration information for data sources that connect to OneDrive. 1329type OneDriveConfiguration struct { 1330 1331 // A list of user accounts whose documents should be indexed. 1332 // 1333 // This member is required. 1334 OneDriveUsers *OneDriveUsers 1335 1336 // The Amazon Resource Name (ARN) of an Secrets Managersecret that contains the 1337 // user name and password to connect to OneDrive. The user namd should be the 1338 // application ID for the OneDrive application, and the password is the application 1339 // key for the OneDrive application. 1340 // 1341 // This member is required. 1342 SecretArn *string 1343 1344 // The Azure Active Directory domain of the organization. 1345 // 1346 // This member is required. 1347 TenantDomain *string 1348 1349 // A Boolean value that specifies whether local groups are disabled (True) or 1350 // enabled (False). 1351 DisableLocalGroups bool 1352 1353 // List of regular expressions applied to documents. Items that match the exclusion 1354 // pattern are not indexed. If you provide both an inclusion pattern and an 1355 // exclusion pattern, any item that matches the exclusion pattern isn't indexed. 1356 // The exclusion pattern is applied to the file name. 1357 ExclusionPatterns []string 1358 1359 // A list of DataSourceToIndexFieldMapping objects that map Microsoft OneDrive 1360 // fields to custom fields in the Amazon Kendra index. You must first create the 1361 // index fields before you map OneDrive fields. 1362 FieldMappings []DataSourceToIndexFieldMapping 1363 1364 // A list of regular expression patterns. Documents that match the pattern are 1365 // included in the index. Documents that don't match the pattern are excluded from 1366 // the index. If a document matches both an inclusion pattern and an exclusion 1367 // pattern, the document is not included in the index. The exclusion pattern is 1368 // applied to the file name. 1369 InclusionPatterns []string 1370 1371 noSmithyDocumentSerde 1372} 1373 1374// User accounts whose documents should be indexed. 1375type OneDriveUsers struct { 1376 1377 // A list of users whose documents should be indexed. Specify the user names in 1378 // email format, for example, username@tenantdomain. If you need to index the 1379 // documents of more than 100 users, use the OneDriveUserS3Path field to specify 1380 // the location of a file containing a list of users. 1381 OneDriveUserList []string 1382 1383 // The S3 bucket location of a file containing a list of users whose documents 1384 // should be indexed. 1385 OneDriveUserS3Path *S3Path 1386 1387 noSmithyDocumentSerde 1388} 1389 1390// Provides user and group information for document access filtering. 1391type Principal struct { 1392 1393 // Whether to allow or deny access to the principal. 1394 // 1395 // This member is required. 1396 Access ReadAccessType 1397 1398 // The name of the user or group. 1399 // 1400 // This member is required. 1401 Name *string 1402 1403 // The type of principal. 1404 // 1405 // This member is required. 1406 Type PrincipalType 1407 1408 // The identifier of the data source the principal should access documents from. 1409 DataSourceId *string 1410 1411 noSmithyDocumentSerde 1412} 1413 1414// Provides the configuration information for a web proxy to connect to website 1415// hosts. 1416type ProxyConfiguration struct { 1417 1418 // The name of the website host you want to connect to via a web proxy server. For 1419 // example, the host name of https://a.example.com/page1.html is "a.example.com". 1420 // 1421 // This member is required. 1422 Host *string 1423 1424 // The port number of the website host you want to connect to via a web proxy 1425 // server. For example, the port for https://a.example.com/page1.html is 443, the 1426 // standard port for HTTPS. 1427 // 1428 // This member is required. 1429 Port *int32 1430 1431 // Your secret ARN, which you can create in AWS Secrets Manager 1432 // (https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) The 1433 // credentials are optional. You use a secret if web proxy credentials are required 1434 // to connect to a website host. Amazon Kendra currently support basic 1435 // authentication to connect to a web proxy server. The secret stores your 1436 // credentials. 1437 Credentials *string 1438 1439 noSmithyDocumentSerde 1440} 1441 1442// A single query result. A query result contains information about a document 1443// returned by the query. This includes the original location of the document, a 1444// list of attributes assigned to the document, and relevant text from the document 1445// that satisfies the query. 1446type QueryResultItem struct { 1447 1448 // One or more additional attributes associated with the query result. 1449 AdditionalAttributes []AdditionalResultAttribute 1450 1451 // An array of document attributes for the document that the query result maps to. 1452 // For example, the document author (Author) or the source URI (SourceUri) of the 1453 // document. 1454 DocumentAttributes []DocumentAttribute 1455 1456 // An extract of the text in the document. Contains information about highlighting 1457 // the relevant terms in the excerpt. 1458 DocumentExcerpt *TextWithHighlights 1459 1460 // The unique identifier for the document. 1461 DocumentId *string 1462 1463 // The title of the document. Contains the text of the title and information for 1464 // highlighting the relevant terms in the title. 1465 DocumentTitle *TextWithHighlights 1466 1467 // The URI of the original location of the document. 1468 DocumentURI *string 1469 1470 // A token that identifies a particular result from a particular query. Use this 1471 // token to provide click-through feedback for the result. For more information, 1472 // see Submitting feedback 1473 // (https://docs.aws.amazon.com/kendra/latest/dg/submitting-feedback.html). 1474 FeedbackToken *string 1475 1476 // The unique identifier for the query result. 1477 Id *string 1478 1479 // Indicates the confidence that Amazon Kendra has that a result matches the query 1480 // that you provided. Each result is placed into a bin that indicates the 1481 // confidence, VERY_HIGH, HIGH, MEDIUM and LOW. You can use the score to determine 1482 // if a response meets the confidence needed for your application. The field is 1483 // only set to LOW when the Type field is set to DOCUMENT and Amazon Kendra is not 1484 // confident that the result matches the query. 1485 ScoreAttributes *ScoreAttributes 1486 1487 // The type of document. 1488 Type QueryResultType 1489 1490 noSmithyDocumentSerde 1491} 1492 1493// Summary information on a query suggestions block list. This includes information 1494// on the block list ID, block list name, when the block list was created, when the 1495// block list was last updated, and the count of block words/phrases in the block 1496// list. For information on the current quota limits for block lists, see Quotas 1497// for Amazon Kendra (https://docs.aws.amazon.com/kendra/latest/dg/quotas.html). 1498type QuerySuggestionsBlockListSummary struct { 1499 1500 // The date-time summary information for a query suggestions block list was last 1501 // created. 1502 CreatedAt *time.Time 1503 1504 // The identifier of a block list. 1505 Id *string 1506 1507 // The number of items in the block list file. 1508 ItemCount *int32 1509 1510 // The name of the block list. 1511 Name *string 1512 1513 // The status of the block list. 1514 Status QuerySuggestionsBlockListStatus 1515 1516 // The date-time the block list was last updated. 1517 UpdatedAt *time.Time 1518 1519 noSmithyDocumentSerde 1520} 1521 1522// Provides information for manually tuning the relevance of a field in a search. 1523// When a query includes terms that match the field, the results are given a boost 1524// in the response based on these tuning parameters. 1525type Relevance struct { 1526 1527 // Specifies the time period that the boost applies to. For example, to make the 1528 // boost apply to documents with the field value within the last month, you would 1529 // use "2628000s". Once the field value is beyond the specified range, the effect 1530 // of the boost drops off. The higher the importance, the faster the effect drops 1531 // off. If you don't specify a value, the default is 3 months. The value of the 1532 // field is a numeric string followed by the character "s", for example "86400s" 1533 // for one day, or "604800s" for one week. Only applies to DATE fields. 1534 Duration *string 1535 1536 // Indicates that this field determines how "fresh" a document is. For example, if 1537 // document 1 was created on November 5, and document 2 was created on October 31, 1538 // document 1 is "fresher" than document 2. You can only set the Freshness field on 1539 // one DATE type field. Only applies to DATE fields. 1540 Freshness *bool 1541 1542 // The relative importance of the field in the search. Larger numbers provide more 1543 // of a boost than smaller numbers. 1544 Importance *int32 1545 1546 // Determines how values should be interpreted. When the RankOrder field is 1547 // ASCENDING, higher numbers are better. For example, a document with a rating 1548 // score of 10 is higher ranking than a document with a rating score of 1. When the 1549 // RankOrder field is DESCENDING, lower numbers are better. For example, in a task 1550 // tracking application, a priority 1 task is more important than a priority 5 1551 // task. Only applies to LONG and DOUBLE fields. 1552 RankOrder Order 1553 1554 // A list of values that should be given a different boost when they appear in the 1555 // result list. For example, if you are boosting a field called "department," query 1556 // terms that match the department field are boosted in the result. However, you 1557 // can add entries from the department field to boost documents with those values 1558 // higher. For example, you can add entries to the map with names of departments. 1559 // If you add "HR",5 and "Legal",3 those departments are given special attention 1560 // when they appear in the metadata of a document. When those terms appear they are 1561 // given the specified importance instead of the regular importance for the boost. 1562 ValueImportanceMap map[string]int32 1563 1564 noSmithyDocumentSerde 1565} 1566 1567// Provides feedback on how relevant a document is to a search. Your application 1568// uses the SubmitFeedback operation to provide relevance information. 1569type RelevanceFeedback struct { 1570 1571 // Whether to document was relevant or not relevant to the search. 1572 // 1573 // This member is required. 1574 RelevanceValue RelevanceType 1575 1576 // The unique identifier of the search result that the user provided relevance 1577 // feedback for. 1578 // 1579 // This member is required. 1580 ResultId *string 1581 1582 noSmithyDocumentSerde 1583} 1584 1585// Provides configuration information for a data source to index documents in an 1586// Amazon S3 bucket. 1587type S3DataSourceConfiguration struct { 1588 1589 // The name of the bucket that contains the documents. 1590 // 1591 // This member is required. 1592 BucketName *string 1593 1594 // Provides the path to the S3 bucket that contains the user context filtering 1595 // files for the data source. For the format of the file, see Access control for S3 1596 // data sources (https://docs.aws.amazon.com/kendra/latest/dg/s3-acl.html). 1597 AccessControlListConfiguration *AccessControlListConfiguration 1598 1599 // Document metadata files that contain information such as the document access 1600 // control information, source URI, document author, and custom attributes. Each 1601 // metadata file contains metadata about a single document. 1602 DocumentsMetadataConfiguration *DocumentsMetadataConfiguration 1603 1604 // A list of glob patterns for documents that should not be indexed. If a document 1605 // that matches an inclusion prefix or inclusion pattern also matches an exclusion 1606 // pattern, the document is not indexed. Some examples 1607 // (https://docs.aws.amazon.com/cli/latest/reference/s3/#use-of-exclude-and-include-filters) 1608 // are: 1609 // 1610 // * *.png , *.jpg will exclude all PNG and JPEG image files in a directory 1611 // (files with the extensions .png and .jpg). 1612 // 1613 // * *internal* will exclude all files 1614 // in a directory that contain 'internal' in the file name, such as 'internal', 1615 // 'internal_only', 'company_internal'. 1616 // 1617 // * **/*internal* will exclude all 1618 // internal-related files in a directory and its subdirectories. 1619 ExclusionPatterns []string 1620 1621 // A list of glob patterns for documents that should be indexed. If a document that 1622 // matches an inclusion pattern also matches an exclusion pattern, the document is 1623 // not indexed. Some examples 1624 // (https://docs.aws.amazon.com/cli/latest/reference/s3/#use-of-exclude-and-include-filters) 1625 // are: 1626 // 1627 // * *.txt will include all text files in a directory (files with the 1628 // extension .txt). 1629 // 1630 // * **/*.txt will include all text files in a directory and its 1631 // subdirectories. 1632 // 1633 // * *tax* will include all files in a directory that contain 1634 // 'tax' in the file name, such as 'tax', 'taxes', 'income_tax'. 1635 InclusionPatterns []string 1636 1637 // A list of S3 prefixes for the documents that should be included in the index. 1638 InclusionPrefixes []string 1639 1640 noSmithyDocumentSerde 1641} 1642 1643// Information required to find a specific file in an Amazon S3 bucket. 1644type S3Path struct { 1645 1646 // The name of the S3 bucket that contains the file. 1647 // 1648 // This member is required. 1649 Bucket *string 1650 1651 // The name of the file. 1652 // 1653 // This member is required. 1654 Key *string 1655 1656 noSmithyDocumentSerde 1657} 1658 1659// Defines configuration for syncing a Salesforce chatter feed. The contents of the 1660// object comes from the Salesforce FeedItem table. 1661type SalesforceChatterFeedConfiguration struct { 1662 1663 // The name of the column in the Salesforce FeedItem table that contains the 1664 // content to index. Typically this is the Body column. 1665 // 1666 // This member is required. 1667 DocumentDataFieldName *string 1668 1669 // The name of the column in the Salesforce FeedItem table that contains the title 1670 // of the document. This is typically the Title column. 1671 DocumentTitleFieldName *string 1672 1673 // Maps fields from a Salesforce chatter feed into Amazon Kendra index fields. 1674 FieldMappings []DataSourceToIndexFieldMapping 1675 1676 // Filters the documents in the feed based on status of the user. When you specify 1677 // ACTIVE_USERS only documents from users who have an active account are indexed. 1678 // When you specify STANDARD_USER only documents for Salesforce standard users are 1679 // documented. You can specify both. 1680 IncludeFilterTypes []SalesforceChatterFeedIncludeFilterType 1681 1682 noSmithyDocumentSerde 1683} 1684 1685// Provides configuration information for connecting to a Salesforce data source. 1686type SalesforceConfiguration struct { 1687 1688 // The Amazon Resource Name (ARN) of an Secrets Managersecret that contains the 1689 // key/value pairs required to connect to your Salesforce instance. The secret must 1690 // contain a JSON structure with the following keys: 1691 // 1692 // * authenticationUrl - The 1693 // OAUTH endpoint that Amazon Kendra connects to get an OAUTH token. 1694 // 1695 // * consumerKey 1696 // - The application public key generated when you created your Salesforce 1697 // application. 1698 // 1699 // * consumerSecret - The application private key generated when you 1700 // created your Salesforce application. 1701 // 1702 // * password - The password associated with 1703 // the user logging in to the Salesforce instance. 1704 // 1705 // * securityToken - The token 1706 // associated with the user account logging in to the Salesforce instance. 1707 // 1708 // * 1709 // username - The user name of the user logging in to the Salesforce instance. 1710 // 1711 // This member is required. 1712 SecretArn *string 1713 1714 // The instance URL for the Salesforce site that you want to index. 1715 // 1716 // This member is required. 1717 ServerUrl *string 1718 1719 // Specifies configuration information for Salesforce chatter feeds. 1720 ChatterFeedConfiguration *SalesforceChatterFeedConfiguration 1721 1722 // Indicates whether Amazon Kendra should index attachments to Salesforce objects. 1723 CrawlAttachments bool 1724 1725 // A list of regular expression patterns. Documents that match the patterns are 1726 // excluded from the index. Documents that don't match the patterns are included in 1727 // the index. If a document matches both an exclusion pattern and an inclusion 1728 // pattern, the document is not included in the index. The regex is applied to the 1729 // name of the attached file. 1730 ExcludeAttachmentFilePatterns []string 1731 1732 // A list of regular expression patterns. Documents that match the patterns are 1733 // included in the index. Documents that don't match the patterns are excluded from 1734 // the index. If a document matches both an inclusion pattern and an exclusion 1735 // pattern, the document is not included in the index. The regex is applied to the 1736 // name of the attached file. 1737 IncludeAttachmentFilePatterns []string 1738 1739 // Specifies configuration information for the knowledge article types that Amazon 1740 // Kendra indexes. Amazon Kendra indexes standard knowledge articles and the 1741 // standard fields of knowledge articles, or the custom fields of custom knowledge 1742 // articles, but not both. 1743 KnowledgeArticleConfiguration *SalesforceKnowledgeArticleConfiguration 1744 1745 // Provides configuration information for processing attachments to Salesforce 1746 // standard objects. 1747 StandardObjectAttachmentConfiguration *SalesforceStandardObjectAttachmentConfiguration 1748 1749 // Specifies the Salesforce standard objects that Amazon Kendra indexes. 1750 StandardObjectConfigurations []SalesforceStandardObjectConfiguration 1751 1752 noSmithyDocumentSerde 1753} 1754 1755// Provides configuration information for indexing Salesforce custom articles. 1756type SalesforceCustomKnowledgeArticleTypeConfiguration struct { 1757 1758 // The name of the field in the custom knowledge article that contains the document 1759 // data to index. 1760 // 1761 // This member is required. 1762 DocumentDataFieldName *string 1763 1764 // The name of the configuration. 1765 // 1766 // This member is required. 1767 Name *string 1768 1769 // The name of the field in the custom knowledge article that contains the document 1770 // title. 1771 DocumentTitleFieldName *string 1772 1773 // One or more objects that map fields in the custom knowledge article to fields in 1774 // the Amazon Kendra index. 1775 FieldMappings []DataSourceToIndexFieldMapping 1776 1777 noSmithyDocumentSerde 1778} 1779 1780// Specifies configuration information for the knowledge article types that Amazon 1781// Kendra indexes. Amazon Kendra indexes standard knowledge articles and the 1782// standard fields of knowledge articles, or the custom fields of custom knowledge 1783// articles, but not both 1784type SalesforceKnowledgeArticleConfiguration struct { 1785 1786 // Specifies the document states that should be included when Amazon Kendra indexes 1787 // knowledge articles. You must specify at least one state. 1788 // 1789 // This member is required. 1790 IncludedStates []SalesforceKnowledgeArticleState 1791 1792 // Provides configuration information for custom Salesforce knowledge articles. 1793 CustomKnowledgeArticleTypeConfigurations []SalesforceCustomKnowledgeArticleTypeConfiguration 1794 1795 // Provides configuration information for standard Salesforce knowledge articles. 1796 StandardKnowledgeArticleTypeConfiguration *SalesforceStandardKnowledgeArticleTypeConfiguration 1797 1798 noSmithyDocumentSerde 1799} 1800 1801// Provides configuration information for standard Salesforce knowledge articles. 1802type SalesforceStandardKnowledgeArticleTypeConfiguration struct { 1803 1804 // The name of the field that contains the document data to index. 1805 // 1806 // This member is required. 1807 DocumentDataFieldName *string 1808 1809 // The name of the field that contains the document title. 1810 DocumentTitleFieldName *string 1811 1812 // One or more objects that map fields in the knowledge article to Amazon Kendra 1813 // index fields. The index field must exist before you can map a Salesforce field 1814 // to it. 1815 FieldMappings []DataSourceToIndexFieldMapping 1816 1817 noSmithyDocumentSerde 1818} 1819 1820// Provides configuration information for processing attachments to Salesforce 1821// standard objects. 1822type SalesforceStandardObjectAttachmentConfiguration struct { 1823 1824 // The name of the field used for the document title. 1825 DocumentTitleFieldName *string 1826 1827 // One or more objects that map fields in attachments to Amazon Kendra index 1828 // fields. 1829 FieldMappings []DataSourceToIndexFieldMapping 1830 1831 noSmithyDocumentSerde 1832} 1833 1834// Specifies configuration information for indexing a single standard object. 1835type SalesforceStandardObjectConfiguration struct { 1836 1837 // The name of the field in the standard object table that contains the document 1838 // contents. 1839 // 1840 // This member is required. 1841 DocumentDataFieldName *string 1842 1843 // The name of the standard object. 1844 // 1845 // This member is required. 1846 Name SalesforceStandardObjectName 1847 1848 // The name of the field in the standard object table that contains the document 1849 // title. 1850 DocumentTitleFieldName *string 1851 1852 // One or more objects that map fields in the standard object to Amazon Kendra 1853 // index fields. The index field must exist before you can map a Salesforce field 1854 // to it. 1855 FieldMappings []DataSourceToIndexFieldMapping 1856 1857 noSmithyDocumentSerde 1858} 1859 1860// Provides a relative ranking that indicates how confident Amazon Kendra is that 1861// the response matches the query. 1862type ScoreAttributes struct { 1863 1864 // A relative ranking for how well the response matches the query. 1865 ScoreConfidence ScoreConfidence 1866 1867 noSmithyDocumentSerde 1868} 1869 1870// Provides information about how a custom index field is used during a search. 1871type Search struct { 1872 1873 // Determines whether the field is returned in the query response. The default is 1874 // true. 1875 Displayable bool 1876 1877 // Indicates that the field can be used to create search facets, a count of results 1878 // for each value in the field. The default is false . 1879 Facetable bool 1880 1881 // Determines whether the field is used in the search. If the Searchable field is 1882 // true, you can use relevance tuning to manually tune how Amazon Kendra weights 1883 // the field in the search. The default is true for string fields and false for 1884 // number and date fields. 1885 Searchable bool 1886 1887 // Determines whether the field can be used to sort the results of a query. If you 1888 // specify sorting on a field that does not have Sortable set to true, Amazon 1889 // Kendra returns an exception. The default is false. 1890 Sortable bool 1891 1892 noSmithyDocumentSerde 1893} 1894 1895// Provides the configuration information of the seed or starting point URLs to 1896// crawl. When selecting websites to index, you must adhere to the Amazon 1897// Acceptable Use Policy (https://aws.amazon.com/aup/) and all other Amazon terms. 1898// Remember that you must only use the Amazon Kendra web crawler to index your own 1899// webpages, or webpages that you have authorization to index. 1900type SeedUrlConfiguration struct { 1901 1902 // The list of seed or starting point URLs of the websites you want to crawl. The 1903 // list can include a maximum of 100 seed URLs. 1904 // 1905 // This member is required. 1906 SeedUrls []string 1907 1908 // You can choose one of the following modes: 1909 // 1910 // * HOST_ONLY – crawl only the website 1911 // host names. For example, if the seed URL is "abc.example.com", then only URLs 1912 // with host name "abc.example.com" are crawled. 1913 // 1914 // * SUBDOMAINS – crawl the website 1915 // host names with subdomains. For example, if the seed URL is "abc.example.com", 1916 // then "a.abc.example.com" and "b.abc.example.com" are also crawled. 1917 // 1918 // * EVERYTHING 1919 // – crawl the website host names with subdomains and other domains that the 1920 // webpages link to. 1921 // 1922 // The default mode is set to HOST_ONLY. 1923 WebCrawlerMode WebCrawlerMode 1924 1925 noSmithyDocumentSerde 1926} 1927 1928// Provides the identifier of the KMScustomer master key (CMK) used to encrypt data 1929// indexed by Amazon Kendra. Amazon Kendra doesn't support asymmetric CMKs. 1930type ServerSideEncryptionConfiguration struct { 1931 1932 // The identifier of the KMScustomer master key (CMK). Amazon Kendra doesn't 1933 // support asymmetric CMKs. 1934 KmsKeyId *string 1935 1936 noSmithyDocumentSerde 1937} 1938 1939// Provides configuration information required to connect to a ServiceNow data 1940// source. 1941type ServiceNowConfiguration struct { 1942 1943 // The ServiceNow instance that the data source connects to. The host endpoint 1944 // should look like the following: {instance}.service-now.com. 1945 // 1946 // This member is required. 1947 HostUrl *string 1948 1949 // The Amazon Resource Name (ARN) of the Secrets Manager secret that contains the 1950 // user name and password required to connect to the ServiceNow instance. 1951 // 1952 // This member is required. 1953 SecretArn *string 1954 1955 // The identifier of the release that the ServiceNow host is running. If the host 1956 // is not running the LONDON release, use OTHERS. 1957 // 1958 // This member is required. 1959 ServiceNowBuildVersion ServiceNowBuildVersionType 1960 1961 // Determines the type of authentication used to connect to the ServiceNow 1962 // instance. If you choose HTTP_BASIC, Amazon Kendra is authenticated using the 1963 // user name and password provided in the AWS Secrets Manager secret in the 1964 // SecretArn field. When you choose OAUTH2, Amazon Kendra is authenticated using 1965 // the OAuth token and secret provided in the Secrets Manager secret, and the user 1966 // name and password are used to determine which information Amazon Kendra has 1967 // access to. When you use OAUTH2 authentication, you must generate a token and a 1968 // client secret using the ServiceNow console. For more information, see Using a 1969 // ServiceNow data source 1970 // (https://docs.aws.amazon.com/kendra/latest/dg/data-source-servicenow.html). 1971 AuthenticationType ServiceNowAuthenticationType 1972 1973 // Provides configuration information for crawling knowledge articles in the 1974 // ServiceNow site. 1975 KnowledgeArticleConfiguration *ServiceNowKnowledgeArticleConfiguration 1976 1977 // Provides configuration information for crawling service catalogs in the 1978 // ServiceNow site. 1979 ServiceCatalogConfiguration *ServiceNowServiceCatalogConfiguration 1980 1981 noSmithyDocumentSerde 1982} 1983 1984// Provides configuration information for crawling knowledge articles in the 1985// ServiceNow site. 1986type ServiceNowKnowledgeArticleConfiguration struct { 1987 1988 // The name of the ServiceNow field that is mapped to the index document contents 1989 // field in the Amazon Kendra index. 1990 // 1991 // This member is required. 1992 DocumentDataFieldName *string 1993 1994 // Indicates whether Amazon Kendra should index attachments to knowledge articles. 1995 CrawlAttachments bool 1996 1997 // The name of the ServiceNow field that is mapped to the index document title 1998 // field. 1999 DocumentTitleFieldName *string 2000 2001 // List of regular expressions applied to knowledge articles. Items that don't 2002 // match the inclusion pattern are not indexed. The regex is applied to the field 2003 // specified in the PatternTargetField 2004 ExcludeAttachmentFilePatterns []string 2005 2006 // Mapping between ServiceNow fields and Amazon Kendra index fields. You must 2007 // create the index field before you map the field. 2008 FieldMappings []DataSourceToIndexFieldMapping 2009 2010 // A query that selects the knowledge articles to index. The query can return 2011 // articles from multiple knowledge bases, and the knowledge bases can be public or 2012 // private. The query string must be one generated by the ServiceNow console. For 2013 // more information, see Specifying documents to index with a query 2014 // (https://docs.aws.amazon.com/kendra/latest/dg/servicenow-query.html). 2015 FilterQuery *string 2016 2017 // List of regular expressions applied to knowledge articles. Items that don't 2018 // match the inclusion pattern are not indexed. The regex is applied to the field 2019 // specified in the PatternTargetField. 2020 IncludeAttachmentFilePatterns []string 2021 2022 noSmithyDocumentSerde 2023} 2024 2025// Provides configuration information for crawling service catalog items in the 2026// ServiceNow site 2027type ServiceNowServiceCatalogConfiguration struct { 2028 2029 // The name of the ServiceNow field that is mapped to the index document contents 2030 // field in the Amazon Kendra index. 2031 // 2032 // This member is required. 2033 DocumentDataFieldName *string 2034 2035 // Indicates whether Amazon Kendra should crawl attachments to the service catalog 2036 // items. 2037 CrawlAttachments bool 2038 2039 // The name of the ServiceNow field that is mapped to the index document title 2040 // field. 2041 DocumentTitleFieldName *string 2042 2043 // A list of regular expression patterns. Documents that match the patterns are 2044 // excluded from the index. Documents that don't match the patterns are included in 2045 // the index. If a document matches both an exclusion pattern and an inclusion 2046 // pattern, the document is not included in the index. The regex is applied to the 2047 // file name of the attachment. 2048 ExcludeAttachmentFilePatterns []string 2049 2050 // Mapping between ServiceNow fields and Amazon Kendra index fields. You must 2051 // create the index field before you map the field. 2052 FieldMappings []DataSourceToIndexFieldMapping 2053 2054 // A list of regular expression patterns. Documents that match the patterns are 2055 // included in the index. Documents that don't match the patterns are excluded from 2056 // the index. If a document matches both an exclusion pattern and an inclusion 2057 // pattern, the document is not included in the index. The regex is applied to the 2058 // file name of the attachment. 2059 IncludeAttachmentFilePatterns []string 2060 2061 noSmithyDocumentSerde 2062} 2063 2064// Provides configuration information for connecting to a Microsoft SharePoint data 2065// source. 2066type SharePointConfiguration struct { 2067 2068 // The Amazon Resource Name (ARN) of credentials stored in Secrets Manager. The 2069 // credentials should be a user/password pair. If you use SharePoint Server, you 2070 // also need to provide the sever domain name as part of the credentials. For more 2071 // information, see Using a Microsoft SharePoint Data Source 2072 // (https://docs.aws.amazon.com/kendra/latest/dg/data-source-sharepoint.html). For 2073 // more information about Secrets Manager, see What Is Secrets Manager 2074 // (https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) in the 2075 // Secrets Manager user guide. 2076 // 2077 // This member is required. 2078 SecretArn *string 2079 2080 // The version of Microsoft SharePoint that you are using as a data source. 2081 // 2082 // This member is required. 2083 SharePointVersion SharePointVersion 2084 2085 // The URLs of the Microsoft SharePoint site that contains the documents that 2086 // should be indexed. 2087 // 2088 // This member is required. 2089 Urls []string 2090 2091 // TRUE to include attachments to documents stored in your Microsoft SharePoint 2092 // site in the index; otherwise, FALSE. 2093 CrawlAttachments bool 2094 2095 // A Boolean value that specifies whether local groups are disabled (True) or 2096 // enabled (False). 2097 DisableLocalGroups bool 2098 2099 // The Microsoft SharePoint attribute field that contains the title of the 2100 // document. 2101 DocumentTitleFieldName *string 2102 2103 // A list of regular expression patterns. Documents that match the patterns are 2104 // excluded from the index. Documents that don't match the patterns are included in 2105 // the index. If a document matches both an exclusion pattern and an inclusion 2106 // pattern, the document is not included in the index. The regex is applied to the 2107 // display URL of the SharePoint document. 2108 ExclusionPatterns []string 2109 2110 // A list of DataSourceToIndexFieldMapping objects that map Microsoft SharePoint 2111 // attributes to custom fields in the Amazon Kendra index. You must first create 2112 // the index fields using the UpdateIndex operation before you map SharePoint 2113 // attributes. For more information, see Mapping Data Source Fields 2114 // (https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html). 2115 FieldMappings []DataSourceToIndexFieldMapping 2116 2117 // A list of regular expression patterns. Documents that match the patterns are 2118 // included in the index. Documents that don't match the patterns are excluded from 2119 // the index. If a document matches both an inclusion pattern and an exclusion 2120 // pattern, the document is not included in the index. The regex is applied to the 2121 // display URL of the SharePoint document. 2122 InclusionPatterns []string 2123 2124 // Information required to find a specific file in an Amazon S3 bucket. 2125 SslCertificateS3Path *S3Path 2126 2127 // Set to TRUE to use the Microsoft SharePoint change log to determine the 2128 // documents that need to be updated in the index. Depending on the size of the 2129 // SharePoint change log, it may take longer for Amazon Kendra to use the change 2130 // log than it takes it to determine the changed documents using the Amazon Kendra 2131 // document crawler. 2132 UseChangeLog bool 2133 2134 // Provides information for connecting to an Amazon VPC. 2135 VpcConfiguration *DataSourceVpcConfiguration 2136 2137 noSmithyDocumentSerde 2138} 2139 2140// Provides the configuration information of the sitemap URLs to crawl. When 2141// selecting websites to index, you must adhere to the Amazon Acceptable Use Policy 2142// (https://aws.amazon.com/aup/) and all other Amazon terms. Remember that you must 2143// only use the Amazon Kendra web crawler to index your own webpages, or webpages 2144// that you have authorization to index. 2145type SiteMapsConfiguration struct { 2146 2147 // The list of sitemap URLs of the websites you want to crawl. The list can include 2148 // a maximum of three sitemap URLs. 2149 // 2150 // This member is required. 2151 SiteMaps []string 2152 2153 noSmithyDocumentSerde 2154} 2155 2156// Specifies the document attribute to use to sort the response to a Amazon Kendra 2157// query. You can specify a single attribute for sorting. The attribute must have 2158// the Sortable flag set to true, otherwise Amazon Kendra returns an exception. You 2159// can sort attributes of the following types. 2160// 2161// * Date value 2162// 2163// * Long value 2164// 2165// * 2166// String value 2167// 2168// You can't sort attributes of the following type. 2169// 2170// * String list 2171// value 2172type SortingConfiguration struct { 2173 2174 // The name of the document attribute used to sort the response. You can use any 2175 // field that has the Sortable flag set to true. You can also sort by any of the 2176 // following built-in attributes: 2177 // 2178 // * _category 2179 // 2180 // * _created_at 2181 // 2182 // * 2183 // _last_updated_at 2184 // 2185 // * _version 2186 // 2187 // * _view_count 2188 // 2189 // This member is required. 2190 DocumentAttributeKey *string 2191 2192 // The order that the results should be returned in. In case of ties, the relevance 2193 // assigned to the result by Amazon Kendra is used as the tie-breaker. 2194 // 2195 // This member is required. 2196 SortOrder SortOrder 2197 2198 noSmithyDocumentSerde 2199} 2200 2201// Provides information that configures Amazon Kendra to use a SQL database. 2202type SqlConfiguration struct { 2203 2204 // Determines whether Amazon Kendra encloses SQL identifiers for tables and column 2205 // names in double quotes (") when making a database query. By default, Amazon 2206 // Kendra passes SQL identifiers the way that they are entered into the data source 2207 // configuration. It does not change the case of identifiers or enclose them in 2208 // quotes. PostgreSQL internally converts uppercase characters to lower case 2209 // characters in identifiers unless they are quoted. Choosing this option encloses 2210 // identifiers in quotes so that PostgreSQL does not convert the character's case. 2211 // For MySQL databases, you must enable the ansi_quotes option when you set this 2212 // field to DOUBLE_QUOTES. 2213 QueryIdentifiersEnclosingOption QueryIdentifiersEnclosingOption 2214 2215 noSmithyDocumentSerde 2216} 2217 2218// Provides information about the status of documents submitted for indexing. 2219type Status struct { 2220 2221 // The unique identifier of the document. 2222 DocumentId *string 2223 2224 // The current status of a document. If the document was submitted for deletion, 2225 // the status is NOT_FOUND after the document is deleted. 2226 DocumentStatus DocumentStatus 2227 2228 // Indicates the source of the error. 2229 FailureCode *string 2230 2231 // Provides detailed information about why the document couldn't be indexed. Use 2232 // this information to correct the error before you resubmit the document for 2233 // indexing. 2234 FailureReason *string 2235 2236 noSmithyDocumentSerde 2237} 2238 2239// A single query suggestion. 2240type Suggestion struct { 2241 2242 // The unique UUID (universally unique identifier) of a single query suggestion. 2243 Id *string 2244 2245 // The value for the unique UUID (universally unique identifier) of a single query 2246 // suggestion. The value is the text string of a suggestion. 2247 Value *SuggestionValue 2248 2249 noSmithyDocumentSerde 2250} 2251 2252// The text highlights for a single query suggestion. 2253type SuggestionHighlight struct { 2254 2255 // The zero-based location in the response string where the highlight starts. 2256 BeginOffset *int32 2257 2258 // The zero-based location in the response string where the highlight ends. 2259 EndOffset *int32 2260 2261 noSmithyDocumentSerde 2262} 2263 2264// Provides text and information about where to highlight the query suggestion 2265// text. 2266type SuggestionTextWithHighlights struct { 2267 2268 // The beginning and end of the query suggestion text that should be highlighted. 2269 Highlights []SuggestionHighlight 2270 2271 // The query suggestion text to display to the user. 2272 Text *string 2273 2274 noSmithyDocumentSerde 2275} 2276 2277// The SuggestionTextWithHighlights structure information. 2278type SuggestionValue struct { 2279 2280 // The SuggestionTextWithHighlights structure that contains the query suggestion 2281 // text and highlights. 2282 Text *SuggestionTextWithHighlights 2283 2284 noSmithyDocumentSerde 2285} 2286 2287// A list of key/value pairs that identify an index, FAQ, or data source. Tag keys 2288// and values can consist of Unicode letters, digits, white space, and any of the 2289// following symbols: _ . : / = + - @. 2290type Tag struct { 2291 2292 // The key for the tag. Keys are not case sensitive and must be unique for the 2293 // index, FAQ, or data source. 2294 // 2295 // This member is required. 2296 Key *string 2297 2298 // The value associated with the tag. The value may be an empty string but it can't 2299 // be null. 2300 // 2301 // This member is required. 2302 Value *string 2303 2304 noSmithyDocumentSerde 2305} 2306 2307// Provides information about text documents indexed in an index. 2308type TextDocumentStatistics struct { 2309 2310 // The total size, in bytes, of the indexed documents. 2311 // 2312 // This member is required. 2313 IndexedTextBytes int64 2314 2315 // The number of text documents indexed. 2316 // 2317 // This member is required. 2318 IndexedTextDocumentsCount int32 2319 2320 noSmithyDocumentSerde 2321} 2322 2323// Provides text and information about where to highlight the text. 2324type TextWithHighlights struct { 2325 2326 // The beginning and end of the text that should be highlighted. 2327 Highlights []Highlight 2328 2329 // The text to display to the user. 2330 Text *string 2331 2332 noSmithyDocumentSerde 2333} 2334 2335// An array of summary information for one or more thesauruses. 2336type ThesaurusSummary struct { 2337 2338 // The Unix datetime that the thesaurus was created. 2339 CreatedAt *time.Time 2340 2341 // The identifier of the thesaurus. 2342 Id *string 2343 2344 // The name of the thesaurus. 2345 Name *string 2346 2347 // The status of the thesaurus. 2348 Status ThesaurusStatus 2349 2350 // The Unix datetime that the thesaurus was last updated. 2351 UpdatedAt *time.Time 2352 2353 noSmithyDocumentSerde 2354} 2355 2356// Provides a range of time. 2357type TimeRange struct { 2358 2359 // The UNIX datetime of the end of the time range. 2360 EndTime *time.Time 2361 2362 // The UNIX datetime of the beginning of the time range. 2363 StartTime *time.Time 2364 2365 noSmithyDocumentSerde 2366} 2367 2368// Provides the configuration information of the URLs to crawl. When selecting 2369// websites to index, you must adhere to the Amazon Acceptable Use Policy 2370// (https://aws.amazon.com/aup/) and all other Amazon terms. Remember that you must 2371// only use the Amazon Kendra web crawler to index your own webpages, or webpages 2372// that you have authorization to index. 2373type Urls struct { 2374 2375 // Provides the configuration of the seed or starting point URLs of the websites 2376 // you want to crawl. You can choose to crawl only the website host names, or the 2377 // website host names with subdomains, or the website host names with subdomains 2378 // and other domains that the webpages link to. You can list up to 100 seed URLs. 2379 SeedUrlConfiguration *SeedUrlConfiguration 2380 2381 // Provides the configuration of the sitemap URLs of the websites you want to 2382 // crawl. Only URLs belonging to the same website host names are crawled. You can 2383 // list up to three sitemap URLs. 2384 SiteMapsConfiguration *SiteMapsConfiguration 2385 2386 noSmithyDocumentSerde 2387} 2388 2389// Provides information about the user context for a Amazon Kendra index. This is 2390// used for filtering search results for different users based on their access to 2391// documents. You provide one of the following: 2392// 2393// * User token 2394// 2395// * User ID, the 2396// groups the user belongs to, and the data sources the groups can access 2397// 2398// If you 2399// provide both, an exception is thrown. 2400type UserContext struct { 2401 2402 // The list of data source groups you want to filter search results based on 2403 // groups' access to documents in that data source. 2404 DataSourceGroups []DataSourceGroup 2405 2406 // The list of groups you want to filter search results based on the groups' access 2407 // to documents. 2408 Groups []string 2409 2410 // The user context token for filtering search results for a user. It must be a JWT 2411 // or a JSON token. 2412 Token *string 2413 2414 // The identifier of the user you want to filter search results based on their 2415 // access to documents. 2416 UserId *string 2417 2418 noSmithyDocumentSerde 2419} 2420 2421// Provides configuration information for a token configuration. 2422type UserTokenConfiguration struct { 2423 2424 // Information about the JSON token type configuration. 2425 JsonTokenTypeConfiguration *JsonTokenTypeConfiguration 2426 2427 // Information about the JWT token type configuration. 2428 JwtTokenTypeConfiguration *JwtTokenTypeConfiguration 2429 2430 noSmithyDocumentSerde 2431} 2432 2433// Provides the configuration information required for Amazon Kendra web crawler. 2434type WebCrawlerConfiguration struct { 2435 2436 // Specifies the seed or starting point URLs of the websites or the sitemap URLs of 2437 // the websites you want to crawl. You can include website subdomains. You can list 2438 // up to 100 seed URLs and up to three sitemap URLs. When selecting websites to 2439 // index, you must adhere to the Amazon Acceptable Use Policy 2440 // (https://aws.amazon.com/aup/) and all other Amazon terms. Remember that you must 2441 // only use the Amazon Kendra web crawler to index your own webpages, or webpages 2442 // that you have authorization to index. 2443 // 2444 // This member is required. 2445 Urls *Urls 2446 2447 // Provides configuration information required to connect to websites using 2448 // authentication. You can connect to websites using basic authentication of user 2449 // name and password. You must provide the website host name and port number. For 2450 // example, the host name of https://a.example.com/page1.html is "a.example.com" 2451 // and the port is 443, the standard port for HTTPS. You use a secret in AWS 2452 // Secrets Manager 2453 // (https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) to 2454 // store your authentication credentials. 2455 AuthenticationConfiguration *AuthenticationConfiguration 2456 2457 // Specifies the number of levels in a website that you want to crawl. The first 2458 // level begins from the website seed or starting point URL. For example, if a 2459 // website has 3 levels – index level (i.e. seed in this example), sections level, 2460 // and subsections level – and you are only interested in crawling information up 2461 // to the sections level (i.e. levels 0-1), you can set your depth to 1. The 2462 // default crawl depth is set to 2. 2463 CrawlDepth *int32 2464 2465 // The maximum size (in MB) of a webpage or attachment to crawl. Files larger than 2466 // this size (in MB) are skipped/not crawled. The default maximum size of a webpage 2467 // or attachment is set to 50 MB. 2468 MaxContentSizePerPageInMegaBytes *float32 2469 2470 // The maximum number of URLs on a webpage to include when crawling a website. This 2471 // number is per webpage. As a website’s webpages are crawled, any URLs the 2472 // webpages link to are also crawled. URLs on a webpage are crawled in order of 2473 // appearance. The default maximum links per page is 100. 2474 MaxLinksPerPage *int32 2475 2476 // The maximum number of URLs crawled per website host per minute. A minimum of one 2477 // URL is required. The default maximum number of URLs crawled per website host per 2478 // minute is 300. 2479 MaxUrlsPerMinuteCrawlRate *int32 2480 2481 // Provides configuration information required to connect to your internal websites 2482 // via a web proxy. You must provide the website host name and port number. For 2483 // example, the host name of https://a.example.com/page1.html is "a.example.com" 2484 // and the port is 443, the standard port for HTTPS. Web proxy credentials are 2485 // optional and you can use them to connect to a web proxy server that requires 2486 // basic authentication. To store web proxy credentials, you use a secret in AWS 2487 // Secrets Manager 2488 // (https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html). 2489 ProxyConfiguration *ProxyConfiguration 2490 2491 // The regular expression pattern to exclude certain URLs to crawl. If there is a 2492 // regular expression pattern to include certain URLs that conflicts with the 2493 // exclude pattern, the exclude pattern takes precedence. 2494 UrlExclusionPatterns []string 2495 2496 // The regular expression pattern to include certain URLs to crawl. If there is a 2497 // regular expression pattern to exclude certain URLs that conflicts with the 2498 // include pattern, the exclude pattern takes precedence. 2499 UrlInclusionPatterns []string 2500 2501 noSmithyDocumentSerde 2502} 2503 2504// Provides the configuration information to connect to Amazon WorkDocs as your 2505// data source. Amazon WorkDocs connector is available in Oregon, North Virginia, 2506// Sydney, Singapore and Ireland regions. 2507type WorkDocsConfiguration struct { 2508 2509 // The identifier of the directory corresponding to your Amazon WorkDocs site 2510 // repository. You can find the organization ID in the AWS Directory Service 2511 // (https://console.aws.amazon.com/directoryservicev2/) by going to Active 2512 // Directory, then Directories. Your Amazon WorkDocs site directory has an ID, 2513 // which is the organization ID. You can also set up a new Amazon WorkDocs 2514 // directory in the AWS Directory Service console and enable a Amazon WorkDocs site 2515 // for the directory in the Amazon WorkDocs console. 2516 // 2517 // This member is required. 2518 OrganizationId *string 2519 2520 // TRUE to include comments on documents in your index. Including comments in your 2521 // index means each comment is a document that can be searched on. The default is 2522 // set to FALSE. 2523 CrawlComments bool 2524 2525 // A list of regular expression patterns to exclude certain files in your Amazon 2526 // WorkDocs site repository. Files that match the patterns are excluded from the 2527 // index. Files that don’t match the patterns are included in the index. If a file 2528 // matches both an inclusion pattern and an exclusion pattern, the exclusion 2529 // pattern takes precedence and the file isn’t included in the index. 2530 ExclusionPatterns []string 2531 2532 // A list of DataSourceToIndexFieldMapping objects that map Amazon WorkDocs field 2533 // names to custom index field names in Amazon Kendra. You must first create the 2534 // custom index fields using the UpdateIndex operation before you map to Amazon 2535 // WorkDocs fields. For more information, see Mapping Data Source Fields 2536 // (https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html). The Amazon 2537 // WorkDocs data source field names need to exist in your Amazon WorkDocs custom 2538 // metadata. 2539 FieldMappings []DataSourceToIndexFieldMapping 2540 2541 // A list of regular expression patterns to include certain files in your Amazon 2542 // WorkDocs site repository. Files that match the patterns are included in the 2543 // index. Files that don't match the patterns are excluded from the index. If a 2544 // file matches both an inclusion pattern and an exclusion pattern, the exclusion 2545 // pattern takes precedence and the file isn’t included in the index. 2546 InclusionPatterns []string 2547 2548 // TRUE to use the change logs to update documents in your index instead of 2549 // scanning all documents. If you are syncing your Amazon WorkDocs data source with 2550 // your index for the first time, all documents are scanned. After your first sync, 2551 // you can use the change logs to update your documents in your index for future 2552 // syncs. The default is set to FALSE. 2553 UseChangeLog bool 2554 2555 noSmithyDocumentSerde 2556} 2557 2558type noSmithyDocumentSerde = smithydocument.NoSerde 2559 2560// UnknownUnionMember is returned when a union member is returned over the wire, 2561// but has an unknown tag. 2562type UnknownUnionMember struct { 2563 Tag string 2564 Value []byte 2565 2566 noSmithyDocumentSerde 2567} 2568 2569func (*UnknownUnionMember) isDocumentAttributeValue() {} 2570