1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package kendra
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/jsonrpc"
14)
15
16const opBatchDeleteDocument = "BatchDeleteDocument"
17
18// BatchDeleteDocumentRequest generates a "aws/request.Request" representing the
19// client's request for the BatchDeleteDocument operation. The "output" return
20// value will be populated with the request's response once the request completes
21// successfully.
22//
23// Use "Send" method on the returned Request to send the API call to the service.
24// the "output" return value is not valid until after Send returns without error.
25//
26// See BatchDeleteDocument for more information on using the BatchDeleteDocument
27// API call, and error handling.
28//
29// This method is useful when you want to inject custom logic or configuration
30// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31//
32//
33//    // Example sending a request using the BatchDeleteDocumentRequest method.
34//    req, resp := client.BatchDeleteDocumentRequest(params)
35//
36//    err := req.Send()
37//    if err == nil { // resp is now filled
38//        fmt.Println(resp)
39//    }
40//
41// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/BatchDeleteDocument
42func (c *Kendra) BatchDeleteDocumentRequest(input *BatchDeleteDocumentInput) (req *request.Request, output *BatchDeleteDocumentOutput) {
43	op := &request.Operation{
44		Name:       opBatchDeleteDocument,
45		HTTPMethod: "POST",
46		HTTPPath:   "/",
47	}
48
49	if input == nil {
50		input = &BatchDeleteDocumentInput{}
51	}
52
53	output = &BatchDeleteDocumentOutput{}
54	req = c.newRequest(op, input, output)
55	return
56}
57
58// BatchDeleteDocument API operation for AWSKendraFrontendService.
59//
60// Removes one or more documents from an index. The documents must have been
61// added with the BatchPutDocument operation.
62//
63// The documents are deleted asynchronously. You can see the progress of the
64// deletion by using AWS CloudWatch. Any error messages related to the processing
65// of the batch are sent to you CloudWatch log.
66//
67// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
68// with awserr.Error's Code and Message methods to get detailed information about
69// the error.
70//
71// See the AWS API reference guide for AWSKendraFrontendService's
72// API operation BatchDeleteDocument for usage and error information.
73//
74// Returned Error Types:
75//   * ValidationException
76//
77//   * ConflictException
78//
79//   * ResourceNotFoundException
80//
81//   * ThrottlingException
82//
83//   * AccessDeniedException
84//
85//   * InternalServerException
86//
87// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/BatchDeleteDocument
88func (c *Kendra) BatchDeleteDocument(input *BatchDeleteDocumentInput) (*BatchDeleteDocumentOutput, error) {
89	req, out := c.BatchDeleteDocumentRequest(input)
90	return out, req.Send()
91}
92
93// BatchDeleteDocumentWithContext is the same as BatchDeleteDocument with the addition of
94// the ability to pass a context and additional request options.
95//
96// See BatchDeleteDocument for details on how to use this API operation.
97//
98// The context must be non-nil and will be used for request cancellation. If
99// the context is nil a panic will occur. In the future the SDK may create
100// sub-contexts for http.Requests. See https://golang.org/pkg/context/
101// for more information on using Contexts.
102func (c *Kendra) BatchDeleteDocumentWithContext(ctx aws.Context, input *BatchDeleteDocumentInput, opts ...request.Option) (*BatchDeleteDocumentOutput, error) {
103	req, out := c.BatchDeleteDocumentRequest(input)
104	req.SetContext(ctx)
105	req.ApplyOptions(opts...)
106	return out, req.Send()
107}
108
109const opBatchPutDocument = "BatchPutDocument"
110
111// BatchPutDocumentRequest generates a "aws/request.Request" representing the
112// client's request for the BatchPutDocument operation. The "output" return
113// value will be populated with the request's response once the request completes
114// successfully.
115//
116// Use "Send" method on the returned Request to send the API call to the service.
117// the "output" return value is not valid until after Send returns without error.
118//
119// See BatchPutDocument for more information on using the BatchPutDocument
120// API call, and error handling.
121//
122// This method is useful when you want to inject custom logic or configuration
123// into the SDK's request lifecycle. Such as custom headers, or retry logic.
124//
125//
126//    // Example sending a request using the BatchPutDocumentRequest method.
127//    req, resp := client.BatchPutDocumentRequest(params)
128//
129//    err := req.Send()
130//    if err == nil { // resp is now filled
131//        fmt.Println(resp)
132//    }
133//
134// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/BatchPutDocument
135func (c *Kendra) BatchPutDocumentRequest(input *BatchPutDocumentInput) (req *request.Request, output *BatchPutDocumentOutput) {
136	op := &request.Operation{
137		Name:       opBatchPutDocument,
138		HTTPMethod: "POST",
139		HTTPPath:   "/",
140	}
141
142	if input == nil {
143		input = &BatchPutDocumentInput{}
144	}
145
146	output = &BatchPutDocumentOutput{}
147	req = c.newRequest(op, input, output)
148	return
149}
150
151// BatchPutDocument API operation for AWSKendraFrontendService.
152//
153// Adds one or more documents to an index.
154//
155// The BatchPutDocument operation enables you to ingest inline documents or
156// a set of documents stored in an Amazon S3 bucket. Use this operation to ingest
157// your text and unstructured text into an index, add custom attributes to the
158// documents, and to attach an access control list to the documents added to
159// the index.
160//
161// The documents are indexed asynchronously. You can see the progress of the
162// batch using AWS CloudWatch. Any error messages related to processing the
163// batch are sent to your AWS CloudWatch log.
164//
165// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
166// with awserr.Error's Code and Message methods to get detailed information about
167// the error.
168//
169// See the AWS API reference guide for AWSKendraFrontendService's
170// API operation BatchPutDocument for usage and error information.
171//
172// Returned Error Types:
173//   * ValidationException
174//
175//   * ConflictException
176//
177//   * ResourceNotFoundException
178//
179//   * ThrottlingException
180//
181//   * AccessDeniedException
182//
183//   * ServiceQuotaExceededException
184//
185//   * InternalServerException
186//
187// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/BatchPutDocument
188func (c *Kendra) BatchPutDocument(input *BatchPutDocumentInput) (*BatchPutDocumentOutput, error) {
189	req, out := c.BatchPutDocumentRequest(input)
190	return out, req.Send()
191}
192
193// BatchPutDocumentWithContext is the same as BatchPutDocument with the addition of
194// the ability to pass a context and additional request options.
195//
196// See BatchPutDocument for details on how to use this API operation.
197//
198// The context must be non-nil and will be used for request cancellation. If
199// the context is nil a panic will occur. In the future the SDK may create
200// sub-contexts for http.Requests. See https://golang.org/pkg/context/
201// for more information on using Contexts.
202func (c *Kendra) BatchPutDocumentWithContext(ctx aws.Context, input *BatchPutDocumentInput, opts ...request.Option) (*BatchPutDocumentOutput, error) {
203	req, out := c.BatchPutDocumentRequest(input)
204	req.SetContext(ctx)
205	req.ApplyOptions(opts...)
206	return out, req.Send()
207}
208
209const opCreateDataSource = "CreateDataSource"
210
211// CreateDataSourceRequest generates a "aws/request.Request" representing the
212// client's request for the CreateDataSource operation. The "output" return
213// value will be populated with the request's response once the request completes
214// successfully.
215//
216// Use "Send" method on the returned Request to send the API call to the service.
217// the "output" return value is not valid until after Send returns without error.
218//
219// See CreateDataSource for more information on using the CreateDataSource
220// API call, and error handling.
221//
222// This method is useful when you want to inject custom logic or configuration
223// into the SDK's request lifecycle. Such as custom headers, or retry logic.
224//
225//
226//    // Example sending a request using the CreateDataSourceRequest method.
227//    req, resp := client.CreateDataSourceRequest(params)
228//
229//    err := req.Send()
230//    if err == nil { // resp is now filled
231//        fmt.Println(resp)
232//    }
233//
234// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/CreateDataSource
235func (c *Kendra) CreateDataSourceRequest(input *CreateDataSourceInput) (req *request.Request, output *CreateDataSourceOutput) {
236	op := &request.Operation{
237		Name:       opCreateDataSource,
238		HTTPMethod: "POST",
239		HTTPPath:   "/",
240	}
241
242	if input == nil {
243		input = &CreateDataSourceInput{}
244	}
245
246	output = &CreateDataSourceOutput{}
247	req = c.newRequest(op, input, output)
248	return
249}
250
251// CreateDataSource API operation for AWSKendraFrontendService.
252//
253// Creates a data source that you use to with an Amazon Kendra index.
254//
255// You specify a name, data source connector type and description for your data
256// source. You also specify configuration information such as document metadata
257// (author, source URI, and so on) and user context information.
258//
259// CreateDataSource is a synchronous operation. The operation returns 200 if
260// the data source was successfully created. Otherwise, an exception is raised.
261//
262// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
263// with awserr.Error's Code and Message methods to get detailed information about
264// the error.
265//
266// See the AWS API reference guide for AWSKendraFrontendService's
267// API operation CreateDataSource for usage and error information.
268//
269// Returned Error Types:
270//   * ValidationException
271//
272//   * ConflictException
273//
274//   * ResourceNotFoundException
275//
276//   * ResourceAlreadyExistException
277//
278//   * ServiceQuotaExceededException
279//
280//   * ThrottlingException
281//
282//   * AccessDeniedException
283//
284//   * InternalServerException
285//
286// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/CreateDataSource
287func (c *Kendra) CreateDataSource(input *CreateDataSourceInput) (*CreateDataSourceOutput, error) {
288	req, out := c.CreateDataSourceRequest(input)
289	return out, req.Send()
290}
291
292// CreateDataSourceWithContext is the same as CreateDataSource with the addition of
293// the ability to pass a context and additional request options.
294//
295// See CreateDataSource for details on how to use this API operation.
296//
297// The context must be non-nil and will be used for request cancellation. If
298// the context is nil a panic will occur. In the future the SDK may create
299// sub-contexts for http.Requests. See https://golang.org/pkg/context/
300// for more information on using Contexts.
301func (c *Kendra) CreateDataSourceWithContext(ctx aws.Context, input *CreateDataSourceInput, opts ...request.Option) (*CreateDataSourceOutput, error) {
302	req, out := c.CreateDataSourceRequest(input)
303	req.SetContext(ctx)
304	req.ApplyOptions(opts...)
305	return out, req.Send()
306}
307
308const opCreateFaq = "CreateFaq"
309
310// CreateFaqRequest generates a "aws/request.Request" representing the
311// client's request for the CreateFaq operation. The "output" return
312// value will be populated with the request's response once the request completes
313// successfully.
314//
315// Use "Send" method on the returned Request to send the API call to the service.
316// the "output" return value is not valid until after Send returns without error.
317//
318// See CreateFaq for more information on using the CreateFaq
319// API call, and error handling.
320//
321// This method is useful when you want to inject custom logic or configuration
322// into the SDK's request lifecycle. Such as custom headers, or retry logic.
323//
324//
325//    // Example sending a request using the CreateFaqRequest method.
326//    req, resp := client.CreateFaqRequest(params)
327//
328//    err := req.Send()
329//    if err == nil { // resp is now filled
330//        fmt.Println(resp)
331//    }
332//
333// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/CreateFaq
334func (c *Kendra) CreateFaqRequest(input *CreateFaqInput) (req *request.Request, output *CreateFaqOutput) {
335	op := &request.Operation{
336		Name:       opCreateFaq,
337		HTTPMethod: "POST",
338		HTTPPath:   "/",
339	}
340
341	if input == nil {
342		input = &CreateFaqInput{}
343	}
344
345	output = &CreateFaqOutput{}
346	req = c.newRequest(op, input, output)
347	return
348}
349
350// CreateFaq API operation for AWSKendraFrontendService.
351//
352// Creates an new set of frequently asked question (FAQ) questions and answers.
353//
354// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
355// with awserr.Error's Code and Message methods to get detailed information about
356// the error.
357//
358// See the AWS API reference guide for AWSKendraFrontendService's
359// API operation CreateFaq for usage and error information.
360//
361// Returned Error Types:
362//   * ValidationException
363//
364//   * ConflictException
365//
366//   * ResourceNotFoundException
367//
368//   * ThrottlingException
369//
370//   * ServiceQuotaExceededException
371//
372//   * AccessDeniedException
373//
374//   * InternalServerException
375//
376// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/CreateFaq
377func (c *Kendra) CreateFaq(input *CreateFaqInput) (*CreateFaqOutput, error) {
378	req, out := c.CreateFaqRequest(input)
379	return out, req.Send()
380}
381
382// CreateFaqWithContext is the same as CreateFaq with the addition of
383// the ability to pass a context and additional request options.
384//
385// See CreateFaq for details on how to use this API operation.
386//
387// The context must be non-nil and will be used for request cancellation. If
388// the context is nil a panic will occur. In the future the SDK may create
389// sub-contexts for http.Requests. See https://golang.org/pkg/context/
390// for more information on using Contexts.
391func (c *Kendra) CreateFaqWithContext(ctx aws.Context, input *CreateFaqInput, opts ...request.Option) (*CreateFaqOutput, error) {
392	req, out := c.CreateFaqRequest(input)
393	req.SetContext(ctx)
394	req.ApplyOptions(opts...)
395	return out, req.Send()
396}
397
398const opCreateIndex = "CreateIndex"
399
400// CreateIndexRequest generates a "aws/request.Request" representing the
401// client's request for the CreateIndex operation. The "output" return
402// value will be populated with the request's response once the request completes
403// successfully.
404//
405// Use "Send" method on the returned Request to send the API call to the service.
406// the "output" return value is not valid until after Send returns without error.
407//
408// See CreateIndex for more information on using the CreateIndex
409// API call, and error handling.
410//
411// This method is useful when you want to inject custom logic or configuration
412// into the SDK's request lifecycle. Such as custom headers, or retry logic.
413//
414//
415//    // Example sending a request using the CreateIndexRequest method.
416//    req, resp := client.CreateIndexRequest(params)
417//
418//    err := req.Send()
419//    if err == nil { // resp is now filled
420//        fmt.Println(resp)
421//    }
422//
423// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/CreateIndex
424func (c *Kendra) CreateIndexRequest(input *CreateIndexInput) (req *request.Request, output *CreateIndexOutput) {
425	op := &request.Operation{
426		Name:       opCreateIndex,
427		HTTPMethod: "POST",
428		HTTPPath:   "/",
429	}
430
431	if input == nil {
432		input = &CreateIndexInput{}
433	}
434
435	output = &CreateIndexOutput{}
436	req = c.newRequest(op, input, output)
437	return
438}
439
440// CreateIndex API operation for AWSKendraFrontendService.
441//
442// Creates a new Amazon Kendra index. Index creation is an asynchronous operation.
443// To determine if index creation has completed, check the Status field returned
444// from a call to DescribeIndex. The Status field is set to ACTIVE when the
445// index is ready to use.
446//
447// Once the index is active you can index your documents using the BatchPutDocument
448// operation or using one of the supported data sources.
449//
450// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
451// with awserr.Error's Code and Message methods to get detailed information about
452// the error.
453//
454// See the AWS API reference guide for AWSKendraFrontendService's
455// API operation CreateIndex for usage and error information.
456//
457// Returned Error Types:
458//   * ValidationException
459//
460//   * ResourceAlreadyExistException
461//
462//   * ServiceQuotaExceededException
463//
464//   * ThrottlingException
465//
466//   * AccessDeniedException
467//
468//   * ConflictException
469//
470//   * InternalServerException
471//
472// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/CreateIndex
473func (c *Kendra) CreateIndex(input *CreateIndexInput) (*CreateIndexOutput, error) {
474	req, out := c.CreateIndexRequest(input)
475	return out, req.Send()
476}
477
478// CreateIndexWithContext is the same as CreateIndex with the addition of
479// the ability to pass a context and additional request options.
480//
481// See CreateIndex for details on how to use this API operation.
482//
483// The context must be non-nil and will be used for request cancellation. If
484// the context is nil a panic will occur. In the future the SDK may create
485// sub-contexts for http.Requests. See https://golang.org/pkg/context/
486// for more information on using Contexts.
487func (c *Kendra) CreateIndexWithContext(ctx aws.Context, input *CreateIndexInput, opts ...request.Option) (*CreateIndexOutput, error) {
488	req, out := c.CreateIndexRequest(input)
489	req.SetContext(ctx)
490	req.ApplyOptions(opts...)
491	return out, req.Send()
492}
493
494const opCreateThesaurus = "CreateThesaurus"
495
496// CreateThesaurusRequest generates a "aws/request.Request" representing the
497// client's request for the CreateThesaurus operation. The "output" return
498// value will be populated with the request's response once the request completes
499// successfully.
500//
501// Use "Send" method on the returned Request to send the API call to the service.
502// the "output" return value is not valid until after Send returns without error.
503//
504// See CreateThesaurus for more information on using the CreateThesaurus
505// API call, and error handling.
506//
507// This method is useful when you want to inject custom logic or configuration
508// into the SDK's request lifecycle. Such as custom headers, or retry logic.
509//
510//
511//    // Example sending a request using the CreateThesaurusRequest method.
512//    req, resp := client.CreateThesaurusRequest(params)
513//
514//    err := req.Send()
515//    if err == nil { // resp is now filled
516//        fmt.Println(resp)
517//    }
518//
519// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/CreateThesaurus
520func (c *Kendra) CreateThesaurusRequest(input *CreateThesaurusInput) (req *request.Request, output *CreateThesaurusOutput) {
521	op := &request.Operation{
522		Name:       opCreateThesaurus,
523		HTTPMethod: "POST",
524		HTTPPath:   "/",
525	}
526
527	if input == nil {
528		input = &CreateThesaurusInput{}
529	}
530
531	output = &CreateThesaurusOutput{}
532	req = c.newRequest(op, input, output)
533	return
534}
535
536// CreateThesaurus API operation for AWSKendraFrontendService.
537//
538// Creates a thesaurus for an index. The thesaurus contains a list of synonyms
539// in Solr format.
540//
541// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
542// with awserr.Error's Code and Message methods to get detailed information about
543// the error.
544//
545// See the AWS API reference guide for AWSKendraFrontendService's
546// API operation CreateThesaurus for usage and error information.
547//
548// Returned Error Types:
549//   * ValidationException
550//
551//   * ConflictException
552//
553//   * ResourceNotFoundException
554//
555//   * ThrottlingException
556//
557//   * ServiceQuotaExceededException
558//
559//   * AccessDeniedException
560//
561//   * InternalServerException
562//
563// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/CreateThesaurus
564func (c *Kendra) CreateThesaurus(input *CreateThesaurusInput) (*CreateThesaurusOutput, error) {
565	req, out := c.CreateThesaurusRequest(input)
566	return out, req.Send()
567}
568
569// CreateThesaurusWithContext is the same as CreateThesaurus with the addition of
570// the ability to pass a context and additional request options.
571//
572// See CreateThesaurus for details on how to use this API operation.
573//
574// The context must be non-nil and will be used for request cancellation. If
575// the context is nil a panic will occur. In the future the SDK may create
576// sub-contexts for http.Requests. See https://golang.org/pkg/context/
577// for more information on using Contexts.
578func (c *Kendra) CreateThesaurusWithContext(ctx aws.Context, input *CreateThesaurusInput, opts ...request.Option) (*CreateThesaurusOutput, error) {
579	req, out := c.CreateThesaurusRequest(input)
580	req.SetContext(ctx)
581	req.ApplyOptions(opts...)
582	return out, req.Send()
583}
584
585const opDeleteDataSource = "DeleteDataSource"
586
587// DeleteDataSourceRequest generates a "aws/request.Request" representing the
588// client's request for the DeleteDataSource operation. The "output" return
589// value will be populated with the request's response once the request completes
590// successfully.
591//
592// Use "Send" method on the returned Request to send the API call to the service.
593// the "output" return value is not valid until after Send returns without error.
594//
595// See DeleteDataSource for more information on using the DeleteDataSource
596// API call, and error handling.
597//
598// This method is useful when you want to inject custom logic or configuration
599// into the SDK's request lifecycle. Such as custom headers, or retry logic.
600//
601//
602//    // Example sending a request using the DeleteDataSourceRequest method.
603//    req, resp := client.DeleteDataSourceRequest(params)
604//
605//    err := req.Send()
606//    if err == nil { // resp is now filled
607//        fmt.Println(resp)
608//    }
609//
610// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DeleteDataSource
611func (c *Kendra) DeleteDataSourceRequest(input *DeleteDataSourceInput) (req *request.Request, output *DeleteDataSourceOutput) {
612	op := &request.Operation{
613		Name:       opDeleteDataSource,
614		HTTPMethod: "POST",
615		HTTPPath:   "/",
616	}
617
618	if input == nil {
619		input = &DeleteDataSourceInput{}
620	}
621
622	output = &DeleteDataSourceOutput{}
623	req = c.newRequest(op, input, output)
624	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
625	return
626}
627
628// DeleteDataSource API operation for AWSKendraFrontendService.
629//
630// Deletes an Amazon Kendra data source. An exception is not thrown if the data
631// source is already being deleted. While the data source is being deleted,
632// the Status field returned by a call to the DescribeDataSource operation is
633// set to DELETING. For more information, see Deleting Data Sources (https://docs.aws.amazon.com/kendra/latest/dg/delete-data-source.html).
634//
635// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
636// with awserr.Error's Code and Message methods to get detailed information about
637// the error.
638//
639// See the AWS API reference guide for AWSKendraFrontendService's
640// API operation DeleteDataSource for usage and error information.
641//
642// Returned Error Types:
643//   * AccessDeniedException
644//
645//   * ValidationException
646//
647//   * ConflictException
648//
649//   * ResourceNotFoundException
650//
651//   * ThrottlingException
652//
653//   * InternalServerException
654//
655// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DeleteDataSource
656func (c *Kendra) DeleteDataSource(input *DeleteDataSourceInput) (*DeleteDataSourceOutput, error) {
657	req, out := c.DeleteDataSourceRequest(input)
658	return out, req.Send()
659}
660
661// DeleteDataSourceWithContext is the same as DeleteDataSource with the addition of
662// the ability to pass a context and additional request options.
663//
664// See DeleteDataSource for details on how to use this API operation.
665//
666// The context must be non-nil and will be used for request cancellation. If
667// the context is nil a panic will occur. In the future the SDK may create
668// sub-contexts for http.Requests. See https://golang.org/pkg/context/
669// for more information on using Contexts.
670func (c *Kendra) DeleteDataSourceWithContext(ctx aws.Context, input *DeleteDataSourceInput, opts ...request.Option) (*DeleteDataSourceOutput, error) {
671	req, out := c.DeleteDataSourceRequest(input)
672	req.SetContext(ctx)
673	req.ApplyOptions(opts...)
674	return out, req.Send()
675}
676
677const opDeleteFaq = "DeleteFaq"
678
679// DeleteFaqRequest generates a "aws/request.Request" representing the
680// client's request for the DeleteFaq operation. The "output" return
681// value will be populated with the request's response once the request completes
682// successfully.
683//
684// Use "Send" method on the returned Request to send the API call to the service.
685// the "output" return value is not valid until after Send returns without error.
686//
687// See DeleteFaq for more information on using the DeleteFaq
688// API call, and error handling.
689//
690// This method is useful when you want to inject custom logic or configuration
691// into the SDK's request lifecycle. Such as custom headers, or retry logic.
692//
693//
694//    // Example sending a request using the DeleteFaqRequest method.
695//    req, resp := client.DeleteFaqRequest(params)
696//
697//    err := req.Send()
698//    if err == nil { // resp is now filled
699//        fmt.Println(resp)
700//    }
701//
702// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DeleteFaq
703func (c *Kendra) DeleteFaqRequest(input *DeleteFaqInput) (req *request.Request, output *DeleteFaqOutput) {
704	op := &request.Operation{
705		Name:       opDeleteFaq,
706		HTTPMethod: "POST",
707		HTTPPath:   "/",
708	}
709
710	if input == nil {
711		input = &DeleteFaqInput{}
712	}
713
714	output = &DeleteFaqOutput{}
715	req = c.newRequest(op, input, output)
716	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
717	return
718}
719
720// DeleteFaq API operation for AWSKendraFrontendService.
721//
722// Removes an FAQ from an index.
723//
724// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
725// with awserr.Error's Code and Message methods to get detailed information about
726// the error.
727//
728// See the AWS API reference guide for AWSKendraFrontendService's
729// API operation DeleteFaq for usage and error information.
730//
731// Returned Error Types:
732//   * ValidationException
733//
734//   * ConflictException
735//
736//   * ResourceNotFoundException
737//
738//   * ThrottlingException
739//
740//   * AccessDeniedException
741//
742//   * InternalServerException
743//
744// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DeleteFaq
745func (c *Kendra) DeleteFaq(input *DeleteFaqInput) (*DeleteFaqOutput, error) {
746	req, out := c.DeleteFaqRequest(input)
747	return out, req.Send()
748}
749
750// DeleteFaqWithContext is the same as DeleteFaq with the addition of
751// the ability to pass a context and additional request options.
752//
753// See DeleteFaq for details on how to use this API operation.
754//
755// The context must be non-nil and will be used for request cancellation. If
756// the context is nil a panic will occur. In the future the SDK may create
757// sub-contexts for http.Requests. See https://golang.org/pkg/context/
758// for more information on using Contexts.
759func (c *Kendra) DeleteFaqWithContext(ctx aws.Context, input *DeleteFaqInput, opts ...request.Option) (*DeleteFaqOutput, error) {
760	req, out := c.DeleteFaqRequest(input)
761	req.SetContext(ctx)
762	req.ApplyOptions(opts...)
763	return out, req.Send()
764}
765
766const opDeleteIndex = "DeleteIndex"
767
768// DeleteIndexRequest generates a "aws/request.Request" representing the
769// client's request for the DeleteIndex operation. The "output" return
770// value will be populated with the request's response once the request completes
771// successfully.
772//
773// Use "Send" method on the returned Request to send the API call to the service.
774// the "output" return value is not valid until after Send returns without error.
775//
776// See DeleteIndex for more information on using the DeleteIndex
777// API call, and error handling.
778//
779// This method is useful when you want to inject custom logic or configuration
780// into the SDK's request lifecycle. Such as custom headers, or retry logic.
781//
782//
783//    // Example sending a request using the DeleteIndexRequest method.
784//    req, resp := client.DeleteIndexRequest(params)
785//
786//    err := req.Send()
787//    if err == nil { // resp is now filled
788//        fmt.Println(resp)
789//    }
790//
791// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DeleteIndex
792func (c *Kendra) DeleteIndexRequest(input *DeleteIndexInput) (req *request.Request, output *DeleteIndexOutput) {
793	op := &request.Operation{
794		Name:       opDeleteIndex,
795		HTTPMethod: "POST",
796		HTTPPath:   "/",
797	}
798
799	if input == nil {
800		input = &DeleteIndexInput{}
801	}
802
803	output = &DeleteIndexOutput{}
804	req = c.newRequest(op, input, output)
805	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
806	return
807}
808
809// DeleteIndex API operation for AWSKendraFrontendService.
810//
811// Deletes an existing Amazon Kendra index. An exception is not thrown if the
812// index is already being deleted. While the index is being deleted, the Status
813// field returned by a call to the DescribeIndex operation is set to DELETING.
814//
815// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
816// with awserr.Error's Code and Message methods to get detailed information about
817// the error.
818//
819// See the AWS API reference guide for AWSKendraFrontendService's
820// API operation DeleteIndex for usage and error information.
821//
822// Returned Error Types:
823//   * ValidationException
824//
825//   * ConflictException
826//
827//   * ResourceNotFoundException
828//
829//   * ThrottlingException
830//
831//   * AccessDeniedException
832//
833//   * InternalServerException
834//
835// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DeleteIndex
836func (c *Kendra) DeleteIndex(input *DeleteIndexInput) (*DeleteIndexOutput, error) {
837	req, out := c.DeleteIndexRequest(input)
838	return out, req.Send()
839}
840
841// DeleteIndexWithContext is the same as DeleteIndex with the addition of
842// the ability to pass a context and additional request options.
843//
844// See DeleteIndex for details on how to use this API operation.
845//
846// The context must be non-nil and will be used for request cancellation. If
847// the context is nil a panic will occur. In the future the SDK may create
848// sub-contexts for http.Requests. See https://golang.org/pkg/context/
849// for more information on using Contexts.
850func (c *Kendra) DeleteIndexWithContext(ctx aws.Context, input *DeleteIndexInput, opts ...request.Option) (*DeleteIndexOutput, error) {
851	req, out := c.DeleteIndexRequest(input)
852	req.SetContext(ctx)
853	req.ApplyOptions(opts...)
854	return out, req.Send()
855}
856
857const opDeleteThesaurus = "DeleteThesaurus"
858
859// DeleteThesaurusRequest generates a "aws/request.Request" representing the
860// client's request for the DeleteThesaurus operation. The "output" return
861// value will be populated with the request's response once the request completes
862// successfully.
863//
864// Use "Send" method on the returned Request to send the API call to the service.
865// the "output" return value is not valid until after Send returns without error.
866//
867// See DeleteThesaurus for more information on using the DeleteThesaurus
868// API call, and error handling.
869//
870// This method is useful when you want to inject custom logic or configuration
871// into the SDK's request lifecycle. Such as custom headers, or retry logic.
872//
873//
874//    // Example sending a request using the DeleteThesaurusRequest method.
875//    req, resp := client.DeleteThesaurusRequest(params)
876//
877//    err := req.Send()
878//    if err == nil { // resp is now filled
879//        fmt.Println(resp)
880//    }
881//
882// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DeleteThesaurus
883func (c *Kendra) DeleteThesaurusRequest(input *DeleteThesaurusInput) (req *request.Request, output *DeleteThesaurusOutput) {
884	op := &request.Operation{
885		Name:       opDeleteThesaurus,
886		HTTPMethod: "POST",
887		HTTPPath:   "/",
888	}
889
890	if input == nil {
891		input = &DeleteThesaurusInput{}
892	}
893
894	output = &DeleteThesaurusOutput{}
895	req = c.newRequest(op, input, output)
896	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
897	return
898}
899
900// DeleteThesaurus API operation for AWSKendraFrontendService.
901//
902// Deletes an existing Amazon Kendra thesaurus.
903//
904// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
905// with awserr.Error's Code and Message methods to get detailed information about
906// the error.
907//
908// See the AWS API reference guide for AWSKendraFrontendService's
909// API operation DeleteThesaurus for usage and error information.
910//
911// Returned Error Types:
912//   * ValidationException
913//
914//   * ConflictException
915//
916//   * ResourceNotFoundException
917//
918//   * ThrottlingException
919//
920//   * AccessDeniedException
921//
922//   * InternalServerException
923//
924// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DeleteThesaurus
925func (c *Kendra) DeleteThesaurus(input *DeleteThesaurusInput) (*DeleteThesaurusOutput, error) {
926	req, out := c.DeleteThesaurusRequest(input)
927	return out, req.Send()
928}
929
930// DeleteThesaurusWithContext is the same as DeleteThesaurus with the addition of
931// the ability to pass a context and additional request options.
932//
933// See DeleteThesaurus for details on how to use this API operation.
934//
935// The context must be non-nil and will be used for request cancellation. If
936// the context is nil a panic will occur. In the future the SDK may create
937// sub-contexts for http.Requests. See https://golang.org/pkg/context/
938// for more information on using Contexts.
939func (c *Kendra) DeleteThesaurusWithContext(ctx aws.Context, input *DeleteThesaurusInput, opts ...request.Option) (*DeleteThesaurusOutput, error) {
940	req, out := c.DeleteThesaurusRequest(input)
941	req.SetContext(ctx)
942	req.ApplyOptions(opts...)
943	return out, req.Send()
944}
945
946const opDescribeDataSource = "DescribeDataSource"
947
948// DescribeDataSourceRequest generates a "aws/request.Request" representing the
949// client's request for the DescribeDataSource operation. The "output" return
950// value will be populated with the request's response once the request completes
951// successfully.
952//
953// Use "Send" method on the returned Request to send the API call to the service.
954// the "output" return value is not valid until after Send returns without error.
955//
956// See DescribeDataSource for more information on using the DescribeDataSource
957// API call, and error handling.
958//
959// This method is useful when you want to inject custom logic or configuration
960// into the SDK's request lifecycle. Such as custom headers, or retry logic.
961//
962//
963//    // Example sending a request using the DescribeDataSourceRequest method.
964//    req, resp := client.DescribeDataSourceRequest(params)
965//
966//    err := req.Send()
967//    if err == nil { // resp is now filled
968//        fmt.Println(resp)
969//    }
970//
971// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DescribeDataSource
972func (c *Kendra) DescribeDataSourceRequest(input *DescribeDataSourceInput) (req *request.Request, output *DescribeDataSourceOutput) {
973	op := &request.Operation{
974		Name:       opDescribeDataSource,
975		HTTPMethod: "POST",
976		HTTPPath:   "/",
977	}
978
979	if input == nil {
980		input = &DescribeDataSourceInput{}
981	}
982
983	output = &DescribeDataSourceOutput{}
984	req = c.newRequest(op, input, output)
985	return
986}
987
988// DescribeDataSource API operation for AWSKendraFrontendService.
989//
990// Gets information about a Amazon Kendra data source.
991//
992// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
993// with awserr.Error's Code and Message methods to get detailed information about
994// the error.
995//
996// See the AWS API reference guide for AWSKendraFrontendService's
997// API operation DescribeDataSource for usage and error information.
998//
999// Returned Error Types:
1000//   * ValidationException
1001//
1002//   * ResourceNotFoundException
1003//
1004//   * ThrottlingException
1005//
1006//   * AccessDeniedException
1007//
1008//   * InternalServerException
1009//
1010// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DescribeDataSource
1011func (c *Kendra) DescribeDataSource(input *DescribeDataSourceInput) (*DescribeDataSourceOutput, error) {
1012	req, out := c.DescribeDataSourceRequest(input)
1013	return out, req.Send()
1014}
1015
1016// DescribeDataSourceWithContext is the same as DescribeDataSource with the addition of
1017// the ability to pass a context and additional request options.
1018//
1019// See DescribeDataSource for details on how to use this API operation.
1020//
1021// The context must be non-nil and will be used for request cancellation. If
1022// the context is nil a panic will occur. In the future the SDK may create
1023// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1024// for more information on using Contexts.
1025func (c *Kendra) DescribeDataSourceWithContext(ctx aws.Context, input *DescribeDataSourceInput, opts ...request.Option) (*DescribeDataSourceOutput, error) {
1026	req, out := c.DescribeDataSourceRequest(input)
1027	req.SetContext(ctx)
1028	req.ApplyOptions(opts...)
1029	return out, req.Send()
1030}
1031
1032const opDescribeFaq = "DescribeFaq"
1033
1034// DescribeFaqRequest generates a "aws/request.Request" representing the
1035// client's request for the DescribeFaq operation. The "output" return
1036// value will be populated with the request's response once the request completes
1037// successfully.
1038//
1039// Use "Send" method on the returned Request to send the API call to the service.
1040// the "output" return value is not valid until after Send returns without error.
1041//
1042// See DescribeFaq for more information on using the DescribeFaq
1043// API call, and error handling.
1044//
1045// This method is useful when you want to inject custom logic or configuration
1046// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1047//
1048//
1049//    // Example sending a request using the DescribeFaqRequest method.
1050//    req, resp := client.DescribeFaqRequest(params)
1051//
1052//    err := req.Send()
1053//    if err == nil { // resp is now filled
1054//        fmt.Println(resp)
1055//    }
1056//
1057// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DescribeFaq
1058func (c *Kendra) DescribeFaqRequest(input *DescribeFaqInput) (req *request.Request, output *DescribeFaqOutput) {
1059	op := &request.Operation{
1060		Name:       opDescribeFaq,
1061		HTTPMethod: "POST",
1062		HTTPPath:   "/",
1063	}
1064
1065	if input == nil {
1066		input = &DescribeFaqInput{}
1067	}
1068
1069	output = &DescribeFaqOutput{}
1070	req = c.newRequest(op, input, output)
1071	return
1072}
1073
1074// DescribeFaq API operation for AWSKendraFrontendService.
1075//
1076// Gets information about an FAQ list.
1077//
1078// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1079// with awserr.Error's Code and Message methods to get detailed information about
1080// the error.
1081//
1082// See the AWS API reference guide for AWSKendraFrontendService's
1083// API operation DescribeFaq for usage and error information.
1084//
1085// Returned Error Types:
1086//   * ValidationException
1087//
1088//   * ResourceNotFoundException
1089//
1090//   * ThrottlingException
1091//
1092//   * AccessDeniedException
1093//
1094//   * InternalServerException
1095//
1096// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DescribeFaq
1097func (c *Kendra) DescribeFaq(input *DescribeFaqInput) (*DescribeFaqOutput, error) {
1098	req, out := c.DescribeFaqRequest(input)
1099	return out, req.Send()
1100}
1101
1102// DescribeFaqWithContext is the same as DescribeFaq with the addition of
1103// the ability to pass a context and additional request options.
1104//
1105// See DescribeFaq for details on how to use this API operation.
1106//
1107// The context must be non-nil and will be used for request cancellation. If
1108// the context is nil a panic will occur. In the future the SDK may create
1109// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1110// for more information on using Contexts.
1111func (c *Kendra) DescribeFaqWithContext(ctx aws.Context, input *DescribeFaqInput, opts ...request.Option) (*DescribeFaqOutput, error) {
1112	req, out := c.DescribeFaqRequest(input)
1113	req.SetContext(ctx)
1114	req.ApplyOptions(opts...)
1115	return out, req.Send()
1116}
1117
1118const opDescribeIndex = "DescribeIndex"
1119
1120// DescribeIndexRequest generates a "aws/request.Request" representing the
1121// client's request for the DescribeIndex operation. The "output" return
1122// value will be populated with the request's response once the request completes
1123// successfully.
1124//
1125// Use "Send" method on the returned Request to send the API call to the service.
1126// the "output" return value is not valid until after Send returns without error.
1127//
1128// See DescribeIndex for more information on using the DescribeIndex
1129// API call, and error handling.
1130//
1131// This method is useful when you want to inject custom logic or configuration
1132// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1133//
1134//
1135//    // Example sending a request using the DescribeIndexRequest method.
1136//    req, resp := client.DescribeIndexRequest(params)
1137//
1138//    err := req.Send()
1139//    if err == nil { // resp is now filled
1140//        fmt.Println(resp)
1141//    }
1142//
1143// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DescribeIndex
1144func (c *Kendra) DescribeIndexRequest(input *DescribeIndexInput) (req *request.Request, output *DescribeIndexOutput) {
1145	op := &request.Operation{
1146		Name:       opDescribeIndex,
1147		HTTPMethod: "POST",
1148		HTTPPath:   "/",
1149	}
1150
1151	if input == nil {
1152		input = &DescribeIndexInput{}
1153	}
1154
1155	output = &DescribeIndexOutput{}
1156	req = c.newRequest(op, input, output)
1157	return
1158}
1159
1160// DescribeIndex API operation for AWSKendraFrontendService.
1161//
1162// Describes an existing Amazon Kendra index
1163//
1164// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1165// with awserr.Error's Code and Message methods to get detailed information about
1166// the error.
1167//
1168// See the AWS API reference guide for AWSKendraFrontendService's
1169// API operation DescribeIndex for usage and error information.
1170//
1171// Returned Error Types:
1172//   * ValidationException
1173//
1174//   * ResourceNotFoundException
1175//
1176//   * ThrottlingException
1177//
1178//   * AccessDeniedException
1179//
1180//   * InternalServerException
1181//
1182// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DescribeIndex
1183func (c *Kendra) DescribeIndex(input *DescribeIndexInput) (*DescribeIndexOutput, error) {
1184	req, out := c.DescribeIndexRequest(input)
1185	return out, req.Send()
1186}
1187
1188// DescribeIndexWithContext is the same as DescribeIndex with the addition of
1189// the ability to pass a context and additional request options.
1190//
1191// See DescribeIndex for details on how to use this API operation.
1192//
1193// The context must be non-nil and will be used for request cancellation. If
1194// the context is nil a panic will occur. In the future the SDK may create
1195// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1196// for more information on using Contexts.
1197func (c *Kendra) DescribeIndexWithContext(ctx aws.Context, input *DescribeIndexInput, opts ...request.Option) (*DescribeIndexOutput, error) {
1198	req, out := c.DescribeIndexRequest(input)
1199	req.SetContext(ctx)
1200	req.ApplyOptions(opts...)
1201	return out, req.Send()
1202}
1203
1204const opDescribeThesaurus = "DescribeThesaurus"
1205
1206// DescribeThesaurusRequest generates a "aws/request.Request" representing the
1207// client's request for the DescribeThesaurus operation. The "output" return
1208// value will be populated with the request's response once the request completes
1209// successfully.
1210//
1211// Use "Send" method on the returned Request to send the API call to the service.
1212// the "output" return value is not valid until after Send returns without error.
1213//
1214// See DescribeThesaurus for more information on using the DescribeThesaurus
1215// API call, and error handling.
1216//
1217// This method is useful when you want to inject custom logic or configuration
1218// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1219//
1220//
1221//    // Example sending a request using the DescribeThesaurusRequest method.
1222//    req, resp := client.DescribeThesaurusRequest(params)
1223//
1224//    err := req.Send()
1225//    if err == nil { // resp is now filled
1226//        fmt.Println(resp)
1227//    }
1228//
1229// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DescribeThesaurus
1230func (c *Kendra) DescribeThesaurusRequest(input *DescribeThesaurusInput) (req *request.Request, output *DescribeThesaurusOutput) {
1231	op := &request.Operation{
1232		Name:       opDescribeThesaurus,
1233		HTTPMethod: "POST",
1234		HTTPPath:   "/",
1235	}
1236
1237	if input == nil {
1238		input = &DescribeThesaurusInput{}
1239	}
1240
1241	output = &DescribeThesaurusOutput{}
1242	req = c.newRequest(op, input, output)
1243	return
1244}
1245
1246// DescribeThesaurus API operation for AWSKendraFrontendService.
1247//
1248// Describes an existing Amazon Kendra thesaurus.
1249//
1250// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1251// with awserr.Error's Code and Message methods to get detailed information about
1252// the error.
1253//
1254// See the AWS API reference guide for AWSKendraFrontendService's
1255// API operation DescribeThesaurus for usage and error information.
1256//
1257// Returned Error Types:
1258//   * ValidationException
1259//
1260//   * ResourceNotFoundException
1261//
1262//   * ThrottlingException
1263//
1264//   * AccessDeniedException
1265//
1266//   * InternalServerException
1267//
1268// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DescribeThesaurus
1269func (c *Kendra) DescribeThesaurus(input *DescribeThesaurusInput) (*DescribeThesaurusOutput, error) {
1270	req, out := c.DescribeThesaurusRequest(input)
1271	return out, req.Send()
1272}
1273
1274// DescribeThesaurusWithContext is the same as DescribeThesaurus with the addition of
1275// the ability to pass a context and additional request options.
1276//
1277// See DescribeThesaurus for details on how to use this API operation.
1278//
1279// The context must be non-nil and will be used for request cancellation. If
1280// the context is nil a panic will occur. In the future the SDK may create
1281// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1282// for more information on using Contexts.
1283func (c *Kendra) DescribeThesaurusWithContext(ctx aws.Context, input *DescribeThesaurusInput, opts ...request.Option) (*DescribeThesaurusOutput, error) {
1284	req, out := c.DescribeThesaurusRequest(input)
1285	req.SetContext(ctx)
1286	req.ApplyOptions(opts...)
1287	return out, req.Send()
1288}
1289
1290const opListDataSourceSyncJobs = "ListDataSourceSyncJobs"
1291
1292// ListDataSourceSyncJobsRequest generates a "aws/request.Request" representing the
1293// client's request for the ListDataSourceSyncJobs operation. The "output" return
1294// value will be populated with the request's response once the request completes
1295// successfully.
1296//
1297// Use "Send" method on the returned Request to send the API call to the service.
1298// the "output" return value is not valid until after Send returns without error.
1299//
1300// See ListDataSourceSyncJobs for more information on using the ListDataSourceSyncJobs
1301// API call, and error handling.
1302//
1303// This method is useful when you want to inject custom logic or configuration
1304// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1305//
1306//
1307//    // Example sending a request using the ListDataSourceSyncJobsRequest method.
1308//    req, resp := client.ListDataSourceSyncJobsRequest(params)
1309//
1310//    err := req.Send()
1311//    if err == nil { // resp is now filled
1312//        fmt.Println(resp)
1313//    }
1314//
1315// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ListDataSourceSyncJobs
1316func (c *Kendra) ListDataSourceSyncJobsRequest(input *ListDataSourceSyncJobsInput) (req *request.Request, output *ListDataSourceSyncJobsOutput) {
1317	op := &request.Operation{
1318		Name:       opListDataSourceSyncJobs,
1319		HTTPMethod: "POST",
1320		HTTPPath:   "/",
1321		Paginator: &request.Paginator{
1322			InputTokens:     []string{"NextToken"},
1323			OutputTokens:    []string{"NextToken"},
1324			LimitToken:      "MaxResults",
1325			TruncationToken: "",
1326		},
1327	}
1328
1329	if input == nil {
1330		input = &ListDataSourceSyncJobsInput{}
1331	}
1332
1333	output = &ListDataSourceSyncJobsOutput{}
1334	req = c.newRequest(op, input, output)
1335	return
1336}
1337
1338// ListDataSourceSyncJobs API operation for AWSKendraFrontendService.
1339//
1340// Gets statistics about synchronizing Amazon Kendra with a data source.
1341//
1342// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1343// with awserr.Error's Code and Message methods to get detailed information about
1344// the error.
1345//
1346// See the AWS API reference guide for AWSKendraFrontendService's
1347// API operation ListDataSourceSyncJobs for usage and error information.
1348//
1349// Returned Error Types:
1350//   * ValidationException
1351//
1352//   * ResourceNotFoundException
1353//
1354//   * ThrottlingException
1355//
1356//   * AccessDeniedException
1357//
1358//   * ConflictException
1359//
1360//   * InternalServerException
1361//
1362// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ListDataSourceSyncJobs
1363func (c *Kendra) ListDataSourceSyncJobs(input *ListDataSourceSyncJobsInput) (*ListDataSourceSyncJobsOutput, error) {
1364	req, out := c.ListDataSourceSyncJobsRequest(input)
1365	return out, req.Send()
1366}
1367
1368// ListDataSourceSyncJobsWithContext is the same as ListDataSourceSyncJobs with the addition of
1369// the ability to pass a context and additional request options.
1370//
1371// See ListDataSourceSyncJobs for details on how to use this API operation.
1372//
1373// The context must be non-nil and will be used for request cancellation. If
1374// the context is nil a panic will occur. In the future the SDK may create
1375// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1376// for more information on using Contexts.
1377func (c *Kendra) ListDataSourceSyncJobsWithContext(ctx aws.Context, input *ListDataSourceSyncJobsInput, opts ...request.Option) (*ListDataSourceSyncJobsOutput, error) {
1378	req, out := c.ListDataSourceSyncJobsRequest(input)
1379	req.SetContext(ctx)
1380	req.ApplyOptions(opts...)
1381	return out, req.Send()
1382}
1383
1384// ListDataSourceSyncJobsPages iterates over the pages of a ListDataSourceSyncJobs operation,
1385// calling the "fn" function with the response data for each page. To stop
1386// iterating, return false from the fn function.
1387//
1388// See ListDataSourceSyncJobs method for more information on how to use this operation.
1389//
1390// Note: This operation can generate multiple requests to a service.
1391//
1392//    // Example iterating over at most 3 pages of a ListDataSourceSyncJobs operation.
1393//    pageNum := 0
1394//    err := client.ListDataSourceSyncJobsPages(params,
1395//        func(page *kendra.ListDataSourceSyncJobsOutput, lastPage bool) bool {
1396//            pageNum++
1397//            fmt.Println(page)
1398//            return pageNum <= 3
1399//        })
1400//
1401func (c *Kendra) ListDataSourceSyncJobsPages(input *ListDataSourceSyncJobsInput, fn func(*ListDataSourceSyncJobsOutput, bool) bool) error {
1402	return c.ListDataSourceSyncJobsPagesWithContext(aws.BackgroundContext(), input, fn)
1403}
1404
1405// ListDataSourceSyncJobsPagesWithContext same as ListDataSourceSyncJobsPages except
1406// it takes a Context and allows setting request options on the pages.
1407//
1408// The context must be non-nil and will be used for request cancellation. If
1409// the context is nil a panic will occur. In the future the SDK may create
1410// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1411// for more information on using Contexts.
1412func (c *Kendra) ListDataSourceSyncJobsPagesWithContext(ctx aws.Context, input *ListDataSourceSyncJobsInput, fn func(*ListDataSourceSyncJobsOutput, bool) bool, opts ...request.Option) error {
1413	p := request.Pagination{
1414		NewRequest: func() (*request.Request, error) {
1415			var inCpy *ListDataSourceSyncJobsInput
1416			if input != nil {
1417				tmp := *input
1418				inCpy = &tmp
1419			}
1420			req, _ := c.ListDataSourceSyncJobsRequest(inCpy)
1421			req.SetContext(ctx)
1422			req.ApplyOptions(opts...)
1423			return req, nil
1424		},
1425	}
1426
1427	for p.Next() {
1428		if !fn(p.Page().(*ListDataSourceSyncJobsOutput), !p.HasNextPage()) {
1429			break
1430		}
1431	}
1432
1433	return p.Err()
1434}
1435
1436const opListDataSources = "ListDataSources"
1437
1438// ListDataSourcesRequest generates a "aws/request.Request" representing the
1439// client's request for the ListDataSources operation. The "output" return
1440// value will be populated with the request's response once the request completes
1441// successfully.
1442//
1443// Use "Send" method on the returned Request to send the API call to the service.
1444// the "output" return value is not valid until after Send returns without error.
1445//
1446// See ListDataSources for more information on using the ListDataSources
1447// API call, and error handling.
1448//
1449// This method is useful when you want to inject custom logic or configuration
1450// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1451//
1452//
1453//    // Example sending a request using the ListDataSourcesRequest method.
1454//    req, resp := client.ListDataSourcesRequest(params)
1455//
1456//    err := req.Send()
1457//    if err == nil { // resp is now filled
1458//        fmt.Println(resp)
1459//    }
1460//
1461// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ListDataSources
1462func (c *Kendra) ListDataSourcesRequest(input *ListDataSourcesInput) (req *request.Request, output *ListDataSourcesOutput) {
1463	op := &request.Operation{
1464		Name:       opListDataSources,
1465		HTTPMethod: "POST",
1466		HTTPPath:   "/",
1467		Paginator: &request.Paginator{
1468			InputTokens:     []string{"NextToken"},
1469			OutputTokens:    []string{"NextToken"},
1470			LimitToken:      "MaxResults",
1471			TruncationToken: "",
1472		},
1473	}
1474
1475	if input == nil {
1476		input = &ListDataSourcesInput{}
1477	}
1478
1479	output = &ListDataSourcesOutput{}
1480	req = c.newRequest(op, input, output)
1481	return
1482}
1483
1484// ListDataSources API operation for AWSKendraFrontendService.
1485//
1486// Lists the data sources that you have created.
1487//
1488// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1489// with awserr.Error's Code and Message methods to get detailed information about
1490// the error.
1491//
1492// See the AWS API reference guide for AWSKendraFrontendService's
1493// API operation ListDataSources for usage and error information.
1494//
1495// Returned Error Types:
1496//   * ValidationException
1497//
1498//   * ResourceNotFoundException
1499//
1500//   * AccessDeniedException
1501//
1502//   * ThrottlingException
1503//
1504//   * InternalServerException
1505//
1506// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ListDataSources
1507func (c *Kendra) ListDataSources(input *ListDataSourcesInput) (*ListDataSourcesOutput, error) {
1508	req, out := c.ListDataSourcesRequest(input)
1509	return out, req.Send()
1510}
1511
1512// ListDataSourcesWithContext is the same as ListDataSources with the addition of
1513// the ability to pass a context and additional request options.
1514//
1515// See ListDataSources for details on how to use this API operation.
1516//
1517// The context must be non-nil and will be used for request cancellation. If
1518// the context is nil a panic will occur. In the future the SDK may create
1519// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1520// for more information on using Contexts.
1521func (c *Kendra) ListDataSourcesWithContext(ctx aws.Context, input *ListDataSourcesInput, opts ...request.Option) (*ListDataSourcesOutput, error) {
1522	req, out := c.ListDataSourcesRequest(input)
1523	req.SetContext(ctx)
1524	req.ApplyOptions(opts...)
1525	return out, req.Send()
1526}
1527
1528// ListDataSourcesPages iterates over the pages of a ListDataSources operation,
1529// calling the "fn" function with the response data for each page. To stop
1530// iterating, return false from the fn function.
1531//
1532// See ListDataSources method for more information on how to use this operation.
1533//
1534// Note: This operation can generate multiple requests to a service.
1535//
1536//    // Example iterating over at most 3 pages of a ListDataSources operation.
1537//    pageNum := 0
1538//    err := client.ListDataSourcesPages(params,
1539//        func(page *kendra.ListDataSourcesOutput, lastPage bool) bool {
1540//            pageNum++
1541//            fmt.Println(page)
1542//            return pageNum <= 3
1543//        })
1544//
1545func (c *Kendra) ListDataSourcesPages(input *ListDataSourcesInput, fn func(*ListDataSourcesOutput, bool) bool) error {
1546	return c.ListDataSourcesPagesWithContext(aws.BackgroundContext(), input, fn)
1547}
1548
1549// ListDataSourcesPagesWithContext same as ListDataSourcesPages except
1550// it takes a Context and allows setting request options on the pages.
1551//
1552// The context must be non-nil and will be used for request cancellation. If
1553// the context is nil a panic will occur. In the future the SDK may create
1554// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1555// for more information on using Contexts.
1556func (c *Kendra) ListDataSourcesPagesWithContext(ctx aws.Context, input *ListDataSourcesInput, fn func(*ListDataSourcesOutput, bool) bool, opts ...request.Option) error {
1557	p := request.Pagination{
1558		NewRequest: func() (*request.Request, error) {
1559			var inCpy *ListDataSourcesInput
1560			if input != nil {
1561				tmp := *input
1562				inCpy = &tmp
1563			}
1564			req, _ := c.ListDataSourcesRequest(inCpy)
1565			req.SetContext(ctx)
1566			req.ApplyOptions(opts...)
1567			return req, nil
1568		},
1569	}
1570
1571	for p.Next() {
1572		if !fn(p.Page().(*ListDataSourcesOutput), !p.HasNextPage()) {
1573			break
1574		}
1575	}
1576
1577	return p.Err()
1578}
1579
1580const opListFaqs = "ListFaqs"
1581
1582// ListFaqsRequest generates a "aws/request.Request" representing the
1583// client's request for the ListFaqs operation. The "output" return
1584// value will be populated with the request's response once the request completes
1585// successfully.
1586//
1587// Use "Send" method on the returned Request to send the API call to the service.
1588// the "output" return value is not valid until after Send returns without error.
1589//
1590// See ListFaqs for more information on using the ListFaqs
1591// API call, and error handling.
1592//
1593// This method is useful when you want to inject custom logic or configuration
1594// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1595//
1596//
1597//    // Example sending a request using the ListFaqsRequest method.
1598//    req, resp := client.ListFaqsRequest(params)
1599//
1600//    err := req.Send()
1601//    if err == nil { // resp is now filled
1602//        fmt.Println(resp)
1603//    }
1604//
1605// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ListFaqs
1606func (c *Kendra) ListFaqsRequest(input *ListFaqsInput) (req *request.Request, output *ListFaqsOutput) {
1607	op := &request.Operation{
1608		Name:       opListFaqs,
1609		HTTPMethod: "POST",
1610		HTTPPath:   "/",
1611	}
1612
1613	if input == nil {
1614		input = &ListFaqsInput{}
1615	}
1616
1617	output = &ListFaqsOutput{}
1618	req = c.newRequest(op, input, output)
1619	return
1620}
1621
1622// ListFaqs API operation for AWSKendraFrontendService.
1623//
1624// Gets a list of FAQ lists associated with an index.
1625//
1626// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1627// with awserr.Error's Code and Message methods to get detailed information about
1628// the error.
1629//
1630// See the AWS API reference guide for AWSKendraFrontendService's
1631// API operation ListFaqs for usage and error information.
1632//
1633// Returned Error Types:
1634//   * ValidationException
1635//
1636//   * ResourceNotFoundException
1637//
1638//   * ThrottlingException
1639//
1640//   * AccessDeniedException
1641//
1642//   * InternalServerException
1643//
1644// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ListFaqs
1645func (c *Kendra) ListFaqs(input *ListFaqsInput) (*ListFaqsOutput, error) {
1646	req, out := c.ListFaqsRequest(input)
1647	return out, req.Send()
1648}
1649
1650// ListFaqsWithContext is the same as ListFaqs with the addition of
1651// the ability to pass a context and additional request options.
1652//
1653// See ListFaqs for details on how to use this API operation.
1654//
1655// The context must be non-nil and will be used for request cancellation. If
1656// the context is nil a panic will occur. In the future the SDK may create
1657// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1658// for more information on using Contexts.
1659func (c *Kendra) ListFaqsWithContext(ctx aws.Context, input *ListFaqsInput, opts ...request.Option) (*ListFaqsOutput, error) {
1660	req, out := c.ListFaqsRequest(input)
1661	req.SetContext(ctx)
1662	req.ApplyOptions(opts...)
1663	return out, req.Send()
1664}
1665
1666const opListIndices = "ListIndices"
1667
1668// ListIndicesRequest generates a "aws/request.Request" representing the
1669// client's request for the ListIndices operation. The "output" return
1670// value will be populated with the request's response once the request completes
1671// successfully.
1672//
1673// Use "Send" method on the returned Request to send the API call to the service.
1674// the "output" return value is not valid until after Send returns without error.
1675//
1676// See ListIndices for more information on using the ListIndices
1677// API call, and error handling.
1678//
1679// This method is useful when you want to inject custom logic or configuration
1680// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1681//
1682//
1683//    // Example sending a request using the ListIndicesRequest method.
1684//    req, resp := client.ListIndicesRequest(params)
1685//
1686//    err := req.Send()
1687//    if err == nil { // resp is now filled
1688//        fmt.Println(resp)
1689//    }
1690//
1691// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ListIndices
1692func (c *Kendra) ListIndicesRequest(input *ListIndicesInput) (req *request.Request, output *ListIndicesOutput) {
1693	op := &request.Operation{
1694		Name:       opListIndices,
1695		HTTPMethod: "POST",
1696		HTTPPath:   "/",
1697		Paginator: &request.Paginator{
1698			InputTokens:     []string{"NextToken"},
1699			OutputTokens:    []string{"NextToken"},
1700			LimitToken:      "MaxResults",
1701			TruncationToken: "",
1702		},
1703	}
1704
1705	if input == nil {
1706		input = &ListIndicesInput{}
1707	}
1708
1709	output = &ListIndicesOutput{}
1710	req = c.newRequest(op, input, output)
1711	return
1712}
1713
1714// ListIndices API operation for AWSKendraFrontendService.
1715//
1716// Lists the Amazon Kendra indexes that you have created.
1717//
1718// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1719// with awserr.Error's Code and Message methods to get detailed information about
1720// the error.
1721//
1722// See the AWS API reference guide for AWSKendraFrontendService's
1723// API operation ListIndices for usage and error information.
1724//
1725// Returned Error Types:
1726//   * ValidationException
1727//
1728//   * ThrottlingException
1729//
1730//   * AccessDeniedException
1731//
1732//   * InternalServerException
1733//
1734// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ListIndices
1735func (c *Kendra) ListIndices(input *ListIndicesInput) (*ListIndicesOutput, error) {
1736	req, out := c.ListIndicesRequest(input)
1737	return out, req.Send()
1738}
1739
1740// ListIndicesWithContext is the same as ListIndices with the addition of
1741// the ability to pass a context and additional request options.
1742//
1743// See ListIndices for details on how to use this API operation.
1744//
1745// The context must be non-nil and will be used for request cancellation. If
1746// the context is nil a panic will occur. In the future the SDK may create
1747// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1748// for more information on using Contexts.
1749func (c *Kendra) ListIndicesWithContext(ctx aws.Context, input *ListIndicesInput, opts ...request.Option) (*ListIndicesOutput, error) {
1750	req, out := c.ListIndicesRequest(input)
1751	req.SetContext(ctx)
1752	req.ApplyOptions(opts...)
1753	return out, req.Send()
1754}
1755
1756// ListIndicesPages iterates over the pages of a ListIndices operation,
1757// calling the "fn" function with the response data for each page. To stop
1758// iterating, return false from the fn function.
1759//
1760// See ListIndices method for more information on how to use this operation.
1761//
1762// Note: This operation can generate multiple requests to a service.
1763//
1764//    // Example iterating over at most 3 pages of a ListIndices operation.
1765//    pageNum := 0
1766//    err := client.ListIndicesPages(params,
1767//        func(page *kendra.ListIndicesOutput, lastPage bool) bool {
1768//            pageNum++
1769//            fmt.Println(page)
1770//            return pageNum <= 3
1771//        })
1772//
1773func (c *Kendra) ListIndicesPages(input *ListIndicesInput, fn func(*ListIndicesOutput, bool) bool) error {
1774	return c.ListIndicesPagesWithContext(aws.BackgroundContext(), input, fn)
1775}
1776
1777// ListIndicesPagesWithContext same as ListIndicesPages except
1778// it takes a Context and allows setting request options on the pages.
1779//
1780// The context must be non-nil and will be used for request cancellation. If
1781// the context is nil a panic will occur. In the future the SDK may create
1782// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1783// for more information on using Contexts.
1784func (c *Kendra) ListIndicesPagesWithContext(ctx aws.Context, input *ListIndicesInput, fn func(*ListIndicesOutput, bool) bool, opts ...request.Option) error {
1785	p := request.Pagination{
1786		NewRequest: func() (*request.Request, error) {
1787			var inCpy *ListIndicesInput
1788			if input != nil {
1789				tmp := *input
1790				inCpy = &tmp
1791			}
1792			req, _ := c.ListIndicesRequest(inCpy)
1793			req.SetContext(ctx)
1794			req.ApplyOptions(opts...)
1795			return req, nil
1796		},
1797	}
1798
1799	for p.Next() {
1800		if !fn(p.Page().(*ListIndicesOutput), !p.HasNextPage()) {
1801			break
1802		}
1803	}
1804
1805	return p.Err()
1806}
1807
1808const opListTagsForResource = "ListTagsForResource"
1809
1810// ListTagsForResourceRequest generates a "aws/request.Request" representing the
1811// client's request for the ListTagsForResource operation. The "output" return
1812// value will be populated with the request's response once the request completes
1813// successfully.
1814//
1815// Use "Send" method on the returned Request to send the API call to the service.
1816// the "output" return value is not valid until after Send returns without error.
1817//
1818// See ListTagsForResource for more information on using the ListTagsForResource
1819// API call, and error handling.
1820//
1821// This method is useful when you want to inject custom logic or configuration
1822// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1823//
1824//
1825//    // Example sending a request using the ListTagsForResourceRequest method.
1826//    req, resp := client.ListTagsForResourceRequest(params)
1827//
1828//    err := req.Send()
1829//    if err == nil { // resp is now filled
1830//        fmt.Println(resp)
1831//    }
1832//
1833// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ListTagsForResource
1834func (c *Kendra) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
1835	op := &request.Operation{
1836		Name:       opListTagsForResource,
1837		HTTPMethod: "POST",
1838		HTTPPath:   "/",
1839	}
1840
1841	if input == nil {
1842		input = &ListTagsForResourceInput{}
1843	}
1844
1845	output = &ListTagsForResourceOutput{}
1846	req = c.newRequest(op, input, output)
1847	return
1848}
1849
1850// ListTagsForResource API operation for AWSKendraFrontendService.
1851//
1852// Gets a list of tags associated with a specified resource. Indexes, FAQs,
1853// and data sources can have tags associated with them.
1854//
1855// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1856// with awserr.Error's Code and Message methods to get detailed information about
1857// the error.
1858//
1859// See the AWS API reference guide for AWSKendraFrontendService's
1860// API operation ListTagsForResource for usage and error information.
1861//
1862// Returned Error Types:
1863//   * ValidationException
1864//
1865//   * ResourceUnavailableException
1866//
1867//   * ThrottlingException
1868//
1869//   * AccessDeniedException
1870//
1871//   * InternalServerException
1872//
1873// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ListTagsForResource
1874func (c *Kendra) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
1875	req, out := c.ListTagsForResourceRequest(input)
1876	return out, req.Send()
1877}
1878
1879// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
1880// the ability to pass a context and additional request options.
1881//
1882// See ListTagsForResource for details on how to use this API operation.
1883//
1884// The context must be non-nil and will be used for request cancellation. If
1885// the context is nil a panic will occur. In the future the SDK may create
1886// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1887// for more information on using Contexts.
1888func (c *Kendra) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
1889	req, out := c.ListTagsForResourceRequest(input)
1890	req.SetContext(ctx)
1891	req.ApplyOptions(opts...)
1892	return out, req.Send()
1893}
1894
1895const opListThesauri = "ListThesauri"
1896
1897// ListThesauriRequest generates a "aws/request.Request" representing the
1898// client's request for the ListThesauri operation. The "output" return
1899// value will be populated with the request's response once the request completes
1900// successfully.
1901//
1902// Use "Send" method on the returned Request to send the API call to the service.
1903// the "output" return value is not valid until after Send returns without error.
1904//
1905// See ListThesauri for more information on using the ListThesauri
1906// API call, and error handling.
1907//
1908// This method is useful when you want to inject custom logic or configuration
1909// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1910//
1911//
1912//    // Example sending a request using the ListThesauriRequest method.
1913//    req, resp := client.ListThesauriRequest(params)
1914//
1915//    err := req.Send()
1916//    if err == nil { // resp is now filled
1917//        fmt.Println(resp)
1918//    }
1919//
1920// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ListThesauri
1921func (c *Kendra) ListThesauriRequest(input *ListThesauriInput) (req *request.Request, output *ListThesauriOutput) {
1922	op := &request.Operation{
1923		Name:       opListThesauri,
1924		HTTPMethod: "POST",
1925		HTTPPath:   "/",
1926	}
1927
1928	if input == nil {
1929		input = &ListThesauriInput{}
1930	}
1931
1932	output = &ListThesauriOutput{}
1933	req = c.newRequest(op, input, output)
1934	return
1935}
1936
1937// ListThesauri API operation for AWSKendraFrontendService.
1938//
1939// Lists the Amazon Kendra thesauri associated with an index.
1940//
1941// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1942// with awserr.Error's Code and Message methods to get detailed information about
1943// the error.
1944//
1945// See the AWS API reference guide for AWSKendraFrontendService's
1946// API operation ListThesauri for usage and error information.
1947//
1948// Returned Error Types:
1949//   * ValidationException
1950//
1951//   * ResourceNotFoundException
1952//
1953//   * ThrottlingException
1954//
1955//   * AccessDeniedException
1956//
1957//   * InternalServerException
1958//
1959// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ListThesauri
1960func (c *Kendra) ListThesauri(input *ListThesauriInput) (*ListThesauriOutput, error) {
1961	req, out := c.ListThesauriRequest(input)
1962	return out, req.Send()
1963}
1964
1965// ListThesauriWithContext is the same as ListThesauri with the addition of
1966// the ability to pass a context and additional request options.
1967//
1968// See ListThesauri for details on how to use this API operation.
1969//
1970// The context must be non-nil and will be used for request cancellation. If
1971// the context is nil a panic will occur. In the future the SDK may create
1972// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1973// for more information on using Contexts.
1974func (c *Kendra) ListThesauriWithContext(ctx aws.Context, input *ListThesauriInput, opts ...request.Option) (*ListThesauriOutput, error) {
1975	req, out := c.ListThesauriRequest(input)
1976	req.SetContext(ctx)
1977	req.ApplyOptions(opts...)
1978	return out, req.Send()
1979}
1980
1981const opQuery = "Query"
1982
1983// QueryRequest generates a "aws/request.Request" representing the
1984// client's request for the Query operation. The "output" return
1985// value will be populated with the request's response once the request completes
1986// successfully.
1987//
1988// Use "Send" method on the returned Request to send the API call to the service.
1989// the "output" return value is not valid until after Send returns without error.
1990//
1991// See Query for more information on using the Query
1992// API call, and error handling.
1993//
1994// This method is useful when you want to inject custom logic or configuration
1995// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1996//
1997//
1998//    // Example sending a request using the QueryRequest method.
1999//    req, resp := client.QueryRequest(params)
2000//
2001//    err := req.Send()
2002//    if err == nil { // resp is now filled
2003//        fmt.Println(resp)
2004//    }
2005//
2006// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/Query
2007func (c *Kendra) QueryRequest(input *QueryInput) (req *request.Request, output *QueryOutput) {
2008	op := &request.Operation{
2009		Name:       opQuery,
2010		HTTPMethod: "POST",
2011		HTTPPath:   "/",
2012	}
2013
2014	if input == nil {
2015		input = &QueryInput{}
2016	}
2017
2018	output = &QueryOutput{}
2019	req = c.newRequest(op, input, output)
2020	return
2021}
2022
2023// Query API operation for AWSKendraFrontendService.
2024//
2025// Searches an active index. Use this API to search your documents using query.
2026// The Query operation enables to do faceted search and to filter results based
2027// on document attributes.
2028//
2029// It also enables you to provide user context that Amazon Kendra uses to enforce
2030// document access control in the search results.
2031//
2032// Amazon Kendra searches your index for text content and question and answer
2033// (FAQ) content. By default the response contains three types of results.
2034//
2035//    * Relevant passages
2036//
2037//    * Matching FAQs
2038//
2039//    * Relevant documents
2040//
2041// You can specify that the query return only one type of result using the QueryResultTypeConfig
2042// parameter.
2043//
2044// Each query returns the 100 most relevant results.
2045//
2046// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2047// with awserr.Error's Code and Message methods to get detailed information about
2048// the error.
2049//
2050// See the AWS API reference guide for AWSKendraFrontendService's
2051// API operation Query for usage and error information.
2052//
2053// Returned Error Types:
2054//   * ValidationException
2055//
2056//   * ConflictException
2057//
2058//   * ResourceNotFoundException
2059//
2060//   * ThrottlingException
2061//
2062//   * AccessDeniedException
2063//
2064//   * ServiceQuotaExceededException
2065//
2066//   * InternalServerException
2067//
2068// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/Query
2069func (c *Kendra) Query(input *QueryInput) (*QueryOutput, error) {
2070	req, out := c.QueryRequest(input)
2071	return out, req.Send()
2072}
2073
2074// QueryWithContext is the same as Query with the addition of
2075// the ability to pass a context and additional request options.
2076//
2077// See Query for details on how to use this API operation.
2078//
2079// The context must be non-nil and will be used for request cancellation. If
2080// the context is nil a panic will occur. In the future the SDK may create
2081// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2082// for more information on using Contexts.
2083func (c *Kendra) QueryWithContext(ctx aws.Context, input *QueryInput, opts ...request.Option) (*QueryOutput, error) {
2084	req, out := c.QueryRequest(input)
2085	req.SetContext(ctx)
2086	req.ApplyOptions(opts...)
2087	return out, req.Send()
2088}
2089
2090const opStartDataSourceSyncJob = "StartDataSourceSyncJob"
2091
2092// StartDataSourceSyncJobRequest generates a "aws/request.Request" representing the
2093// client's request for the StartDataSourceSyncJob operation. The "output" return
2094// value will be populated with the request's response once the request completes
2095// successfully.
2096//
2097// Use "Send" method on the returned Request to send the API call to the service.
2098// the "output" return value is not valid until after Send returns without error.
2099//
2100// See StartDataSourceSyncJob for more information on using the StartDataSourceSyncJob
2101// API call, and error handling.
2102//
2103// This method is useful when you want to inject custom logic or configuration
2104// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2105//
2106//
2107//    // Example sending a request using the StartDataSourceSyncJobRequest method.
2108//    req, resp := client.StartDataSourceSyncJobRequest(params)
2109//
2110//    err := req.Send()
2111//    if err == nil { // resp is now filled
2112//        fmt.Println(resp)
2113//    }
2114//
2115// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/StartDataSourceSyncJob
2116func (c *Kendra) StartDataSourceSyncJobRequest(input *StartDataSourceSyncJobInput) (req *request.Request, output *StartDataSourceSyncJobOutput) {
2117	op := &request.Operation{
2118		Name:       opStartDataSourceSyncJob,
2119		HTTPMethod: "POST",
2120		HTTPPath:   "/",
2121	}
2122
2123	if input == nil {
2124		input = &StartDataSourceSyncJobInput{}
2125	}
2126
2127	output = &StartDataSourceSyncJobOutput{}
2128	req = c.newRequest(op, input, output)
2129	return
2130}
2131
2132// StartDataSourceSyncJob API operation for AWSKendraFrontendService.
2133//
2134// Starts a synchronization job for a data source. If a synchronization job
2135// is already in progress, Amazon Kendra returns a ResourceInUseException exception.
2136//
2137// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2138// with awserr.Error's Code and Message methods to get detailed information about
2139// the error.
2140//
2141// See the AWS API reference guide for AWSKendraFrontendService's
2142// API operation StartDataSourceSyncJob for usage and error information.
2143//
2144// Returned Error Types:
2145//   * ValidationException
2146//
2147//   * ResourceNotFoundException
2148//
2149//   * ResourceInUseException
2150//
2151//   * ThrottlingException
2152//
2153//   * AccessDeniedException
2154//
2155//   * ConflictException
2156//
2157//   * InternalServerException
2158//
2159// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/StartDataSourceSyncJob
2160func (c *Kendra) StartDataSourceSyncJob(input *StartDataSourceSyncJobInput) (*StartDataSourceSyncJobOutput, error) {
2161	req, out := c.StartDataSourceSyncJobRequest(input)
2162	return out, req.Send()
2163}
2164
2165// StartDataSourceSyncJobWithContext is the same as StartDataSourceSyncJob with the addition of
2166// the ability to pass a context and additional request options.
2167//
2168// See StartDataSourceSyncJob for details on how to use this API operation.
2169//
2170// The context must be non-nil and will be used for request cancellation. If
2171// the context is nil a panic will occur. In the future the SDK may create
2172// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2173// for more information on using Contexts.
2174func (c *Kendra) StartDataSourceSyncJobWithContext(ctx aws.Context, input *StartDataSourceSyncJobInput, opts ...request.Option) (*StartDataSourceSyncJobOutput, error) {
2175	req, out := c.StartDataSourceSyncJobRequest(input)
2176	req.SetContext(ctx)
2177	req.ApplyOptions(opts...)
2178	return out, req.Send()
2179}
2180
2181const opStopDataSourceSyncJob = "StopDataSourceSyncJob"
2182
2183// StopDataSourceSyncJobRequest generates a "aws/request.Request" representing the
2184// client's request for the StopDataSourceSyncJob operation. The "output" return
2185// value will be populated with the request's response once the request completes
2186// successfully.
2187//
2188// Use "Send" method on the returned Request to send the API call to the service.
2189// the "output" return value is not valid until after Send returns without error.
2190//
2191// See StopDataSourceSyncJob for more information on using the StopDataSourceSyncJob
2192// API call, and error handling.
2193//
2194// This method is useful when you want to inject custom logic or configuration
2195// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2196//
2197//
2198//    // Example sending a request using the StopDataSourceSyncJobRequest method.
2199//    req, resp := client.StopDataSourceSyncJobRequest(params)
2200//
2201//    err := req.Send()
2202//    if err == nil { // resp is now filled
2203//        fmt.Println(resp)
2204//    }
2205//
2206// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/StopDataSourceSyncJob
2207func (c *Kendra) StopDataSourceSyncJobRequest(input *StopDataSourceSyncJobInput) (req *request.Request, output *StopDataSourceSyncJobOutput) {
2208	op := &request.Operation{
2209		Name:       opStopDataSourceSyncJob,
2210		HTTPMethod: "POST",
2211		HTTPPath:   "/",
2212	}
2213
2214	if input == nil {
2215		input = &StopDataSourceSyncJobInput{}
2216	}
2217
2218	output = &StopDataSourceSyncJobOutput{}
2219	req = c.newRequest(op, input, output)
2220	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2221	return
2222}
2223
2224// StopDataSourceSyncJob API operation for AWSKendraFrontendService.
2225//
2226// Stops a running synchronization job. You can't stop a scheduled synchronization
2227// job.
2228//
2229// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2230// with awserr.Error's Code and Message methods to get detailed information about
2231// the error.
2232//
2233// See the AWS API reference guide for AWSKendraFrontendService's
2234// API operation StopDataSourceSyncJob for usage and error information.
2235//
2236// Returned Error Types:
2237//   * ValidationException
2238//
2239//   * ResourceNotFoundException
2240//
2241//   * ThrottlingException
2242//
2243//   * AccessDeniedException
2244//
2245//   * InternalServerException
2246//
2247// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/StopDataSourceSyncJob
2248func (c *Kendra) StopDataSourceSyncJob(input *StopDataSourceSyncJobInput) (*StopDataSourceSyncJobOutput, error) {
2249	req, out := c.StopDataSourceSyncJobRequest(input)
2250	return out, req.Send()
2251}
2252
2253// StopDataSourceSyncJobWithContext is the same as StopDataSourceSyncJob with the addition of
2254// the ability to pass a context and additional request options.
2255//
2256// See StopDataSourceSyncJob for details on how to use this API operation.
2257//
2258// The context must be non-nil and will be used for request cancellation. If
2259// the context is nil a panic will occur. In the future the SDK may create
2260// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2261// for more information on using Contexts.
2262func (c *Kendra) StopDataSourceSyncJobWithContext(ctx aws.Context, input *StopDataSourceSyncJobInput, opts ...request.Option) (*StopDataSourceSyncJobOutput, error) {
2263	req, out := c.StopDataSourceSyncJobRequest(input)
2264	req.SetContext(ctx)
2265	req.ApplyOptions(opts...)
2266	return out, req.Send()
2267}
2268
2269const opSubmitFeedback = "SubmitFeedback"
2270
2271// SubmitFeedbackRequest generates a "aws/request.Request" representing the
2272// client's request for the SubmitFeedback operation. The "output" return
2273// value will be populated with the request's response once the request completes
2274// successfully.
2275//
2276// Use "Send" method on the returned Request to send the API call to the service.
2277// the "output" return value is not valid until after Send returns without error.
2278//
2279// See SubmitFeedback for more information on using the SubmitFeedback
2280// API call, and error handling.
2281//
2282// This method is useful when you want to inject custom logic or configuration
2283// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2284//
2285//
2286//    // Example sending a request using the SubmitFeedbackRequest method.
2287//    req, resp := client.SubmitFeedbackRequest(params)
2288//
2289//    err := req.Send()
2290//    if err == nil { // resp is now filled
2291//        fmt.Println(resp)
2292//    }
2293//
2294// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/SubmitFeedback
2295func (c *Kendra) SubmitFeedbackRequest(input *SubmitFeedbackInput) (req *request.Request, output *SubmitFeedbackOutput) {
2296	op := &request.Operation{
2297		Name:       opSubmitFeedback,
2298		HTTPMethod: "POST",
2299		HTTPPath:   "/",
2300	}
2301
2302	if input == nil {
2303		input = &SubmitFeedbackInput{}
2304	}
2305
2306	output = &SubmitFeedbackOutput{}
2307	req = c.newRequest(op, input, output)
2308	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2309	return
2310}
2311
2312// SubmitFeedback API operation for AWSKendraFrontendService.
2313//
2314// Enables you to provide feedback to Amazon Kendra to improve the performance
2315// of the service.
2316//
2317// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2318// with awserr.Error's Code and Message methods to get detailed information about
2319// the error.
2320//
2321// See the AWS API reference guide for AWSKendraFrontendService's
2322// API operation SubmitFeedback for usage and error information.
2323//
2324// Returned Error Types:
2325//   * ValidationException
2326//
2327//   * ResourceUnavailableException
2328//
2329//   * ResourceNotFoundException
2330//
2331//   * ThrottlingException
2332//
2333//   * AccessDeniedException
2334//
2335//   * InternalServerException
2336//
2337// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/SubmitFeedback
2338func (c *Kendra) SubmitFeedback(input *SubmitFeedbackInput) (*SubmitFeedbackOutput, error) {
2339	req, out := c.SubmitFeedbackRequest(input)
2340	return out, req.Send()
2341}
2342
2343// SubmitFeedbackWithContext is the same as SubmitFeedback with the addition of
2344// the ability to pass a context and additional request options.
2345//
2346// See SubmitFeedback for details on how to use this API operation.
2347//
2348// The context must be non-nil and will be used for request cancellation. If
2349// the context is nil a panic will occur. In the future the SDK may create
2350// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2351// for more information on using Contexts.
2352func (c *Kendra) SubmitFeedbackWithContext(ctx aws.Context, input *SubmitFeedbackInput, opts ...request.Option) (*SubmitFeedbackOutput, error) {
2353	req, out := c.SubmitFeedbackRequest(input)
2354	req.SetContext(ctx)
2355	req.ApplyOptions(opts...)
2356	return out, req.Send()
2357}
2358
2359const opTagResource = "TagResource"
2360
2361// TagResourceRequest generates a "aws/request.Request" representing the
2362// client's request for the TagResource operation. The "output" return
2363// value will be populated with the request's response once the request completes
2364// successfully.
2365//
2366// Use "Send" method on the returned Request to send the API call to the service.
2367// the "output" return value is not valid until after Send returns without error.
2368//
2369// See TagResource for more information on using the TagResource
2370// API call, and error handling.
2371//
2372// This method is useful when you want to inject custom logic or configuration
2373// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2374//
2375//
2376//    // Example sending a request using the TagResourceRequest method.
2377//    req, resp := client.TagResourceRequest(params)
2378//
2379//    err := req.Send()
2380//    if err == nil { // resp is now filled
2381//        fmt.Println(resp)
2382//    }
2383//
2384// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/TagResource
2385func (c *Kendra) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
2386	op := &request.Operation{
2387		Name:       opTagResource,
2388		HTTPMethod: "POST",
2389		HTTPPath:   "/",
2390	}
2391
2392	if input == nil {
2393		input = &TagResourceInput{}
2394	}
2395
2396	output = &TagResourceOutput{}
2397	req = c.newRequest(op, input, output)
2398	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2399	return
2400}
2401
2402// TagResource API operation for AWSKendraFrontendService.
2403//
2404// Adds the specified tag to the specified index, FAQ, or data source resource.
2405// If the tag already exists, the existing value is replaced with the new value.
2406//
2407// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2408// with awserr.Error's Code and Message methods to get detailed information about
2409// the error.
2410//
2411// See the AWS API reference guide for AWSKendraFrontendService's
2412// API operation TagResource for usage and error information.
2413//
2414// Returned Error Types:
2415//   * ValidationException
2416//
2417//   * ResourceUnavailableException
2418//
2419//   * ThrottlingException
2420//
2421//   * AccessDeniedException
2422//
2423//   * InternalServerException
2424//
2425// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/TagResource
2426func (c *Kendra) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
2427	req, out := c.TagResourceRequest(input)
2428	return out, req.Send()
2429}
2430
2431// TagResourceWithContext is the same as TagResource with the addition of
2432// the ability to pass a context and additional request options.
2433//
2434// See TagResource for details on how to use this API operation.
2435//
2436// The context must be non-nil and will be used for request cancellation. If
2437// the context is nil a panic will occur. In the future the SDK may create
2438// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2439// for more information on using Contexts.
2440func (c *Kendra) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
2441	req, out := c.TagResourceRequest(input)
2442	req.SetContext(ctx)
2443	req.ApplyOptions(opts...)
2444	return out, req.Send()
2445}
2446
2447const opUntagResource = "UntagResource"
2448
2449// UntagResourceRequest generates a "aws/request.Request" representing the
2450// client's request for the UntagResource operation. The "output" return
2451// value will be populated with the request's response once the request completes
2452// successfully.
2453//
2454// Use "Send" method on the returned Request to send the API call to the service.
2455// the "output" return value is not valid until after Send returns without error.
2456//
2457// See UntagResource for more information on using the UntagResource
2458// API call, and error handling.
2459//
2460// This method is useful when you want to inject custom logic or configuration
2461// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2462//
2463//
2464//    // Example sending a request using the UntagResourceRequest method.
2465//    req, resp := client.UntagResourceRequest(params)
2466//
2467//    err := req.Send()
2468//    if err == nil { // resp is now filled
2469//        fmt.Println(resp)
2470//    }
2471//
2472// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/UntagResource
2473func (c *Kendra) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
2474	op := &request.Operation{
2475		Name:       opUntagResource,
2476		HTTPMethod: "POST",
2477		HTTPPath:   "/",
2478	}
2479
2480	if input == nil {
2481		input = &UntagResourceInput{}
2482	}
2483
2484	output = &UntagResourceOutput{}
2485	req = c.newRequest(op, input, output)
2486	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2487	return
2488}
2489
2490// UntagResource API operation for AWSKendraFrontendService.
2491//
2492// Removes a tag from an index, FAQ, or a data source.
2493//
2494// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2495// with awserr.Error's Code and Message methods to get detailed information about
2496// the error.
2497//
2498// See the AWS API reference guide for AWSKendraFrontendService's
2499// API operation UntagResource for usage and error information.
2500//
2501// Returned Error Types:
2502//   * ValidationException
2503//
2504//   * ResourceUnavailableException
2505//
2506//   * ThrottlingException
2507//
2508//   * AccessDeniedException
2509//
2510//   * InternalServerException
2511//
2512// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/UntagResource
2513func (c *Kendra) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
2514	req, out := c.UntagResourceRequest(input)
2515	return out, req.Send()
2516}
2517
2518// UntagResourceWithContext is the same as UntagResource with the addition of
2519// the ability to pass a context and additional request options.
2520//
2521// See UntagResource for details on how to use this API operation.
2522//
2523// The context must be non-nil and will be used for request cancellation. If
2524// the context is nil a panic will occur. In the future the SDK may create
2525// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2526// for more information on using Contexts.
2527func (c *Kendra) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
2528	req, out := c.UntagResourceRequest(input)
2529	req.SetContext(ctx)
2530	req.ApplyOptions(opts...)
2531	return out, req.Send()
2532}
2533
2534const opUpdateDataSource = "UpdateDataSource"
2535
2536// UpdateDataSourceRequest generates a "aws/request.Request" representing the
2537// client's request for the UpdateDataSource operation. The "output" return
2538// value will be populated with the request's response once the request completes
2539// successfully.
2540//
2541// Use "Send" method on the returned Request to send the API call to the service.
2542// the "output" return value is not valid until after Send returns without error.
2543//
2544// See UpdateDataSource for more information on using the UpdateDataSource
2545// API call, and error handling.
2546//
2547// This method is useful when you want to inject custom logic or configuration
2548// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2549//
2550//
2551//    // Example sending a request using the UpdateDataSourceRequest method.
2552//    req, resp := client.UpdateDataSourceRequest(params)
2553//
2554//    err := req.Send()
2555//    if err == nil { // resp is now filled
2556//        fmt.Println(resp)
2557//    }
2558//
2559// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/UpdateDataSource
2560func (c *Kendra) UpdateDataSourceRequest(input *UpdateDataSourceInput) (req *request.Request, output *UpdateDataSourceOutput) {
2561	op := &request.Operation{
2562		Name:       opUpdateDataSource,
2563		HTTPMethod: "POST",
2564		HTTPPath:   "/",
2565	}
2566
2567	if input == nil {
2568		input = &UpdateDataSourceInput{}
2569	}
2570
2571	output = &UpdateDataSourceOutput{}
2572	req = c.newRequest(op, input, output)
2573	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2574	return
2575}
2576
2577// UpdateDataSource API operation for AWSKendraFrontendService.
2578//
2579// Updates an existing Amazon Kendra data source.
2580//
2581// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2582// with awserr.Error's Code and Message methods to get detailed information about
2583// the error.
2584//
2585// See the AWS API reference guide for AWSKendraFrontendService's
2586// API operation UpdateDataSource for usage and error information.
2587//
2588// Returned Error Types:
2589//   * ValidationException
2590//
2591//   * ConflictException
2592//
2593//   * ResourceNotFoundException
2594//
2595//   * ThrottlingException
2596//
2597//   * AccessDeniedException
2598//
2599//   * InternalServerException
2600//
2601// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/UpdateDataSource
2602func (c *Kendra) UpdateDataSource(input *UpdateDataSourceInput) (*UpdateDataSourceOutput, error) {
2603	req, out := c.UpdateDataSourceRequest(input)
2604	return out, req.Send()
2605}
2606
2607// UpdateDataSourceWithContext is the same as UpdateDataSource with the addition of
2608// the ability to pass a context and additional request options.
2609//
2610// See UpdateDataSource for details on how to use this API operation.
2611//
2612// The context must be non-nil and will be used for request cancellation. If
2613// the context is nil a panic will occur. In the future the SDK may create
2614// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2615// for more information on using Contexts.
2616func (c *Kendra) UpdateDataSourceWithContext(ctx aws.Context, input *UpdateDataSourceInput, opts ...request.Option) (*UpdateDataSourceOutput, error) {
2617	req, out := c.UpdateDataSourceRequest(input)
2618	req.SetContext(ctx)
2619	req.ApplyOptions(opts...)
2620	return out, req.Send()
2621}
2622
2623const opUpdateIndex = "UpdateIndex"
2624
2625// UpdateIndexRequest generates a "aws/request.Request" representing the
2626// client's request for the UpdateIndex operation. The "output" return
2627// value will be populated with the request's response once the request completes
2628// successfully.
2629//
2630// Use "Send" method on the returned Request to send the API call to the service.
2631// the "output" return value is not valid until after Send returns without error.
2632//
2633// See UpdateIndex for more information on using the UpdateIndex
2634// API call, and error handling.
2635//
2636// This method is useful when you want to inject custom logic or configuration
2637// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2638//
2639//
2640//    // Example sending a request using the UpdateIndexRequest method.
2641//    req, resp := client.UpdateIndexRequest(params)
2642//
2643//    err := req.Send()
2644//    if err == nil { // resp is now filled
2645//        fmt.Println(resp)
2646//    }
2647//
2648// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/UpdateIndex
2649func (c *Kendra) UpdateIndexRequest(input *UpdateIndexInput) (req *request.Request, output *UpdateIndexOutput) {
2650	op := &request.Operation{
2651		Name:       opUpdateIndex,
2652		HTTPMethod: "POST",
2653		HTTPPath:   "/",
2654	}
2655
2656	if input == nil {
2657		input = &UpdateIndexInput{}
2658	}
2659
2660	output = &UpdateIndexOutput{}
2661	req = c.newRequest(op, input, output)
2662	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2663	return
2664}
2665
2666// UpdateIndex API operation for AWSKendraFrontendService.
2667//
2668// Updates an existing Amazon Kendra index.
2669//
2670// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2671// with awserr.Error's Code and Message methods to get detailed information about
2672// the error.
2673//
2674// See the AWS API reference guide for AWSKendraFrontendService's
2675// API operation UpdateIndex for usage and error information.
2676//
2677// Returned Error Types:
2678//   * ValidationException
2679//
2680//   * ConflictException
2681//
2682//   * ResourceNotFoundException
2683//
2684//   * ThrottlingException
2685//
2686//   * AccessDeniedException
2687//
2688//   * ServiceQuotaExceededException
2689//
2690//   * InternalServerException
2691//
2692// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/UpdateIndex
2693func (c *Kendra) UpdateIndex(input *UpdateIndexInput) (*UpdateIndexOutput, error) {
2694	req, out := c.UpdateIndexRequest(input)
2695	return out, req.Send()
2696}
2697
2698// UpdateIndexWithContext is the same as UpdateIndex with the addition of
2699// the ability to pass a context and additional request options.
2700//
2701// See UpdateIndex for details on how to use this API operation.
2702//
2703// The context must be non-nil and will be used for request cancellation. If
2704// the context is nil a panic will occur. In the future the SDK may create
2705// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2706// for more information on using Contexts.
2707func (c *Kendra) UpdateIndexWithContext(ctx aws.Context, input *UpdateIndexInput, opts ...request.Option) (*UpdateIndexOutput, error) {
2708	req, out := c.UpdateIndexRequest(input)
2709	req.SetContext(ctx)
2710	req.ApplyOptions(opts...)
2711	return out, req.Send()
2712}
2713
2714const opUpdateThesaurus = "UpdateThesaurus"
2715
2716// UpdateThesaurusRequest generates a "aws/request.Request" representing the
2717// client's request for the UpdateThesaurus operation. The "output" return
2718// value will be populated with the request's response once the request completes
2719// successfully.
2720//
2721// Use "Send" method on the returned Request to send the API call to the service.
2722// the "output" return value is not valid until after Send returns without error.
2723//
2724// See UpdateThesaurus for more information on using the UpdateThesaurus
2725// API call, and error handling.
2726//
2727// This method is useful when you want to inject custom logic or configuration
2728// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2729//
2730//
2731//    // Example sending a request using the UpdateThesaurusRequest method.
2732//    req, resp := client.UpdateThesaurusRequest(params)
2733//
2734//    err := req.Send()
2735//    if err == nil { // resp is now filled
2736//        fmt.Println(resp)
2737//    }
2738//
2739// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/UpdateThesaurus
2740func (c *Kendra) UpdateThesaurusRequest(input *UpdateThesaurusInput) (req *request.Request, output *UpdateThesaurusOutput) {
2741	op := &request.Operation{
2742		Name:       opUpdateThesaurus,
2743		HTTPMethod: "POST",
2744		HTTPPath:   "/",
2745	}
2746
2747	if input == nil {
2748		input = &UpdateThesaurusInput{}
2749	}
2750
2751	output = &UpdateThesaurusOutput{}
2752	req = c.newRequest(op, input, output)
2753	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2754	return
2755}
2756
2757// UpdateThesaurus API operation for AWSKendraFrontendService.
2758//
2759// Updates a thesaurus file associated with an index.
2760//
2761// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2762// with awserr.Error's Code and Message methods to get detailed information about
2763// the error.
2764//
2765// See the AWS API reference guide for AWSKendraFrontendService's
2766// API operation UpdateThesaurus for usage and error information.
2767//
2768// Returned Error Types:
2769//   * ValidationException
2770//
2771//   * ResourceNotFoundException
2772//
2773//   * ThrottlingException
2774//
2775//   * AccessDeniedException
2776//
2777//   * ConflictException
2778//
2779//   * InternalServerException
2780//
2781// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/UpdateThesaurus
2782func (c *Kendra) UpdateThesaurus(input *UpdateThesaurusInput) (*UpdateThesaurusOutput, error) {
2783	req, out := c.UpdateThesaurusRequest(input)
2784	return out, req.Send()
2785}
2786
2787// UpdateThesaurusWithContext is the same as UpdateThesaurus with the addition of
2788// the ability to pass a context and additional request options.
2789//
2790// See UpdateThesaurus for details on how to use this API operation.
2791//
2792// The context must be non-nil and will be used for request cancellation. If
2793// the context is nil a panic will occur. In the future the SDK may create
2794// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2795// for more information on using Contexts.
2796func (c *Kendra) UpdateThesaurusWithContext(ctx aws.Context, input *UpdateThesaurusInput, opts ...request.Option) (*UpdateThesaurusOutput, error) {
2797	req, out := c.UpdateThesaurusRequest(input)
2798	req.SetContext(ctx)
2799	req.ApplyOptions(opts...)
2800	return out, req.Send()
2801}
2802
2803// Access Control List files for the documents in a data source. For the format
2804// of the file, see Access control for S3 data sources (https://docs.aws.amazon.com/kendra/latest/dg/s3-acl.html).
2805type AccessControlListConfiguration struct {
2806	_ struct{} `type:"structure"`
2807
2808	// Path to the AWS S3 bucket that contains the ACL files.
2809	KeyPath *string `min:"1" type:"string"`
2810}
2811
2812// String returns the string representation
2813func (s AccessControlListConfiguration) String() string {
2814	return awsutil.Prettify(s)
2815}
2816
2817// GoString returns the string representation
2818func (s AccessControlListConfiguration) GoString() string {
2819	return s.String()
2820}
2821
2822// Validate inspects the fields of the type to determine if they are valid.
2823func (s *AccessControlListConfiguration) Validate() error {
2824	invalidParams := request.ErrInvalidParams{Context: "AccessControlListConfiguration"}
2825	if s.KeyPath != nil && len(*s.KeyPath) < 1 {
2826		invalidParams.Add(request.NewErrParamMinLen("KeyPath", 1))
2827	}
2828
2829	if invalidParams.Len() > 0 {
2830		return invalidParams
2831	}
2832	return nil
2833}
2834
2835// SetKeyPath sets the KeyPath field's value.
2836func (s *AccessControlListConfiguration) SetKeyPath(v string) *AccessControlListConfiguration {
2837	s.KeyPath = &v
2838	return s
2839}
2840
2841type AccessDeniedException struct {
2842	_            struct{}                  `type:"structure"`
2843	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2844
2845	Message_ *string `locationName:"Message" min:"1" type:"string"`
2846}
2847
2848// String returns the string representation
2849func (s AccessDeniedException) String() string {
2850	return awsutil.Prettify(s)
2851}
2852
2853// GoString returns the string representation
2854func (s AccessDeniedException) GoString() string {
2855	return s.String()
2856}
2857
2858func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
2859	return &AccessDeniedException{
2860		RespMetadata: v,
2861	}
2862}
2863
2864// Code returns the exception type name.
2865func (s *AccessDeniedException) Code() string {
2866	return "AccessDeniedException"
2867}
2868
2869// Message returns the exception's message.
2870func (s *AccessDeniedException) Message() string {
2871	if s.Message_ != nil {
2872		return *s.Message_
2873	}
2874	return ""
2875}
2876
2877// OrigErr always returns nil, satisfies awserr.Error interface.
2878func (s *AccessDeniedException) OrigErr() error {
2879	return nil
2880}
2881
2882func (s *AccessDeniedException) Error() string {
2883	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
2884}
2885
2886// Status code returns the HTTP status code for the request's response error.
2887func (s *AccessDeniedException) StatusCode() int {
2888	return s.RespMetadata.StatusCode
2889}
2890
2891// RequestID returns the service's response RequestID for request.
2892func (s *AccessDeniedException) RequestID() string {
2893	return s.RespMetadata.RequestID
2894}
2895
2896// Provides information about the column that should be used for filtering the
2897// query response by groups.
2898type AclConfiguration struct {
2899	_ struct{} `type:"structure"`
2900
2901	// A list of groups, separated by semi-colons, that filters a query response
2902	// based on user context. The document is only returned to users that are in
2903	// one of the groups specified in the UserContext field of the Query operation.
2904	//
2905	// AllowedGroupsColumnName is a required field
2906	AllowedGroupsColumnName *string `min:"1" type:"string" required:"true"`
2907}
2908
2909// String returns the string representation
2910func (s AclConfiguration) String() string {
2911	return awsutil.Prettify(s)
2912}
2913
2914// GoString returns the string representation
2915func (s AclConfiguration) GoString() string {
2916	return s.String()
2917}
2918
2919// Validate inspects the fields of the type to determine if they are valid.
2920func (s *AclConfiguration) Validate() error {
2921	invalidParams := request.ErrInvalidParams{Context: "AclConfiguration"}
2922	if s.AllowedGroupsColumnName == nil {
2923		invalidParams.Add(request.NewErrParamRequired("AllowedGroupsColumnName"))
2924	}
2925	if s.AllowedGroupsColumnName != nil && len(*s.AllowedGroupsColumnName) < 1 {
2926		invalidParams.Add(request.NewErrParamMinLen("AllowedGroupsColumnName", 1))
2927	}
2928
2929	if invalidParams.Len() > 0 {
2930		return invalidParams
2931	}
2932	return nil
2933}
2934
2935// SetAllowedGroupsColumnName sets the AllowedGroupsColumnName field's value.
2936func (s *AclConfiguration) SetAllowedGroupsColumnName(v string) *AclConfiguration {
2937	s.AllowedGroupsColumnName = &v
2938	return s
2939}
2940
2941// An attribute returned from an index query.
2942type AdditionalResultAttribute struct {
2943	_ struct{} `type:"structure"`
2944
2945	// The key that identifies the attribute.
2946	//
2947	// Key is a required field
2948	Key *string `min:"1" type:"string" required:"true"`
2949
2950	// An object that contains the attribute value.
2951	//
2952	// Value is a required field
2953	Value *AdditionalResultAttributeValue `type:"structure" required:"true"`
2954
2955	// The data type of the Value property.
2956	//
2957	// ValueType is a required field
2958	ValueType *string `type:"string" required:"true" enum:"AdditionalResultAttributeValueType"`
2959}
2960
2961// String returns the string representation
2962func (s AdditionalResultAttribute) String() string {
2963	return awsutil.Prettify(s)
2964}
2965
2966// GoString returns the string representation
2967func (s AdditionalResultAttribute) GoString() string {
2968	return s.String()
2969}
2970
2971// SetKey sets the Key field's value.
2972func (s *AdditionalResultAttribute) SetKey(v string) *AdditionalResultAttribute {
2973	s.Key = &v
2974	return s
2975}
2976
2977// SetValue sets the Value field's value.
2978func (s *AdditionalResultAttribute) SetValue(v *AdditionalResultAttributeValue) *AdditionalResultAttribute {
2979	s.Value = v
2980	return s
2981}
2982
2983// SetValueType sets the ValueType field's value.
2984func (s *AdditionalResultAttribute) SetValueType(v string) *AdditionalResultAttribute {
2985	s.ValueType = &v
2986	return s
2987}
2988
2989// An attribute returned with a document from a search.
2990type AdditionalResultAttributeValue struct {
2991	_ struct{} `type:"structure"`
2992
2993	// The text associated with the attribute and information about the highlight
2994	// to apply to the text.
2995	TextWithHighlightsValue *TextWithHighlights `type:"structure"`
2996}
2997
2998// String returns the string representation
2999func (s AdditionalResultAttributeValue) String() string {
3000	return awsutil.Prettify(s)
3001}
3002
3003// GoString returns the string representation
3004func (s AdditionalResultAttributeValue) GoString() string {
3005	return s.String()
3006}
3007
3008// SetTextWithHighlightsValue sets the TextWithHighlightsValue field's value.
3009func (s *AdditionalResultAttributeValue) SetTextWithHighlightsValue(v *TextWithHighlights) *AdditionalResultAttributeValue {
3010	s.TextWithHighlightsValue = v
3011	return s
3012}
3013
3014// Provides filtering the query results based on document attributes.
3015//
3016// When you use the AndAllFilters or OrAllFilters, filters you can use 2 layers
3017// under the first attribute filter. For example, you can use:
3018//
3019// <AndAllFilters>
3020//
3021// <OrAllFilters>
3022//
3023// <EqualTo>
3024//
3025// If you use more than 2 layers, you receive a ValidationException exception
3026// with the message "AttributeFilter cannot have a depth of more than 2."
3027type AttributeFilter struct {
3028	_ struct{} `type:"structure"`
3029
3030	// Performs a logical AND operation on all supplied filters.
3031	AndAllFilters []*AttributeFilter `type:"list"`
3032
3033	// Returns true when a document contains all of the specified document attributes.
3034	// This filter is only applicable to StringListValue metadata.
3035	ContainsAll *DocumentAttribute `type:"structure"`
3036
3037	// Returns true when a document contains any of the specified document attributes.
3038	// This filter is only applicable to StringListValue metadata.
3039	ContainsAny *DocumentAttribute `type:"structure"`
3040
3041	// Performs an equals operation on two document attributes.
3042	EqualsTo *DocumentAttribute `type:"structure"`
3043
3044	// Performs a greater than operation on two document attributes. Use with a
3045	// document attribute of type Integer or Long.
3046	GreaterThan *DocumentAttribute `type:"structure"`
3047
3048	// Performs a greater or equals than operation on two document attributes. Use
3049	// with a document attribute of type Integer or Long.
3050	GreaterThanOrEquals *DocumentAttribute `type:"structure"`
3051
3052	// Performs a less than operation on two document attributes. Use with a document
3053	// attribute of type Integer or Long.
3054	LessThan *DocumentAttribute `type:"structure"`
3055
3056	// Performs a less than or equals operation on two document attributes. Use
3057	// with a document attribute of type Integer or Long.
3058	LessThanOrEquals *DocumentAttribute `type:"structure"`
3059
3060	// Performs a logical NOT operation on all supplied filters.
3061	NotFilter *AttributeFilter `type:"structure"`
3062
3063	// Performs a logical OR operation on all supplied filters.
3064	OrAllFilters []*AttributeFilter `type:"list"`
3065}
3066
3067// String returns the string representation
3068func (s AttributeFilter) String() string {
3069	return awsutil.Prettify(s)
3070}
3071
3072// GoString returns the string representation
3073func (s AttributeFilter) GoString() string {
3074	return s.String()
3075}
3076
3077// Validate inspects the fields of the type to determine if they are valid.
3078func (s *AttributeFilter) Validate() error {
3079	invalidParams := request.ErrInvalidParams{Context: "AttributeFilter"}
3080	if s.ContainsAll != nil {
3081		if err := s.ContainsAll.Validate(); err != nil {
3082			invalidParams.AddNested("ContainsAll", err.(request.ErrInvalidParams))
3083		}
3084	}
3085	if s.ContainsAny != nil {
3086		if err := s.ContainsAny.Validate(); err != nil {
3087			invalidParams.AddNested("ContainsAny", err.(request.ErrInvalidParams))
3088		}
3089	}
3090	if s.EqualsTo != nil {
3091		if err := s.EqualsTo.Validate(); err != nil {
3092			invalidParams.AddNested("EqualsTo", err.(request.ErrInvalidParams))
3093		}
3094	}
3095	if s.GreaterThan != nil {
3096		if err := s.GreaterThan.Validate(); err != nil {
3097			invalidParams.AddNested("GreaterThan", err.(request.ErrInvalidParams))
3098		}
3099	}
3100	if s.GreaterThanOrEquals != nil {
3101		if err := s.GreaterThanOrEquals.Validate(); err != nil {
3102			invalidParams.AddNested("GreaterThanOrEquals", err.(request.ErrInvalidParams))
3103		}
3104	}
3105	if s.LessThan != nil {
3106		if err := s.LessThan.Validate(); err != nil {
3107			invalidParams.AddNested("LessThan", err.(request.ErrInvalidParams))
3108		}
3109	}
3110	if s.LessThanOrEquals != nil {
3111		if err := s.LessThanOrEquals.Validate(); err != nil {
3112			invalidParams.AddNested("LessThanOrEquals", err.(request.ErrInvalidParams))
3113		}
3114	}
3115	if s.NotFilter != nil {
3116		if err := s.NotFilter.Validate(); err != nil {
3117			invalidParams.AddNested("NotFilter", err.(request.ErrInvalidParams))
3118		}
3119	}
3120	if s.OrAllFilters != nil {
3121		for i, v := range s.OrAllFilters {
3122			if v == nil {
3123				continue
3124			}
3125			if err := v.Validate(); err != nil {
3126				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OrAllFilters", i), err.(request.ErrInvalidParams))
3127			}
3128		}
3129	}
3130
3131	if invalidParams.Len() > 0 {
3132		return invalidParams
3133	}
3134	return nil
3135}
3136
3137// SetAndAllFilters sets the AndAllFilters field's value.
3138func (s *AttributeFilter) SetAndAllFilters(v []*AttributeFilter) *AttributeFilter {
3139	s.AndAllFilters = v
3140	return s
3141}
3142
3143// SetContainsAll sets the ContainsAll field's value.
3144func (s *AttributeFilter) SetContainsAll(v *DocumentAttribute) *AttributeFilter {
3145	s.ContainsAll = v
3146	return s
3147}
3148
3149// SetContainsAny sets the ContainsAny field's value.
3150func (s *AttributeFilter) SetContainsAny(v *DocumentAttribute) *AttributeFilter {
3151	s.ContainsAny = v
3152	return s
3153}
3154
3155// SetEqualsTo sets the EqualsTo field's value.
3156func (s *AttributeFilter) SetEqualsTo(v *DocumentAttribute) *AttributeFilter {
3157	s.EqualsTo = v
3158	return s
3159}
3160
3161// SetGreaterThan sets the GreaterThan field's value.
3162func (s *AttributeFilter) SetGreaterThan(v *DocumentAttribute) *AttributeFilter {
3163	s.GreaterThan = v
3164	return s
3165}
3166
3167// SetGreaterThanOrEquals sets the GreaterThanOrEquals field's value.
3168func (s *AttributeFilter) SetGreaterThanOrEquals(v *DocumentAttribute) *AttributeFilter {
3169	s.GreaterThanOrEquals = v
3170	return s
3171}
3172
3173// SetLessThan sets the LessThan field's value.
3174func (s *AttributeFilter) SetLessThan(v *DocumentAttribute) *AttributeFilter {
3175	s.LessThan = v
3176	return s
3177}
3178
3179// SetLessThanOrEquals sets the LessThanOrEquals field's value.
3180func (s *AttributeFilter) SetLessThanOrEquals(v *DocumentAttribute) *AttributeFilter {
3181	s.LessThanOrEquals = v
3182	return s
3183}
3184
3185// SetNotFilter sets the NotFilter field's value.
3186func (s *AttributeFilter) SetNotFilter(v *AttributeFilter) *AttributeFilter {
3187	s.NotFilter = v
3188	return s
3189}
3190
3191// SetOrAllFilters sets the OrAllFilters field's value.
3192func (s *AttributeFilter) SetOrAllFilters(v []*AttributeFilter) *AttributeFilter {
3193	s.OrAllFilters = v
3194	return s
3195}
3196
3197type BatchDeleteDocumentInput struct {
3198	_ struct{} `type:"structure"`
3199
3200	// Maps a particular data source sync job to a particular data source.
3201	DataSourceSyncJobMetricTarget *DataSourceSyncJobMetricTarget `type:"structure"`
3202
3203	// One or more identifiers for documents to delete from the index.
3204	//
3205	// DocumentIdList is a required field
3206	DocumentIdList []*string `min:"1" type:"list" required:"true"`
3207
3208	// The identifier of the index that contains the documents to delete.
3209	//
3210	// IndexId is a required field
3211	IndexId *string `min:"36" type:"string" required:"true"`
3212}
3213
3214// String returns the string representation
3215func (s BatchDeleteDocumentInput) String() string {
3216	return awsutil.Prettify(s)
3217}
3218
3219// GoString returns the string representation
3220func (s BatchDeleteDocumentInput) GoString() string {
3221	return s.String()
3222}
3223
3224// Validate inspects the fields of the type to determine if they are valid.
3225func (s *BatchDeleteDocumentInput) Validate() error {
3226	invalidParams := request.ErrInvalidParams{Context: "BatchDeleteDocumentInput"}
3227	if s.DocumentIdList == nil {
3228		invalidParams.Add(request.NewErrParamRequired("DocumentIdList"))
3229	}
3230	if s.DocumentIdList != nil && len(s.DocumentIdList) < 1 {
3231		invalidParams.Add(request.NewErrParamMinLen("DocumentIdList", 1))
3232	}
3233	if s.IndexId == nil {
3234		invalidParams.Add(request.NewErrParamRequired("IndexId"))
3235	}
3236	if s.IndexId != nil && len(*s.IndexId) < 36 {
3237		invalidParams.Add(request.NewErrParamMinLen("IndexId", 36))
3238	}
3239	if s.DataSourceSyncJobMetricTarget != nil {
3240		if err := s.DataSourceSyncJobMetricTarget.Validate(); err != nil {
3241			invalidParams.AddNested("DataSourceSyncJobMetricTarget", err.(request.ErrInvalidParams))
3242		}
3243	}
3244
3245	if invalidParams.Len() > 0 {
3246		return invalidParams
3247	}
3248	return nil
3249}
3250
3251// SetDataSourceSyncJobMetricTarget sets the DataSourceSyncJobMetricTarget field's value.
3252func (s *BatchDeleteDocumentInput) SetDataSourceSyncJobMetricTarget(v *DataSourceSyncJobMetricTarget) *BatchDeleteDocumentInput {
3253	s.DataSourceSyncJobMetricTarget = v
3254	return s
3255}
3256
3257// SetDocumentIdList sets the DocumentIdList field's value.
3258func (s *BatchDeleteDocumentInput) SetDocumentIdList(v []*string) *BatchDeleteDocumentInput {
3259	s.DocumentIdList = v
3260	return s
3261}
3262
3263// SetIndexId sets the IndexId field's value.
3264func (s *BatchDeleteDocumentInput) SetIndexId(v string) *BatchDeleteDocumentInput {
3265	s.IndexId = &v
3266	return s
3267}
3268
3269type BatchDeleteDocumentOutput struct {
3270	_ struct{} `type:"structure"`
3271
3272	// A list of documents that could not be removed from the index. Each entry
3273	// contains an error message that indicates why the document couldn't be removed
3274	// from the index.
3275	FailedDocuments []*BatchDeleteDocumentResponseFailedDocument `type:"list"`
3276}
3277
3278// String returns the string representation
3279func (s BatchDeleteDocumentOutput) String() string {
3280	return awsutil.Prettify(s)
3281}
3282
3283// GoString returns the string representation
3284func (s BatchDeleteDocumentOutput) GoString() string {
3285	return s.String()
3286}
3287
3288// SetFailedDocuments sets the FailedDocuments field's value.
3289func (s *BatchDeleteDocumentOutput) SetFailedDocuments(v []*BatchDeleteDocumentResponseFailedDocument) *BatchDeleteDocumentOutput {
3290	s.FailedDocuments = v
3291	return s
3292}
3293
3294// Provides information about documents that could not be removed from an index
3295// by the BatchDeleteDocument operation.
3296type BatchDeleteDocumentResponseFailedDocument struct {
3297	_ struct{} `type:"structure"`
3298
3299	// The error code for why the document couldn't be removed from the index.
3300	ErrorCode *string `type:"string" enum:"ErrorCode"`
3301
3302	// An explanation for why the document couldn't be removed from the index.
3303	ErrorMessage *string `min:"1" type:"string"`
3304
3305	// The identifier of the document that couldn't be removed from the index.
3306	Id *string `min:"1" type:"string"`
3307}
3308
3309// String returns the string representation
3310func (s BatchDeleteDocumentResponseFailedDocument) String() string {
3311	return awsutil.Prettify(s)
3312}
3313
3314// GoString returns the string representation
3315func (s BatchDeleteDocumentResponseFailedDocument) GoString() string {
3316	return s.String()
3317}
3318
3319// SetErrorCode sets the ErrorCode field's value.
3320func (s *BatchDeleteDocumentResponseFailedDocument) SetErrorCode(v string) *BatchDeleteDocumentResponseFailedDocument {
3321	s.ErrorCode = &v
3322	return s
3323}
3324
3325// SetErrorMessage sets the ErrorMessage field's value.
3326func (s *BatchDeleteDocumentResponseFailedDocument) SetErrorMessage(v string) *BatchDeleteDocumentResponseFailedDocument {
3327	s.ErrorMessage = &v
3328	return s
3329}
3330
3331// SetId sets the Id field's value.
3332func (s *BatchDeleteDocumentResponseFailedDocument) SetId(v string) *BatchDeleteDocumentResponseFailedDocument {
3333	s.Id = &v
3334	return s
3335}
3336
3337type BatchPutDocumentInput struct {
3338	_ struct{} `type:"structure"`
3339
3340	// One or more documents to add to the index.
3341	//
3342	// Documents have the following file size limits.
3343	//
3344	//    * 5 MB total size for inline documents
3345	//
3346	//    * 50 MB total size for files from an S3 bucket
3347	//
3348	//    * 5 MB extracted text for any file
3349	//
3350	// For more information about file size and transaction per second quotas, see
3351	// Quotas (https://docs.aws.amazon.com/kendra/latest/dg/quotas.html).
3352	//
3353	// Documents is a required field
3354	Documents []*Document `min:"1" type:"list" required:"true"`
3355
3356	// The identifier of the index to add the documents to. You need to create the
3357	// index first using the CreateIndex operation.
3358	//
3359	// IndexId is a required field
3360	IndexId *string `min:"36" type:"string" required:"true"`
3361
3362	// The Amazon Resource Name (ARN) of a role that is allowed to run the BatchPutDocument
3363	// operation. For more information, see IAM Roles for Amazon Kendra (https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html).
3364	RoleArn *string `min:"1" type:"string"`
3365}
3366
3367// String returns the string representation
3368func (s BatchPutDocumentInput) String() string {
3369	return awsutil.Prettify(s)
3370}
3371
3372// GoString returns the string representation
3373func (s BatchPutDocumentInput) GoString() string {
3374	return s.String()
3375}
3376
3377// Validate inspects the fields of the type to determine if they are valid.
3378func (s *BatchPutDocumentInput) Validate() error {
3379	invalidParams := request.ErrInvalidParams{Context: "BatchPutDocumentInput"}
3380	if s.Documents == nil {
3381		invalidParams.Add(request.NewErrParamRequired("Documents"))
3382	}
3383	if s.Documents != nil && len(s.Documents) < 1 {
3384		invalidParams.Add(request.NewErrParamMinLen("Documents", 1))
3385	}
3386	if s.IndexId == nil {
3387		invalidParams.Add(request.NewErrParamRequired("IndexId"))
3388	}
3389	if s.IndexId != nil && len(*s.IndexId) < 36 {
3390		invalidParams.Add(request.NewErrParamMinLen("IndexId", 36))
3391	}
3392	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
3393		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
3394	}
3395	if s.Documents != nil {
3396		for i, v := range s.Documents {
3397			if v == nil {
3398				continue
3399			}
3400			if err := v.Validate(); err != nil {
3401				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Documents", i), err.(request.ErrInvalidParams))
3402			}
3403		}
3404	}
3405
3406	if invalidParams.Len() > 0 {
3407		return invalidParams
3408	}
3409	return nil
3410}
3411
3412// SetDocuments sets the Documents field's value.
3413func (s *BatchPutDocumentInput) SetDocuments(v []*Document) *BatchPutDocumentInput {
3414	s.Documents = v
3415	return s
3416}
3417
3418// SetIndexId sets the IndexId field's value.
3419func (s *BatchPutDocumentInput) SetIndexId(v string) *BatchPutDocumentInput {
3420	s.IndexId = &v
3421	return s
3422}
3423
3424// SetRoleArn sets the RoleArn field's value.
3425func (s *BatchPutDocumentInput) SetRoleArn(v string) *BatchPutDocumentInput {
3426	s.RoleArn = &v
3427	return s
3428}
3429
3430type BatchPutDocumentOutput struct {
3431	_ struct{} `type:"structure"`
3432
3433	// A list of documents that were not added to the index because the document
3434	// failed a validation check. Each document contains an error message that indicates
3435	// why the document couldn't be added to the index.
3436	//
3437	// If there was an error adding a document to an index the error is reported
3438	// in your AWS CloudWatch log. For more information, see Monitoring Amazon Kendra
3439	// with Amazon CloudWatch Logs (https://docs.aws.amazon.com/kendra/latest/dg/cloudwatch-logs.html)
3440	FailedDocuments []*BatchPutDocumentResponseFailedDocument `type:"list"`
3441}
3442
3443// String returns the string representation
3444func (s BatchPutDocumentOutput) String() string {
3445	return awsutil.Prettify(s)
3446}
3447
3448// GoString returns the string representation
3449func (s BatchPutDocumentOutput) GoString() string {
3450	return s.String()
3451}
3452
3453// SetFailedDocuments sets the FailedDocuments field's value.
3454func (s *BatchPutDocumentOutput) SetFailedDocuments(v []*BatchPutDocumentResponseFailedDocument) *BatchPutDocumentOutput {
3455	s.FailedDocuments = v
3456	return s
3457}
3458
3459// Provides information about a document that could not be indexed.
3460type BatchPutDocumentResponseFailedDocument struct {
3461	_ struct{} `type:"structure"`
3462
3463	// The type of error that caused the document to fail to be indexed.
3464	ErrorCode *string `type:"string" enum:"ErrorCode"`
3465
3466	// A description of the reason why the document could not be indexed.
3467	ErrorMessage *string `min:"1" type:"string"`
3468
3469	// The unique identifier of the document.
3470	Id *string `min:"1" type:"string"`
3471}
3472
3473// String returns the string representation
3474func (s BatchPutDocumentResponseFailedDocument) String() string {
3475	return awsutil.Prettify(s)
3476}
3477
3478// GoString returns the string representation
3479func (s BatchPutDocumentResponseFailedDocument) GoString() string {
3480	return s.String()
3481}
3482
3483// SetErrorCode sets the ErrorCode field's value.
3484func (s *BatchPutDocumentResponseFailedDocument) SetErrorCode(v string) *BatchPutDocumentResponseFailedDocument {
3485	s.ErrorCode = &v
3486	return s
3487}
3488
3489// SetErrorMessage sets the ErrorMessage field's value.
3490func (s *BatchPutDocumentResponseFailedDocument) SetErrorMessage(v string) *BatchPutDocumentResponseFailedDocument {
3491	s.ErrorMessage = &v
3492	return s
3493}
3494
3495// SetId sets the Id field's value.
3496func (s *BatchPutDocumentResponseFailedDocument) SetId(v string) *BatchPutDocumentResponseFailedDocument {
3497	s.Id = &v
3498	return s
3499}
3500
3501// Specifies capacity units configured for your index. You can add and remove
3502// capacity units to tune an index to your requirements.
3503type CapacityUnitsConfiguration struct {
3504	_ struct{} `type:"structure"`
3505
3506	// The amount of extra query capacity for an index. Each capacity unit provides
3507	// 0.5 queries per second and 40,000 queries per day.
3508	//
3509	// QueryCapacityUnits is a required field
3510	QueryCapacityUnits *int64 `type:"integer" required:"true"`
3511
3512	// The amount of extra storage capacity for an index. Each capacity unit provides
3513	// 150 Gb of storage space or 500,000 documents, whichever is reached first.
3514	//
3515	// StorageCapacityUnits is a required field
3516	StorageCapacityUnits *int64 `type:"integer" required:"true"`
3517}
3518
3519// String returns the string representation
3520func (s CapacityUnitsConfiguration) String() string {
3521	return awsutil.Prettify(s)
3522}
3523
3524// GoString returns the string representation
3525func (s CapacityUnitsConfiguration) GoString() string {
3526	return s.String()
3527}
3528
3529// Validate inspects the fields of the type to determine if they are valid.
3530func (s *CapacityUnitsConfiguration) Validate() error {
3531	invalidParams := request.ErrInvalidParams{Context: "CapacityUnitsConfiguration"}
3532	if s.QueryCapacityUnits == nil {
3533		invalidParams.Add(request.NewErrParamRequired("QueryCapacityUnits"))
3534	}
3535	if s.StorageCapacityUnits == nil {
3536		invalidParams.Add(request.NewErrParamRequired("StorageCapacityUnits"))
3537	}
3538
3539	if invalidParams.Len() > 0 {
3540		return invalidParams
3541	}
3542	return nil
3543}
3544
3545// SetQueryCapacityUnits sets the QueryCapacityUnits field's value.
3546func (s *CapacityUnitsConfiguration) SetQueryCapacityUnits(v int64) *CapacityUnitsConfiguration {
3547	s.QueryCapacityUnits = &v
3548	return s
3549}
3550
3551// SetStorageCapacityUnits sets the StorageCapacityUnits field's value.
3552func (s *CapacityUnitsConfiguration) SetStorageCapacityUnits(v int64) *CapacityUnitsConfiguration {
3553	s.StorageCapacityUnits = &v
3554	return s
3555}
3556
3557// Gathers information about when a particular result was clicked by a user.
3558// Your application uses the SubmitFeedback operation to provide click information.
3559type ClickFeedback struct {
3560	_ struct{} `type:"structure"`
3561
3562	// The Unix timestamp of the date and time that the result was clicked.
3563	//
3564	// ClickTime is a required field
3565	ClickTime *time.Time `type:"timestamp" required:"true"`
3566
3567	// The unique identifier of the search result that was clicked.
3568	//
3569	// ResultId is a required field
3570	ResultId *string `min:"1" type:"string" required:"true"`
3571}
3572
3573// String returns the string representation
3574func (s ClickFeedback) String() string {
3575	return awsutil.Prettify(s)
3576}
3577
3578// GoString returns the string representation
3579func (s ClickFeedback) GoString() string {
3580	return s.String()
3581}
3582
3583// Validate inspects the fields of the type to determine if they are valid.
3584func (s *ClickFeedback) Validate() error {
3585	invalidParams := request.ErrInvalidParams{Context: "ClickFeedback"}
3586	if s.ClickTime == nil {
3587		invalidParams.Add(request.NewErrParamRequired("ClickTime"))
3588	}
3589	if s.ResultId == nil {
3590		invalidParams.Add(request.NewErrParamRequired("ResultId"))
3591	}
3592	if s.ResultId != nil && len(*s.ResultId) < 1 {
3593		invalidParams.Add(request.NewErrParamMinLen("ResultId", 1))
3594	}
3595
3596	if invalidParams.Len() > 0 {
3597		return invalidParams
3598	}
3599	return nil
3600}
3601
3602// SetClickTime sets the ClickTime field's value.
3603func (s *ClickFeedback) SetClickTime(v time.Time) *ClickFeedback {
3604	s.ClickTime = &v
3605	return s
3606}
3607
3608// SetResultId sets the ResultId field's value.
3609func (s *ClickFeedback) SetResultId(v string) *ClickFeedback {
3610	s.ResultId = &v
3611	return s
3612}
3613
3614// Provides information about how Amazon Kendra should use the columns of a
3615// database in an index.
3616type ColumnConfiguration struct {
3617	_ struct{} `type:"structure"`
3618
3619	// One to five columns that indicate when a document in the database has changed.
3620	//
3621	// ChangeDetectingColumns is a required field
3622	ChangeDetectingColumns []*string `min:"1" type:"list" required:"true"`
3623
3624	// The column that contains the contents of the document.
3625	//
3626	// DocumentDataColumnName is a required field
3627	DocumentDataColumnName *string `min:"1" type:"string" required:"true"`
3628
3629	// The column that provides the document's unique identifier.
3630	//
3631	// DocumentIdColumnName is a required field
3632	DocumentIdColumnName *string `min:"1" type:"string" required:"true"`
3633
3634	// The column that contains the title of the document.
3635	DocumentTitleColumnName *string `min:"1" type:"string"`
3636
3637	// An array of objects that map database column names to the corresponding fields
3638	// in an index. You must first create the fields in the index using the UpdateIndex
3639	// operation.
3640	FieldMappings []*DataSourceToIndexFieldMapping `min:"1" type:"list"`
3641}
3642
3643// String returns the string representation
3644func (s ColumnConfiguration) String() string {
3645	return awsutil.Prettify(s)
3646}
3647
3648// GoString returns the string representation
3649func (s ColumnConfiguration) GoString() string {
3650	return s.String()
3651}
3652
3653// Validate inspects the fields of the type to determine if they are valid.
3654func (s *ColumnConfiguration) Validate() error {
3655	invalidParams := request.ErrInvalidParams{Context: "ColumnConfiguration"}
3656	if s.ChangeDetectingColumns == nil {
3657		invalidParams.Add(request.NewErrParamRequired("ChangeDetectingColumns"))
3658	}
3659	if s.ChangeDetectingColumns != nil && len(s.ChangeDetectingColumns) < 1 {
3660		invalidParams.Add(request.NewErrParamMinLen("ChangeDetectingColumns", 1))
3661	}
3662	if s.DocumentDataColumnName == nil {
3663		invalidParams.Add(request.NewErrParamRequired("DocumentDataColumnName"))
3664	}
3665	if s.DocumentDataColumnName != nil && len(*s.DocumentDataColumnName) < 1 {
3666		invalidParams.Add(request.NewErrParamMinLen("DocumentDataColumnName", 1))
3667	}
3668	if s.DocumentIdColumnName == nil {
3669		invalidParams.Add(request.NewErrParamRequired("DocumentIdColumnName"))
3670	}
3671	if s.DocumentIdColumnName != nil && len(*s.DocumentIdColumnName) < 1 {
3672		invalidParams.Add(request.NewErrParamMinLen("DocumentIdColumnName", 1))
3673	}
3674	if s.DocumentTitleColumnName != nil && len(*s.DocumentTitleColumnName) < 1 {
3675		invalidParams.Add(request.NewErrParamMinLen("DocumentTitleColumnName", 1))
3676	}
3677	if s.FieldMappings != nil && len(s.FieldMappings) < 1 {
3678		invalidParams.Add(request.NewErrParamMinLen("FieldMappings", 1))
3679	}
3680	if s.FieldMappings != nil {
3681		for i, v := range s.FieldMappings {
3682			if v == nil {
3683				continue
3684			}
3685			if err := v.Validate(); err != nil {
3686				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FieldMappings", i), err.(request.ErrInvalidParams))
3687			}
3688		}
3689	}
3690
3691	if invalidParams.Len() > 0 {
3692		return invalidParams
3693	}
3694	return nil
3695}
3696
3697// SetChangeDetectingColumns sets the ChangeDetectingColumns field's value.
3698func (s *ColumnConfiguration) SetChangeDetectingColumns(v []*string) *ColumnConfiguration {
3699	s.ChangeDetectingColumns = v
3700	return s
3701}
3702
3703// SetDocumentDataColumnName sets the DocumentDataColumnName field's value.
3704func (s *ColumnConfiguration) SetDocumentDataColumnName(v string) *ColumnConfiguration {
3705	s.DocumentDataColumnName = &v
3706	return s
3707}
3708
3709// SetDocumentIdColumnName sets the DocumentIdColumnName field's value.
3710func (s *ColumnConfiguration) SetDocumentIdColumnName(v string) *ColumnConfiguration {
3711	s.DocumentIdColumnName = &v
3712	return s
3713}
3714
3715// SetDocumentTitleColumnName sets the DocumentTitleColumnName field's value.
3716func (s *ColumnConfiguration) SetDocumentTitleColumnName(v string) *ColumnConfiguration {
3717	s.DocumentTitleColumnName = &v
3718	return s
3719}
3720
3721// SetFieldMappings sets the FieldMappings field's value.
3722func (s *ColumnConfiguration) SetFieldMappings(v []*DataSourceToIndexFieldMapping) *ColumnConfiguration {
3723	s.FieldMappings = v
3724	return s
3725}
3726
3727type ConflictException struct {
3728	_            struct{}                  `type:"structure"`
3729	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3730
3731	Message_ *string `locationName:"Message" min:"1" type:"string"`
3732}
3733
3734// String returns the string representation
3735func (s ConflictException) String() string {
3736	return awsutil.Prettify(s)
3737}
3738
3739// GoString returns the string representation
3740func (s ConflictException) GoString() string {
3741	return s.String()
3742}
3743
3744func newErrorConflictException(v protocol.ResponseMetadata) error {
3745	return &ConflictException{
3746		RespMetadata: v,
3747	}
3748}
3749
3750// Code returns the exception type name.
3751func (s *ConflictException) Code() string {
3752	return "ConflictException"
3753}
3754
3755// Message returns the exception's message.
3756func (s *ConflictException) Message() string {
3757	if s.Message_ != nil {
3758		return *s.Message_
3759	}
3760	return ""
3761}
3762
3763// OrigErr always returns nil, satisfies awserr.Error interface.
3764func (s *ConflictException) OrigErr() error {
3765	return nil
3766}
3767
3768func (s *ConflictException) Error() string {
3769	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
3770}
3771
3772// Status code returns the HTTP status code for the request's response error.
3773func (s *ConflictException) StatusCode() int {
3774	return s.RespMetadata.StatusCode
3775}
3776
3777// RequestID returns the service's response RequestID for request.
3778func (s *ConflictException) RequestID() string {
3779	return s.RespMetadata.RequestID
3780}
3781
3782// Specifies the attachment settings for the Confluence data source. Attachment
3783// settings are optional, if you don't specify settings attachments, Amazon
3784// Kendra won't index them.
3785type ConfluenceAttachmentConfiguration struct {
3786	_ struct{} `type:"structure"`
3787
3788	// Defines how attachment metadata fields should be mapped to index fields.
3789	// Before you can map a field, you must first create an index field with a matching
3790	// type using the console or the UpdateIndex operation.
3791	//
3792	// If you specify the AttachentFieldMappings parameter, you must specify at
3793	// least one field mapping.
3794	AttachmentFieldMappings []*ConfluenceAttachmentToIndexFieldMapping `min:"1" type:"list"`
3795
3796	// Indicates whether Amazon Kendra indexes attachments to the pages and blogs
3797	// in the Confluence data source.
3798	CrawlAttachments *bool `type:"boolean"`
3799}
3800
3801// String returns the string representation
3802func (s ConfluenceAttachmentConfiguration) String() string {
3803	return awsutil.Prettify(s)
3804}
3805
3806// GoString returns the string representation
3807func (s ConfluenceAttachmentConfiguration) GoString() string {
3808	return s.String()
3809}
3810
3811// Validate inspects the fields of the type to determine if they are valid.
3812func (s *ConfluenceAttachmentConfiguration) Validate() error {
3813	invalidParams := request.ErrInvalidParams{Context: "ConfluenceAttachmentConfiguration"}
3814	if s.AttachmentFieldMappings != nil && len(s.AttachmentFieldMappings) < 1 {
3815		invalidParams.Add(request.NewErrParamMinLen("AttachmentFieldMappings", 1))
3816	}
3817	if s.AttachmentFieldMappings != nil {
3818		for i, v := range s.AttachmentFieldMappings {
3819			if v == nil {
3820				continue
3821			}
3822			if err := v.Validate(); err != nil {
3823				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AttachmentFieldMappings", i), err.(request.ErrInvalidParams))
3824			}
3825		}
3826	}
3827
3828	if invalidParams.Len() > 0 {
3829		return invalidParams
3830	}
3831	return nil
3832}
3833
3834// SetAttachmentFieldMappings sets the AttachmentFieldMappings field's value.
3835func (s *ConfluenceAttachmentConfiguration) SetAttachmentFieldMappings(v []*ConfluenceAttachmentToIndexFieldMapping) *ConfluenceAttachmentConfiguration {
3836	s.AttachmentFieldMappings = v
3837	return s
3838}
3839
3840// SetCrawlAttachments sets the CrawlAttachments field's value.
3841func (s *ConfluenceAttachmentConfiguration) SetCrawlAttachments(v bool) *ConfluenceAttachmentConfiguration {
3842	s.CrawlAttachments = &v
3843	return s
3844}
3845
3846// Defines the mapping between a field in the Confluence data source to a Amazon
3847// Kendra index field.
3848//
3849// You must first create the index field using the UpdateIndex operation.
3850type ConfluenceAttachmentToIndexFieldMapping struct {
3851	_ struct{} `type:"structure"`
3852
3853	// The name of the field in the data source.
3854	//
3855	// You must first create the index field using the UpdateIndex operation.
3856	DataSourceFieldName *string `type:"string" enum:"ConfluenceAttachmentFieldName"`
3857
3858	// The format for date fields in the data source. If the field specified in
3859	// DataSourceFieldName is a date field you must specify the date format. If
3860	// the field is not a date field, an exception is thrown.
3861	DateFieldFormat *string `min:"4" type:"string"`
3862
3863	// The name of the index field to map to the Confluence data source field. The
3864	// index field type must match the Confluence field type.
3865	IndexFieldName *string `min:"1" type:"string"`
3866}
3867
3868// String returns the string representation
3869func (s ConfluenceAttachmentToIndexFieldMapping) String() string {
3870	return awsutil.Prettify(s)
3871}
3872
3873// GoString returns the string representation
3874func (s ConfluenceAttachmentToIndexFieldMapping) GoString() string {
3875	return s.String()
3876}
3877
3878// Validate inspects the fields of the type to determine if they are valid.
3879func (s *ConfluenceAttachmentToIndexFieldMapping) Validate() error {
3880	invalidParams := request.ErrInvalidParams{Context: "ConfluenceAttachmentToIndexFieldMapping"}
3881	if s.DateFieldFormat != nil && len(*s.DateFieldFormat) < 4 {
3882		invalidParams.Add(request.NewErrParamMinLen("DateFieldFormat", 4))
3883	}
3884	if s.IndexFieldName != nil && len(*s.IndexFieldName) < 1 {
3885		invalidParams.Add(request.NewErrParamMinLen("IndexFieldName", 1))
3886	}
3887
3888	if invalidParams.Len() > 0 {
3889		return invalidParams
3890	}
3891	return nil
3892}
3893
3894// SetDataSourceFieldName sets the DataSourceFieldName field's value.
3895func (s *ConfluenceAttachmentToIndexFieldMapping) SetDataSourceFieldName(v string) *ConfluenceAttachmentToIndexFieldMapping {
3896	s.DataSourceFieldName = &v
3897	return s
3898}
3899
3900// SetDateFieldFormat sets the DateFieldFormat field's value.
3901func (s *ConfluenceAttachmentToIndexFieldMapping) SetDateFieldFormat(v string) *ConfluenceAttachmentToIndexFieldMapping {
3902	s.DateFieldFormat = &v
3903	return s
3904}
3905
3906// SetIndexFieldName sets the IndexFieldName field's value.
3907func (s *ConfluenceAttachmentToIndexFieldMapping) SetIndexFieldName(v string) *ConfluenceAttachmentToIndexFieldMapping {
3908	s.IndexFieldName = &v
3909	return s
3910}
3911
3912// Specifies the blog settings for the Confluence data source. Blogs are always
3913// indexed unless filtered from the index by the ExclusionPatterns or InclusionPatterns
3914// fields in the ConfluenceConfiguration type.
3915type ConfluenceBlogConfiguration struct {
3916	_ struct{} `type:"structure"`
3917
3918	// Defines how blog metadata fields should be mapped to index fields. Before
3919	// you can map a field, you must first create an index field with a matching
3920	// type using the console or the UpdateIndex operation.
3921	//
3922	// If you specify the BlogFieldMappings parameter, you must specify at least
3923	// one field mapping.
3924	BlogFieldMappings []*ConfluenceBlogToIndexFieldMapping `min:"1" type:"list"`
3925}
3926
3927// String returns the string representation
3928func (s ConfluenceBlogConfiguration) String() string {
3929	return awsutil.Prettify(s)
3930}
3931
3932// GoString returns the string representation
3933func (s ConfluenceBlogConfiguration) GoString() string {
3934	return s.String()
3935}
3936
3937// Validate inspects the fields of the type to determine if they are valid.
3938func (s *ConfluenceBlogConfiguration) Validate() error {
3939	invalidParams := request.ErrInvalidParams{Context: "ConfluenceBlogConfiguration"}
3940	if s.BlogFieldMappings != nil && len(s.BlogFieldMappings) < 1 {
3941		invalidParams.Add(request.NewErrParamMinLen("BlogFieldMappings", 1))
3942	}
3943	if s.BlogFieldMappings != nil {
3944		for i, v := range s.BlogFieldMappings {
3945			if v == nil {
3946				continue
3947			}
3948			if err := v.Validate(); err != nil {
3949				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "BlogFieldMappings", i), err.(request.ErrInvalidParams))
3950			}
3951		}
3952	}
3953
3954	if invalidParams.Len() > 0 {
3955		return invalidParams
3956	}
3957	return nil
3958}
3959
3960// SetBlogFieldMappings sets the BlogFieldMappings field's value.
3961func (s *ConfluenceBlogConfiguration) SetBlogFieldMappings(v []*ConfluenceBlogToIndexFieldMapping) *ConfluenceBlogConfiguration {
3962	s.BlogFieldMappings = v
3963	return s
3964}
3965
3966// Defines the mapping between a blog field in the Confluence data source to
3967// a Amazon Kendra index field.
3968//
3969// You must first create the index field using the UpdateIndex operation.
3970type ConfluenceBlogToIndexFieldMapping struct {
3971	_ struct{} `type:"structure"`
3972
3973	// The name of the field in the data source.
3974	DataSourceFieldName *string `type:"string" enum:"ConfluenceBlogFieldName"`
3975
3976	// The format for date fields in the data source. If the field specified in
3977	// DataSourceFieldName is a date field you must specify the date format. If
3978	// the field is not a date field, an exception is thrown.
3979	DateFieldFormat *string `min:"4" type:"string"`
3980
3981	// The name of the index field to map to the Confluence data source field. The
3982	// index field type must match the Confluence field type.
3983	IndexFieldName *string `min:"1" type:"string"`
3984}
3985
3986// String returns the string representation
3987func (s ConfluenceBlogToIndexFieldMapping) String() string {
3988	return awsutil.Prettify(s)
3989}
3990
3991// GoString returns the string representation
3992func (s ConfluenceBlogToIndexFieldMapping) GoString() string {
3993	return s.String()
3994}
3995
3996// Validate inspects the fields of the type to determine if they are valid.
3997func (s *ConfluenceBlogToIndexFieldMapping) Validate() error {
3998	invalidParams := request.ErrInvalidParams{Context: "ConfluenceBlogToIndexFieldMapping"}
3999	if s.DateFieldFormat != nil && len(*s.DateFieldFormat) < 4 {
4000		invalidParams.Add(request.NewErrParamMinLen("DateFieldFormat", 4))
4001	}
4002	if s.IndexFieldName != nil && len(*s.IndexFieldName) < 1 {
4003		invalidParams.Add(request.NewErrParamMinLen("IndexFieldName", 1))
4004	}
4005
4006	if invalidParams.Len() > 0 {
4007		return invalidParams
4008	}
4009	return nil
4010}
4011
4012// SetDataSourceFieldName sets the DataSourceFieldName field's value.
4013func (s *ConfluenceBlogToIndexFieldMapping) SetDataSourceFieldName(v string) *ConfluenceBlogToIndexFieldMapping {
4014	s.DataSourceFieldName = &v
4015	return s
4016}
4017
4018// SetDateFieldFormat sets the DateFieldFormat field's value.
4019func (s *ConfluenceBlogToIndexFieldMapping) SetDateFieldFormat(v string) *ConfluenceBlogToIndexFieldMapping {
4020	s.DateFieldFormat = &v
4021	return s
4022}
4023
4024// SetIndexFieldName sets the IndexFieldName field's value.
4025func (s *ConfluenceBlogToIndexFieldMapping) SetIndexFieldName(v string) *ConfluenceBlogToIndexFieldMapping {
4026	s.IndexFieldName = &v
4027	return s
4028}
4029
4030// Provides configuration information for data sources that connect to Confluence.
4031type ConfluenceConfiguration struct {
4032	_ struct{} `type:"structure"`
4033
4034	// Specifies configuration information for indexing attachments to Confluence
4035	// blogs and pages.
4036	AttachmentConfiguration *ConfluenceAttachmentConfiguration `type:"structure"`
4037
4038	// Specifies configuration information for indexing Confluence blogs.
4039	BlogConfiguration *ConfluenceBlogConfiguration `type:"structure"`
4040
4041	// A list of regular expression patterns that apply to a URL on the Confluence
4042	// server. An exclusion pattern can apply to a blog post, a page, a space, or
4043	// an attachment. Items that match the pattern are excluded from the index.
4044	// Items that don't match the pattern are included in the index. If a item matches
4045	// both an exclusion pattern and an inclusion pattern, the item isn't included
4046	// in the index.
4047	ExclusionPatterns []*string `type:"list"`
4048
4049	// A list of regular expression patterns that apply to a URL on the Confluence
4050	// server. An inclusion pattern can apply to a blog post, a page, a space, or
4051	// an attachment. Items that match the patterns are included in the index. Items
4052	// that don't match the pattern are excluded from the index. If an item matches
4053	// both an inclusion pattern and an exclusion pattern, the item isn't included
4054	// in the index.
4055	InclusionPatterns []*string `type:"list"`
4056
4057	// Specifies configuration information for indexing Confluence pages.
4058	PageConfiguration *ConfluencePageConfiguration `type:"structure"`
4059
4060	// The Amazon Resource Name (ARN) of an AWS Secrets Manager secret that contains
4061	// the key/value pairs required to connect to your Confluence server. The secret
4062	// must contain a JSON structure with the following keys:
4063	//
4064	//    * username - The user name or email address of a user with administrative
4065	//    privileges for the Confluence server.
4066	//
4067	//    * password - The password associated with the user logging in to the Confluence
4068	//    server.
4069	//
4070	// SecretArn is a required field
4071	SecretArn *string `min:"1" type:"string" required:"true"`
4072
4073	// The URL of your Confluence instance. Use the full URL of the server. For
4074	// example, https://server.example.com:port/. You can also use an IP address,
4075	// for example, https://192.168.1.113/.
4076	//
4077	// ServerUrl is a required field
4078	ServerUrl *string `min:"1" type:"string" required:"true"`
4079
4080	// Specifies configuration information for indexing Confluence spaces.
4081	SpaceConfiguration *ConfluenceSpaceConfiguration `type:"structure"`
4082
4083	// Specifies the version of the Confluence installation that you are connecting
4084	// to.
4085	//
4086	// Version is a required field
4087	Version *string `type:"string" required:"true" enum:"ConfluenceVersion"`
4088
4089	// Specifies the information for connecting to an Amazon VPC.
4090	VpcConfiguration *DataSourceVpcConfiguration `type:"structure"`
4091}
4092
4093// String returns the string representation
4094func (s ConfluenceConfiguration) String() string {
4095	return awsutil.Prettify(s)
4096}
4097
4098// GoString returns the string representation
4099func (s ConfluenceConfiguration) GoString() string {
4100	return s.String()
4101}
4102
4103// Validate inspects the fields of the type to determine if they are valid.
4104func (s *ConfluenceConfiguration) Validate() error {
4105	invalidParams := request.ErrInvalidParams{Context: "ConfluenceConfiguration"}
4106	if s.SecretArn == nil {
4107		invalidParams.Add(request.NewErrParamRequired("SecretArn"))
4108	}
4109	if s.SecretArn != nil && len(*s.SecretArn) < 1 {
4110		invalidParams.Add(request.NewErrParamMinLen("SecretArn", 1))
4111	}
4112	if s.ServerUrl == nil {
4113		invalidParams.Add(request.NewErrParamRequired("ServerUrl"))
4114	}
4115	if s.ServerUrl != nil && len(*s.ServerUrl) < 1 {
4116		invalidParams.Add(request.NewErrParamMinLen("ServerUrl", 1))
4117	}
4118	if s.Version == nil {
4119		invalidParams.Add(request.NewErrParamRequired("Version"))
4120	}
4121	if s.AttachmentConfiguration != nil {
4122		if err := s.AttachmentConfiguration.Validate(); err != nil {
4123			invalidParams.AddNested("AttachmentConfiguration", err.(request.ErrInvalidParams))
4124		}
4125	}
4126	if s.BlogConfiguration != nil {
4127		if err := s.BlogConfiguration.Validate(); err != nil {
4128			invalidParams.AddNested("BlogConfiguration", err.(request.ErrInvalidParams))
4129		}
4130	}
4131	if s.PageConfiguration != nil {
4132		if err := s.PageConfiguration.Validate(); err != nil {
4133			invalidParams.AddNested("PageConfiguration", err.(request.ErrInvalidParams))
4134		}
4135	}
4136	if s.SpaceConfiguration != nil {
4137		if err := s.SpaceConfiguration.Validate(); err != nil {
4138			invalidParams.AddNested("SpaceConfiguration", err.(request.ErrInvalidParams))
4139		}
4140	}
4141	if s.VpcConfiguration != nil {
4142		if err := s.VpcConfiguration.Validate(); err != nil {
4143			invalidParams.AddNested("VpcConfiguration", err.(request.ErrInvalidParams))
4144		}
4145	}
4146
4147	if invalidParams.Len() > 0 {
4148		return invalidParams
4149	}
4150	return nil
4151}
4152
4153// SetAttachmentConfiguration sets the AttachmentConfiguration field's value.
4154func (s *ConfluenceConfiguration) SetAttachmentConfiguration(v *ConfluenceAttachmentConfiguration) *ConfluenceConfiguration {
4155	s.AttachmentConfiguration = v
4156	return s
4157}
4158
4159// SetBlogConfiguration sets the BlogConfiguration field's value.
4160func (s *ConfluenceConfiguration) SetBlogConfiguration(v *ConfluenceBlogConfiguration) *ConfluenceConfiguration {
4161	s.BlogConfiguration = v
4162	return s
4163}
4164
4165// SetExclusionPatterns sets the ExclusionPatterns field's value.
4166func (s *ConfluenceConfiguration) SetExclusionPatterns(v []*string) *ConfluenceConfiguration {
4167	s.ExclusionPatterns = v
4168	return s
4169}
4170
4171// SetInclusionPatterns sets the InclusionPatterns field's value.
4172func (s *ConfluenceConfiguration) SetInclusionPatterns(v []*string) *ConfluenceConfiguration {
4173	s.InclusionPatterns = v
4174	return s
4175}
4176
4177// SetPageConfiguration sets the PageConfiguration field's value.
4178func (s *ConfluenceConfiguration) SetPageConfiguration(v *ConfluencePageConfiguration) *ConfluenceConfiguration {
4179	s.PageConfiguration = v
4180	return s
4181}
4182
4183// SetSecretArn sets the SecretArn field's value.
4184func (s *ConfluenceConfiguration) SetSecretArn(v string) *ConfluenceConfiguration {
4185	s.SecretArn = &v
4186	return s
4187}
4188
4189// SetServerUrl sets the ServerUrl field's value.
4190func (s *ConfluenceConfiguration) SetServerUrl(v string) *ConfluenceConfiguration {
4191	s.ServerUrl = &v
4192	return s
4193}
4194
4195// SetSpaceConfiguration sets the SpaceConfiguration field's value.
4196func (s *ConfluenceConfiguration) SetSpaceConfiguration(v *ConfluenceSpaceConfiguration) *ConfluenceConfiguration {
4197	s.SpaceConfiguration = v
4198	return s
4199}
4200
4201// SetVersion sets the Version field's value.
4202func (s *ConfluenceConfiguration) SetVersion(v string) *ConfluenceConfiguration {
4203	s.Version = &v
4204	return s
4205}
4206
4207// SetVpcConfiguration sets the VpcConfiguration field's value.
4208func (s *ConfluenceConfiguration) SetVpcConfiguration(v *DataSourceVpcConfiguration) *ConfluenceConfiguration {
4209	s.VpcConfiguration = v
4210	return s
4211}
4212
4213// Specifies the page settings for the Confluence data source.
4214type ConfluencePageConfiguration struct {
4215	_ struct{} `type:"structure"`
4216
4217	// Defines how page metadata fields should be mapped to index fields. Before
4218	// you can map a field, you must first create an index field with a matching
4219	// type using the console or the UpdateIndex operation.
4220	//
4221	// If you specify the PageFieldMappings parameter, you must specify at least
4222	// one field mapping.
4223	PageFieldMappings []*ConfluencePageToIndexFieldMapping `min:"1" type:"list"`
4224}
4225
4226// String returns the string representation
4227func (s ConfluencePageConfiguration) String() string {
4228	return awsutil.Prettify(s)
4229}
4230
4231// GoString returns the string representation
4232func (s ConfluencePageConfiguration) GoString() string {
4233	return s.String()
4234}
4235
4236// Validate inspects the fields of the type to determine if they are valid.
4237func (s *ConfluencePageConfiguration) Validate() error {
4238	invalidParams := request.ErrInvalidParams{Context: "ConfluencePageConfiguration"}
4239	if s.PageFieldMappings != nil && len(s.PageFieldMappings) < 1 {
4240		invalidParams.Add(request.NewErrParamMinLen("PageFieldMappings", 1))
4241	}
4242	if s.PageFieldMappings != nil {
4243		for i, v := range s.PageFieldMappings {
4244			if v == nil {
4245				continue
4246			}
4247			if err := v.Validate(); err != nil {
4248				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PageFieldMappings", i), err.(request.ErrInvalidParams))
4249			}
4250		}
4251	}
4252
4253	if invalidParams.Len() > 0 {
4254		return invalidParams
4255	}
4256	return nil
4257}
4258
4259// SetPageFieldMappings sets the PageFieldMappings field's value.
4260func (s *ConfluencePageConfiguration) SetPageFieldMappings(v []*ConfluencePageToIndexFieldMapping) *ConfluencePageConfiguration {
4261	s.PageFieldMappings = v
4262	return s
4263}
4264
4265// Defines the mapping between a field in the Confluence data source to a Amazon
4266// Kendra index field.
4267//
4268// You must first create the index field using the UpdateIndex operation.
4269type ConfluencePageToIndexFieldMapping struct {
4270	_ struct{} `type:"structure"`
4271
4272	// The name of the field in the data source.
4273	DataSourceFieldName *string `type:"string" enum:"ConfluencePageFieldName"`
4274
4275	// The format for date fields in the data source. If the field specified in
4276	// DataSourceFieldName is a date field you must specify the date format. If
4277	// the field is not a date field, an exception is thrown.
4278	DateFieldFormat *string `min:"4" type:"string"`
4279
4280	// The name of the index field to map to the Confluence data source field. The
4281	// index field type must match the Confluence field type.
4282	IndexFieldName *string `min:"1" type:"string"`
4283}
4284
4285// String returns the string representation
4286func (s ConfluencePageToIndexFieldMapping) String() string {
4287	return awsutil.Prettify(s)
4288}
4289
4290// GoString returns the string representation
4291func (s ConfluencePageToIndexFieldMapping) GoString() string {
4292	return s.String()
4293}
4294
4295// Validate inspects the fields of the type to determine if they are valid.
4296func (s *ConfluencePageToIndexFieldMapping) Validate() error {
4297	invalidParams := request.ErrInvalidParams{Context: "ConfluencePageToIndexFieldMapping"}
4298	if s.DateFieldFormat != nil && len(*s.DateFieldFormat) < 4 {
4299		invalidParams.Add(request.NewErrParamMinLen("DateFieldFormat", 4))
4300	}
4301	if s.IndexFieldName != nil && len(*s.IndexFieldName) < 1 {
4302		invalidParams.Add(request.NewErrParamMinLen("IndexFieldName", 1))
4303	}
4304
4305	if invalidParams.Len() > 0 {
4306		return invalidParams
4307	}
4308	return nil
4309}
4310
4311// SetDataSourceFieldName sets the DataSourceFieldName field's value.
4312func (s *ConfluencePageToIndexFieldMapping) SetDataSourceFieldName(v string) *ConfluencePageToIndexFieldMapping {
4313	s.DataSourceFieldName = &v
4314	return s
4315}
4316
4317// SetDateFieldFormat sets the DateFieldFormat field's value.
4318func (s *ConfluencePageToIndexFieldMapping) SetDateFieldFormat(v string) *ConfluencePageToIndexFieldMapping {
4319	s.DateFieldFormat = &v
4320	return s
4321}
4322
4323// SetIndexFieldName sets the IndexFieldName field's value.
4324func (s *ConfluencePageToIndexFieldMapping) SetIndexFieldName(v string) *ConfluencePageToIndexFieldMapping {
4325	s.IndexFieldName = &v
4326	return s
4327}
4328
4329// Specifies the configuration for indexing Confluence spaces.
4330type ConfluenceSpaceConfiguration struct {
4331	_ struct{} `type:"structure"`
4332
4333	// Specifies whether Amazon Kendra should index archived spaces.
4334	CrawlArchivedSpaces *bool `type:"boolean"`
4335
4336	// Specifies whether Amazon Kendra should index personal spaces. Users can add
4337	// restrictions to items in personal spaces. If personal spaces are indexed,
4338	// queries without user context information may return restricted items from
4339	// a personal space in their results. For more information, see Filtering on
4340	// user context (https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html).
4341	CrawlPersonalSpaces *bool `type:"boolean"`
4342
4343	// A list of space keys of Confluence spaces. If you include a key, the blogs,
4344	// documents, and attachments in the space are not indexed. If a space is in
4345	// both the ExcludeSpaces and the IncludeSpaces list, the space is excluded.
4346	ExcludeSpaces []*string `min:"1" type:"list"`
4347
4348	// A list of space keys for Confluence spaces. If you include a key, the blogs,
4349	// documents, and attachments in the space are indexed. Spaces that aren't in
4350	// the list aren't indexed. A space in the list must exist. Otherwise, Amazon
4351	// Kendra logs an error when the data source is synchronized. If a space is
4352	// in both the IncludeSpaces and the ExcludeSpaces list, the space is excluded.
4353	IncludeSpaces []*string `min:"1" type:"list"`
4354
4355	// Defines how space metadata fields should be mapped to index fields. Before
4356	// you can map a field, you must first create an index field with a matching
4357	// type using the console or the UpdateIndex operation.
4358	//
4359	// If you specify the SpaceFieldMappings parameter, you must specify at least
4360	// one field mapping.
4361	SpaceFieldMappings []*ConfluenceSpaceToIndexFieldMapping `min:"1" type:"list"`
4362}
4363
4364// String returns the string representation
4365func (s ConfluenceSpaceConfiguration) String() string {
4366	return awsutil.Prettify(s)
4367}
4368
4369// GoString returns the string representation
4370func (s ConfluenceSpaceConfiguration) GoString() string {
4371	return s.String()
4372}
4373
4374// Validate inspects the fields of the type to determine if they are valid.
4375func (s *ConfluenceSpaceConfiguration) Validate() error {
4376	invalidParams := request.ErrInvalidParams{Context: "ConfluenceSpaceConfiguration"}
4377	if s.ExcludeSpaces != nil && len(s.ExcludeSpaces) < 1 {
4378		invalidParams.Add(request.NewErrParamMinLen("ExcludeSpaces", 1))
4379	}
4380	if s.IncludeSpaces != nil && len(s.IncludeSpaces) < 1 {
4381		invalidParams.Add(request.NewErrParamMinLen("IncludeSpaces", 1))
4382	}
4383	if s.SpaceFieldMappings != nil && len(s.SpaceFieldMappings) < 1 {
4384		invalidParams.Add(request.NewErrParamMinLen("SpaceFieldMappings", 1))
4385	}
4386	if s.SpaceFieldMappings != nil {
4387		for i, v := range s.SpaceFieldMappings {
4388			if v == nil {
4389				continue
4390			}
4391			if err := v.Validate(); err != nil {
4392				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SpaceFieldMappings", i), err.(request.ErrInvalidParams))
4393			}
4394		}
4395	}
4396
4397	if invalidParams.Len() > 0 {
4398		return invalidParams
4399	}
4400	return nil
4401}
4402
4403// SetCrawlArchivedSpaces sets the CrawlArchivedSpaces field's value.
4404func (s *ConfluenceSpaceConfiguration) SetCrawlArchivedSpaces(v bool) *ConfluenceSpaceConfiguration {
4405	s.CrawlArchivedSpaces = &v
4406	return s
4407}
4408
4409// SetCrawlPersonalSpaces sets the CrawlPersonalSpaces field's value.
4410func (s *ConfluenceSpaceConfiguration) SetCrawlPersonalSpaces(v bool) *ConfluenceSpaceConfiguration {
4411	s.CrawlPersonalSpaces = &v
4412	return s
4413}
4414
4415// SetExcludeSpaces sets the ExcludeSpaces field's value.
4416func (s *ConfluenceSpaceConfiguration) SetExcludeSpaces(v []*string) *ConfluenceSpaceConfiguration {
4417	s.ExcludeSpaces = v
4418	return s
4419}
4420
4421// SetIncludeSpaces sets the IncludeSpaces field's value.
4422func (s *ConfluenceSpaceConfiguration) SetIncludeSpaces(v []*string) *ConfluenceSpaceConfiguration {
4423	s.IncludeSpaces = v
4424	return s
4425}
4426
4427// SetSpaceFieldMappings sets the SpaceFieldMappings field's value.
4428func (s *ConfluenceSpaceConfiguration) SetSpaceFieldMappings(v []*ConfluenceSpaceToIndexFieldMapping) *ConfluenceSpaceConfiguration {
4429	s.SpaceFieldMappings = v
4430	return s
4431}
4432
4433// Defines the mapping between a field in the Confluence data source to a Amazon
4434// Kendra index field.
4435//
4436// You must first create the index field using the UpdateIndex operation.
4437type ConfluenceSpaceToIndexFieldMapping struct {
4438	_ struct{} `type:"structure"`
4439
4440	// The name of the field in the data source.
4441	DataSourceFieldName *string `type:"string" enum:"ConfluenceSpaceFieldName"`
4442
4443	// The format for date fields in the data source. If the field specified in
4444	// DataSourceFieldName is a date field you must specify the date format. If
4445	// the field is not a date field, an exception is thrown.
4446	DateFieldFormat *string `min:"4" type:"string"`
4447
4448	// The name of the index field to map to the Confluence data source field. The
4449	// index field type must match the Confluence field type.
4450	IndexFieldName *string `min:"1" type:"string"`
4451}
4452
4453// String returns the string representation
4454func (s ConfluenceSpaceToIndexFieldMapping) String() string {
4455	return awsutil.Prettify(s)
4456}
4457
4458// GoString returns the string representation
4459func (s ConfluenceSpaceToIndexFieldMapping) GoString() string {
4460	return s.String()
4461}
4462
4463// Validate inspects the fields of the type to determine if they are valid.
4464func (s *ConfluenceSpaceToIndexFieldMapping) Validate() error {
4465	invalidParams := request.ErrInvalidParams{Context: "ConfluenceSpaceToIndexFieldMapping"}
4466	if s.DateFieldFormat != nil && len(*s.DateFieldFormat) < 4 {
4467		invalidParams.Add(request.NewErrParamMinLen("DateFieldFormat", 4))
4468	}
4469	if s.IndexFieldName != nil && len(*s.IndexFieldName) < 1 {
4470		invalidParams.Add(request.NewErrParamMinLen("IndexFieldName", 1))
4471	}
4472
4473	if invalidParams.Len() > 0 {
4474		return invalidParams
4475	}
4476	return nil
4477}
4478
4479// SetDataSourceFieldName sets the DataSourceFieldName field's value.
4480func (s *ConfluenceSpaceToIndexFieldMapping) SetDataSourceFieldName(v string) *ConfluenceSpaceToIndexFieldMapping {
4481	s.DataSourceFieldName = &v
4482	return s
4483}
4484
4485// SetDateFieldFormat sets the DateFieldFormat field's value.
4486func (s *ConfluenceSpaceToIndexFieldMapping) SetDateFieldFormat(v string) *ConfluenceSpaceToIndexFieldMapping {
4487	s.DateFieldFormat = &v
4488	return s
4489}
4490
4491// SetIndexFieldName sets the IndexFieldName field's value.
4492func (s *ConfluenceSpaceToIndexFieldMapping) SetIndexFieldName(v string) *ConfluenceSpaceToIndexFieldMapping {
4493	s.IndexFieldName = &v
4494	return s
4495}
4496
4497// Provides the information necessary to connect to a database.
4498type ConnectionConfiguration struct {
4499	_ struct{} `type:"structure"`
4500
4501	// The name of the host for the database. Can be either a string (host.subdomain.domain.tld)
4502	// or an IPv4 or IPv6 address.
4503	//
4504	// DatabaseHost is a required field
4505	DatabaseHost *string `min:"1" type:"string" required:"true"`
4506
4507	// The name of the database containing the document data.
4508	//
4509	// DatabaseName is a required field
4510	DatabaseName *string `min:"1" type:"string" required:"true"`
4511
4512	// The port that the database uses for connections.
4513	//
4514	// DatabasePort is a required field
4515	DatabasePort *int64 `min:"1" type:"integer" required:"true"`
4516
4517	// The Amazon Resource Name (ARN) of credentials stored in AWS Secrets Manager.
4518	// The credentials should be a user/password pair. For more information, see
4519	// Using a Database Data Source (https://docs.aws.amazon.com/kendra/latest/dg/data-source-database.html).
4520	// For more information about AWS Secrets Manager, see What Is AWS Secrets Manager
4521	// (https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html)
4522	// in the AWS Secrets Manager user guide.
4523	//
4524	// SecretArn is a required field
4525	SecretArn *string `min:"1" type:"string" required:"true"`
4526
4527	// The name of the table that contains the document data.
4528	//
4529	// TableName is a required field
4530	TableName *string `min:"1" type:"string" required:"true"`
4531}
4532
4533// String returns the string representation
4534func (s ConnectionConfiguration) String() string {
4535	return awsutil.Prettify(s)
4536}
4537
4538// GoString returns the string representation
4539func (s ConnectionConfiguration) GoString() string {
4540	return s.String()
4541}
4542
4543// Validate inspects the fields of the type to determine if they are valid.
4544func (s *ConnectionConfiguration) Validate() error {
4545	invalidParams := request.ErrInvalidParams{Context: "ConnectionConfiguration"}
4546	if s.DatabaseHost == nil {
4547		invalidParams.Add(request.NewErrParamRequired("DatabaseHost"))
4548	}
4549	if s.DatabaseHost != nil && len(*s.DatabaseHost) < 1 {
4550		invalidParams.Add(request.NewErrParamMinLen("DatabaseHost", 1))
4551	}
4552	if s.DatabaseName == nil {
4553		invalidParams.Add(request.NewErrParamRequired("DatabaseName"))
4554	}
4555	if s.DatabaseName != nil && len(*s.DatabaseName) < 1 {
4556		invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1))
4557	}
4558	if s.DatabasePort == nil {
4559		invalidParams.Add(request.NewErrParamRequired("DatabasePort"))
4560	}
4561	if s.DatabasePort != nil && *s.DatabasePort < 1 {
4562		invalidParams.Add(request.NewErrParamMinValue("DatabasePort", 1))
4563	}
4564	if s.SecretArn == nil {
4565		invalidParams.Add(request.NewErrParamRequired("SecretArn"))
4566	}
4567	if s.SecretArn != nil && len(*s.SecretArn) < 1 {
4568		invalidParams.Add(request.NewErrParamMinLen("SecretArn", 1))
4569	}
4570	if s.TableName == nil {
4571		invalidParams.Add(request.NewErrParamRequired("TableName"))
4572	}
4573	if s.TableName != nil && len(*s.TableName) < 1 {
4574		invalidParams.Add(request.NewErrParamMinLen("TableName", 1))
4575	}
4576
4577	if invalidParams.Len() > 0 {
4578		return invalidParams
4579	}
4580	return nil
4581}
4582
4583// SetDatabaseHost sets the DatabaseHost field's value.
4584func (s *ConnectionConfiguration) SetDatabaseHost(v string) *ConnectionConfiguration {
4585	s.DatabaseHost = &v
4586	return s
4587}
4588
4589// SetDatabaseName sets the DatabaseName field's value.
4590func (s *ConnectionConfiguration) SetDatabaseName(v string) *ConnectionConfiguration {
4591	s.DatabaseName = &v
4592	return s
4593}
4594
4595// SetDatabasePort sets the DatabasePort field's value.
4596func (s *ConnectionConfiguration) SetDatabasePort(v int64) *ConnectionConfiguration {
4597	s.DatabasePort = &v
4598	return s
4599}
4600
4601// SetSecretArn sets the SecretArn field's value.
4602func (s *ConnectionConfiguration) SetSecretArn(v string) *ConnectionConfiguration {
4603	s.SecretArn = &v
4604	return s
4605}
4606
4607// SetTableName sets the TableName field's value.
4608func (s *ConnectionConfiguration) SetTableName(v string) *ConnectionConfiguration {
4609	s.TableName = &v
4610	return s
4611}
4612
4613type CreateDataSourceInput struct {
4614	_ struct{} `type:"structure"`
4615
4616	// A token that you provide to identify the request to create a data source.
4617	// Multiple calls to the CreateDataSource operation with the same client token
4618	// will create only one data source.
4619	ClientToken *string `min:"1" type:"string" idempotencyToken:"true"`
4620
4621	// The connector configuration information that is required to access the repository.
4622	//
4623	// You can't specify the Configuration parameter when the Type parameter is
4624	// set to CUSTOM. If you do, you receive a ValidationException exception.
4625	//
4626	// The Configuration parameter is required for all other data sources.
4627	Configuration *DataSourceConfiguration `type:"structure"`
4628
4629	// A description for the data source.
4630	Description *string `type:"string"`
4631
4632	// The identifier of the index that should be associated with this data source.
4633	//
4634	// IndexId is a required field
4635	IndexId *string `min:"36" type:"string" required:"true"`
4636
4637	// A unique name for the data source. A data source name can't be changed without
4638	// deleting and recreating the data source.
4639	//
4640	// Name is a required field
4641	Name *string `min:"1" type:"string" required:"true"`
4642
4643	// The Amazon Resource Name (ARN) of a role with permission to access the data
4644	// source. For more information, see IAM Roles for Amazon Kendra (https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html).
4645	//
4646	// You can't specify the RoleArn parameter when the Type parameter is set to
4647	// CUSTOM. If you do, you receive a ValidationException exception.
4648	//
4649	// The RoleArn parameter is required for all other data sources.
4650	RoleArn *string `min:"1" type:"string"`
4651
4652	// Sets the frequency that Amazon Kendra will check the documents in your repository
4653	// and update the index. If you don't set a schedule Amazon Kendra will not
4654	// periodically update the index. You can call the StartDataSourceSyncJob operation
4655	// to update the index.
4656	//
4657	// You can't specify the Schedule parameter when the Type parameter is set to
4658	// CUSTOM. If you do, you receive a ValidationException exception.
4659	Schedule *string `type:"string"`
4660
4661	// A list of key-value pairs that identify the data source. You can use the
4662	// tags to identify and organize your resources and to control access to resources.
4663	Tags []*Tag `type:"list"`
4664
4665	// The type of repository that contains the data source.
4666	//
4667	// Type is a required field
4668	Type *string `type:"string" required:"true" enum:"DataSourceType"`
4669}
4670
4671// String returns the string representation
4672func (s CreateDataSourceInput) String() string {
4673	return awsutil.Prettify(s)
4674}
4675
4676// GoString returns the string representation
4677func (s CreateDataSourceInput) GoString() string {
4678	return s.String()
4679}
4680
4681// Validate inspects the fields of the type to determine if they are valid.
4682func (s *CreateDataSourceInput) Validate() error {
4683	invalidParams := request.ErrInvalidParams{Context: "CreateDataSourceInput"}
4684	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
4685		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
4686	}
4687	if s.IndexId == nil {
4688		invalidParams.Add(request.NewErrParamRequired("IndexId"))
4689	}
4690	if s.IndexId != nil && len(*s.IndexId) < 36 {
4691		invalidParams.Add(request.NewErrParamMinLen("IndexId", 36))
4692	}
4693	if s.Name == nil {
4694		invalidParams.Add(request.NewErrParamRequired("Name"))
4695	}
4696	if s.Name != nil && len(*s.Name) < 1 {
4697		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
4698	}
4699	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
4700		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
4701	}
4702	if s.Type == nil {
4703		invalidParams.Add(request.NewErrParamRequired("Type"))
4704	}
4705	if s.Configuration != nil {
4706		if err := s.Configuration.Validate(); err != nil {
4707			invalidParams.AddNested("Configuration", err.(request.ErrInvalidParams))
4708		}
4709	}
4710	if s.Tags != nil {
4711		for i, v := range s.Tags {
4712			if v == nil {
4713				continue
4714			}
4715			if err := v.Validate(); err != nil {
4716				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
4717			}
4718		}
4719	}
4720
4721	if invalidParams.Len() > 0 {
4722		return invalidParams
4723	}
4724	return nil
4725}
4726
4727// SetClientToken sets the ClientToken field's value.
4728func (s *CreateDataSourceInput) SetClientToken(v string) *CreateDataSourceInput {
4729	s.ClientToken = &v
4730	return s
4731}
4732
4733// SetConfiguration sets the Configuration field's value.
4734func (s *CreateDataSourceInput) SetConfiguration(v *DataSourceConfiguration) *CreateDataSourceInput {
4735	s.Configuration = v
4736	return s
4737}
4738
4739// SetDescription sets the Description field's value.
4740func (s *CreateDataSourceInput) SetDescription(v string) *CreateDataSourceInput {
4741	s.Description = &v
4742	return s
4743}
4744
4745// SetIndexId sets the IndexId field's value.
4746func (s *CreateDataSourceInput) SetIndexId(v string) *CreateDataSourceInput {
4747	s.IndexId = &v
4748	return s
4749}
4750
4751// SetName sets the Name field's value.
4752func (s *CreateDataSourceInput) SetName(v string) *CreateDataSourceInput {
4753	s.Name = &v
4754	return s
4755}
4756
4757// SetRoleArn sets the RoleArn field's value.
4758func (s *CreateDataSourceInput) SetRoleArn(v string) *CreateDataSourceInput {
4759	s.RoleArn = &v
4760	return s
4761}
4762
4763// SetSchedule sets the Schedule field's value.
4764func (s *CreateDataSourceInput) SetSchedule(v string) *CreateDataSourceInput {
4765	s.Schedule = &v
4766	return s
4767}
4768
4769// SetTags sets the Tags field's value.
4770func (s *CreateDataSourceInput) SetTags(v []*Tag) *CreateDataSourceInput {
4771	s.Tags = v
4772	return s
4773}
4774
4775// SetType sets the Type field's value.
4776func (s *CreateDataSourceInput) SetType(v string) *CreateDataSourceInput {
4777	s.Type = &v
4778	return s
4779}
4780
4781type CreateDataSourceOutput struct {
4782	_ struct{} `type:"structure"`
4783
4784	// A unique identifier for the data source.
4785	//
4786	// Id is a required field
4787	Id *string `min:"1" type:"string" required:"true"`
4788}
4789
4790// String returns the string representation
4791func (s CreateDataSourceOutput) String() string {
4792	return awsutil.Prettify(s)
4793}
4794
4795// GoString returns the string representation
4796func (s CreateDataSourceOutput) GoString() string {
4797	return s.String()
4798}
4799
4800// SetId sets the Id field's value.
4801func (s *CreateDataSourceOutput) SetId(v string) *CreateDataSourceOutput {
4802	s.Id = &v
4803	return s
4804}
4805
4806type CreateFaqInput struct {
4807	_ struct{} `type:"structure"`
4808
4809	// A token that you provide to identify the request to create a FAQ. Multiple
4810	// calls to the CreateFaqRequest operation with the same client token will create
4811	// only one FAQ.
4812	ClientToken *string `min:"1" type:"string" idempotencyToken:"true"`
4813
4814	// A description of the FAQ.
4815	Description *string `type:"string"`
4816
4817	// The format of the input file. You can choose between a basic CSV format,
4818	// a CSV format that includes customs attributes in a header, and a JSON format
4819	// that includes custom attributes.
4820	//
4821	// The format must match the format of the file stored in the S3 bucket identified
4822	// in the S3Path parameter.
4823	//
4824	// For more information, see Adding questions and answers (https://docs.aws.amazon.com/kendra/latest/dg/in-creating-faq.html).
4825	FileFormat *string `type:"string" enum:"FaqFileFormat"`
4826
4827	// The identifier of the index that contains the FAQ.
4828	//
4829	// IndexId is a required field
4830	IndexId *string `min:"36" type:"string" required:"true"`
4831
4832	// The name that should be associated with the FAQ.
4833	//
4834	// Name is a required field
4835	Name *string `min:"1" type:"string" required:"true"`
4836
4837	// The Amazon Resource Name (ARN) of a role with permission to access the S3
4838	// bucket that contains the FAQs. For more information, see IAM Roles for Amazon
4839	// Kendra (https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html).
4840	//
4841	// RoleArn is a required field
4842	RoleArn *string `min:"1" type:"string" required:"true"`
4843
4844	// The S3 location of the FAQ input data.
4845	//
4846	// S3Path is a required field
4847	S3Path *S3Path `type:"structure" required:"true"`
4848
4849	// A list of key-value pairs that identify the FAQ. You can use the tags to
4850	// identify and organize your resources and to control access to resources.
4851	Tags []*Tag `type:"list"`
4852}
4853
4854// String returns the string representation
4855func (s CreateFaqInput) String() string {
4856	return awsutil.Prettify(s)
4857}
4858
4859// GoString returns the string representation
4860func (s CreateFaqInput) GoString() string {
4861	return s.String()
4862}
4863
4864// Validate inspects the fields of the type to determine if they are valid.
4865func (s *CreateFaqInput) Validate() error {
4866	invalidParams := request.ErrInvalidParams{Context: "CreateFaqInput"}
4867	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
4868		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
4869	}
4870	if s.IndexId == nil {
4871		invalidParams.Add(request.NewErrParamRequired("IndexId"))
4872	}
4873	if s.IndexId != nil && len(*s.IndexId) < 36 {
4874		invalidParams.Add(request.NewErrParamMinLen("IndexId", 36))
4875	}
4876	if s.Name == nil {
4877		invalidParams.Add(request.NewErrParamRequired("Name"))
4878	}
4879	if s.Name != nil && len(*s.Name) < 1 {
4880		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
4881	}
4882	if s.RoleArn == nil {
4883		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
4884	}
4885	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
4886		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
4887	}
4888	if s.S3Path == nil {
4889		invalidParams.Add(request.NewErrParamRequired("S3Path"))
4890	}
4891	if s.S3Path != nil {
4892		if err := s.S3Path.Validate(); err != nil {
4893			invalidParams.AddNested("S3Path", err.(request.ErrInvalidParams))
4894		}
4895	}
4896	if s.Tags != nil {
4897		for i, v := range s.Tags {
4898			if v == nil {
4899				continue
4900			}
4901			if err := v.Validate(); err != nil {
4902				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
4903			}
4904		}
4905	}
4906
4907	if invalidParams.Len() > 0 {
4908		return invalidParams
4909	}
4910	return nil
4911}
4912
4913// SetClientToken sets the ClientToken field's value.
4914func (s *CreateFaqInput) SetClientToken(v string) *CreateFaqInput {
4915	s.ClientToken = &v
4916	return s
4917}
4918
4919// SetDescription sets the Description field's value.
4920func (s *CreateFaqInput) SetDescription(v string) *CreateFaqInput {
4921	s.Description = &v
4922	return s
4923}
4924
4925// SetFileFormat sets the FileFormat field's value.
4926func (s *CreateFaqInput) SetFileFormat(v string) *CreateFaqInput {
4927	s.FileFormat = &v
4928	return s
4929}
4930
4931// SetIndexId sets the IndexId field's value.
4932func (s *CreateFaqInput) SetIndexId(v string) *CreateFaqInput {
4933	s.IndexId = &v
4934	return s
4935}
4936
4937// SetName sets the Name field's value.
4938func (s *CreateFaqInput) SetName(v string) *CreateFaqInput {
4939	s.Name = &v
4940	return s
4941}
4942
4943// SetRoleArn sets the RoleArn field's value.
4944func (s *CreateFaqInput) SetRoleArn(v string) *CreateFaqInput {
4945	s.RoleArn = &v
4946	return s
4947}
4948
4949// SetS3Path sets the S3Path field's value.
4950func (s *CreateFaqInput) SetS3Path(v *S3Path) *CreateFaqInput {
4951	s.S3Path = v
4952	return s
4953}
4954
4955// SetTags sets the Tags field's value.
4956func (s *CreateFaqInput) SetTags(v []*Tag) *CreateFaqInput {
4957	s.Tags = v
4958	return s
4959}
4960
4961type CreateFaqOutput struct {
4962	_ struct{} `type:"structure"`
4963
4964	// The unique identifier of the FAQ.
4965	Id *string `min:"1" type:"string"`
4966}
4967
4968// String returns the string representation
4969func (s CreateFaqOutput) String() string {
4970	return awsutil.Prettify(s)
4971}
4972
4973// GoString returns the string representation
4974func (s CreateFaqOutput) GoString() string {
4975	return s.String()
4976}
4977
4978// SetId sets the Id field's value.
4979func (s *CreateFaqOutput) SetId(v string) *CreateFaqOutput {
4980	s.Id = &v
4981	return s
4982}
4983
4984type CreateIndexInput struct {
4985	_ struct{} `type:"structure"`
4986
4987	// A token that you provide to identify the request to create an index. Multiple
4988	// calls to the CreateIndex operation with the same client token will create
4989	// only one index.
4990	ClientToken *string `min:"1" type:"string" idempotencyToken:"true"`
4991
4992	// A description for the index.
4993	Description *string `type:"string"`
4994
4995	// The Amazon Kendra edition to use for the index. Choose DEVELOPER_EDITION
4996	// for indexes intended for development, testing, or proof of concept. Use ENTERPRISE_EDITION
4997	// for your production databases. Once you set the edition for an index, it
4998	// can't be changed.
4999	//
5000	// The Edition parameter is optional. If you don't supply a value, the default
5001	// is ENTERPRISE_EDITION.
5002	Edition *string `type:"string" enum:"IndexEdition"`
5003
5004	// The name for the new index.
5005	//
5006	// Name is a required field
5007	Name *string `min:"1" type:"string" required:"true"`
5008
5009	// An AWS Identity and Access Management (IAM) role that gives Amazon Kendra
5010	// permissions to access your Amazon CloudWatch logs and metrics. This is also
5011	// the role used when you use the BatchPutDocument operation to index documents
5012	// from an Amazon S3 bucket.
5013	//
5014	// RoleArn is a required field
5015	RoleArn *string `min:"1" type:"string" required:"true"`
5016
5017	// The identifier of the AWS KMS customer managed key (CMK) to use to encrypt
5018	// data indexed by Amazon Kendra. Amazon Kendra doesn't support asymmetric CMKs.
5019	ServerSideEncryptionConfiguration *ServerSideEncryptionConfiguration `type:"structure"`
5020
5021	// A list of key-value pairs that identify the index. You can use the tags to
5022	// identify and organize your resources and to control access to resources.
5023	Tags []*Tag `type:"list"`
5024
5025	// The user context policy.
5026	//
5027	// ATTRIBUTE_FILTER
5028	//
5029	// All indexed content is searchable and displayable for all users. If there
5030	// is an access control list, it is ignored. You can filter on user and group
5031	// attributes.
5032	//
5033	// USER_TOKEN
5034	//
5035	// Enables SSO and token-based user access control. All documents with no access
5036	// control and all documents accessible to the user will be searchable and displayable.
5037	UserContextPolicy *string `type:"string" enum:"UserContextPolicy"`
5038
5039	// The user token configuration.
5040	UserTokenConfigurations []*UserTokenConfiguration `type:"list"`
5041}
5042
5043// String returns the string representation
5044func (s CreateIndexInput) String() string {
5045	return awsutil.Prettify(s)
5046}
5047
5048// GoString returns the string representation
5049func (s CreateIndexInput) GoString() string {
5050	return s.String()
5051}
5052
5053// Validate inspects the fields of the type to determine if they are valid.
5054func (s *CreateIndexInput) Validate() error {
5055	invalidParams := request.ErrInvalidParams{Context: "CreateIndexInput"}
5056	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
5057		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
5058	}
5059	if s.Name == nil {
5060		invalidParams.Add(request.NewErrParamRequired("Name"))
5061	}
5062	if s.Name != nil && len(*s.Name) < 1 {
5063		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
5064	}
5065	if s.RoleArn == nil {
5066		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
5067	}
5068	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
5069		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
5070	}
5071	if s.ServerSideEncryptionConfiguration != nil {
5072		if err := s.ServerSideEncryptionConfiguration.Validate(); err != nil {
5073			invalidParams.AddNested("ServerSideEncryptionConfiguration", err.(request.ErrInvalidParams))
5074		}
5075	}
5076	if s.Tags != nil {
5077		for i, v := range s.Tags {
5078			if v == nil {
5079				continue
5080			}
5081			if err := v.Validate(); err != nil {
5082				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
5083			}
5084		}
5085	}
5086	if s.UserTokenConfigurations != nil {
5087		for i, v := range s.UserTokenConfigurations {
5088			if v == nil {
5089				continue
5090			}
5091			if err := v.Validate(); err != nil {
5092				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "UserTokenConfigurations", i), err.(request.ErrInvalidParams))
5093			}
5094		}
5095	}
5096
5097	if invalidParams.Len() > 0 {
5098		return invalidParams
5099	}
5100	return nil
5101}
5102
5103// SetClientToken sets the ClientToken field's value.
5104func (s *CreateIndexInput) SetClientToken(v string) *CreateIndexInput {
5105	s.ClientToken = &v
5106	return s
5107}
5108
5109// SetDescription sets the Description field's value.
5110func (s *CreateIndexInput) SetDescription(v string) *CreateIndexInput {
5111	s.Description = &v
5112	return s
5113}
5114
5115// SetEdition sets the Edition field's value.
5116func (s *CreateIndexInput) SetEdition(v string) *CreateIndexInput {
5117	s.Edition = &v
5118	return s
5119}
5120
5121// SetName sets the Name field's value.
5122func (s *CreateIndexInput) SetName(v string) *CreateIndexInput {
5123	s.Name = &v
5124	return s
5125}
5126
5127// SetRoleArn sets the RoleArn field's value.
5128func (s *CreateIndexInput) SetRoleArn(v string) *CreateIndexInput {
5129	s.RoleArn = &v
5130	return s
5131}
5132
5133// SetServerSideEncryptionConfiguration sets the ServerSideEncryptionConfiguration field's value.
5134func (s *CreateIndexInput) SetServerSideEncryptionConfiguration(v *ServerSideEncryptionConfiguration) *CreateIndexInput {
5135	s.ServerSideEncryptionConfiguration = v
5136	return s
5137}
5138
5139// SetTags sets the Tags field's value.
5140func (s *CreateIndexInput) SetTags(v []*Tag) *CreateIndexInput {
5141	s.Tags = v
5142	return s
5143}
5144
5145// SetUserContextPolicy sets the UserContextPolicy field's value.
5146func (s *CreateIndexInput) SetUserContextPolicy(v string) *CreateIndexInput {
5147	s.UserContextPolicy = &v
5148	return s
5149}
5150
5151// SetUserTokenConfigurations sets the UserTokenConfigurations field's value.
5152func (s *CreateIndexInput) SetUserTokenConfigurations(v []*UserTokenConfiguration) *CreateIndexInput {
5153	s.UserTokenConfigurations = v
5154	return s
5155}
5156
5157type CreateIndexOutput struct {
5158	_ struct{} `type:"structure"`
5159
5160	// The unique identifier of the index. Use this identifier when you query an
5161	// index, set up a data source, or index a document.
5162	Id *string `min:"36" type:"string"`
5163}
5164
5165// String returns the string representation
5166func (s CreateIndexOutput) String() string {
5167	return awsutil.Prettify(s)
5168}
5169
5170// GoString returns the string representation
5171func (s CreateIndexOutput) GoString() string {
5172	return s.String()
5173}
5174
5175// SetId sets the Id field's value.
5176func (s *CreateIndexOutput) SetId(v string) *CreateIndexOutput {
5177	s.Id = &v
5178	return s
5179}
5180
5181type CreateThesaurusInput struct {
5182	_ struct{} `type:"structure"`
5183
5184	// A token that you provide to identify the request to create a thesaurus. Multiple
5185	// calls to the CreateThesaurus operation with the same client token will create
5186	// only one index.
5187	ClientToken *string `min:"1" type:"string" idempotencyToken:"true"`
5188
5189	// The description for the new thesaurus.
5190	Description *string `type:"string"`
5191
5192	// The unique identifier of the index for the new thesaurus.
5193	//
5194	// IndexId is a required field
5195	IndexId *string `min:"36" type:"string" required:"true"`
5196
5197	// The name for the new thesaurus.
5198	//
5199	// Name is a required field
5200	Name *string `min:"1" type:"string" required:"true"`
5201
5202	// An AWS Identity and Access Management (IAM) role that gives Amazon Kendra
5203	// permissions to access thesaurus file specified in SourceS3Path.
5204	//
5205	// RoleArn is a required field
5206	RoleArn *string `min:"1" type:"string" required:"true"`
5207
5208	// The thesaurus file Amazon S3 source path.
5209	//
5210	// SourceS3Path is a required field
5211	SourceS3Path *S3Path `type:"structure" required:"true"`
5212
5213	// A list of key-value pairs that identify the thesaurus. You can use the tags
5214	// to identify and organize your resources and to control access to resources.
5215	Tags []*Tag `type:"list"`
5216}
5217
5218// String returns the string representation
5219func (s CreateThesaurusInput) String() string {
5220	return awsutil.Prettify(s)
5221}
5222
5223// GoString returns the string representation
5224func (s CreateThesaurusInput) GoString() string {
5225	return s.String()
5226}
5227
5228// Validate inspects the fields of the type to determine if they are valid.
5229func (s *CreateThesaurusInput) Validate() error {
5230	invalidParams := request.ErrInvalidParams{Context: "CreateThesaurusInput"}
5231	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
5232		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
5233	}
5234	if s.IndexId == nil {
5235		invalidParams.Add(request.NewErrParamRequired("IndexId"))
5236	}
5237	if s.IndexId != nil && len(*s.IndexId) < 36 {
5238		invalidParams.Add(request.NewErrParamMinLen("IndexId", 36))
5239	}
5240	if s.Name == nil {
5241		invalidParams.Add(request.NewErrParamRequired("Name"))
5242	}
5243	if s.Name != nil && len(*s.Name) < 1 {
5244		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
5245	}
5246	if s.RoleArn == nil {
5247		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
5248	}
5249	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
5250		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
5251	}
5252	if s.SourceS3Path == nil {
5253		invalidParams.Add(request.NewErrParamRequired("SourceS3Path"))
5254	}
5255	if s.SourceS3Path != nil {
5256		if err := s.SourceS3Path.Validate(); err != nil {
5257			invalidParams.AddNested("SourceS3Path", err.(request.ErrInvalidParams))
5258		}
5259	}
5260	if s.Tags != nil {
5261		for i, v := range s.Tags {
5262			if v == nil {
5263				continue
5264			}
5265			if err := v.Validate(); err != nil {
5266				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
5267			}
5268		}
5269	}
5270
5271	if invalidParams.Len() > 0 {
5272		return invalidParams
5273	}
5274	return nil
5275}
5276
5277// SetClientToken sets the ClientToken field's value.
5278func (s *CreateThesaurusInput) SetClientToken(v string) *CreateThesaurusInput {
5279	s.ClientToken = &v
5280	return s
5281}
5282
5283// SetDescription sets the Description field's value.
5284func (s *CreateThesaurusInput) SetDescription(v string) *CreateThesaurusInput {
5285	s.Description = &v
5286	return s
5287}
5288
5289// SetIndexId sets the IndexId field's value.
5290func (s *CreateThesaurusInput) SetIndexId(v string) *CreateThesaurusInput {
5291	s.IndexId = &v
5292	return s
5293}
5294
5295// SetName sets the Name field's value.
5296func (s *CreateThesaurusInput) SetName(v string) *CreateThesaurusInput {
5297	s.Name = &v
5298	return s
5299}
5300
5301// SetRoleArn sets the RoleArn field's value.
5302func (s *CreateThesaurusInput) SetRoleArn(v string) *CreateThesaurusInput {
5303	s.RoleArn = &v
5304	return s
5305}
5306
5307// SetSourceS3Path sets the SourceS3Path field's value.
5308func (s *CreateThesaurusInput) SetSourceS3Path(v *S3Path) *CreateThesaurusInput {
5309	s.SourceS3Path = v
5310	return s
5311}
5312
5313// SetTags sets the Tags field's value.
5314func (s *CreateThesaurusInput) SetTags(v []*Tag) *CreateThesaurusInput {
5315	s.Tags = v
5316	return s
5317}
5318
5319type CreateThesaurusOutput struct {
5320	_ struct{} `type:"structure"`
5321
5322	// The unique identifier of the thesaurus.
5323	Id *string `min:"1" type:"string"`
5324}
5325
5326// String returns the string representation
5327func (s CreateThesaurusOutput) String() string {
5328	return awsutil.Prettify(s)
5329}
5330
5331// GoString returns the string representation
5332func (s CreateThesaurusOutput) GoString() string {
5333	return s.String()
5334}
5335
5336// SetId sets the Id field's value.
5337func (s *CreateThesaurusOutput) SetId(v string) *CreateThesaurusOutput {
5338	s.Id = &v
5339	return s
5340}
5341
5342// Configuration information for a Amazon Kendra data source.
5343type DataSourceConfiguration struct {
5344	_ struct{} `type:"structure"`
5345
5346	// Provides configuration information for connecting to a Confluence data source.
5347	ConfluenceConfiguration *ConfluenceConfiguration `type:"structure"`
5348
5349	// Provides information necessary to create a data source connector for a database.
5350	DatabaseConfiguration *DatabaseConfiguration `type:"structure"`
5351
5352	// Provides configuration for data sources that connect to Google Drive.
5353	GoogleDriveConfiguration *GoogleDriveConfiguration `type:"structure"`
5354
5355	// Provides configuration for data sources that connect to Microsoft OneDrive.
5356	OneDriveConfiguration *OneDriveConfiguration `type:"structure"`
5357
5358	// Provides information to create a data source connector for a document repository
5359	// in an Amazon S3 bucket.
5360	S3Configuration *S3DataSourceConfiguration `type:"structure"`
5361
5362	// Provides configuration information for data sources that connect to a Salesforce
5363	// site.
5364	SalesforceConfiguration *SalesforceConfiguration `type:"structure"`
5365
5366	// Provides configuration for data sources that connect to ServiceNow instances.
5367	ServiceNowConfiguration *ServiceNowConfiguration `type:"structure"`
5368
5369	// Provides information necessary to create a data source connector for a Microsoft
5370	// SharePoint site.
5371	SharePointConfiguration *SharePointConfiguration `type:"structure"`
5372}
5373
5374// String returns the string representation
5375func (s DataSourceConfiguration) String() string {
5376	return awsutil.Prettify(s)
5377}
5378
5379// GoString returns the string representation
5380func (s DataSourceConfiguration) GoString() string {
5381	return s.String()
5382}
5383
5384// Validate inspects the fields of the type to determine if they are valid.
5385func (s *DataSourceConfiguration) Validate() error {
5386	invalidParams := request.ErrInvalidParams{Context: "DataSourceConfiguration"}
5387	if s.ConfluenceConfiguration != nil {
5388		if err := s.ConfluenceConfiguration.Validate(); err != nil {
5389			invalidParams.AddNested("ConfluenceConfiguration", err.(request.ErrInvalidParams))
5390		}
5391	}
5392	if s.DatabaseConfiguration != nil {
5393		if err := s.DatabaseConfiguration.Validate(); err != nil {
5394			invalidParams.AddNested("DatabaseConfiguration", err.(request.ErrInvalidParams))
5395		}
5396	}
5397	if s.GoogleDriveConfiguration != nil {
5398		if err := s.GoogleDriveConfiguration.Validate(); err != nil {
5399			invalidParams.AddNested("GoogleDriveConfiguration", err.(request.ErrInvalidParams))
5400		}
5401	}
5402	if s.OneDriveConfiguration != nil {
5403		if err := s.OneDriveConfiguration.Validate(); err != nil {
5404			invalidParams.AddNested("OneDriveConfiguration", err.(request.ErrInvalidParams))
5405		}
5406	}
5407	if s.S3Configuration != nil {
5408		if err := s.S3Configuration.Validate(); err != nil {
5409			invalidParams.AddNested("S3Configuration", err.(request.ErrInvalidParams))
5410		}
5411	}
5412	if s.SalesforceConfiguration != nil {
5413		if err := s.SalesforceConfiguration.Validate(); err != nil {
5414			invalidParams.AddNested("SalesforceConfiguration", err.(request.ErrInvalidParams))
5415		}
5416	}
5417	if s.ServiceNowConfiguration != nil {
5418		if err := s.ServiceNowConfiguration.Validate(); err != nil {
5419			invalidParams.AddNested("ServiceNowConfiguration", err.(request.ErrInvalidParams))
5420		}
5421	}
5422	if s.SharePointConfiguration != nil {
5423		if err := s.SharePointConfiguration.Validate(); err != nil {
5424			invalidParams.AddNested("SharePointConfiguration", err.(request.ErrInvalidParams))
5425		}
5426	}
5427
5428	if invalidParams.Len() > 0 {
5429		return invalidParams
5430	}
5431	return nil
5432}
5433
5434// SetConfluenceConfiguration sets the ConfluenceConfiguration field's value.
5435func (s *DataSourceConfiguration) SetConfluenceConfiguration(v *ConfluenceConfiguration) *DataSourceConfiguration {
5436	s.ConfluenceConfiguration = v
5437	return s
5438}
5439
5440// SetDatabaseConfiguration sets the DatabaseConfiguration field's value.
5441func (s *DataSourceConfiguration) SetDatabaseConfiguration(v *DatabaseConfiguration) *DataSourceConfiguration {
5442	s.DatabaseConfiguration = v
5443	return s
5444}
5445
5446// SetGoogleDriveConfiguration sets the GoogleDriveConfiguration field's value.
5447func (s *DataSourceConfiguration) SetGoogleDriveConfiguration(v *GoogleDriveConfiguration) *DataSourceConfiguration {
5448	s.GoogleDriveConfiguration = v
5449	return s
5450}
5451
5452// SetOneDriveConfiguration sets the OneDriveConfiguration field's value.
5453func (s *DataSourceConfiguration) SetOneDriveConfiguration(v *OneDriveConfiguration) *DataSourceConfiguration {
5454	s.OneDriveConfiguration = v
5455	return s
5456}
5457
5458// SetS3Configuration sets the S3Configuration field's value.
5459func (s *DataSourceConfiguration) SetS3Configuration(v *S3DataSourceConfiguration) *DataSourceConfiguration {
5460	s.S3Configuration = v
5461	return s
5462}
5463
5464// SetSalesforceConfiguration sets the SalesforceConfiguration field's value.
5465func (s *DataSourceConfiguration) SetSalesforceConfiguration(v *SalesforceConfiguration) *DataSourceConfiguration {
5466	s.SalesforceConfiguration = v
5467	return s
5468}
5469
5470// SetServiceNowConfiguration sets the ServiceNowConfiguration field's value.
5471func (s *DataSourceConfiguration) SetServiceNowConfiguration(v *ServiceNowConfiguration) *DataSourceConfiguration {
5472	s.ServiceNowConfiguration = v
5473	return s
5474}
5475
5476// SetSharePointConfiguration sets the SharePointConfiguration field's value.
5477func (s *DataSourceConfiguration) SetSharePointConfiguration(v *SharePointConfiguration) *DataSourceConfiguration {
5478	s.SharePointConfiguration = v
5479	return s
5480}
5481
5482// Summary information for a Amazon Kendra data source. Returned in a call to
5483// the DescribeDataSource operation.
5484type DataSourceSummary struct {
5485	_ struct{} `type:"structure"`
5486
5487	// The UNIX datetime that the data source was created.
5488	CreatedAt *time.Time `type:"timestamp"`
5489
5490	// The unique identifier for the data source.
5491	Id *string `min:"1" type:"string"`
5492
5493	// The name of the data source.
5494	Name *string `min:"1" type:"string"`
5495
5496	// The status of the data source. When the status is ACTIVE the data source
5497	// is ready to use.
5498	Status *string `type:"string" enum:"DataSourceStatus"`
5499
5500	// The type of the data source.
5501	Type *string `type:"string" enum:"DataSourceType"`
5502
5503	// The UNIX datetime that the data source was lasted updated.
5504	UpdatedAt *time.Time `type:"timestamp"`
5505}
5506
5507// String returns the string representation
5508func (s DataSourceSummary) String() string {
5509	return awsutil.Prettify(s)
5510}
5511
5512// GoString returns the string representation
5513func (s DataSourceSummary) GoString() string {
5514	return s.String()
5515}
5516
5517// SetCreatedAt sets the CreatedAt field's value.
5518func (s *DataSourceSummary) SetCreatedAt(v time.Time) *DataSourceSummary {
5519	s.CreatedAt = &v
5520	return s
5521}
5522
5523// SetId sets the Id field's value.
5524func (s *DataSourceSummary) SetId(v string) *DataSourceSummary {
5525	s.Id = &v
5526	return s
5527}
5528
5529// SetName sets the Name field's value.
5530func (s *DataSourceSummary) SetName(v string) *DataSourceSummary {
5531	s.Name = &v
5532	return s
5533}
5534
5535// SetStatus sets the Status field's value.
5536func (s *DataSourceSummary) SetStatus(v string) *DataSourceSummary {
5537	s.Status = &v
5538	return s
5539}
5540
5541// SetType sets the Type field's value.
5542func (s *DataSourceSummary) SetType(v string) *DataSourceSummary {
5543	s.Type = &v
5544	return s
5545}
5546
5547// SetUpdatedAt sets the UpdatedAt field's value.
5548func (s *DataSourceSummary) SetUpdatedAt(v time.Time) *DataSourceSummary {
5549	s.UpdatedAt = &v
5550	return s
5551}
5552
5553// Provides information about a synchronization job.
5554type DataSourceSyncJob struct {
5555	_ struct{} `type:"structure"`
5556
5557	// If the reason that the synchronization failed is due to an error with the
5558	// underlying data source, this field contains a code that identifies the error.
5559	DataSourceErrorCode *string `min:"1" type:"string"`
5560
5561	// The UNIX datetime that the synchronization job was completed.
5562	EndTime *time.Time `type:"timestamp"`
5563
5564	// If the Status field is set to FAILED, the ErrorCode field contains a the
5565	// reason that the synchronization failed.
5566	ErrorCode *string `type:"string" enum:"ErrorCode"`
5567
5568	// If the Status field is set to ERROR, the ErrorMessage field contains a description
5569	// of the error that caused the synchronization to fail.
5570	ErrorMessage *string `min:"1" type:"string"`
5571
5572	// A unique identifier for the synchronization job.
5573	ExecutionId *string `min:"1" type:"string"`
5574
5575	// Maps a batch delete document request to a specific data source sync job.
5576	// This is optional and should only be supplied when documents are deleted by
5577	// a data source connector.
5578	Metrics *DataSourceSyncJobMetrics `type:"structure"`
5579
5580	// The UNIX datetime that the synchronization job was started.
5581	StartTime *time.Time `type:"timestamp"`
5582
5583	// The execution status of the synchronization job. When the Status field is
5584	// set to SUCCEEDED, the synchronization job is done. If the status code is
5585	// set to FAILED, the ErrorCode and ErrorMessage fields give you the reason
5586	// for the failure.
5587	Status *string `type:"string" enum:"DataSourceSyncJobStatus"`
5588}
5589
5590// String returns the string representation
5591func (s DataSourceSyncJob) String() string {
5592	return awsutil.Prettify(s)
5593}
5594
5595// GoString returns the string representation
5596func (s DataSourceSyncJob) GoString() string {
5597	return s.String()
5598}
5599
5600// SetDataSourceErrorCode sets the DataSourceErrorCode field's value.
5601func (s *DataSourceSyncJob) SetDataSourceErrorCode(v string) *DataSourceSyncJob {
5602	s.DataSourceErrorCode = &v
5603	return s
5604}
5605
5606// SetEndTime sets the EndTime field's value.
5607func (s *DataSourceSyncJob) SetEndTime(v time.Time) *DataSourceSyncJob {
5608	s.EndTime = &v
5609	return s
5610}
5611
5612// SetErrorCode sets the ErrorCode field's value.
5613func (s *DataSourceSyncJob) SetErrorCode(v string) *DataSourceSyncJob {
5614	s.ErrorCode = &v
5615	return s
5616}
5617
5618// SetErrorMessage sets the ErrorMessage field's value.
5619func (s *DataSourceSyncJob) SetErrorMessage(v string) *DataSourceSyncJob {
5620	s.ErrorMessage = &v
5621	return s
5622}
5623
5624// SetExecutionId sets the ExecutionId field's value.
5625func (s *DataSourceSyncJob) SetExecutionId(v string) *DataSourceSyncJob {
5626	s.ExecutionId = &v
5627	return s
5628}
5629
5630// SetMetrics sets the Metrics field's value.
5631func (s *DataSourceSyncJob) SetMetrics(v *DataSourceSyncJobMetrics) *DataSourceSyncJob {
5632	s.Metrics = v
5633	return s
5634}
5635
5636// SetStartTime sets the StartTime field's value.
5637func (s *DataSourceSyncJob) SetStartTime(v time.Time) *DataSourceSyncJob {
5638	s.StartTime = &v
5639	return s
5640}
5641
5642// SetStatus sets the Status field's value.
5643func (s *DataSourceSyncJob) SetStatus(v string) *DataSourceSyncJob {
5644	s.Status = &v
5645	return s
5646}
5647
5648// Maps a particular data source sync job to a particular data source.
5649type DataSourceSyncJobMetricTarget struct {
5650	_ struct{} `type:"structure"`
5651
5652	// The ID of the data source that is running the sync job.
5653	//
5654	// DataSourceId is a required field
5655	DataSourceId *string `min:"1" type:"string" required:"true"`
5656
5657	// The ID of the sync job that is running on the data source.
5658	//
5659	// DataSourceSyncJobId is a required field
5660	DataSourceSyncJobId *string `min:"1" type:"string" required:"true"`
5661}
5662
5663// String returns the string representation
5664func (s DataSourceSyncJobMetricTarget) String() string {
5665	return awsutil.Prettify(s)
5666}
5667
5668// GoString returns the string representation
5669func (s DataSourceSyncJobMetricTarget) GoString() string {
5670	return s.String()
5671}
5672
5673// Validate inspects the fields of the type to determine if they are valid.
5674func (s *DataSourceSyncJobMetricTarget) Validate() error {
5675	invalidParams := request.ErrInvalidParams{Context: "DataSourceSyncJobMetricTarget"}
5676	if s.DataSourceId == nil {
5677		invalidParams.Add(request.NewErrParamRequired("DataSourceId"))
5678	}
5679	if s.DataSourceId != nil && len(*s.DataSourceId) < 1 {
5680		invalidParams.Add(request.NewErrParamMinLen("DataSourceId", 1))
5681	}
5682	if s.DataSourceSyncJobId == nil {
5683		invalidParams.Add(request.NewErrParamRequired("DataSourceSyncJobId"))
5684	}
5685	if s.DataSourceSyncJobId != nil && len(*s.DataSourceSyncJobId) < 1 {
5686		invalidParams.Add(request.NewErrParamMinLen("DataSourceSyncJobId", 1))
5687	}
5688
5689	if invalidParams.Len() > 0 {
5690		return invalidParams
5691	}
5692	return nil
5693}
5694
5695// SetDataSourceId sets the DataSourceId field's value.
5696func (s *DataSourceSyncJobMetricTarget) SetDataSourceId(v string) *DataSourceSyncJobMetricTarget {
5697	s.DataSourceId = &v
5698	return s
5699}
5700
5701// SetDataSourceSyncJobId sets the DataSourceSyncJobId field's value.
5702func (s *DataSourceSyncJobMetricTarget) SetDataSourceSyncJobId(v string) *DataSourceSyncJobMetricTarget {
5703	s.DataSourceSyncJobId = &v
5704	return s
5705}
5706
5707// Maps a batch delete document request to a specific data source sync job.
5708// This is optional and should only be supplied when documents are deleted by
5709// a data source connector.
5710type DataSourceSyncJobMetrics struct {
5711	_ struct{} `type:"structure"`
5712
5713	// The number of documents added from the data source up to now in the data
5714	// source sync.
5715	DocumentsAdded *string `type:"string"`
5716
5717	// The number of documents deleted from the data source up to now in the data
5718	// source sync run.
5719	DocumentsDeleted *string `type:"string"`
5720
5721	// The number of documents that failed to sync from the data source up to now
5722	// in the data source sync run.
5723	DocumentsFailed *string `type:"string"`
5724
5725	// The number of documents modified in the data source up to now in the data
5726	// source sync run.
5727	DocumentsModified *string `type:"string"`
5728
5729	// The current number of documents crawled by the current sync job in the data
5730	// source.
5731	DocumentsScanned *string `type:"string"`
5732}
5733
5734// String returns the string representation
5735func (s DataSourceSyncJobMetrics) String() string {
5736	return awsutil.Prettify(s)
5737}
5738
5739// GoString returns the string representation
5740func (s DataSourceSyncJobMetrics) GoString() string {
5741	return s.String()
5742}
5743
5744// SetDocumentsAdded sets the DocumentsAdded field's value.
5745func (s *DataSourceSyncJobMetrics) SetDocumentsAdded(v string) *DataSourceSyncJobMetrics {
5746	s.DocumentsAdded = &v
5747	return s
5748}
5749
5750// SetDocumentsDeleted sets the DocumentsDeleted field's value.
5751func (s *DataSourceSyncJobMetrics) SetDocumentsDeleted(v string) *DataSourceSyncJobMetrics {
5752	s.DocumentsDeleted = &v
5753	return s
5754}
5755
5756// SetDocumentsFailed sets the DocumentsFailed field's value.
5757func (s *DataSourceSyncJobMetrics) SetDocumentsFailed(v string) *DataSourceSyncJobMetrics {
5758	s.DocumentsFailed = &v
5759	return s
5760}
5761
5762// SetDocumentsModified sets the DocumentsModified field's value.
5763func (s *DataSourceSyncJobMetrics) SetDocumentsModified(v string) *DataSourceSyncJobMetrics {
5764	s.DocumentsModified = &v
5765	return s
5766}
5767
5768// SetDocumentsScanned sets the DocumentsScanned field's value.
5769func (s *DataSourceSyncJobMetrics) SetDocumentsScanned(v string) *DataSourceSyncJobMetrics {
5770	s.DocumentsScanned = &v
5771	return s
5772}
5773
5774// Maps a column or attribute in the data source to an index field. You must
5775// first create the fields in the index using the UpdateIndex operation.
5776type DataSourceToIndexFieldMapping struct {
5777	_ struct{} `type:"structure"`
5778
5779	// The name of the column or attribute in the data source.
5780	//
5781	// DataSourceFieldName is a required field
5782	DataSourceFieldName *string `min:"1" type:"string" required:"true"`
5783
5784	// The type of data stored in the column or attribute.
5785	DateFieldFormat *string `min:"4" type:"string"`
5786
5787	// The name of the field in the index.
5788	//
5789	// IndexFieldName is a required field
5790	IndexFieldName *string `min:"1" type:"string" required:"true"`
5791}
5792
5793// String returns the string representation
5794func (s DataSourceToIndexFieldMapping) String() string {
5795	return awsutil.Prettify(s)
5796}
5797
5798// GoString returns the string representation
5799func (s DataSourceToIndexFieldMapping) GoString() string {
5800	return s.String()
5801}
5802
5803// Validate inspects the fields of the type to determine if they are valid.
5804func (s *DataSourceToIndexFieldMapping) Validate() error {
5805	invalidParams := request.ErrInvalidParams{Context: "DataSourceToIndexFieldMapping"}
5806	if s.DataSourceFieldName == nil {
5807		invalidParams.Add(request.NewErrParamRequired("DataSourceFieldName"))
5808	}
5809	if s.DataSourceFieldName != nil && len(*s.DataSourceFieldName) < 1 {
5810		invalidParams.Add(request.NewErrParamMinLen("DataSourceFieldName", 1))
5811	}
5812	if s.DateFieldFormat != nil && len(*s.DateFieldFormat) < 4 {
5813		invalidParams.Add(request.NewErrParamMinLen("DateFieldFormat", 4))
5814	}
5815	if s.IndexFieldName == nil {
5816		invalidParams.Add(request.NewErrParamRequired("IndexFieldName"))
5817	}
5818	if s.IndexFieldName != nil && len(*s.IndexFieldName) < 1 {
5819		invalidParams.Add(request.NewErrParamMinLen("IndexFieldName", 1))
5820	}
5821
5822	if invalidParams.Len() > 0 {
5823		return invalidParams
5824	}
5825	return nil
5826}
5827
5828// SetDataSourceFieldName sets the DataSourceFieldName field's value.
5829func (s *DataSourceToIndexFieldMapping) SetDataSourceFieldName(v string) *DataSourceToIndexFieldMapping {
5830	s.DataSourceFieldName = &v
5831	return s
5832}
5833
5834// SetDateFieldFormat sets the DateFieldFormat field's value.
5835func (s *DataSourceToIndexFieldMapping) SetDateFieldFormat(v string) *DataSourceToIndexFieldMapping {
5836	s.DateFieldFormat = &v
5837	return s
5838}
5839
5840// SetIndexFieldName sets the IndexFieldName field's value.
5841func (s *DataSourceToIndexFieldMapping) SetIndexFieldName(v string) *DataSourceToIndexFieldMapping {
5842	s.IndexFieldName = &v
5843	return s
5844}
5845
5846// Provides information for connecting to an Amazon VPC.
5847type DataSourceVpcConfiguration struct {
5848	_ struct{} `type:"structure"`
5849
5850	// A list of identifiers of security groups within your Amazon VPC. The security
5851	// groups should enable Amazon Kendra to connect to the data source.
5852	//
5853	// SecurityGroupIds is a required field
5854	SecurityGroupIds []*string `min:"1" type:"list" required:"true"`
5855
5856	// A list of identifiers for subnets within your Amazon VPC. The subnets should
5857	// be able to connect to each other in the VPC, and they should have outgoing
5858	// access to the Internet through a NAT device.
5859	//
5860	// SubnetIds is a required field
5861	SubnetIds []*string `min:"1" type:"list" required:"true"`
5862}
5863
5864// String returns the string representation
5865func (s DataSourceVpcConfiguration) String() string {
5866	return awsutil.Prettify(s)
5867}
5868
5869// GoString returns the string representation
5870func (s DataSourceVpcConfiguration) GoString() string {
5871	return s.String()
5872}
5873
5874// Validate inspects the fields of the type to determine if they are valid.
5875func (s *DataSourceVpcConfiguration) Validate() error {
5876	invalidParams := request.ErrInvalidParams{Context: "DataSourceVpcConfiguration"}
5877	if s.SecurityGroupIds == nil {
5878		invalidParams.Add(request.NewErrParamRequired("SecurityGroupIds"))
5879	}
5880	if s.SecurityGroupIds != nil && len(s.SecurityGroupIds) < 1 {
5881		invalidParams.Add(request.NewErrParamMinLen("SecurityGroupIds", 1))
5882	}
5883	if s.SubnetIds == nil {
5884		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
5885	}
5886	if s.SubnetIds != nil && len(s.SubnetIds) < 1 {
5887		invalidParams.Add(request.NewErrParamMinLen("SubnetIds", 1))
5888	}
5889
5890	if invalidParams.Len() > 0 {
5891		return invalidParams
5892	}
5893	return nil
5894}
5895
5896// SetSecurityGroupIds sets the SecurityGroupIds field's value.
5897func (s *DataSourceVpcConfiguration) SetSecurityGroupIds(v []*string) *DataSourceVpcConfiguration {
5898	s.SecurityGroupIds = v
5899	return s
5900}
5901
5902// SetSubnetIds sets the SubnetIds field's value.
5903func (s *DataSourceVpcConfiguration) SetSubnetIds(v []*string) *DataSourceVpcConfiguration {
5904	s.SubnetIds = v
5905	return s
5906}
5907
5908// Provides the information necessary to connect a database to an index.
5909type DatabaseConfiguration struct {
5910	_ struct{} `type:"structure"`
5911
5912	// Information about the database column that provides information for user
5913	// context filtering.
5914	AclConfiguration *AclConfiguration `type:"structure"`
5915
5916	// Information about where the index should get the document information from
5917	// the database.
5918	//
5919	// ColumnConfiguration is a required field
5920	ColumnConfiguration *ColumnConfiguration `type:"structure" required:"true"`
5921
5922	// The information necessary to connect to a database.
5923	//
5924	// ConnectionConfiguration is a required field
5925	ConnectionConfiguration *ConnectionConfiguration `type:"structure" required:"true"`
5926
5927	// The type of database engine that runs the database.
5928	//
5929	// DatabaseEngineType is a required field
5930	DatabaseEngineType *string `type:"string" required:"true" enum:"DatabaseEngineType"`
5931
5932	// Provides information about how Amazon Kendra uses quote marks around SQL
5933	// identifiers when querying a database data source.
5934	SqlConfiguration *SqlConfiguration `type:"structure"`
5935
5936	// Provides information for connecting to an Amazon VPC.
5937	VpcConfiguration *DataSourceVpcConfiguration `type:"structure"`
5938}
5939
5940// String returns the string representation
5941func (s DatabaseConfiguration) String() string {
5942	return awsutil.Prettify(s)
5943}
5944
5945// GoString returns the string representation
5946func (s DatabaseConfiguration) GoString() string {
5947	return s.String()
5948}
5949
5950// Validate inspects the fields of the type to determine if they are valid.
5951func (s *DatabaseConfiguration) Validate() error {
5952	invalidParams := request.ErrInvalidParams{Context: "DatabaseConfiguration"}
5953	if s.ColumnConfiguration == nil {
5954		invalidParams.Add(request.NewErrParamRequired("ColumnConfiguration"))
5955	}
5956	if s.ConnectionConfiguration == nil {
5957		invalidParams.Add(request.NewErrParamRequired("ConnectionConfiguration"))
5958	}
5959	if s.DatabaseEngineType == nil {
5960		invalidParams.Add(request.NewErrParamRequired("DatabaseEngineType"))
5961	}
5962	if s.AclConfiguration != nil {
5963		if err := s.AclConfiguration.Validate(); err != nil {
5964			invalidParams.AddNested("AclConfiguration", err.(request.ErrInvalidParams))
5965		}
5966	}
5967	if s.ColumnConfiguration != nil {
5968		if err := s.ColumnConfiguration.Validate(); err != nil {
5969			invalidParams.AddNested("ColumnConfiguration", err.(request.ErrInvalidParams))
5970		}
5971	}
5972	if s.ConnectionConfiguration != nil {
5973		if err := s.ConnectionConfiguration.Validate(); err != nil {
5974			invalidParams.AddNested("ConnectionConfiguration", err.(request.ErrInvalidParams))
5975		}
5976	}
5977	if s.VpcConfiguration != nil {
5978		if err := s.VpcConfiguration.Validate(); err != nil {
5979			invalidParams.AddNested("VpcConfiguration", err.(request.ErrInvalidParams))
5980		}
5981	}
5982
5983	if invalidParams.Len() > 0 {
5984		return invalidParams
5985	}
5986	return nil
5987}
5988
5989// SetAclConfiguration sets the AclConfiguration field's value.
5990func (s *DatabaseConfiguration) SetAclConfiguration(v *AclConfiguration) *DatabaseConfiguration {
5991	s.AclConfiguration = v
5992	return s
5993}
5994
5995// SetColumnConfiguration sets the ColumnConfiguration field's value.
5996func (s *DatabaseConfiguration) SetColumnConfiguration(v *ColumnConfiguration) *DatabaseConfiguration {
5997	s.ColumnConfiguration = v
5998	return s
5999}
6000
6001// SetConnectionConfiguration sets the ConnectionConfiguration field's value.
6002func (s *DatabaseConfiguration) SetConnectionConfiguration(v *ConnectionConfiguration) *DatabaseConfiguration {
6003	s.ConnectionConfiguration = v
6004	return s
6005}
6006
6007// SetDatabaseEngineType sets the DatabaseEngineType field's value.
6008func (s *DatabaseConfiguration) SetDatabaseEngineType(v string) *DatabaseConfiguration {
6009	s.DatabaseEngineType = &v
6010	return s
6011}
6012
6013// SetSqlConfiguration sets the SqlConfiguration field's value.
6014func (s *DatabaseConfiguration) SetSqlConfiguration(v *SqlConfiguration) *DatabaseConfiguration {
6015	s.SqlConfiguration = v
6016	return s
6017}
6018
6019// SetVpcConfiguration sets the VpcConfiguration field's value.
6020func (s *DatabaseConfiguration) SetVpcConfiguration(v *DataSourceVpcConfiguration) *DatabaseConfiguration {
6021	s.VpcConfiguration = v
6022	return s
6023}
6024
6025type DeleteDataSourceInput struct {
6026	_ struct{} `type:"structure"`
6027
6028	// The unique identifier of the data source to delete.
6029	//
6030	// Id is a required field
6031	Id *string `min:"1" type:"string" required:"true"`
6032
6033	// The unique identifier of the index associated with the data source.
6034	//
6035	// IndexId is a required field
6036	IndexId *string `min:"36" type:"string" required:"true"`
6037}
6038
6039// String returns the string representation
6040func (s DeleteDataSourceInput) String() string {
6041	return awsutil.Prettify(s)
6042}
6043
6044// GoString returns the string representation
6045func (s DeleteDataSourceInput) GoString() string {
6046	return s.String()
6047}
6048
6049// Validate inspects the fields of the type to determine if they are valid.
6050func (s *DeleteDataSourceInput) Validate() error {
6051	invalidParams := request.ErrInvalidParams{Context: "DeleteDataSourceInput"}
6052	if s.Id == nil {
6053		invalidParams.Add(request.NewErrParamRequired("Id"))
6054	}
6055	if s.Id != nil && len(*s.Id) < 1 {
6056		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
6057	}
6058	if s.IndexId == nil {
6059		invalidParams.Add(request.NewErrParamRequired("IndexId"))
6060	}
6061	if s.IndexId != nil && len(*s.IndexId) < 36 {
6062		invalidParams.Add(request.NewErrParamMinLen("IndexId", 36))
6063	}
6064
6065	if invalidParams.Len() > 0 {
6066		return invalidParams
6067	}
6068	return nil
6069}
6070
6071// SetId sets the Id field's value.
6072func (s *DeleteDataSourceInput) SetId(v string) *DeleteDataSourceInput {
6073	s.Id = &v
6074	return s
6075}
6076
6077// SetIndexId sets the IndexId field's value.
6078func (s *DeleteDataSourceInput) SetIndexId(v string) *DeleteDataSourceInput {
6079	s.IndexId = &v
6080	return s
6081}
6082
6083type DeleteDataSourceOutput struct {
6084	_ struct{} `type:"structure"`
6085}
6086
6087// String returns the string representation
6088func (s DeleteDataSourceOutput) String() string {
6089	return awsutil.Prettify(s)
6090}
6091
6092// GoString returns the string representation
6093func (s DeleteDataSourceOutput) GoString() string {
6094	return s.String()
6095}
6096
6097type DeleteFaqInput struct {
6098	_ struct{} `type:"structure"`
6099
6100	// The identifier of the FAQ to remove.
6101	//
6102	// Id is a required field
6103	Id *string `min:"1" type:"string" required:"true"`
6104
6105	// The index to remove the FAQ from.
6106	//
6107	// IndexId is a required field
6108	IndexId *string `min:"36" type:"string" required:"true"`
6109}
6110
6111// String returns the string representation
6112func (s DeleteFaqInput) String() string {
6113	return awsutil.Prettify(s)
6114}
6115
6116// GoString returns the string representation
6117func (s DeleteFaqInput) GoString() string {
6118	return s.String()
6119}
6120
6121// Validate inspects the fields of the type to determine if they are valid.
6122func (s *DeleteFaqInput) Validate() error {
6123	invalidParams := request.ErrInvalidParams{Context: "DeleteFaqInput"}
6124	if s.Id == nil {
6125		invalidParams.Add(request.NewErrParamRequired("Id"))
6126	}
6127	if s.Id != nil && len(*s.Id) < 1 {
6128		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
6129	}
6130	if s.IndexId == nil {
6131		invalidParams.Add(request.NewErrParamRequired("IndexId"))
6132	}
6133	if s.IndexId != nil && len(*s.IndexId) < 36 {
6134		invalidParams.Add(request.NewErrParamMinLen("IndexId", 36))
6135	}
6136
6137	if invalidParams.Len() > 0 {
6138		return invalidParams
6139	}
6140	return nil
6141}
6142
6143// SetId sets the Id field's value.
6144func (s *DeleteFaqInput) SetId(v string) *DeleteFaqInput {
6145	s.Id = &v
6146	return s
6147}
6148
6149// SetIndexId sets the IndexId field's value.
6150func (s *DeleteFaqInput) SetIndexId(v string) *DeleteFaqInput {
6151	s.IndexId = &v
6152	return s
6153}
6154
6155type DeleteFaqOutput struct {
6156	_ struct{} `type:"structure"`
6157}
6158
6159// String returns the string representation
6160func (s DeleteFaqOutput) String() string {
6161	return awsutil.Prettify(s)
6162}
6163
6164// GoString returns the string representation
6165func (s DeleteFaqOutput) GoString() string {
6166	return s.String()
6167}
6168
6169type DeleteIndexInput struct {
6170	_ struct{} `type:"structure"`
6171
6172	// The identifier of the index to delete.
6173	//
6174	// Id is a required field
6175	Id *string `min:"36" type:"string" required:"true"`
6176}
6177
6178// String returns the string representation
6179func (s DeleteIndexInput) String() string {
6180	return awsutil.Prettify(s)
6181}
6182
6183// GoString returns the string representation
6184func (s DeleteIndexInput) GoString() string {
6185	return s.String()
6186}
6187
6188// Validate inspects the fields of the type to determine if they are valid.
6189func (s *DeleteIndexInput) Validate() error {
6190	invalidParams := request.ErrInvalidParams{Context: "DeleteIndexInput"}
6191	if s.Id == nil {
6192		invalidParams.Add(request.NewErrParamRequired("Id"))
6193	}
6194	if s.Id != nil && len(*s.Id) < 36 {
6195		invalidParams.Add(request.NewErrParamMinLen("Id", 36))
6196	}
6197
6198	if invalidParams.Len() > 0 {
6199		return invalidParams
6200	}
6201	return nil
6202}
6203
6204// SetId sets the Id field's value.
6205func (s *DeleteIndexInput) SetId(v string) *DeleteIndexInput {
6206	s.Id = &v
6207	return s
6208}
6209
6210type DeleteIndexOutput struct {
6211	_ struct{} `type:"structure"`
6212}
6213
6214// String returns the string representation
6215func (s DeleteIndexOutput) String() string {
6216	return awsutil.Prettify(s)
6217}
6218
6219// GoString returns the string representation
6220func (s DeleteIndexOutput) GoString() string {
6221	return s.String()
6222}
6223
6224type DeleteThesaurusInput struct {
6225	_ struct{} `type:"structure"`
6226
6227	// The identifier of the thesaurus to delete.
6228	//
6229	// Id is a required field
6230	Id *string `min:"1" type:"string" required:"true"`
6231
6232	// The identifier of the index associated with the thesaurus to delete.
6233	//
6234	// IndexId is a required field
6235	IndexId *string `min:"36" type:"string" required:"true"`
6236}
6237
6238// String returns the string representation
6239func (s DeleteThesaurusInput) String() string {
6240	return awsutil.Prettify(s)
6241}
6242
6243// GoString returns the string representation
6244func (s DeleteThesaurusInput) GoString() string {
6245	return s.String()
6246}
6247
6248// Validate inspects the fields of the type to determine if they are valid.
6249func (s *DeleteThesaurusInput) Validate() error {
6250	invalidParams := request.ErrInvalidParams{Context: "DeleteThesaurusInput"}
6251	if s.Id == nil {
6252		invalidParams.Add(request.NewErrParamRequired("Id"))
6253	}
6254	if s.Id != nil && len(*s.Id) < 1 {
6255		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
6256	}
6257	if s.IndexId == nil {
6258		invalidParams.Add(request.NewErrParamRequired("IndexId"))
6259	}
6260	if s.IndexId != nil && len(*s.IndexId) < 36 {
6261		invalidParams.Add(request.NewErrParamMinLen("IndexId", 36))
6262	}
6263
6264	if invalidParams.Len() > 0 {
6265		return invalidParams
6266	}
6267	return nil
6268}
6269
6270// SetId sets the Id field's value.
6271func (s *DeleteThesaurusInput) SetId(v string) *DeleteThesaurusInput {
6272	s.Id = &v
6273	return s
6274}
6275
6276// SetIndexId sets the IndexId field's value.
6277func (s *DeleteThesaurusInput) SetIndexId(v string) *DeleteThesaurusInput {
6278	s.IndexId = &v
6279	return s
6280}
6281
6282type DeleteThesaurusOutput struct {
6283	_ struct{} `type:"structure"`
6284}
6285
6286// String returns the string representation
6287func (s DeleteThesaurusOutput) String() string {
6288	return awsutil.Prettify(s)
6289}
6290
6291// GoString returns the string representation
6292func (s DeleteThesaurusOutput) GoString() string {
6293	return s.String()
6294}
6295
6296type DescribeDataSourceInput struct {
6297	_ struct{} `type:"structure"`
6298
6299	// The unique identifier of the data source to describe.
6300	//
6301	// Id is a required field
6302	Id *string `min:"1" type:"string" required:"true"`
6303
6304	// The identifier of the index that contains the data source.
6305	//
6306	// IndexId is a required field
6307	IndexId *string `min:"36" type:"string" required:"true"`
6308}
6309
6310// String returns the string representation
6311func (s DescribeDataSourceInput) String() string {
6312	return awsutil.Prettify(s)
6313}
6314
6315// GoString returns the string representation
6316func (s DescribeDataSourceInput) GoString() string {
6317	return s.String()
6318}
6319
6320// Validate inspects the fields of the type to determine if they are valid.
6321func (s *DescribeDataSourceInput) Validate() error {
6322	invalidParams := request.ErrInvalidParams{Context: "DescribeDataSourceInput"}
6323	if s.Id == nil {
6324		invalidParams.Add(request.NewErrParamRequired("Id"))
6325	}
6326	if s.Id != nil && len(*s.Id) < 1 {
6327		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
6328	}
6329	if s.IndexId == nil {
6330		invalidParams.Add(request.NewErrParamRequired("IndexId"))
6331	}
6332	if s.IndexId != nil && len(*s.IndexId) < 36 {
6333		invalidParams.Add(request.NewErrParamMinLen("IndexId", 36))
6334	}
6335
6336	if invalidParams.Len() > 0 {
6337		return invalidParams
6338	}
6339	return nil
6340}
6341
6342// SetId sets the Id field's value.
6343func (s *DescribeDataSourceInput) SetId(v string) *DescribeDataSourceInput {
6344	s.Id = &v
6345	return s
6346}
6347
6348// SetIndexId sets the IndexId field's value.
6349func (s *DescribeDataSourceInput) SetIndexId(v string) *DescribeDataSourceInput {
6350	s.IndexId = &v
6351	return s
6352}
6353
6354type DescribeDataSourceOutput struct {
6355	_ struct{} `type:"structure"`
6356
6357	// Information that describes where the data source is located and how the data
6358	// source is configured. The specific information in the description depends
6359	// on the data source provider.
6360	Configuration *DataSourceConfiguration `type:"structure"`
6361
6362	// The Unix timestamp of when the data source was created.
6363	CreatedAt *time.Time `type:"timestamp"`
6364
6365	// The description of the data source.
6366	Description *string `type:"string"`
6367
6368	// When the Status field value is FAILED, the ErrorMessage field contains a
6369	// description of the error that caused the data source to fail.
6370	ErrorMessage *string `min:"1" type:"string"`
6371
6372	// The identifier of the data source.
6373	Id *string `min:"1" type:"string"`
6374
6375	// The identifier of the index that contains the data source.
6376	IndexId *string `min:"36" type:"string"`
6377
6378	// The name that you gave the data source when it was created.
6379	Name *string `min:"1" type:"string"`
6380
6381	// The Amazon Resource Name (ARN) of the role that enables the data source to
6382	// access its resources.
6383	RoleArn *string `min:"1" type:"string"`
6384
6385	// The schedule that Amazon Kendra will update the data source.
6386	Schedule *string `type:"string"`
6387
6388	// The current status of the data source. When the status is ACTIVE the data
6389	// source is ready to use. When the status is FAILED, the ErrorMessage field
6390	// contains the reason that the data source failed.
6391	Status *string `type:"string" enum:"DataSourceStatus"`
6392
6393	// The type of the data source.
6394	Type *string `type:"string" enum:"DataSourceType"`
6395
6396	// The Unix timestamp of when the data source was last updated.
6397	UpdatedAt *time.Time `type:"timestamp"`
6398}
6399
6400// String returns the string representation
6401func (s DescribeDataSourceOutput) String() string {
6402	return awsutil.Prettify(s)
6403}
6404
6405// GoString returns the string representation
6406func (s DescribeDataSourceOutput) GoString() string {
6407	return s.String()
6408}
6409
6410// SetConfiguration sets the Configuration field's value.
6411func (s *DescribeDataSourceOutput) SetConfiguration(v *DataSourceConfiguration) *DescribeDataSourceOutput {
6412	s.Configuration = v
6413	return s
6414}
6415
6416// SetCreatedAt sets the CreatedAt field's value.
6417func (s *DescribeDataSourceOutput) SetCreatedAt(v time.Time) *DescribeDataSourceOutput {
6418	s.CreatedAt = &v
6419	return s
6420}
6421
6422// SetDescription sets the Description field's value.
6423func (s *DescribeDataSourceOutput) SetDescription(v string) *DescribeDataSourceOutput {
6424	s.Description = &v
6425	return s
6426}
6427
6428// SetErrorMessage sets the ErrorMessage field's value.
6429func (s *DescribeDataSourceOutput) SetErrorMessage(v string) *DescribeDataSourceOutput {
6430	s.ErrorMessage = &v
6431	return s
6432}
6433
6434// SetId sets the Id field's value.
6435func (s *DescribeDataSourceOutput) SetId(v string) *DescribeDataSourceOutput {
6436	s.Id = &v
6437	return s
6438}
6439
6440// SetIndexId sets the IndexId field's value.
6441func (s *DescribeDataSourceOutput) SetIndexId(v string) *DescribeDataSourceOutput {
6442	s.IndexId = &v
6443	return s
6444}
6445
6446// SetName sets the Name field's value.
6447func (s *DescribeDataSourceOutput) SetName(v string) *DescribeDataSourceOutput {
6448	s.Name = &v
6449	return s
6450}
6451
6452// SetRoleArn sets the RoleArn field's value.
6453func (s *DescribeDataSourceOutput) SetRoleArn(v string) *DescribeDataSourceOutput {
6454	s.RoleArn = &v
6455	return s
6456}
6457
6458// SetSchedule sets the Schedule field's value.
6459func (s *DescribeDataSourceOutput) SetSchedule(v string) *DescribeDataSourceOutput {
6460	s.Schedule = &v
6461	return s
6462}
6463
6464// SetStatus sets the Status field's value.
6465func (s *DescribeDataSourceOutput) SetStatus(v string) *DescribeDataSourceOutput {
6466	s.Status = &v
6467	return s
6468}
6469
6470// SetType sets the Type field's value.
6471func (s *DescribeDataSourceOutput) SetType(v string) *DescribeDataSourceOutput {
6472	s.Type = &v
6473	return s
6474}
6475
6476// SetUpdatedAt sets the UpdatedAt field's value.
6477func (s *DescribeDataSourceOutput) SetUpdatedAt(v time.Time) *DescribeDataSourceOutput {
6478	s.UpdatedAt = &v
6479	return s
6480}
6481
6482type DescribeFaqInput struct {
6483	_ struct{} `type:"structure"`
6484
6485	// The unique identifier of the FAQ.
6486	//
6487	// Id is a required field
6488	Id *string `min:"1" type:"string" required:"true"`
6489
6490	// The identifier of the index that contains the FAQ.
6491	//
6492	// IndexId is a required field
6493	IndexId *string `min:"36" type:"string" required:"true"`
6494}
6495
6496// String returns the string representation
6497func (s DescribeFaqInput) String() string {
6498	return awsutil.Prettify(s)
6499}
6500
6501// GoString returns the string representation
6502func (s DescribeFaqInput) GoString() string {
6503	return s.String()
6504}
6505
6506// Validate inspects the fields of the type to determine if they are valid.
6507func (s *DescribeFaqInput) Validate() error {
6508	invalidParams := request.ErrInvalidParams{Context: "DescribeFaqInput"}
6509	if s.Id == nil {
6510		invalidParams.Add(request.NewErrParamRequired("Id"))
6511	}
6512	if s.Id != nil && len(*s.Id) < 1 {
6513		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
6514	}
6515	if s.IndexId == nil {
6516		invalidParams.Add(request.NewErrParamRequired("IndexId"))
6517	}
6518	if s.IndexId != nil && len(*s.IndexId) < 36 {
6519		invalidParams.Add(request.NewErrParamMinLen("IndexId", 36))
6520	}
6521
6522	if invalidParams.Len() > 0 {
6523		return invalidParams
6524	}
6525	return nil
6526}
6527
6528// SetId sets the Id field's value.
6529func (s *DescribeFaqInput) SetId(v string) *DescribeFaqInput {
6530	s.Id = &v
6531	return s
6532}
6533
6534// SetIndexId sets the IndexId field's value.
6535func (s *DescribeFaqInput) SetIndexId(v string) *DescribeFaqInput {
6536	s.IndexId = &v
6537	return s
6538}
6539
6540type DescribeFaqOutput struct {
6541	_ struct{} `type:"structure"`
6542
6543	// The date and time that the FAQ was created.
6544	CreatedAt *time.Time `type:"timestamp"`
6545
6546	// The description of the FAQ that you provided when it was created.
6547	Description *string `type:"string"`
6548
6549	// If the Status field is FAILED, the ErrorMessage field contains the reason
6550	// why the FAQ failed.
6551	ErrorMessage *string `min:"1" type:"string"`
6552
6553	// The file format used by the input files for the FAQ.
6554	FileFormat *string `type:"string" enum:"FaqFileFormat"`
6555
6556	// The identifier of the FAQ.
6557	Id *string `min:"1" type:"string"`
6558
6559	// The identifier of the index that contains the FAQ.
6560	IndexId *string `min:"36" type:"string"`
6561
6562	// The name that you gave the FAQ when it was created.
6563	Name *string `min:"1" type:"string"`
6564
6565	// The Amazon Resource Name (ARN) of the role that provides access to the S3
6566	// bucket containing the input files for the FAQ.
6567	RoleArn *string `min:"1" type:"string"`
6568
6569	// Information required to find a specific file in an Amazon S3 bucket.
6570	S3Path *S3Path `type:"structure"`
6571
6572	// The status of the FAQ. It is ready to use when the status is ACTIVE.
6573	Status *string `type:"string" enum:"FaqStatus"`
6574
6575	// The date and time that the FAQ was last updated.
6576	UpdatedAt *time.Time `type:"timestamp"`
6577}
6578
6579// String returns the string representation
6580func (s DescribeFaqOutput) String() string {
6581	return awsutil.Prettify(s)
6582}
6583
6584// GoString returns the string representation
6585func (s DescribeFaqOutput) GoString() string {
6586	return s.String()
6587}
6588
6589// SetCreatedAt sets the CreatedAt field's value.
6590func (s *DescribeFaqOutput) SetCreatedAt(v time.Time) *DescribeFaqOutput {
6591	s.CreatedAt = &v
6592	return s
6593}
6594
6595// SetDescription sets the Description field's value.
6596func (s *DescribeFaqOutput) SetDescription(v string) *DescribeFaqOutput {
6597	s.Description = &v
6598	return s
6599}
6600
6601// SetErrorMessage sets the ErrorMessage field's value.
6602func (s *DescribeFaqOutput) SetErrorMessage(v string) *DescribeFaqOutput {
6603	s.ErrorMessage = &v
6604	return s
6605}
6606
6607// SetFileFormat sets the FileFormat field's value.
6608func (s *DescribeFaqOutput) SetFileFormat(v string) *DescribeFaqOutput {
6609	s.FileFormat = &v
6610	return s
6611}
6612
6613// SetId sets the Id field's value.
6614func (s *DescribeFaqOutput) SetId(v string) *DescribeFaqOutput {
6615	s.Id = &v
6616	return s
6617}
6618
6619// SetIndexId sets the IndexId field's value.
6620func (s *DescribeFaqOutput) SetIndexId(v string) *DescribeFaqOutput {
6621	s.IndexId = &v
6622	return s
6623}
6624
6625// SetName sets the Name field's value.
6626func (s *DescribeFaqOutput) SetName(v string) *DescribeFaqOutput {
6627	s.Name = &v
6628	return s
6629}
6630
6631// SetRoleArn sets the RoleArn field's value.
6632func (s *DescribeFaqOutput) SetRoleArn(v string) *DescribeFaqOutput {
6633	s.RoleArn = &v
6634	return s
6635}
6636
6637// SetS3Path sets the S3Path field's value.
6638func (s *DescribeFaqOutput) SetS3Path(v *S3Path) *DescribeFaqOutput {
6639	s.S3Path = v
6640	return s
6641}
6642
6643// SetStatus sets the Status field's value.
6644func (s *DescribeFaqOutput) SetStatus(v string) *DescribeFaqOutput {
6645	s.Status = &v
6646	return s
6647}
6648
6649// SetUpdatedAt sets the UpdatedAt field's value.
6650func (s *DescribeFaqOutput) SetUpdatedAt(v time.Time) *DescribeFaqOutput {
6651	s.UpdatedAt = &v
6652	return s
6653}
6654
6655type DescribeIndexInput struct {
6656	_ struct{} `type:"structure"`
6657
6658	// The name of the index to describe.
6659	//
6660	// Id is a required field
6661	Id *string `min:"36" type:"string" required:"true"`
6662}
6663
6664// String returns the string representation
6665func (s DescribeIndexInput) String() string {
6666	return awsutil.Prettify(s)
6667}
6668
6669// GoString returns the string representation
6670func (s DescribeIndexInput) GoString() string {
6671	return s.String()
6672}
6673
6674// Validate inspects the fields of the type to determine if they are valid.
6675func (s *DescribeIndexInput) Validate() error {
6676	invalidParams := request.ErrInvalidParams{Context: "DescribeIndexInput"}
6677	if s.Id == nil {
6678		invalidParams.Add(request.NewErrParamRequired("Id"))
6679	}
6680	if s.Id != nil && len(*s.Id) < 36 {
6681		invalidParams.Add(request.NewErrParamMinLen("Id", 36))
6682	}
6683
6684	if invalidParams.Len() > 0 {
6685		return invalidParams
6686	}
6687	return nil
6688}
6689
6690// SetId sets the Id field's value.
6691func (s *DescribeIndexInput) SetId(v string) *DescribeIndexInput {
6692	s.Id = &v
6693	return s
6694}
6695
6696type DescribeIndexOutput struct {
6697	_ struct{} `type:"structure"`
6698
6699	// For Enterprise edition indexes, you can choose to use additional capacity
6700	// to meet the needs of your application. This contains the capacity units used
6701	// for the index. A 0 for the query capacity or the storage capacity indicates
6702	// that the index is using the default capacity for the index.
6703	CapacityUnits *CapacityUnitsConfiguration `type:"structure"`
6704
6705	// The Unix datetime that the index was created.
6706	CreatedAt *time.Time `type:"timestamp"`
6707
6708	// The description of the index.
6709	Description *string `type:"string"`
6710
6711	// Configuration settings for any metadata applied to the documents in the index.
6712	DocumentMetadataConfigurations []*DocumentMetadataConfiguration `type:"list"`
6713
6714	// The Amazon Kendra edition used for the index. You decide the edition when
6715	// you create the index.
6716	Edition *string `type:"string" enum:"IndexEdition"`
6717
6718	// When th eStatus field value is FAILED, the ErrorMessage field contains a
6719	// message that explains why.
6720	ErrorMessage *string `min:"1" type:"string"`
6721
6722	// The name of the index.
6723	Id *string `min:"36" type:"string"`
6724
6725	// Provides information about the number of FAQ questions and answers and the
6726	// number of text documents indexed.
6727	IndexStatistics *IndexStatistics `type:"structure"`
6728
6729	// The name of the index.
6730	Name *string `min:"1" type:"string"`
6731
6732	// The Amazon Resource Name (ARN) of the IAM role that gives Amazon Kendra permission
6733	// to write to your Amazon Cloudwatch logs.
6734	RoleArn *string `min:"1" type:"string"`
6735
6736	// The identifier of the AWS KMS customer master key (CMK) used to encrypt your
6737	// data. Amazon Kendra doesn't support asymmetric CMKs.
6738	ServerSideEncryptionConfiguration *ServerSideEncryptionConfiguration `type:"structure"`
6739
6740	// The current status of the index. When the value is ACTIVE, the index is ready
6741	// for use. If the Status field value is FAILED, the ErrorMessage field contains
6742	// a message that explains why.
6743	Status *string `type:"string" enum:"IndexStatus"`
6744
6745	// The Unix datetime that the index was last updated.
6746	UpdatedAt *time.Time `type:"timestamp"`
6747
6748	// The user context policy for the Amazon Kendra index.
6749	UserContextPolicy *string `type:"string" enum:"UserContextPolicy"`
6750
6751	// The user token configuration for the Amazon Kendra index.
6752	UserTokenConfigurations []*UserTokenConfiguration `type:"list"`
6753}
6754
6755// String returns the string representation
6756func (s DescribeIndexOutput) String() string {
6757	return awsutil.Prettify(s)
6758}
6759
6760// GoString returns the string representation
6761func (s DescribeIndexOutput) GoString() string {
6762	return s.String()
6763}
6764
6765// SetCapacityUnits sets the CapacityUnits field's value.
6766func (s *DescribeIndexOutput) SetCapacityUnits(v *CapacityUnitsConfiguration) *DescribeIndexOutput {
6767	s.CapacityUnits = v
6768	return s
6769}
6770
6771// SetCreatedAt sets the CreatedAt field's value.
6772func (s *DescribeIndexOutput) SetCreatedAt(v time.Time) *DescribeIndexOutput {
6773	s.CreatedAt = &v
6774	return s
6775}
6776
6777// SetDescription sets the Description field's value.
6778func (s *DescribeIndexOutput) SetDescription(v string) *DescribeIndexOutput {
6779	s.Description = &v
6780	return s
6781}
6782
6783// SetDocumentMetadataConfigurations sets the DocumentMetadataConfigurations field's value.
6784func (s *DescribeIndexOutput) SetDocumentMetadataConfigurations(v []*DocumentMetadataConfiguration) *DescribeIndexOutput {
6785	s.DocumentMetadataConfigurations = v
6786	return s
6787}
6788
6789// SetEdition sets the Edition field's value.
6790func (s *DescribeIndexOutput) SetEdition(v string) *DescribeIndexOutput {
6791	s.Edition = &v
6792	return s
6793}
6794
6795// SetErrorMessage sets the ErrorMessage field's value.
6796func (s *DescribeIndexOutput) SetErrorMessage(v string) *DescribeIndexOutput {
6797	s.ErrorMessage = &v
6798	return s
6799}
6800
6801// SetId sets the Id field's value.
6802func (s *DescribeIndexOutput) SetId(v string) *DescribeIndexOutput {
6803	s.Id = &v
6804	return s
6805}
6806
6807// SetIndexStatistics sets the IndexStatistics field's value.
6808func (s *DescribeIndexOutput) SetIndexStatistics(v *IndexStatistics) *DescribeIndexOutput {
6809	s.IndexStatistics = v
6810	return s
6811}
6812
6813// SetName sets the Name field's value.
6814func (s *DescribeIndexOutput) SetName(v string) *DescribeIndexOutput {
6815	s.Name = &v
6816	return s
6817}
6818
6819// SetRoleArn sets the RoleArn field's value.
6820func (s *DescribeIndexOutput) SetRoleArn(v string) *DescribeIndexOutput {
6821	s.RoleArn = &v
6822	return s
6823}
6824
6825// SetServerSideEncryptionConfiguration sets the ServerSideEncryptionConfiguration field's value.
6826func (s *DescribeIndexOutput) SetServerSideEncryptionConfiguration(v *ServerSideEncryptionConfiguration) *DescribeIndexOutput {
6827	s.ServerSideEncryptionConfiguration = v
6828	return s
6829}
6830
6831// SetStatus sets the Status field's value.
6832func (s *DescribeIndexOutput) SetStatus(v string) *DescribeIndexOutput {
6833	s.Status = &v
6834	return s
6835}
6836
6837// SetUpdatedAt sets the UpdatedAt field's value.
6838func (s *DescribeIndexOutput) SetUpdatedAt(v time.Time) *DescribeIndexOutput {
6839	s.UpdatedAt = &v
6840	return s
6841}
6842
6843// SetUserContextPolicy sets the UserContextPolicy field's value.
6844func (s *DescribeIndexOutput) SetUserContextPolicy(v string) *DescribeIndexOutput {
6845	s.UserContextPolicy = &v
6846	return s
6847}
6848
6849// SetUserTokenConfigurations sets the UserTokenConfigurations field's value.
6850func (s *DescribeIndexOutput) SetUserTokenConfigurations(v []*UserTokenConfiguration) *DescribeIndexOutput {
6851	s.UserTokenConfigurations = v
6852	return s
6853}
6854
6855type DescribeThesaurusInput struct {
6856	_ struct{} `type:"structure"`
6857
6858	// The identifier of the thesaurus to describe.
6859	//
6860	// Id is a required field
6861	Id *string `min:"1" type:"string" required:"true"`
6862
6863	// The identifier of the index associated with the thesaurus to describe.
6864	//
6865	// IndexId is a required field
6866	IndexId *string `min:"36" type:"string" required:"true"`
6867}
6868
6869// String returns the string representation
6870func (s DescribeThesaurusInput) String() string {
6871	return awsutil.Prettify(s)
6872}
6873
6874// GoString returns the string representation
6875func (s DescribeThesaurusInput) GoString() string {
6876	return s.String()
6877}
6878
6879// Validate inspects the fields of the type to determine if they are valid.
6880func (s *DescribeThesaurusInput) Validate() error {
6881	invalidParams := request.ErrInvalidParams{Context: "DescribeThesaurusInput"}
6882	if s.Id == nil {
6883		invalidParams.Add(request.NewErrParamRequired("Id"))
6884	}
6885	if s.Id != nil && len(*s.Id) < 1 {
6886		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
6887	}
6888	if s.IndexId == nil {
6889		invalidParams.Add(request.NewErrParamRequired("IndexId"))
6890	}
6891	if s.IndexId != nil && len(*s.IndexId) < 36 {
6892		invalidParams.Add(request.NewErrParamMinLen("IndexId", 36))
6893	}
6894
6895	if invalidParams.Len() > 0 {
6896		return invalidParams
6897	}
6898	return nil
6899}
6900
6901// SetId sets the Id field's value.
6902func (s *DescribeThesaurusInput) SetId(v string) *DescribeThesaurusInput {
6903	s.Id = &v
6904	return s
6905}
6906
6907// SetIndexId sets the IndexId field's value.
6908func (s *DescribeThesaurusInput) SetIndexId(v string) *DescribeThesaurusInput {
6909	s.IndexId = &v
6910	return s
6911}
6912
6913type DescribeThesaurusOutput struct {
6914	_ struct{} `type:"structure"`
6915
6916	// The Unix datetime that the thesaurus was created.
6917	CreatedAt *time.Time `type:"timestamp"`
6918
6919	// The thesaurus description.
6920	Description *string `type:"string"`
6921
6922	// When the Status field value is FAILED, the ErrorMessage field provides more
6923	// information.
6924	ErrorMessage *string `min:"1" type:"string"`
6925
6926	// The size of the thesaurus file in bytes.
6927	FileSizeBytes *int64 `type:"long"`
6928
6929	// The identifier of the thesaurus.
6930	Id *string `min:"1" type:"string"`
6931
6932	// The identifier of the index associated with the thesaurus to describe.
6933	IndexId *string `min:"36" type:"string"`
6934
6935	// The thesaurus name.
6936	Name *string `min:"1" type:"string"`
6937
6938	// An AWS Identity and Access Management (IAM) role that gives Amazon Kendra
6939	// permissions to access thesaurus file specified in SourceS3Path.
6940	RoleArn *string `min:"1" type:"string"`
6941
6942	// Information required to find a specific file in an Amazon S3 bucket.
6943	SourceS3Path *S3Path `type:"structure"`
6944
6945	// The current status of the thesaurus. When the value is ACTIVE, queries are
6946	// able to use the thesaurus. If the Status field value is FAILED, the ErrorMessage
6947	// field provides more information.
6948	//
6949	// If the status is ACTIVE_BUT_UPDATE_FAILED, it means that Amazon Kendra could
6950	// not ingest the new thesaurus file. The old thesaurus file is still active.
6951	Status *string `type:"string" enum:"ThesaurusStatus"`
6952
6953	// The number of synonym rules in the thesaurus file.
6954	SynonymRuleCount *int64 `type:"long"`
6955
6956	// The number of unique terms in the thesaurus file. For example, the synonyms
6957	// a,b,c and a=>d, the term count would be 4.
6958	TermCount *int64 `type:"long"`
6959
6960	// The Unix datetime that the thesaurus was last updated.
6961	UpdatedAt *time.Time `type:"timestamp"`
6962}
6963
6964// String returns the string representation
6965func (s DescribeThesaurusOutput) String() string {
6966	return awsutil.Prettify(s)
6967}
6968
6969// GoString returns the string representation
6970func (s DescribeThesaurusOutput) GoString() string {
6971	return s.String()
6972}
6973
6974// SetCreatedAt sets the CreatedAt field's value.
6975func (s *DescribeThesaurusOutput) SetCreatedAt(v time.Time) *DescribeThesaurusOutput {
6976	s.CreatedAt = &v
6977	return s
6978}
6979
6980// SetDescription sets the Description field's value.
6981func (s *DescribeThesaurusOutput) SetDescription(v string) *DescribeThesaurusOutput {
6982	s.Description = &v
6983	return s
6984}
6985
6986// SetErrorMessage sets the ErrorMessage field's value.
6987func (s *DescribeThesaurusOutput) SetErrorMessage(v string) *DescribeThesaurusOutput {
6988	s.ErrorMessage = &v
6989	return s
6990}
6991
6992// SetFileSizeBytes sets the FileSizeBytes field's value.
6993func (s *DescribeThesaurusOutput) SetFileSizeBytes(v int64) *DescribeThesaurusOutput {
6994	s.FileSizeBytes = &v
6995	return s
6996}
6997
6998// SetId sets the Id field's value.
6999func (s *DescribeThesaurusOutput) SetId(v string) *DescribeThesaurusOutput {
7000	s.Id = &v
7001	return s
7002}
7003
7004// SetIndexId sets the IndexId field's value.
7005func (s *DescribeThesaurusOutput) SetIndexId(v string) *DescribeThesaurusOutput {
7006	s.IndexId = &v
7007	return s
7008}
7009
7010// SetName sets the Name field's value.
7011func (s *DescribeThesaurusOutput) SetName(v string) *DescribeThesaurusOutput {
7012	s.Name = &v
7013	return s
7014}
7015
7016// SetRoleArn sets the RoleArn field's value.
7017func (s *DescribeThesaurusOutput) SetRoleArn(v string) *DescribeThesaurusOutput {
7018	s.RoleArn = &v
7019	return s
7020}
7021
7022// SetSourceS3Path sets the SourceS3Path field's value.
7023func (s *DescribeThesaurusOutput) SetSourceS3Path(v *S3Path) *DescribeThesaurusOutput {
7024	s.SourceS3Path = v
7025	return s
7026}
7027
7028// SetStatus sets the Status field's value.
7029func (s *DescribeThesaurusOutput) SetStatus(v string) *DescribeThesaurusOutput {
7030	s.Status = &v
7031	return s
7032}
7033
7034// SetSynonymRuleCount sets the SynonymRuleCount field's value.
7035func (s *DescribeThesaurusOutput) SetSynonymRuleCount(v int64) *DescribeThesaurusOutput {
7036	s.SynonymRuleCount = &v
7037	return s
7038}
7039
7040// SetTermCount sets the TermCount field's value.
7041func (s *DescribeThesaurusOutput) SetTermCount(v int64) *DescribeThesaurusOutput {
7042	s.TermCount = &v
7043	return s
7044}
7045
7046// SetUpdatedAt sets the UpdatedAt field's value.
7047func (s *DescribeThesaurusOutput) SetUpdatedAt(v time.Time) *DescribeThesaurusOutput {
7048	s.UpdatedAt = &v
7049	return s
7050}
7051
7052// A document in an index.
7053type Document struct {
7054	_ struct{} `type:"structure"`
7055
7056	// Information to use for user context filtering.
7057	AccessControlList []*Principal `type:"list"`
7058
7059	// Custom attributes to apply to the document. Use the custom attributes to
7060	// provide additional information for searching, to provide facets for refining
7061	// searches, and to provide additional information in the query response.
7062	Attributes []*DocumentAttribute `type:"list"`
7063
7064	// The contents of the document.
7065	//
7066	// Documents passed to the Blob parameter must be base64 encoded. Your code
7067	// might not need to encode the document file bytes if you're using an AWS SDK
7068	// to call Amazon Kendra operations. If you are calling the Amazon Kendra endpoint
7069	// directly using REST, you must base64 encode the contents before sending.
7070	//
7071	// Blob is automatically base64 encoded/decoded by the SDK.
7072	Blob []byte `type:"blob"`
7073
7074	// The file type of the document in the Blob field.
7075	ContentType *string `type:"string" enum:"ContentType"`
7076
7077	// A unique identifier of the document in the index.
7078	//
7079	// Id is a required field
7080	Id *string `min:"1" type:"string" required:"true"`
7081
7082	// Information required to find a specific file in an Amazon S3 bucket.
7083	S3Path *S3Path `type:"structure"`
7084
7085	// The title of the document.
7086	Title *string `type:"string"`
7087}
7088
7089// String returns the string representation
7090func (s Document) String() string {
7091	return awsutil.Prettify(s)
7092}
7093
7094// GoString returns the string representation
7095func (s Document) GoString() string {
7096	return s.String()
7097}
7098
7099// Validate inspects the fields of the type to determine if they are valid.
7100func (s *Document) Validate() error {
7101	invalidParams := request.ErrInvalidParams{Context: "Document"}
7102	if s.Id == nil {
7103		invalidParams.Add(request.NewErrParamRequired("Id"))
7104	}
7105	if s.Id != nil && len(*s.Id) < 1 {
7106		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
7107	}
7108	if s.AccessControlList != nil {
7109		for i, v := range s.AccessControlList {
7110			if v == nil {
7111				continue
7112			}
7113			if err := v.Validate(); err != nil {
7114				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccessControlList", i), err.(request.ErrInvalidParams))
7115			}
7116		}
7117	}
7118	if s.Attributes != nil {
7119		for i, v := range s.Attributes {
7120			if v == nil {
7121				continue
7122			}
7123			if err := v.Validate(); err != nil {
7124				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams))
7125			}
7126		}
7127	}
7128	if s.S3Path != nil {
7129		if err := s.S3Path.Validate(); err != nil {
7130			invalidParams.AddNested("S3Path", err.(request.ErrInvalidParams))
7131		}
7132	}
7133
7134	if invalidParams.Len() > 0 {
7135		return invalidParams
7136	}
7137	return nil
7138}
7139
7140// SetAccessControlList sets the AccessControlList field's value.
7141func (s *Document) SetAccessControlList(v []*Principal) *Document {
7142	s.AccessControlList = v
7143	return s
7144}
7145
7146// SetAttributes sets the Attributes field's value.
7147func (s *Document) SetAttributes(v []*DocumentAttribute) *Document {
7148	s.Attributes = v
7149	return s
7150}
7151
7152// SetBlob sets the Blob field's value.
7153func (s *Document) SetBlob(v []byte) *Document {
7154	s.Blob = v
7155	return s
7156}
7157
7158// SetContentType sets the ContentType field's value.
7159func (s *Document) SetContentType(v string) *Document {
7160	s.ContentType = &v
7161	return s
7162}
7163
7164// SetId sets the Id field's value.
7165func (s *Document) SetId(v string) *Document {
7166	s.Id = &v
7167	return s
7168}
7169
7170// SetS3Path sets the S3Path field's value.
7171func (s *Document) SetS3Path(v *S3Path) *Document {
7172	s.S3Path = v
7173	return s
7174}
7175
7176// SetTitle sets the Title field's value.
7177func (s *Document) SetTitle(v string) *Document {
7178	s.Title = &v
7179	return s
7180}
7181
7182// A custom attribute value assigned to a document.
7183type DocumentAttribute struct {
7184	_ struct{} `type:"structure"`
7185
7186	// The identifier for the attribute.
7187	//
7188	// Key is a required field
7189	Key *string `min:"1" type:"string" required:"true"`
7190
7191	// The value of the attribute.
7192	//
7193	// Value is a required field
7194	Value *DocumentAttributeValue `type:"structure" required:"true"`
7195}
7196
7197// String returns the string representation
7198func (s DocumentAttribute) String() string {
7199	return awsutil.Prettify(s)
7200}
7201
7202// GoString returns the string representation
7203func (s DocumentAttribute) GoString() string {
7204	return s.String()
7205}
7206
7207// Validate inspects the fields of the type to determine if they are valid.
7208func (s *DocumentAttribute) Validate() error {
7209	invalidParams := request.ErrInvalidParams{Context: "DocumentAttribute"}
7210	if s.Key == nil {
7211		invalidParams.Add(request.NewErrParamRequired("Key"))
7212	}
7213	if s.Key != nil && len(*s.Key) < 1 {
7214		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
7215	}
7216	if s.Value == nil {
7217		invalidParams.Add(request.NewErrParamRequired("Value"))
7218	}
7219	if s.Value != nil {
7220		if err := s.Value.Validate(); err != nil {
7221			invalidParams.AddNested("Value", err.(request.ErrInvalidParams))
7222		}
7223	}
7224
7225	if invalidParams.Len() > 0 {
7226		return invalidParams
7227	}
7228	return nil
7229}
7230
7231// SetKey sets the Key field's value.
7232func (s *DocumentAttribute) SetKey(v string) *DocumentAttribute {
7233	s.Key = &v
7234	return s
7235}
7236
7237// SetValue sets the Value field's value.
7238func (s *DocumentAttribute) SetValue(v *DocumentAttributeValue) *DocumentAttribute {
7239	s.Value = v
7240	return s
7241}
7242
7243// The value of a custom document attribute. You can only provide one value
7244// for a custom attribute.
7245type DocumentAttributeValue struct {
7246	_ struct{} `type:"structure"`
7247
7248	// A date expressed as an ISO 8601 string.
7249	DateValue *time.Time `type:"timestamp"`
7250
7251	// A long integer value.
7252	LongValue *int64 `type:"long"`
7253
7254	// A list of strings.
7255	StringListValue []*string `type:"list"`
7256
7257	// A string, such as "department".
7258	StringValue *string `min:"1" type:"string"`
7259}
7260
7261// String returns the string representation
7262func (s DocumentAttributeValue) String() string {
7263	return awsutil.Prettify(s)
7264}
7265
7266// GoString returns the string representation
7267func (s DocumentAttributeValue) GoString() string {
7268	return s.String()
7269}
7270
7271// Validate inspects the fields of the type to determine if they are valid.
7272func (s *DocumentAttributeValue) Validate() error {
7273	invalidParams := request.ErrInvalidParams{Context: "DocumentAttributeValue"}
7274	if s.StringValue != nil && len(*s.StringValue) < 1 {
7275		invalidParams.Add(request.NewErrParamMinLen("StringValue", 1))
7276	}
7277
7278	if invalidParams.Len() > 0 {
7279		return invalidParams
7280	}
7281	return nil
7282}
7283
7284// SetDateValue sets the DateValue field's value.
7285func (s *DocumentAttributeValue) SetDateValue(v time.Time) *DocumentAttributeValue {
7286	s.DateValue = &v
7287	return s
7288}
7289
7290// SetLongValue sets the LongValue field's value.
7291func (s *DocumentAttributeValue) SetLongValue(v int64) *DocumentAttributeValue {
7292	s.LongValue = &v
7293	return s
7294}
7295
7296// SetStringListValue sets the StringListValue field's value.
7297func (s *DocumentAttributeValue) SetStringListValue(v []*string) *DocumentAttributeValue {
7298	s.StringListValue = v
7299	return s
7300}
7301
7302// SetStringValue sets the StringValue field's value.
7303func (s *DocumentAttributeValue) SetStringValue(v string) *DocumentAttributeValue {
7304	s.StringValue = &v
7305	return s
7306}
7307
7308// Provides the count of documents that match a particular attribute when doing
7309// a faceted search.
7310type DocumentAttributeValueCountPair struct {
7311	_ struct{} `type:"structure"`
7312
7313	// The number of documents in the response that have the attribute value for
7314	// the key.
7315	Count *int64 `type:"integer"`
7316
7317	// The value of the attribute. For example, "HR."
7318	DocumentAttributeValue *DocumentAttributeValue `type:"structure"`
7319}
7320
7321// String returns the string representation
7322func (s DocumentAttributeValueCountPair) String() string {
7323	return awsutil.Prettify(s)
7324}
7325
7326// GoString returns the string representation
7327func (s DocumentAttributeValueCountPair) GoString() string {
7328	return s.String()
7329}
7330
7331// SetCount sets the Count field's value.
7332func (s *DocumentAttributeValueCountPair) SetCount(v int64) *DocumentAttributeValueCountPair {
7333	s.Count = &v
7334	return s
7335}
7336
7337// SetDocumentAttributeValue sets the DocumentAttributeValue field's value.
7338func (s *DocumentAttributeValueCountPair) SetDocumentAttributeValue(v *DocumentAttributeValue) *DocumentAttributeValueCountPair {
7339	s.DocumentAttributeValue = v
7340	return s
7341}
7342
7343// Specifies the properties of a custom index field.
7344type DocumentMetadataConfiguration struct {
7345	_ struct{} `type:"structure"`
7346
7347	// The name of the index field.
7348	//
7349	// Name is a required field
7350	Name *string `min:"1" type:"string" required:"true"`
7351
7352	// Provides manual tuning parameters to determine how the field affects the
7353	// search results.
7354	Relevance *Relevance `type:"structure"`
7355
7356	// Provides information about how the field is used during a search.
7357	Search *Search `type:"structure"`
7358
7359	// The data type of the index field.
7360	//
7361	// Type is a required field
7362	Type *string `type:"string" required:"true" enum:"DocumentAttributeValueType"`
7363}
7364
7365// String returns the string representation
7366func (s DocumentMetadataConfiguration) String() string {
7367	return awsutil.Prettify(s)
7368}
7369
7370// GoString returns the string representation
7371func (s DocumentMetadataConfiguration) GoString() string {
7372	return s.String()
7373}
7374
7375// Validate inspects the fields of the type to determine if they are valid.
7376func (s *DocumentMetadataConfiguration) Validate() error {
7377	invalidParams := request.ErrInvalidParams{Context: "DocumentMetadataConfiguration"}
7378	if s.Name == nil {
7379		invalidParams.Add(request.NewErrParamRequired("Name"))
7380	}
7381	if s.Name != nil && len(*s.Name) < 1 {
7382		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
7383	}
7384	if s.Type == nil {
7385		invalidParams.Add(request.NewErrParamRequired("Type"))
7386	}
7387	if s.Relevance != nil {
7388		if err := s.Relevance.Validate(); err != nil {
7389			invalidParams.AddNested("Relevance", err.(request.ErrInvalidParams))
7390		}
7391	}
7392
7393	if invalidParams.Len() > 0 {
7394		return invalidParams
7395	}
7396	return nil
7397}
7398
7399// SetName sets the Name field's value.
7400func (s *DocumentMetadataConfiguration) SetName(v string) *DocumentMetadataConfiguration {
7401	s.Name = &v
7402	return s
7403}
7404
7405// SetRelevance sets the Relevance field's value.
7406func (s *DocumentMetadataConfiguration) SetRelevance(v *Relevance) *DocumentMetadataConfiguration {
7407	s.Relevance = v
7408	return s
7409}
7410
7411// SetSearch sets the Search field's value.
7412func (s *DocumentMetadataConfiguration) SetSearch(v *Search) *DocumentMetadataConfiguration {
7413	s.Search = v
7414	return s
7415}
7416
7417// SetType sets the Type field's value.
7418func (s *DocumentMetadataConfiguration) SetType(v string) *DocumentMetadataConfiguration {
7419	s.Type = &v
7420	return s
7421}
7422
7423// Overrides the document relevance properties of a custom index field.
7424type DocumentRelevanceConfiguration struct {
7425	_ struct{} `type:"structure"`
7426
7427	// The name of the tuning configuration to override document relevance at the
7428	// index level.
7429	//
7430	// Name is a required field
7431	Name *string `min:"1" type:"string" required:"true"`
7432
7433	// Provides information for manually tuning the relevance of a field in a search.
7434	// When a query includes terms that match the field, the results are given a
7435	// boost in the response based on these tuning parameters.
7436	//
7437	// Relevance is a required field
7438	Relevance *Relevance `type:"structure" required:"true"`
7439}
7440
7441// String returns the string representation
7442func (s DocumentRelevanceConfiguration) String() string {
7443	return awsutil.Prettify(s)
7444}
7445
7446// GoString returns the string representation
7447func (s DocumentRelevanceConfiguration) GoString() string {
7448	return s.String()
7449}
7450
7451// Validate inspects the fields of the type to determine if they are valid.
7452func (s *DocumentRelevanceConfiguration) Validate() error {
7453	invalidParams := request.ErrInvalidParams{Context: "DocumentRelevanceConfiguration"}
7454	if s.Name == nil {
7455		invalidParams.Add(request.NewErrParamRequired("Name"))
7456	}
7457	if s.Name != nil && len(*s.Name) < 1 {
7458		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
7459	}
7460	if s.Relevance == nil {
7461		invalidParams.Add(request.NewErrParamRequired("Relevance"))
7462	}
7463	if s.Relevance != nil {
7464		if err := s.Relevance.Validate(); err != nil {
7465			invalidParams.AddNested("Relevance", err.(request.ErrInvalidParams))
7466		}
7467	}
7468
7469	if invalidParams.Len() > 0 {
7470		return invalidParams
7471	}
7472	return nil
7473}
7474
7475// SetName sets the Name field's value.
7476func (s *DocumentRelevanceConfiguration) SetName(v string) *DocumentRelevanceConfiguration {
7477	s.Name = &v
7478	return s
7479}
7480
7481// SetRelevance sets the Relevance field's value.
7482func (s *DocumentRelevanceConfiguration) SetRelevance(v *Relevance) *DocumentRelevanceConfiguration {
7483	s.Relevance = v
7484	return s
7485}
7486
7487// Document metadata files that contain information such as the document access
7488// control information, source URI, document author, and custom attributes.
7489// Each metadata file contains metadata about a single document.
7490type DocumentsMetadataConfiguration struct {
7491	_ struct{} `type:"structure"`
7492
7493	// A prefix used to filter metadata configuration files in the AWS S3 bucket.
7494	// The S3 bucket might contain multiple metadata files. Use S3Prefix to include
7495	// only the desired metadata files.
7496	S3Prefix *string `min:"1" type:"string"`
7497}
7498
7499// String returns the string representation
7500func (s DocumentsMetadataConfiguration) String() string {
7501	return awsutil.Prettify(s)
7502}
7503
7504// GoString returns the string representation
7505func (s DocumentsMetadataConfiguration) GoString() string {
7506	return s.String()
7507}
7508
7509// Validate inspects the fields of the type to determine if they are valid.
7510func (s *DocumentsMetadataConfiguration) Validate() error {
7511	invalidParams := request.ErrInvalidParams{Context: "DocumentsMetadataConfiguration"}
7512	if s.S3Prefix != nil && len(*s.S3Prefix) < 1 {
7513		invalidParams.Add(request.NewErrParamMinLen("S3Prefix", 1))
7514	}
7515
7516	if invalidParams.Len() > 0 {
7517		return invalidParams
7518	}
7519	return nil
7520}
7521
7522// SetS3Prefix sets the S3Prefix field's value.
7523func (s *DocumentsMetadataConfiguration) SetS3Prefix(v string) *DocumentsMetadataConfiguration {
7524	s.S3Prefix = &v
7525	return s
7526}
7527
7528// Information about a document attribute
7529type Facet struct {
7530	_ struct{} `type:"structure"`
7531
7532	// The unique key for the document attribute.
7533	DocumentAttributeKey *string `min:"1" type:"string"`
7534}
7535
7536// String returns the string representation
7537func (s Facet) String() string {
7538	return awsutil.Prettify(s)
7539}
7540
7541// GoString returns the string representation
7542func (s Facet) GoString() string {
7543	return s.String()
7544}
7545
7546// Validate inspects the fields of the type to determine if they are valid.
7547func (s *Facet) Validate() error {
7548	invalidParams := request.ErrInvalidParams{Context: "Facet"}
7549	if s.DocumentAttributeKey != nil && len(*s.DocumentAttributeKey) < 1 {
7550		invalidParams.Add(request.NewErrParamMinLen("DocumentAttributeKey", 1))
7551	}
7552
7553	if invalidParams.Len() > 0 {
7554		return invalidParams
7555	}
7556	return nil
7557}
7558
7559// SetDocumentAttributeKey sets the DocumentAttributeKey field's value.
7560func (s *Facet) SetDocumentAttributeKey(v string) *Facet {
7561	s.DocumentAttributeKey = &v
7562	return s
7563}
7564
7565// The facet values for the documents in the response.
7566type FacetResult struct {
7567	_ struct{} `type:"structure"`
7568
7569	// The key for the facet values. This is the same as the DocumentAttributeKey
7570	// provided in the query.
7571	DocumentAttributeKey *string `min:"1" type:"string"`
7572
7573	// An array of key/value pairs, where the key is the value of the attribute
7574	// and the count is the number of documents that share the key value.
7575	DocumentAttributeValueCountPairs []*DocumentAttributeValueCountPair `type:"list"`
7576
7577	// The data type of the facet value. This is the same as the type defined for
7578	// the index field when it was created.
7579	DocumentAttributeValueType *string `type:"string" enum:"DocumentAttributeValueType"`
7580}
7581
7582// String returns the string representation
7583func (s FacetResult) String() string {
7584	return awsutil.Prettify(s)
7585}
7586
7587// GoString returns the string representation
7588func (s FacetResult) GoString() string {
7589	return s.String()
7590}
7591
7592// SetDocumentAttributeKey sets the DocumentAttributeKey field's value.
7593func (s *FacetResult) SetDocumentAttributeKey(v string) *FacetResult {
7594	s.DocumentAttributeKey = &v
7595	return s
7596}
7597
7598// SetDocumentAttributeValueCountPairs sets the DocumentAttributeValueCountPairs field's value.
7599func (s *FacetResult) SetDocumentAttributeValueCountPairs(v []*DocumentAttributeValueCountPair) *FacetResult {
7600	s.DocumentAttributeValueCountPairs = v
7601	return s
7602}
7603
7604// SetDocumentAttributeValueType sets the DocumentAttributeValueType field's value.
7605func (s *FacetResult) SetDocumentAttributeValueType(v string) *FacetResult {
7606	s.DocumentAttributeValueType = &v
7607	return s
7608}
7609
7610// Provides statistical information about the FAQ questions and answers contained
7611// in an index.
7612type FaqStatistics struct {
7613	_ struct{} `type:"structure"`
7614
7615	// The total number of FAQ questions and answers contained in the index.
7616	//
7617	// IndexedQuestionAnswersCount is a required field
7618	IndexedQuestionAnswersCount *int64 `type:"integer" required:"true"`
7619}
7620
7621// String returns the string representation
7622func (s FaqStatistics) String() string {
7623	return awsutil.Prettify(s)
7624}
7625
7626// GoString returns the string representation
7627func (s FaqStatistics) GoString() string {
7628	return s.String()
7629}
7630
7631// SetIndexedQuestionAnswersCount sets the IndexedQuestionAnswersCount field's value.
7632func (s *FaqStatistics) SetIndexedQuestionAnswersCount(v int64) *FaqStatistics {
7633	s.IndexedQuestionAnswersCount = &v
7634	return s
7635}
7636
7637// Provides information about a frequently asked questions and answer contained
7638// in an index.
7639type FaqSummary struct {
7640	_ struct{} `type:"structure"`
7641
7642	// The UNIX datetime that the FAQ was added to the index.
7643	CreatedAt *time.Time `type:"timestamp"`
7644
7645	// The file type used to create the FAQ.
7646	FileFormat *string `type:"string" enum:"FaqFileFormat"`
7647
7648	// The unique identifier of the FAQ.
7649	Id *string `min:"1" type:"string"`
7650
7651	// The name that you assigned the FAQ when you created or updated the FAQ.
7652	Name *string `min:"1" type:"string"`
7653
7654	// The current status of the FAQ. When the status is ACTIVE the FAQ is ready
7655	// for use.
7656	Status *string `type:"string" enum:"FaqStatus"`
7657
7658	// The UNIX datetime that the FAQ was last updated.
7659	UpdatedAt *time.Time `type:"timestamp"`
7660}
7661
7662// String returns the string representation
7663func (s FaqSummary) String() string {
7664	return awsutil.Prettify(s)
7665}
7666
7667// GoString returns the string representation
7668func (s FaqSummary) GoString() string {
7669	return s.String()
7670}
7671
7672// SetCreatedAt sets the CreatedAt field's value.
7673func (s *FaqSummary) SetCreatedAt(v time.Time) *FaqSummary {
7674	s.CreatedAt = &v
7675	return s
7676}
7677
7678// SetFileFormat sets the FileFormat field's value.
7679func (s *FaqSummary) SetFileFormat(v string) *FaqSummary {
7680	s.FileFormat = &v
7681	return s
7682}
7683
7684// SetId sets the Id field's value.
7685func (s *FaqSummary) SetId(v string) *FaqSummary {
7686	s.Id = &v
7687	return s
7688}
7689
7690// SetName sets the Name field's value.
7691func (s *FaqSummary) SetName(v string) *FaqSummary {
7692	s.Name = &v
7693	return s
7694}
7695
7696// SetStatus sets the Status field's value.
7697func (s *FaqSummary) SetStatus(v string) *FaqSummary {
7698	s.Status = &v
7699	return s
7700}
7701
7702// SetUpdatedAt sets the UpdatedAt field's value.
7703func (s *FaqSummary) SetUpdatedAt(v time.Time) *FaqSummary {
7704	s.UpdatedAt = &v
7705	return s
7706}
7707
7708// Provides configuration information for data sources that connect to Google
7709// Drive.
7710type GoogleDriveConfiguration struct {
7711	_ struct{} `type:"structure"`
7712
7713	// A list of MIME types to exclude from the index. All documents matching the
7714	// specified MIME type are excluded.
7715	//
7716	// For a list of MIME types, see Using a Google Workspace Drive data source
7717	// (https://docs.aws.amazon.com/kendra/latest/dg/data-source-google-drive.html).
7718	ExcludeMimeTypes []*string `type:"list"`
7719
7720	// A list of identifiers or shared drives to exclude from the index. All files
7721	// and folders stored on the shared drive are excluded.
7722	ExcludeSharedDrives []*string `type:"list"`
7723
7724	// A list of email addresses of the users. Documents owned by these users are
7725	// excluded from the index. Documents shared with excluded users are indexed
7726	// unless they are excluded in another way.
7727	ExcludeUserAccounts []*string `type:"list"`
7728
7729	// A list of regular expression patterns that apply to the path on Google Drive.
7730	// Items that match the pattern are excluded from the index from both shared
7731	// drives and users' My Drives. Items that don't match the pattern are included
7732	// in the index. If an item matches both an exclusion pattern and an inclusion
7733	// pattern, it is excluded from the index.
7734	ExclusionPatterns []*string `type:"list"`
7735
7736	// Defines mapping between a field in the Google Drive and a Amazon Kendra index
7737	// field.
7738	//
7739	// If you are using the console, you can define index fields when creating the
7740	// mapping. If you are using the API, you must first create the field using
7741	// the UpdateIndex operation.
7742	FieldMappings []*DataSourceToIndexFieldMapping `min:"1" type:"list"`
7743
7744	// A list of regular expression patterns that apply to path on Google Drive.
7745	// Items that match the pattern are included in the index from both shared drives
7746	// and users' My Drives. Items that don't match the pattern are excluded from
7747	// the index. If an item matches both an inclusion pattern and an exclusion
7748	// pattern, it is excluded from the index.
7749	InclusionPatterns []*string `type:"list"`
7750
7751	// The Amazon Resource Name (ARN) of a AWS Secrets Manager secret that contains
7752	// the credentials required to connect to Google Drive. For more information,
7753	// see Using a Google Workspace Drive data source (https://docs.aws.amazon.com/kendra/latest/dg/data-source-google-drive.html).
7754	//
7755	// SecretArn is a required field
7756	SecretArn *string `min:"1" type:"string" required:"true"`
7757}
7758
7759// String returns the string representation
7760func (s GoogleDriveConfiguration) String() string {
7761	return awsutil.Prettify(s)
7762}
7763
7764// GoString returns the string representation
7765func (s GoogleDriveConfiguration) GoString() string {
7766	return s.String()
7767}
7768
7769// Validate inspects the fields of the type to determine if they are valid.
7770func (s *GoogleDriveConfiguration) Validate() error {
7771	invalidParams := request.ErrInvalidParams{Context: "GoogleDriveConfiguration"}
7772	if s.FieldMappings != nil && len(s.FieldMappings) < 1 {
7773		invalidParams.Add(request.NewErrParamMinLen("FieldMappings", 1))
7774	}
7775	if s.SecretArn == nil {
7776		invalidParams.Add(request.NewErrParamRequired("SecretArn"))
7777	}
7778	if s.SecretArn != nil && len(*s.SecretArn) < 1 {
7779		invalidParams.Add(request.NewErrParamMinLen("SecretArn", 1))
7780	}
7781	if s.FieldMappings != nil {
7782		for i, v := range s.FieldMappings {
7783			if v == nil {
7784				continue
7785			}
7786			if err := v.Validate(); err != nil {
7787				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FieldMappings", i), err.(request.ErrInvalidParams))
7788			}
7789		}
7790	}
7791
7792	if invalidParams.Len() > 0 {
7793		return invalidParams
7794	}
7795	return nil
7796}
7797
7798// SetExcludeMimeTypes sets the ExcludeMimeTypes field's value.
7799func (s *GoogleDriveConfiguration) SetExcludeMimeTypes(v []*string) *GoogleDriveConfiguration {
7800	s.ExcludeMimeTypes = v
7801	return s
7802}
7803
7804// SetExcludeSharedDrives sets the ExcludeSharedDrives field's value.
7805func (s *GoogleDriveConfiguration) SetExcludeSharedDrives(v []*string) *GoogleDriveConfiguration {
7806	s.ExcludeSharedDrives = v
7807	return s
7808}
7809
7810// SetExcludeUserAccounts sets the ExcludeUserAccounts field's value.
7811func (s *GoogleDriveConfiguration) SetExcludeUserAccounts(v []*string) *GoogleDriveConfiguration {
7812	s.ExcludeUserAccounts = v
7813	return s
7814}
7815
7816// SetExclusionPatterns sets the ExclusionPatterns field's value.
7817func (s *GoogleDriveConfiguration) SetExclusionPatterns(v []*string) *GoogleDriveConfiguration {
7818	s.ExclusionPatterns = v
7819	return s
7820}
7821
7822// SetFieldMappings sets the FieldMappings field's value.
7823func (s *GoogleDriveConfiguration) SetFieldMappings(v []*DataSourceToIndexFieldMapping) *GoogleDriveConfiguration {
7824	s.FieldMappings = v
7825	return s
7826}
7827
7828// SetInclusionPatterns sets the InclusionPatterns field's value.
7829func (s *GoogleDriveConfiguration) SetInclusionPatterns(v []*string) *GoogleDriveConfiguration {
7830	s.InclusionPatterns = v
7831	return s
7832}
7833
7834// SetSecretArn sets the SecretArn field's value.
7835func (s *GoogleDriveConfiguration) SetSecretArn(v string) *GoogleDriveConfiguration {
7836	s.SecretArn = &v
7837	return s
7838}
7839
7840// Provides information that you can use to highlight a search result so that
7841// your users can quickly identify terms in the response.
7842type Highlight struct {
7843	_ struct{} `type:"structure"`
7844
7845	// The zero-based location in the response string where the highlight starts.
7846	//
7847	// BeginOffset is a required field
7848	BeginOffset *int64 `type:"integer" required:"true"`
7849
7850	// The zero-based location in the response string where the highlight ends.
7851	//
7852	// EndOffset is a required field
7853	EndOffset *int64 `type:"integer" required:"true"`
7854
7855	// Indicates whether the response is the best response. True if this is the
7856	// best response; otherwise, false.
7857	TopAnswer *bool `type:"boolean"`
7858
7859	// The highlight type.
7860	Type *string `type:"string" enum:"HighlightType"`
7861}
7862
7863// String returns the string representation
7864func (s Highlight) String() string {
7865	return awsutil.Prettify(s)
7866}
7867
7868// GoString returns the string representation
7869func (s Highlight) GoString() string {
7870	return s.String()
7871}
7872
7873// SetBeginOffset sets the BeginOffset field's value.
7874func (s *Highlight) SetBeginOffset(v int64) *Highlight {
7875	s.BeginOffset = &v
7876	return s
7877}
7878
7879// SetEndOffset sets the EndOffset field's value.
7880func (s *Highlight) SetEndOffset(v int64) *Highlight {
7881	s.EndOffset = &v
7882	return s
7883}
7884
7885// SetTopAnswer sets the TopAnswer field's value.
7886func (s *Highlight) SetTopAnswer(v bool) *Highlight {
7887	s.TopAnswer = &v
7888	return s
7889}
7890
7891// SetType sets the Type field's value.
7892func (s *Highlight) SetType(v string) *Highlight {
7893	s.Type = &v
7894	return s
7895}
7896
7897// A summary of information about an index.
7898type IndexConfigurationSummary struct {
7899	_ struct{} `type:"structure"`
7900
7901	// The Unix timestamp when the index was created.
7902	//
7903	// CreatedAt is a required field
7904	CreatedAt *time.Time `type:"timestamp" required:"true"`
7905
7906	// Indicates whether the index is a enterprise edition index or a developer
7907	// edition index.
7908	Edition *string `type:"string" enum:"IndexEdition"`
7909
7910	// A unique identifier for the index. Use this to identify the index when you
7911	// are using operations such as Query, DescribeIndex, UpdateIndex, and DeleteIndex.
7912	Id *string `min:"36" type:"string"`
7913
7914	// The name of the index.
7915	Name *string `min:"1" type:"string"`
7916
7917	// The current status of the index. When the status is ACTIVE, the index is
7918	// ready to search.
7919	//
7920	// Status is a required field
7921	Status *string `type:"string" required:"true" enum:"IndexStatus"`
7922
7923	// The Unix timestamp when the index was last updated by the UpdateIndex operation.
7924	//
7925	// UpdatedAt is a required field
7926	UpdatedAt *time.Time `type:"timestamp" required:"true"`
7927}
7928
7929// String returns the string representation
7930func (s IndexConfigurationSummary) String() string {
7931	return awsutil.Prettify(s)
7932}
7933
7934// GoString returns the string representation
7935func (s IndexConfigurationSummary) GoString() string {
7936	return s.String()
7937}
7938
7939// SetCreatedAt sets the CreatedAt field's value.
7940func (s *IndexConfigurationSummary) SetCreatedAt(v time.Time) *IndexConfigurationSummary {
7941	s.CreatedAt = &v
7942	return s
7943}
7944
7945// SetEdition sets the Edition field's value.
7946func (s *IndexConfigurationSummary) SetEdition(v string) *IndexConfigurationSummary {
7947	s.Edition = &v
7948	return s
7949}
7950
7951// SetId sets the Id field's value.
7952func (s *IndexConfigurationSummary) SetId(v string) *IndexConfigurationSummary {
7953	s.Id = &v
7954	return s
7955}
7956
7957// SetName sets the Name field's value.
7958func (s *IndexConfigurationSummary) SetName(v string) *IndexConfigurationSummary {
7959	s.Name = &v
7960	return s
7961}
7962
7963// SetStatus sets the Status field's value.
7964func (s *IndexConfigurationSummary) SetStatus(v string) *IndexConfigurationSummary {
7965	s.Status = &v
7966	return s
7967}
7968
7969// SetUpdatedAt sets the UpdatedAt field's value.
7970func (s *IndexConfigurationSummary) SetUpdatedAt(v time.Time) *IndexConfigurationSummary {
7971	s.UpdatedAt = &v
7972	return s
7973}
7974
7975// Provides information about the number of documents and the number of questions
7976// and answers in an index.
7977type IndexStatistics struct {
7978	_ struct{} `type:"structure"`
7979
7980	// The number of question and answer topics in the index.
7981	//
7982	// FaqStatistics is a required field
7983	FaqStatistics *FaqStatistics `type:"structure" required:"true"`
7984
7985	// The number of text documents indexed.
7986	//
7987	// TextDocumentStatistics is a required field
7988	TextDocumentStatistics *TextDocumentStatistics `type:"structure" required:"true"`
7989}
7990
7991// String returns the string representation
7992func (s IndexStatistics) String() string {
7993	return awsutil.Prettify(s)
7994}
7995
7996// GoString returns the string representation
7997func (s IndexStatistics) GoString() string {
7998	return s.String()
7999}
8000
8001// SetFaqStatistics sets the FaqStatistics field's value.
8002func (s *IndexStatistics) SetFaqStatistics(v *FaqStatistics) *IndexStatistics {
8003	s.FaqStatistics = v
8004	return s
8005}
8006
8007// SetTextDocumentStatistics sets the TextDocumentStatistics field's value.
8008func (s *IndexStatistics) SetTextDocumentStatistics(v *TextDocumentStatistics) *IndexStatistics {
8009	s.TextDocumentStatistics = v
8010	return s
8011}
8012
8013type InternalServerException struct {
8014	_            struct{}                  `type:"structure"`
8015	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8016
8017	Message_ *string `locationName:"Message" min:"1" type:"string"`
8018}
8019
8020// String returns the string representation
8021func (s InternalServerException) String() string {
8022	return awsutil.Prettify(s)
8023}
8024
8025// GoString returns the string representation
8026func (s InternalServerException) GoString() string {
8027	return s.String()
8028}
8029
8030func newErrorInternalServerException(v protocol.ResponseMetadata) error {
8031	return &InternalServerException{
8032		RespMetadata: v,
8033	}
8034}
8035
8036// Code returns the exception type name.
8037func (s *InternalServerException) Code() string {
8038	return "InternalServerException"
8039}
8040
8041// Message returns the exception's message.
8042func (s *InternalServerException) Message() string {
8043	if s.Message_ != nil {
8044		return *s.Message_
8045	}
8046	return ""
8047}
8048
8049// OrigErr always returns nil, satisfies awserr.Error interface.
8050func (s *InternalServerException) OrigErr() error {
8051	return nil
8052}
8053
8054func (s *InternalServerException) Error() string {
8055	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
8056}
8057
8058// Status code returns the HTTP status code for the request's response error.
8059func (s *InternalServerException) StatusCode() int {
8060	return s.RespMetadata.StatusCode
8061}
8062
8063// RequestID returns the service's response RequestID for request.
8064func (s *InternalServerException) RequestID() string {
8065	return s.RespMetadata.RequestID
8066}
8067
8068// Configuration information for the JSON token type.
8069type JsonTokenTypeConfiguration struct {
8070	_ struct{} `type:"structure"`
8071
8072	// The group attribute field.
8073	//
8074	// GroupAttributeField is a required field
8075	GroupAttributeField *string `min:"1" type:"string" required:"true"`
8076
8077	// The user name attribute field.
8078	//
8079	// UserNameAttributeField is a required field
8080	UserNameAttributeField *string `min:"1" type:"string" required:"true"`
8081}
8082
8083// String returns the string representation
8084func (s JsonTokenTypeConfiguration) String() string {
8085	return awsutil.Prettify(s)
8086}
8087
8088// GoString returns the string representation
8089func (s JsonTokenTypeConfiguration) GoString() string {
8090	return s.String()
8091}
8092
8093// Validate inspects the fields of the type to determine if they are valid.
8094func (s *JsonTokenTypeConfiguration) Validate() error {
8095	invalidParams := request.ErrInvalidParams{Context: "JsonTokenTypeConfiguration"}
8096	if s.GroupAttributeField == nil {
8097		invalidParams.Add(request.NewErrParamRequired("GroupAttributeField"))
8098	}
8099	if s.GroupAttributeField != nil && len(*s.GroupAttributeField) < 1 {
8100		invalidParams.Add(request.NewErrParamMinLen("GroupAttributeField", 1))
8101	}
8102	if s.UserNameAttributeField == nil {
8103		invalidParams.Add(request.NewErrParamRequired("UserNameAttributeField"))
8104	}
8105	if s.UserNameAttributeField != nil && len(*s.UserNameAttributeField) < 1 {
8106		invalidParams.Add(request.NewErrParamMinLen("UserNameAttributeField", 1))
8107	}
8108
8109	if invalidParams.Len() > 0 {
8110		return invalidParams
8111	}
8112	return nil
8113}
8114
8115// SetGroupAttributeField sets the GroupAttributeField field's value.
8116func (s *JsonTokenTypeConfiguration) SetGroupAttributeField(v string) *JsonTokenTypeConfiguration {
8117	s.GroupAttributeField = &v
8118	return s
8119}
8120
8121// SetUserNameAttributeField sets the UserNameAttributeField field's value.
8122func (s *JsonTokenTypeConfiguration) SetUserNameAttributeField(v string) *JsonTokenTypeConfiguration {
8123	s.UserNameAttributeField = &v
8124	return s
8125}
8126
8127// Configuration information for the JWT token type.
8128type JwtTokenTypeConfiguration struct {
8129	_ struct{} `type:"structure"`
8130
8131	// The regular expression that identifies the claim.
8132	ClaimRegex *string `min:"1" type:"string"`
8133
8134	// The group attribute field.
8135	GroupAttributeField *string `min:"1" type:"string"`
8136
8137	// The issuer of the token.
8138	Issuer *string `min:"1" type:"string"`
8139
8140	// The location of the key.
8141	//
8142	// KeyLocation is a required field
8143	KeyLocation *string `type:"string" required:"true" enum:"KeyLocation"`
8144
8145	// The Amazon Resource Name (arn) of the secret.
8146	SecretManagerArn *string `min:"1" type:"string"`
8147
8148	// The signing key URL.
8149	URL *string `min:"1" type:"string"`
8150
8151	// The user name attribute field.
8152	UserNameAttributeField *string `min:"1" type:"string"`
8153}
8154
8155// String returns the string representation
8156func (s JwtTokenTypeConfiguration) String() string {
8157	return awsutil.Prettify(s)
8158}
8159
8160// GoString returns the string representation
8161func (s JwtTokenTypeConfiguration) GoString() string {
8162	return s.String()
8163}
8164
8165// Validate inspects the fields of the type to determine if they are valid.
8166func (s *JwtTokenTypeConfiguration) Validate() error {
8167	invalidParams := request.ErrInvalidParams{Context: "JwtTokenTypeConfiguration"}
8168	if s.ClaimRegex != nil && len(*s.ClaimRegex) < 1 {
8169		invalidParams.Add(request.NewErrParamMinLen("ClaimRegex", 1))
8170	}
8171	if s.GroupAttributeField != nil && len(*s.GroupAttributeField) < 1 {
8172		invalidParams.Add(request.NewErrParamMinLen("GroupAttributeField", 1))
8173	}
8174	if s.Issuer != nil && len(*s.Issuer) < 1 {
8175		invalidParams.Add(request.NewErrParamMinLen("Issuer", 1))
8176	}
8177	if s.KeyLocation == nil {
8178		invalidParams.Add(request.NewErrParamRequired("KeyLocation"))
8179	}
8180	if s.SecretManagerArn != nil && len(*s.SecretManagerArn) < 1 {
8181		invalidParams.Add(request.NewErrParamMinLen("SecretManagerArn", 1))
8182	}
8183	if s.URL != nil && len(*s.URL) < 1 {
8184		invalidParams.Add(request.NewErrParamMinLen("URL", 1))
8185	}
8186	if s.UserNameAttributeField != nil && len(*s.UserNameAttributeField) < 1 {
8187		invalidParams.Add(request.NewErrParamMinLen("UserNameAttributeField", 1))
8188	}
8189
8190	if invalidParams.Len() > 0 {
8191		return invalidParams
8192	}
8193	return nil
8194}
8195
8196// SetClaimRegex sets the ClaimRegex field's value.
8197func (s *JwtTokenTypeConfiguration) SetClaimRegex(v string) *JwtTokenTypeConfiguration {
8198	s.ClaimRegex = &v
8199	return s
8200}
8201
8202// SetGroupAttributeField sets the GroupAttributeField field's value.
8203func (s *JwtTokenTypeConfiguration) SetGroupAttributeField(v string) *JwtTokenTypeConfiguration {
8204	s.GroupAttributeField = &v
8205	return s
8206}
8207
8208// SetIssuer sets the Issuer field's value.
8209func (s *JwtTokenTypeConfiguration) SetIssuer(v string) *JwtTokenTypeConfiguration {
8210	s.Issuer = &v
8211	return s
8212}
8213
8214// SetKeyLocation sets the KeyLocation field's value.
8215func (s *JwtTokenTypeConfiguration) SetKeyLocation(v string) *JwtTokenTypeConfiguration {
8216	s.KeyLocation = &v
8217	return s
8218}
8219
8220// SetSecretManagerArn sets the SecretManagerArn field's value.
8221func (s *JwtTokenTypeConfiguration) SetSecretManagerArn(v string) *JwtTokenTypeConfiguration {
8222	s.SecretManagerArn = &v
8223	return s
8224}
8225
8226// SetURL sets the URL field's value.
8227func (s *JwtTokenTypeConfiguration) SetURL(v string) *JwtTokenTypeConfiguration {
8228	s.URL = &v
8229	return s
8230}
8231
8232// SetUserNameAttributeField sets the UserNameAttributeField field's value.
8233func (s *JwtTokenTypeConfiguration) SetUserNameAttributeField(v string) *JwtTokenTypeConfiguration {
8234	s.UserNameAttributeField = &v
8235	return s
8236}
8237
8238type ListDataSourceSyncJobsInput struct {
8239	_ struct{} `type:"structure"`
8240
8241	// The identifier of the data source.
8242	//
8243	// Id is a required field
8244	Id *string `min:"1" type:"string" required:"true"`
8245
8246	// The identifier of the index that contains the data source.
8247	//
8248	// IndexId is a required field
8249	IndexId *string `min:"36" type:"string" required:"true"`
8250
8251	// The maximum number of synchronization jobs to return in the response. If
8252	// there are fewer results in the list, this response contains only the actual
8253	// results.
8254	MaxResults *int64 `min:"1" type:"integer"`
8255
8256	// If the result of the previous request to GetDataSourceSyncJobHistory was
8257	// truncated, include the NextToken to fetch the next set of jobs.
8258	NextToken *string `min:"1" type:"string"`
8259
8260	// When specified, the synchronization jobs returned in the list are limited
8261	// to jobs between the specified dates.
8262	StartTimeFilter *TimeRange `type:"structure"`
8263
8264	// When specified, only returns synchronization jobs with the Status field equal
8265	// to the specified status.
8266	StatusFilter *string `type:"string" enum:"DataSourceSyncJobStatus"`
8267}
8268
8269// String returns the string representation
8270func (s ListDataSourceSyncJobsInput) String() string {
8271	return awsutil.Prettify(s)
8272}
8273
8274// GoString returns the string representation
8275func (s ListDataSourceSyncJobsInput) GoString() string {
8276	return s.String()
8277}
8278
8279// Validate inspects the fields of the type to determine if they are valid.
8280func (s *ListDataSourceSyncJobsInput) Validate() error {
8281	invalidParams := request.ErrInvalidParams{Context: "ListDataSourceSyncJobsInput"}
8282	if s.Id == nil {
8283		invalidParams.Add(request.NewErrParamRequired("Id"))
8284	}
8285	if s.Id != nil && len(*s.Id) < 1 {
8286		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
8287	}
8288	if s.IndexId == nil {
8289		invalidParams.Add(request.NewErrParamRequired("IndexId"))
8290	}
8291	if s.IndexId != nil && len(*s.IndexId) < 36 {
8292		invalidParams.Add(request.NewErrParamMinLen("IndexId", 36))
8293	}
8294	if s.MaxResults != nil && *s.MaxResults < 1 {
8295		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
8296	}
8297	if s.NextToken != nil && len(*s.NextToken) < 1 {
8298		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
8299	}
8300
8301	if invalidParams.Len() > 0 {
8302		return invalidParams
8303	}
8304	return nil
8305}
8306
8307// SetId sets the Id field's value.
8308func (s *ListDataSourceSyncJobsInput) SetId(v string) *ListDataSourceSyncJobsInput {
8309	s.Id = &v
8310	return s
8311}
8312
8313// SetIndexId sets the IndexId field's value.
8314func (s *ListDataSourceSyncJobsInput) SetIndexId(v string) *ListDataSourceSyncJobsInput {
8315	s.IndexId = &v
8316	return s
8317}
8318
8319// SetMaxResults sets the MaxResults field's value.
8320func (s *ListDataSourceSyncJobsInput) SetMaxResults(v int64) *ListDataSourceSyncJobsInput {
8321	s.MaxResults = &v
8322	return s
8323}
8324
8325// SetNextToken sets the NextToken field's value.
8326func (s *ListDataSourceSyncJobsInput) SetNextToken(v string) *ListDataSourceSyncJobsInput {
8327	s.NextToken = &v
8328	return s
8329}
8330
8331// SetStartTimeFilter sets the StartTimeFilter field's value.
8332func (s *ListDataSourceSyncJobsInput) SetStartTimeFilter(v *TimeRange) *ListDataSourceSyncJobsInput {
8333	s.StartTimeFilter = v
8334	return s
8335}
8336
8337// SetStatusFilter sets the StatusFilter field's value.
8338func (s *ListDataSourceSyncJobsInput) SetStatusFilter(v string) *ListDataSourceSyncJobsInput {
8339	s.StatusFilter = &v
8340	return s
8341}
8342
8343type ListDataSourceSyncJobsOutput struct {
8344	_ struct{} `type:"structure"`
8345
8346	// A history of synchronization jobs for the data source.
8347	History []*DataSourceSyncJob `type:"list"`
8348
8349	// The GetDataSourceSyncJobHistory operation returns a page of vocabularies
8350	// at a time. The maximum size of the page is set by the MaxResults parameter.
8351	// If there are more jobs in the list than the page size, Amazon Kendra returns
8352	// the NextPage token. Include the token in the next request to the GetDataSourceSyncJobHistory
8353	// operation to return in the next page of jobs.
8354	NextToken *string `min:"1" type:"string"`
8355}
8356
8357// String returns the string representation
8358func (s ListDataSourceSyncJobsOutput) String() string {
8359	return awsutil.Prettify(s)
8360}
8361
8362// GoString returns the string representation
8363func (s ListDataSourceSyncJobsOutput) GoString() string {
8364	return s.String()
8365}
8366
8367// SetHistory sets the History field's value.
8368func (s *ListDataSourceSyncJobsOutput) SetHistory(v []*DataSourceSyncJob) *ListDataSourceSyncJobsOutput {
8369	s.History = v
8370	return s
8371}
8372
8373// SetNextToken sets the NextToken field's value.
8374func (s *ListDataSourceSyncJobsOutput) SetNextToken(v string) *ListDataSourceSyncJobsOutput {
8375	s.NextToken = &v
8376	return s
8377}
8378
8379type ListDataSourcesInput struct {
8380	_ struct{} `type:"structure"`
8381
8382	// The identifier of the index that contains the data source.
8383	//
8384	// IndexId is a required field
8385	IndexId *string `min:"36" type:"string" required:"true"`
8386
8387	// The maximum number of data sources to return.
8388	MaxResults *int64 `min:"1" type:"integer"`
8389
8390	// If the previous response was incomplete (because there is more data to retrieve),
8391	// Amazon Kendra returns a pagination token in the response. You can use this
8392	// pagination token to retrieve the next set of data sources (DataSourceSummaryItems).
8393	NextToken *string `min:"1" type:"string"`
8394}
8395
8396// String returns the string representation
8397func (s ListDataSourcesInput) String() string {
8398	return awsutil.Prettify(s)
8399}
8400
8401// GoString returns the string representation
8402func (s ListDataSourcesInput) GoString() string {
8403	return s.String()
8404}
8405
8406// Validate inspects the fields of the type to determine if they are valid.
8407func (s *ListDataSourcesInput) Validate() error {
8408	invalidParams := request.ErrInvalidParams{Context: "ListDataSourcesInput"}
8409	if s.IndexId == nil {
8410		invalidParams.Add(request.NewErrParamRequired("IndexId"))
8411	}
8412	if s.IndexId != nil && len(*s.IndexId) < 36 {
8413		invalidParams.Add(request.NewErrParamMinLen("IndexId", 36))
8414	}
8415	if s.MaxResults != nil && *s.MaxResults < 1 {
8416		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
8417	}
8418	if s.NextToken != nil && len(*s.NextToken) < 1 {
8419		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
8420	}
8421
8422	if invalidParams.Len() > 0 {
8423		return invalidParams
8424	}
8425	return nil
8426}
8427
8428// SetIndexId sets the IndexId field's value.
8429func (s *ListDataSourcesInput) SetIndexId(v string) *ListDataSourcesInput {
8430	s.IndexId = &v
8431	return s
8432}
8433
8434// SetMaxResults sets the MaxResults field's value.
8435func (s *ListDataSourcesInput) SetMaxResults(v int64) *ListDataSourcesInput {
8436	s.MaxResults = &v
8437	return s
8438}
8439
8440// SetNextToken sets the NextToken field's value.
8441func (s *ListDataSourcesInput) SetNextToken(v string) *ListDataSourcesInput {
8442	s.NextToken = &v
8443	return s
8444}
8445
8446type ListDataSourcesOutput struct {
8447	_ struct{} `type:"structure"`
8448
8449	// If the response is truncated, Amazon Kendra returns this token that you can
8450	// use in the subsequent request to retrieve the next set of data sources.
8451	NextToken *string `min:"1" type:"string"`
8452
8453	// An array of summary information for one or more data sources.
8454	SummaryItems []*DataSourceSummary `type:"list"`
8455}
8456
8457// String returns the string representation
8458func (s ListDataSourcesOutput) String() string {
8459	return awsutil.Prettify(s)
8460}
8461
8462// GoString returns the string representation
8463func (s ListDataSourcesOutput) GoString() string {
8464	return s.String()
8465}
8466
8467// SetNextToken sets the NextToken field's value.
8468func (s *ListDataSourcesOutput) SetNextToken(v string) *ListDataSourcesOutput {
8469	s.NextToken = &v
8470	return s
8471}
8472
8473// SetSummaryItems sets the SummaryItems field's value.
8474func (s *ListDataSourcesOutput) SetSummaryItems(v []*DataSourceSummary) *ListDataSourcesOutput {
8475	s.SummaryItems = v
8476	return s
8477}
8478
8479type ListFaqsInput struct {
8480	_ struct{} `type:"structure"`
8481
8482	// The index that contains the FAQ lists.
8483	//
8484	// IndexId is a required field
8485	IndexId *string `min:"36" type:"string" required:"true"`
8486
8487	// The maximum number of FAQs to return in the response. If there are fewer
8488	// results in the list, this response contains only the actual results.
8489	MaxResults *int64 `min:"1" type:"integer"`
8490
8491	// If the result of the previous request to ListFaqs was truncated, include
8492	// the NextToken to fetch the next set of FAQs.
8493	NextToken *string `min:"1" type:"string"`
8494}
8495
8496// String returns the string representation
8497func (s ListFaqsInput) String() string {
8498	return awsutil.Prettify(s)
8499}
8500
8501// GoString returns the string representation
8502func (s ListFaqsInput) GoString() string {
8503	return s.String()
8504}
8505
8506// Validate inspects the fields of the type to determine if they are valid.
8507func (s *ListFaqsInput) Validate() error {
8508	invalidParams := request.ErrInvalidParams{Context: "ListFaqsInput"}
8509	if s.IndexId == nil {
8510		invalidParams.Add(request.NewErrParamRequired("IndexId"))
8511	}
8512	if s.IndexId != nil && len(*s.IndexId) < 36 {
8513		invalidParams.Add(request.NewErrParamMinLen("IndexId", 36))
8514	}
8515	if s.MaxResults != nil && *s.MaxResults < 1 {
8516		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
8517	}
8518	if s.NextToken != nil && len(*s.NextToken) < 1 {
8519		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
8520	}
8521
8522	if invalidParams.Len() > 0 {
8523		return invalidParams
8524	}
8525	return nil
8526}
8527
8528// SetIndexId sets the IndexId field's value.
8529func (s *ListFaqsInput) SetIndexId(v string) *ListFaqsInput {
8530	s.IndexId = &v
8531	return s
8532}
8533
8534// SetMaxResults sets the MaxResults field's value.
8535func (s *ListFaqsInput) SetMaxResults(v int64) *ListFaqsInput {
8536	s.MaxResults = &v
8537	return s
8538}
8539
8540// SetNextToken sets the NextToken field's value.
8541func (s *ListFaqsInput) SetNextToken(v string) *ListFaqsInput {
8542	s.NextToken = &v
8543	return s
8544}
8545
8546type ListFaqsOutput struct {
8547	_ struct{} `type:"structure"`
8548
8549	// information about the FAQs associated with the specified index.
8550	FaqSummaryItems []*FaqSummary `type:"list"`
8551
8552	// The ListFaqs operation returns a page of FAQs at a time. The maximum size
8553	// of the page is set by the MaxResults parameter. If there are more jobs in
8554	// the list than the page size, Amazon Kendra returns the NextPage token. Include
8555	// the token in the next request to the ListFaqs operation to return the next
8556	// page of FAQs.
8557	NextToken *string `min:"1" type:"string"`
8558}
8559
8560// String returns the string representation
8561func (s ListFaqsOutput) String() string {
8562	return awsutil.Prettify(s)
8563}
8564
8565// GoString returns the string representation
8566func (s ListFaqsOutput) GoString() string {
8567	return s.String()
8568}
8569
8570// SetFaqSummaryItems sets the FaqSummaryItems field's value.
8571func (s *ListFaqsOutput) SetFaqSummaryItems(v []*FaqSummary) *ListFaqsOutput {
8572	s.FaqSummaryItems = v
8573	return s
8574}
8575
8576// SetNextToken sets the NextToken field's value.
8577func (s *ListFaqsOutput) SetNextToken(v string) *ListFaqsOutput {
8578	s.NextToken = &v
8579	return s
8580}
8581
8582type ListIndicesInput struct {
8583	_ struct{} `type:"structure"`
8584
8585	// The maximum number of data sources to return.
8586	MaxResults *int64 `min:"1" type:"integer"`
8587
8588	// If the previous response was incomplete (because there is more data to retrieve),
8589	// Amazon Kendra returns a pagination token in the response. You can use this
8590	// pagination token to retrieve the next set of indexes (DataSourceSummaryItems).
8591	NextToken *string `min:"1" type:"string"`
8592}
8593
8594// String returns the string representation
8595func (s ListIndicesInput) String() string {
8596	return awsutil.Prettify(s)
8597}
8598
8599// GoString returns the string representation
8600func (s ListIndicesInput) GoString() string {
8601	return s.String()
8602}
8603
8604// Validate inspects the fields of the type to determine if they are valid.
8605func (s *ListIndicesInput) Validate() error {
8606	invalidParams := request.ErrInvalidParams{Context: "ListIndicesInput"}
8607	if s.MaxResults != nil && *s.MaxResults < 1 {
8608		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
8609	}
8610	if s.NextToken != nil && len(*s.NextToken) < 1 {
8611		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
8612	}
8613
8614	if invalidParams.Len() > 0 {
8615		return invalidParams
8616	}
8617	return nil
8618}
8619
8620// SetMaxResults sets the MaxResults field's value.
8621func (s *ListIndicesInput) SetMaxResults(v int64) *ListIndicesInput {
8622	s.MaxResults = &v
8623	return s
8624}
8625
8626// SetNextToken sets the NextToken field's value.
8627func (s *ListIndicesInput) SetNextToken(v string) *ListIndicesInput {
8628	s.NextToken = &v
8629	return s
8630}
8631
8632type ListIndicesOutput struct {
8633	_ struct{} `type:"structure"`
8634
8635	// An array of summary information for one or more indexes.
8636	IndexConfigurationSummaryItems []*IndexConfigurationSummary `type:"list"`
8637
8638	// If the response is truncated, Amazon Kendra returns this token that you can
8639	// use in the subsequent request to retrieve the next set of indexes.
8640	NextToken *string `min:"1" type:"string"`
8641}
8642
8643// String returns the string representation
8644func (s ListIndicesOutput) String() string {
8645	return awsutil.Prettify(s)
8646}
8647
8648// GoString returns the string representation
8649func (s ListIndicesOutput) GoString() string {
8650	return s.String()
8651}
8652
8653// SetIndexConfigurationSummaryItems sets the IndexConfigurationSummaryItems field's value.
8654func (s *ListIndicesOutput) SetIndexConfigurationSummaryItems(v []*IndexConfigurationSummary) *ListIndicesOutput {
8655	s.IndexConfigurationSummaryItems = v
8656	return s
8657}
8658
8659// SetNextToken sets the NextToken field's value.
8660func (s *ListIndicesOutput) SetNextToken(v string) *ListIndicesOutput {
8661	s.NextToken = &v
8662	return s
8663}
8664
8665type ListTagsForResourceInput struct {
8666	_ struct{} `type:"structure"`
8667
8668	// The Amazon Resource Name (ARN) of the index, FAQ, or data source to get a
8669	// list of tags for.
8670	//
8671	// ResourceARN is a required field
8672	ResourceARN *string `min:"1" type:"string" required:"true"`
8673}
8674
8675// String returns the string representation
8676func (s ListTagsForResourceInput) String() string {
8677	return awsutil.Prettify(s)
8678}
8679
8680// GoString returns the string representation
8681func (s ListTagsForResourceInput) GoString() string {
8682	return s.String()
8683}
8684
8685// Validate inspects the fields of the type to determine if they are valid.
8686func (s *ListTagsForResourceInput) Validate() error {
8687	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
8688	if s.ResourceARN == nil {
8689		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
8690	}
8691	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
8692		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
8693	}
8694
8695	if invalidParams.Len() > 0 {
8696		return invalidParams
8697	}
8698	return nil
8699}
8700
8701// SetResourceARN sets the ResourceARN field's value.
8702func (s *ListTagsForResourceInput) SetResourceARN(v string) *ListTagsForResourceInput {
8703	s.ResourceARN = &v
8704	return s
8705}
8706
8707type ListTagsForResourceOutput struct {
8708	_ struct{} `type:"structure"`
8709
8710	// A list of tags associated with the index, FAQ, or data source.
8711	Tags []*Tag `type:"list"`
8712}
8713
8714// String returns the string representation
8715func (s ListTagsForResourceOutput) String() string {
8716	return awsutil.Prettify(s)
8717}
8718
8719// GoString returns the string representation
8720func (s ListTagsForResourceOutput) GoString() string {
8721	return s.String()
8722}
8723
8724// SetTags sets the Tags field's value.
8725func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
8726	s.Tags = v
8727	return s
8728}
8729
8730type ListThesauriInput struct {
8731	_ struct{} `type:"structure"`
8732
8733	// The identifier of the index associated with the thesaurus to list.
8734	//
8735	// IndexId is a required field
8736	IndexId *string `min:"36" type:"string" required:"true"`
8737
8738	// The maximum number of thesauri to return.
8739	MaxResults *int64 `min:"1" type:"integer"`
8740
8741	// If the previous response was incomplete (because there is more data to retrieve),
8742	// Amazon Kendra returns a pagination token in the response. You can use this
8743	// pagination token to retrieve the next set of thesauri (ThesaurusSummaryItems).
8744	NextToken *string `min:"1" type:"string"`
8745}
8746
8747// String returns the string representation
8748func (s ListThesauriInput) String() string {
8749	return awsutil.Prettify(s)
8750}
8751
8752// GoString returns the string representation
8753func (s ListThesauriInput) GoString() string {
8754	return s.String()
8755}
8756
8757// Validate inspects the fields of the type to determine if they are valid.
8758func (s *ListThesauriInput) Validate() error {
8759	invalidParams := request.ErrInvalidParams{Context: "ListThesauriInput"}
8760	if s.IndexId == nil {
8761		invalidParams.Add(request.NewErrParamRequired("IndexId"))
8762	}
8763	if s.IndexId != nil && len(*s.IndexId) < 36 {
8764		invalidParams.Add(request.NewErrParamMinLen("IndexId", 36))
8765	}
8766	if s.MaxResults != nil && *s.MaxResults < 1 {
8767		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
8768	}
8769	if s.NextToken != nil && len(*s.NextToken) < 1 {
8770		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
8771	}
8772
8773	if invalidParams.Len() > 0 {
8774		return invalidParams
8775	}
8776	return nil
8777}
8778
8779// SetIndexId sets the IndexId field's value.
8780func (s *ListThesauriInput) SetIndexId(v string) *ListThesauriInput {
8781	s.IndexId = &v
8782	return s
8783}
8784
8785// SetMaxResults sets the MaxResults field's value.
8786func (s *ListThesauriInput) SetMaxResults(v int64) *ListThesauriInput {
8787	s.MaxResults = &v
8788	return s
8789}
8790
8791// SetNextToken sets the NextToken field's value.
8792func (s *ListThesauriInput) SetNextToken(v string) *ListThesauriInput {
8793	s.NextToken = &v
8794	return s
8795}
8796
8797type ListThesauriOutput struct {
8798	_ struct{} `type:"structure"`
8799
8800	// If the response is truncated, Amazon Kendra returns this token that you can
8801	// use in the subsequent request to retrieve the next set of thesauri.
8802	NextToken *string `min:"1" type:"string"`
8803
8804	// An array of summary information for one or more thesauruses.
8805	ThesaurusSummaryItems []*ThesaurusSummary `type:"list"`
8806}
8807
8808// String returns the string representation
8809func (s ListThesauriOutput) String() string {
8810	return awsutil.Prettify(s)
8811}
8812
8813// GoString returns the string representation
8814func (s ListThesauriOutput) GoString() string {
8815	return s.String()
8816}
8817
8818// SetNextToken sets the NextToken field's value.
8819func (s *ListThesauriOutput) SetNextToken(v string) *ListThesauriOutput {
8820	s.NextToken = &v
8821	return s
8822}
8823
8824// SetThesaurusSummaryItems sets the ThesaurusSummaryItems field's value.
8825func (s *ListThesauriOutput) SetThesaurusSummaryItems(v []*ThesaurusSummary) *ListThesauriOutput {
8826	s.ThesaurusSummaryItems = v
8827	return s
8828}
8829
8830// Provides configuration information for data sources that connect to OneDrive.
8831type OneDriveConfiguration struct {
8832	_ struct{} `type:"structure"`
8833
8834	// A Boolean value that specifies whether local groups are disabled (True) or
8835	// enabled (False).
8836	DisableLocalGroups *bool `type:"boolean"`
8837
8838	// List of regular expressions applied to documents. Items that match the exclusion
8839	// pattern are not indexed. If you provide both an inclusion pattern and an
8840	// exclusion pattern, any item that matches the exclusion pattern isn't indexed.
8841	//
8842	// The exclusion pattern is applied to the file name.
8843	ExclusionPatterns []*string `type:"list"`
8844
8845	// A list of DataSourceToIndexFieldMapping objects that map Microsoft OneDrive
8846	// fields to custom fields in the Amazon Kendra index. You must first create
8847	// the index fields before you map OneDrive fields.
8848	FieldMappings []*DataSourceToIndexFieldMapping `min:"1" type:"list"`
8849
8850	// A list of regular expression patterns. Documents that match the pattern are
8851	// included in the index. Documents that don't match the pattern are excluded
8852	// from the index. If a document matches both an inclusion pattern and an exclusion
8853	// pattern, the document is not included in the index.
8854	//
8855	// The exclusion pattern is applied to the file name.
8856	InclusionPatterns []*string `type:"list"`
8857
8858	// A list of user accounts whose documents should be indexed.
8859	//
8860	// OneDriveUsers is a required field
8861	OneDriveUsers *OneDriveUsers `type:"structure" required:"true"`
8862
8863	// The Amazon Resource Name (ARN) of an AWS Secrets Manager secret that contains
8864	// the user name and password to connect to OneDrive. The user namd should be
8865	// the application ID for the OneDrive application, and the password is the
8866	// application key for the OneDrive application.
8867	//
8868	// SecretArn is a required field
8869	SecretArn *string `min:"1" type:"string" required:"true"`
8870
8871	// The Azure Active Directory domain of the organization.
8872	//
8873	// TenantDomain is a required field
8874	TenantDomain *string `min:"1" type:"string" required:"true"`
8875}
8876
8877// String returns the string representation
8878func (s OneDriveConfiguration) String() string {
8879	return awsutil.Prettify(s)
8880}
8881
8882// GoString returns the string representation
8883func (s OneDriveConfiguration) GoString() string {
8884	return s.String()
8885}
8886
8887// Validate inspects the fields of the type to determine if they are valid.
8888func (s *OneDriveConfiguration) Validate() error {
8889	invalidParams := request.ErrInvalidParams{Context: "OneDriveConfiguration"}
8890	if s.FieldMappings != nil && len(s.FieldMappings) < 1 {
8891		invalidParams.Add(request.NewErrParamMinLen("FieldMappings", 1))
8892	}
8893	if s.OneDriveUsers == nil {
8894		invalidParams.Add(request.NewErrParamRequired("OneDriveUsers"))
8895	}
8896	if s.SecretArn == nil {
8897		invalidParams.Add(request.NewErrParamRequired("SecretArn"))
8898	}
8899	if s.SecretArn != nil && len(*s.SecretArn) < 1 {
8900		invalidParams.Add(request.NewErrParamMinLen("SecretArn", 1))
8901	}
8902	if s.TenantDomain == nil {
8903		invalidParams.Add(request.NewErrParamRequired("TenantDomain"))
8904	}
8905	if s.TenantDomain != nil && len(*s.TenantDomain) < 1 {
8906		invalidParams.Add(request.NewErrParamMinLen("TenantDomain", 1))
8907	}
8908	if s.FieldMappings != nil {
8909		for i, v := range s.FieldMappings {
8910			if v == nil {
8911				continue
8912			}
8913			if err := v.Validate(); err != nil {
8914				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FieldMappings", i), err.(request.ErrInvalidParams))
8915			}
8916		}
8917	}
8918	if s.OneDriveUsers != nil {
8919		if err := s.OneDriveUsers.Validate(); err != nil {
8920			invalidParams.AddNested("OneDriveUsers", err.(request.ErrInvalidParams))
8921		}
8922	}
8923
8924	if invalidParams.Len() > 0 {
8925		return invalidParams
8926	}
8927	return nil
8928}
8929
8930// SetDisableLocalGroups sets the DisableLocalGroups field's value.
8931func (s *OneDriveConfiguration) SetDisableLocalGroups(v bool) *OneDriveConfiguration {
8932	s.DisableLocalGroups = &v
8933	return s
8934}
8935
8936// SetExclusionPatterns sets the ExclusionPatterns field's value.
8937func (s *OneDriveConfiguration) SetExclusionPatterns(v []*string) *OneDriveConfiguration {
8938	s.ExclusionPatterns = v
8939	return s
8940}
8941
8942// SetFieldMappings sets the FieldMappings field's value.
8943func (s *OneDriveConfiguration) SetFieldMappings(v []*DataSourceToIndexFieldMapping) *OneDriveConfiguration {
8944	s.FieldMappings = v
8945	return s
8946}
8947
8948// SetInclusionPatterns sets the InclusionPatterns field's value.
8949func (s *OneDriveConfiguration) SetInclusionPatterns(v []*string) *OneDriveConfiguration {
8950	s.InclusionPatterns = v
8951	return s
8952}
8953
8954// SetOneDriveUsers sets the OneDriveUsers field's value.
8955func (s *OneDriveConfiguration) SetOneDriveUsers(v *OneDriveUsers) *OneDriveConfiguration {
8956	s.OneDriveUsers = v
8957	return s
8958}
8959
8960// SetSecretArn sets the SecretArn field's value.
8961func (s *OneDriveConfiguration) SetSecretArn(v string) *OneDriveConfiguration {
8962	s.SecretArn = &v
8963	return s
8964}
8965
8966// SetTenantDomain sets the TenantDomain field's value.
8967func (s *OneDriveConfiguration) SetTenantDomain(v string) *OneDriveConfiguration {
8968	s.TenantDomain = &v
8969	return s
8970}
8971
8972// User accounts whose documents should be indexed.
8973type OneDriveUsers struct {
8974	_ struct{} `type:"structure"`
8975
8976	// A list of users whose documents should be indexed. Specify the user names
8977	// in email format, for example, username@tenantdomain. If you need to index
8978	// the documents of more than 100 users, use the OneDriveUserS3Path field to
8979	// specify the location of a file containing a list of users.
8980	OneDriveUserList []*string `min:"1" type:"list"`
8981
8982	// The S3 bucket location of a file containing a list of users whose documents
8983	// should be indexed.
8984	OneDriveUserS3Path *S3Path `type:"structure"`
8985}
8986
8987// String returns the string representation
8988func (s OneDriveUsers) String() string {
8989	return awsutil.Prettify(s)
8990}
8991
8992// GoString returns the string representation
8993func (s OneDriveUsers) GoString() string {
8994	return s.String()
8995}
8996
8997// Validate inspects the fields of the type to determine if they are valid.
8998func (s *OneDriveUsers) Validate() error {
8999	invalidParams := request.ErrInvalidParams{Context: "OneDriveUsers"}
9000	if s.OneDriveUserList != nil && len(s.OneDriveUserList) < 1 {
9001		invalidParams.Add(request.NewErrParamMinLen("OneDriveUserList", 1))
9002	}
9003	if s.OneDriveUserS3Path != nil {
9004		if err := s.OneDriveUserS3Path.Validate(); err != nil {
9005			invalidParams.AddNested("OneDriveUserS3Path", err.(request.ErrInvalidParams))
9006		}
9007	}
9008
9009	if invalidParams.Len() > 0 {
9010		return invalidParams
9011	}
9012	return nil
9013}
9014
9015// SetOneDriveUserList sets the OneDriveUserList field's value.
9016func (s *OneDriveUsers) SetOneDriveUserList(v []*string) *OneDriveUsers {
9017	s.OneDriveUserList = v
9018	return s
9019}
9020
9021// SetOneDriveUserS3Path sets the OneDriveUserS3Path field's value.
9022func (s *OneDriveUsers) SetOneDriveUserS3Path(v *S3Path) *OneDriveUsers {
9023	s.OneDriveUserS3Path = v
9024	return s
9025}
9026
9027// Provides user and group information for document access filtering.
9028type Principal struct {
9029	_ struct{} `type:"structure"`
9030
9031	// Whether to allow or deny access to the principal.
9032	//
9033	// Access is a required field
9034	Access *string `type:"string" required:"true" enum:"ReadAccessType"`
9035
9036	// The name of the user or group.
9037	//
9038	// Name is a required field
9039	Name *string `min:"1" type:"string" required:"true"`
9040
9041	// The type of principal.
9042	//
9043	// Type is a required field
9044	Type *string `type:"string" required:"true" enum:"PrincipalType"`
9045}
9046
9047// String returns the string representation
9048func (s Principal) String() string {
9049	return awsutil.Prettify(s)
9050}
9051
9052// GoString returns the string representation
9053func (s Principal) GoString() string {
9054	return s.String()
9055}
9056
9057// Validate inspects the fields of the type to determine if they are valid.
9058func (s *Principal) Validate() error {
9059	invalidParams := request.ErrInvalidParams{Context: "Principal"}
9060	if s.Access == nil {
9061		invalidParams.Add(request.NewErrParamRequired("Access"))
9062	}
9063	if s.Name == nil {
9064		invalidParams.Add(request.NewErrParamRequired("Name"))
9065	}
9066	if s.Name != nil && len(*s.Name) < 1 {
9067		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
9068	}
9069	if s.Type == nil {
9070		invalidParams.Add(request.NewErrParamRequired("Type"))
9071	}
9072
9073	if invalidParams.Len() > 0 {
9074		return invalidParams
9075	}
9076	return nil
9077}
9078
9079// SetAccess sets the Access field's value.
9080func (s *Principal) SetAccess(v string) *Principal {
9081	s.Access = &v
9082	return s
9083}
9084
9085// SetName sets the Name field's value.
9086func (s *Principal) SetName(v string) *Principal {
9087	s.Name = &v
9088	return s
9089}
9090
9091// SetType sets the Type field's value.
9092func (s *Principal) SetType(v string) *Principal {
9093	s.Type = &v
9094	return s
9095}
9096
9097type QueryInput struct {
9098	_ struct{} `type:"structure"`
9099
9100	// Enables filtered searches based on document attributes. You can only provide
9101	// one attribute filter; however, the AndAllFilters, NotFilter, and OrAllFilters
9102	// parameters contain a list of other filters.
9103	//
9104	// The AttributeFilter parameter enables you to create a set of filtering rules
9105	// that a document must satisfy to be included in the query results.
9106	AttributeFilter *AttributeFilter `type:"structure"`
9107
9108	// Overrides relevance tuning configurations of fields or attributes set at
9109	// the index level.
9110	//
9111	// If you use this API to override the relevance tuning configured at the index
9112	// level, but there is no relevance tuning configured at the index level, then
9113	// Amazon Kendra does not apply any relevance tuning.
9114	//
9115	// If there is relevance tuning configured at the index level, but you do not
9116	// use this API to override any relevance tuning in the index, then Amazon Kendra
9117	// uses the relevance tuning that is configured at the index level.
9118	//
9119	// If there is relevance tuning configured for fields at the index level, but
9120	// you use this API to override only some of these fields, then for the fields
9121	// you did not override, the importance is set to 1.
9122	DocumentRelevanceOverrideConfigurations []*DocumentRelevanceConfiguration `type:"list"`
9123
9124	// An array of documents attributes. Amazon Kendra returns a count for each
9125	// attribute key specified. You can use this information to help narrow the
9126	// search for your user.
9127	Facets []*Facet `type:"list"`
9128
9129	// The unique identifier of the index to search. The identifier is returned
9130	// in the response from the CreateIndex operation.
9131	//
9132	// IndexId is a required field
9133	IndexId *string `min:"36" type:"string" required:"true"`
9134
9135	// Query results are returned in pages the size of the PageSize parameter. By
9136	// default, Amazon Kendra returns the first page of results. Use this parameter
9137	// to get result pages after the first one.
9138	PageNumber *int64 `type:"integer"`
9139
9140	// Sets the number of results that are returned in each page of results. The
9141	// default page size is 10. The maximum number of results returned is 100. If
9142	// you ask for more than 100 results, only 100 are returned.
9143	PageSize *int64 `type:"integer"`
9144
9145	// Sets the type of query. Only results for the specified query type are returned.
9146	QueryResultTypeFilter *string `type:"string" enum:"QueryResultType"`
9147
9148	// The text to search for.
9149	//
9150	// QueryText is a required field
9151	QueryText *string `min:"1" type:"string" required:"true"`
9152
9153	// An array of document attributes to include in the response. No other document
9154	// attributes are included in the response. By default all document attributes
9155	// are included in the response.
9156	RequestedDocumentAttributes []*string `min:"1" type:"list"`
9157
9158	// Provides information that determines how the results of the query are sorted.
9159	// You can set the field that Amazon Kendra should sort the results on, and
9160	// specify whether the results should be sorted in ascending or descending order.
9161	// In the case of ties in sorting the results, the results are sorted by relevance.
9162	//
9163	// If you don't provide sorting configuration, the results are sorted by the
9164	// relevance that Amazon Kendra determines for the result.
9165	SortingConfiguration *SortingConfiguration `type:"structure"`
9166
9167	// The user context token.
9168	UserContext *UserContext `type:"structure"`
9169
9170	// Provides an identifier for a specific user. The VisitorId should be a unique
9171	// identifier, such as a GUID. Don't use personally identifiable information,
9172	// such as the user's email address, as the VisitorId.
9173	VisitorId *string `min:"1" type:"string"`
9174}
9175
9176// String returns the string representation
9177func (s QueryInput) String() string {
9178	return awsutil.Prettify(s)
9179}
9180
9181// GoString returns the string representation
9182func (s QueryInput) GoString() string {
9183	return s.String()
9184}
9185
9186// Validate inspects the fields of the type to determine if they are valid.
9187func (s *QueryInput) Validate() error {
9188	invalidParams := request.ErrInvalidParams{Context: "QueryInput"}
9189	if s.IndexId == nil {
9190		invalidParams.Add(request.NewErrParamRequired("IndexId"))
9191	}
9192	if s.IndexId != nil && len(*s.IndexId) < 36 {
9193		invalidParams.Add(request.NewErrParamMinLen("IndexId", 36))
9194	}
9195	if s.QueryText == nil {
9196		invalidParams.Add(request.NewErrParamRequired("QueryText"))
9197	}
9198	if s.QueryText != nil && len(*s.QueryText) < 1 {
9199		invalidParams.Add(request.NewErrParamMinLen("QueryText", 1))
9200	}
9201	if s.RequestedDocumentAttributes != nil && len(s.RequestedDocumentAttributes) < 1 {
9202		invalidParams.Add(request.NewErrParamMinLen("RequestedDocumentAttributes", 1))
9203	}
9204	if s.VisitorId != nil && len(*s.VisitorId) < 1 {
9205		invalidParams.Add(request.NewErrParamMinLen("VisitorId", 1))
9206	}
9207	if s.AttributeFilter != nil {
9208		if err := s.AttributeFilter.Validate(); err != nil {
9209			invalidParams.AddNested("AttributeFilter", err.(request.ErrInvalidParams))
9210		}
9211	}
9212	if s.DocumentRelevanceOverrideConfigurations != nil {
9213		for i, v := range s.DocumentRelevanceOverrideConfigurations {
9214			if v == nil {
9215				continue
9216			}
9217			if err := v.Validate(); err != nil {
9218				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DocumentRelevanceOverrideConfigurations", i), err.(request.ErrInvalidParams))
9219			}
9220		}
9221	}
9222	if s.Facets != nil {
9223		for i, v := range s.Facets {
9224			if v == nil {
9225				continue
9226			}
9227			if err := v.Validate(); err != nil {
9228				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Facets", i), err.(request.ErrInvalidParams))
9229			}
9230		}
9231	}
9232	if s.SortingConfiguration != nil {
9233		if err := s.SortingConfiguration.Validate(); err != nil {
9234			invalidParams.AddNested("SortingConfiguration", err.(request.ErrInvalidParams))
9235		}
9236	}
9237	if s.UserContext != nil {
9238		if err := s.UserContext.Validate(); err != nil {
9239			invalidParams.AddNested("UserContext", err.(request.ErrInvalidParams))
9240		}
9241	}
9242
9243	if invalidParams.Len() > 0 {
9244		return invalidParams
9245	}
9246	return nil
9247}
9248
9249// SetAttributeFilter sets the AttributeFilter field's value.
9250func (s *QueryInput) SetAttributeFilter(v *AttributeFilter) *QueryInput {
9251	s.AttributeFilter = v
9252	return s
9253}
9254
9255// SetDocumentRelevanceOverrideConfigurations sets the DocumentRelevanceOverrideConfigurations field's value.
9256func (s *QueryInput) SetDocumentRelevanceOverrideConfigurations(v []*DocumentRelevanceConfiguration) *QueryInput {
9257	s.DocumentRelevanceOverrideConfigurations = v
9258	return s
9259}
9260
9261// SetFacets sets the Facets field's value.
9262func (s *QueryInput) SetFacets(v []*Facet) *QueryInput {
9263	s.Facets = v
9264	return s
9265}
9266
9267// SetIndexId sets the IndexId field's value.
9268func (s *QueryInput) SetIndexId(v string) *QueryInput {
9269	s.IndexId = &v
9270	return s
9271}
9272
9273// SetPageNumber sets the PageNumber field's value.
9274func (s *QueryInput) SetPageNumber(v int64) *QueryInput {
9275	s.PageNumber = &v
9276	return s
9277}
9278
9279// SetPageSize sets the PageSize field's value.
9280func (s *QueryInput) SetPageSize(v int64) *QueryInput {
9281	s.PageSize = &v
9282	return s
9283}
9284
9285// SetQueryResultTypeFilter sets the QueryResultTypeFilter field's value.
9286func (s *QueryInput) SetQueryResultTypeFilter(v string) *QueryInput {
9287	s.QueryResultTypeFilter = &v
9288	return s
9289}
9290
9291// SetQueryText sets the QueryText field's value.
9292func (s *QueryInput) SetQueryText(v string) *QueryInput {
9293	s.QueryText = &v
9294	return s
9295}
9296
9297// SetRequestedDocumentAttributes sets the RequestedDocumentAttributes field's value.
9298func (s *QueryInput) SetRequestedDocumentAttributes(v []*string) *QueryInput {
9299	s.RequestedDocumentAttributes = v
9300	return s
9301}
9302
9303// SetSortingConfiguration sets the SortingConfiguration field's value.
9304func (s *QueryInput) SetSortingConfiguration(v *SortingConfiguration) *QueryInput {
9305	s.SortingConfiguration = v
9306	return s
9307}
9308
9309// SetUserContext sets the UserContext field's value.
9310func (s *QueryInput) SetUserContext(v *UserContext) *QueryInput {
9311	s.UserContext = v
9312	return s
9313}
9314
9315// SetVisitorId sets the VisitorId field's value.
9316func (s *QueryInput) SetVisitorId(v string) *QueryInput {
9317	s.VisitorId = &v
9318	return s
9319}
9320
9321type QueryOutput struct {
9322	_ struct{} `type:"structure"`
9323
9324	// Contains the facet results. A FacetResult contains the counts for each attribute
9325	// key that was specified in the Facets input parameter.
9326	FacetResults []*FacetResult `type:"list"`
9327
9328	// The unique identifier for the search. You use QueryId to identify the search
9329	// when using the feedback API.
9330	QueryId *string `min:"1" type:"string"`
9331
9332	// The results of the search.
9333	ResultItems []*QueryResultItem `type:"list"`
9334
9335	// The total number of items found by the search; however, you can only retrieve
9336	// up to 100 items. For example, if the search found 192 items, you can only
9337	// retrieve the first 100 of the items.
9338	TotalNumberOfResults *int64 `type:"integer"`
9339}
9340
9341// String returns the string representation
9342func (s QueryOutput) String() string {
9343	return awsutil.Prettify(s)
9344}
9345
9346// GoString returns the string representation
9347func (s QueryOutput) GoString() string {
9348	return s.String()
9349}
9350
9351// SetFacetResults sets the FacetResults field's value.
9352func (s *QueryOutput) SetFacetResults(v []*FacetResult) *QueryOutput {
9353	s.FacetResults = v
9354	return s
9355}
9356
9357// SetQueryId sets the QueryId field's value.
9358func (s *QueryOutput) SetQueryId(v string) *QueryOutput {
9359	s.QueryId = &v
9360	return s
9361}
9362
9363// SetResultItems sets the ResultItems field's value.
9364func (s *QueryOutput) SetResultItems(v []*QueryResultItem) *QueryOutput {
9365	s.ResultItems = v
9366	return s
9367}
9368
9369// SetTotalNumberOfResults sets the TotalNumberOfResults field's value.
9370func (s *QueryOutput) SetTotalNumberOfResults(v int64) *QueryOutput {
9371	s.TotalNumberOfResults = &v
9372	return s
9373}
9374
9375// A single query result.
9376//
9377// A query result contains information about a document returned by the query.
9378// This includes the original location of the document, a list of attributes
9379// assigned to the document, and relevant text from the document that satisfies
9380// the query.
9381type QueryResultItem struct {
9382	_ struct{} `type:"structure"`
9383
9384	// One or more additional attributes associated with the query result.
9385	AdditionalAttributes []*AdditionalResultAttribute `type:"list"`
9386
9387	// An array of document attributes for the document that the query result maps
9388	// to. For example, the document author (Author) or the source URI (SourceUri)
9389	// of the document.
9390	DocumentAttributes []*DocumentAttribute `type:"list"`
9391
9392	// An extract of the text in the document. Contains information about highlighting
9393	// the relevant terms in the excerpt.
9394	DocumentExcerpt *TextWithHighlights `type:"structure"`
9395
9396	// The unique identifier for the document.
9397	DocumentId *string `min:"1" type:"string"`
9398
9399	// The title of the document. Contains the text of the title and information
9400	// for highlighting the relevant terms in the title.
9401	DocumentTitle *TextWithHighlights `type:"structure"`
9402
9403	// The URI of the original location of the document.
9404	DocumentURI *string `min:"1" type:"string"`
9405
9406	// A token that identifies a particular result from a particular query. Use
9407	// this token to provide click-through feedback for the result. For more information,
9408	// see Submitting feedback (https://docs.aws.amazon.com/kendra/latest/dg/submitting-feedback.html).
9409	FeedbackToken *string `min:"1" type:"string"`
9410
9411	// The unique identifier for the query result.
9412	Id *string `min:"1" type:"string"`
9413
9414	// Indicates the confidence that Amazon Kendra has that a result matches the
9415	// query that you provided. Each result is placed into a bin that indicates
9416	// the confidence, VERY_HIGH, HIGH, MEDIUM and LOW. You can use the score to
9417	// determine if a response meets the confidence needed for your application.
9418	//
9419	// The field is only set to LOW when the Type field is set to DOCUMENT and Amazon
9420	// Kendra is not confident that the result matches the query.
9421	ScoreAttributes *ScoreAttributes `type:"structure"`
9422
9423	// The type of document.
9424	Type *string `type:"string" enum:"QueryResultType"`
9425}
9426
9427// String returns the string representation
9428func (s QueryResultItem) String() string {
9429	return awsutil.Prettify(s)
9430}
9431
9432// GoString returns the string representation
9433func (s QueryResultItem) GoString() string {
9434	return s.String()
9435}
9436
9437// SetAdditionalAttributes sets the AdditionalAttributes field's value.
9438func (s *QueryResultItem) SetAdditionalAttributes(v []*AdditionalResultAttribute) *QueryResultItem {
9439	s.AdditionalAttributes = v
9440	return s
9441}
9442
9443// SetDocumentAttributes sets the DocumentAttributes field's value.
9444func (s *QueryResultItem) SetDocumentAttributes(v []*DocumentAttribute) *QueryResultItem {
9445	s.DocumentAttributes = v
9446	return s
9447}
9448
9449// SetDocumentExcerpt sets the DocumentExcerpt field's value.
9450func (s *QueryResultItem) SetDocumentExcerpt(v *TextWithHighlights) *QueryResultItem {
9451	s.DocumentExcerpt = v
9452	return s
9453}
9454
9455// SetDocumentId sets the DocumentId field's value.
9456func (s *QueryResultItem) SetDocumentId(v string) *QueryResultItem {
9457	s.DocumentId = &v
9458	return s
9459}
9460
9461// SetDocumentTitle sets the DocumentTitle field's value.
9462func (s *QueryResultItem) SetDocumentTitle(v *TextWithHighlights) *QueryResultItem {
9463	s.DocumentTitle = v
9464	return s
9465}
9466
9467// SetDocumentURI sets the DocumentURI field's value.
9468func (s *QueryResultItem) SetDocumentURI(v string) *QueryResultItem {
9469	s.DocumentURI = &v
9470	return s
9471}
9472
9473// SetFeedbackToken sets the FeedbackToken field's value.
9474func (s *QueryResultItem) SetFeedbackToken(v string) *QueryResultItem {
9475	s.FeedbackToken = &v
9476	return s
9477}
9478
9479// SetId sets the Id field's value.
9480func (s *QueryResultItem) SetId(v string) *QueryResultItem {
9481	s.Id = &v
9482	return s
9483}
9484
9485// SetScoreAttributes sets the ScoreAttributes field's value.
9486func (s *QueryResultItem) SetScoreAttributes(v *ScoreAttributes) *QueryResultItem {
9487	s.ScoreAttributes = v
9488	return s
9489}
9490
9491// SetType sets the Type field's value.
9492func (s *QueryResultItem) SetType(v string) *QueryResultItem {
9493	s.Type = &v
9494	return s
9495}
9496
9497// Provides information for manually tuning the relevance of a field in a search.
9498// When a query includes terms that match the field, the results are given a
9499// boost in the response based on these tuning parameters.
9500type Relevance struct {
9501	_ struct{} `type:"structure"`
9502
9503	// Specifies the time period that the boost applies to. For example, to make
9504	// the boost apply to documents with the field value within the last month,
9505	// you would use "2628000s". Once the field value is beyond the specified range,
9506	// the effect of the boost drops off. The higher the importance, the faster
9507	// the effect drops off. If you don't specify a value, the default is 3 months.
9508	// The value of the field is a numeric string followed by the character "s",
9509	// for example "86400s" for one day, or "604800s" for one week.
9510	//
9511	// Only applies to DATE fields.
9512	Duration *string `min:"1" type:"string"`
9513
9514	// Indicates that this field determines how "fresh" a document is. For example,
9515	// if document 1 was created on November 5, and document 2 was created on October
9516	// 31, document 1 is "fresher" than document 2. You can only set the Freshness
9517	// field on one DATE type field. Only applies to DATE fields.
9518	Freshness *bool `type:"boolean"`
9519
9520	// The relative importance of the field in the search. Larger numbers provide
9521	// more of a boost than smaller numbers.
9522	Importance *int64 `min:"1" type:"integer"`
9523
9524	// Determines how values should be interpreted.
9525	//
9526	// When the RankOrder field is ASCENDING, higher numbers are better. For example,
9527	// a document with a rating score of 10 is higher ranking than a document with
9528	// a rating score of 1.
9529	//
9530	// When the RankOrder field is DESCENDING, lower numbers are better. For example,
9531	// in a task tracking application, a priority 1 task is more important than
9532	// a priority 5 task.
9533	//
9534	// Only applies to LONG and DOUBLE fields.
9535	RankOrder *string `type:"string" enum:"Order"`
9536
9537	// A list of values that should be given a different boost when they appear
9538	// in the result list. For example, if you are boosting a field called "department,"
9539	// query terms that match the department field are boosted in the result. However,
9540	// you can add entries from the department field to boost documents with those
9541	// values higher.
9542	//
9543	// For example, you can add entries to the map with names of departments. If
9544	// you add "HR",5 and "Legal",3 those departments are given special attention
9545	// when they appear in the metadata of a document. When those terms appear they
9546	// are given the specified importance instead of the regular importance for
9547	// the boost.
9548	ValueImportanceMap map[string]*int64 `type:"map"`
9549}
9550
9551// String returns the string representation
9552func (s Relevance) String() string {
9553	return awsutil.Prettify(s)
9554}
9555
9556// GoString returns the string representation
9557func (s Relevance) GoString() string {
9558	return s.String()
9559}
9560
9561// Validate inspects the fields of the type to determine if they are valid.
9562func (s *Relevance) Validate() error {
9563	invalidParams := request.ErrInvalidParams{Context: "Relevance"}
9564	if s.Duration != nil && len(*s.Duration) < 1 {
9565		invalidParams.Add(request.NewErrParamMinLen("Duration", 1))
9566	}
9567	if s.Importance != nil && *s.Importance < 1 {
9568		invalidParams.Add(request.NewErrParamMinValue("Importance", 1))
9569	}
9570
9571	if invalidParams.Len() > 0 {
9572		return invalidParams
9573	}
9574	return nil
9575}
9576
9577// SetDuration sets the Duration field's value.
9578func (s *Relevance) SetDuration(v string) *Relevance {
9579	s.Duration = &v
9580	return s
9581}
9582
9583// SetFreshness sets the Freshness field's value.
9584func (s *Relevance) SetFreshness(v bool) *Relevance {
9585	s.Freshness = &v
9586	return s
9587}
9588
9589// SetImportance sets the Importance field's value.
9590func (s *Relevance) SetImportance(v int64) *Relevance {
9591	s.Importance = &v
9592	return s
9593}
9594
9595// SetRankOrder sets the RankOrder field's value.
9596func (s *Relevance) SetRankOrder(v string) *Relevance {
9597	s.RankOrder = &v
9598	return s
9599}
9600
9601// SetValueImportanceMap sets the ValueImportanceMap field's value.
9602func (s *Relevance) SetValueImportanceMap(v map[string]*int64) *Relevance {
9603	s.ValueImportanceMap = v
9604	return s
9605}
9606
9607// Provides feedback on how relevant a document is to a search. Your application
9608// uses the SubmitFeedback operation to provide relevance information.
9609type RelevanceFeedback struct {
9610	_ struct{} `type:"structure"`
9611
9612	// Whether to document was relevant or not relevant to the search.
9613	//
9614	// RelevanceValue is a required field
9615	RelevanceValue *string `type:"string" required:"true" enum:"RelevanceType"`
9616
9617	// The unique identifier of the search result that the user provided relevance
9618	// feedback for.
9619	//
9620	// ResultId is a required field
9621	ResultId *string `min:"1" type:"string" required:"true"`
9622}
9623
9624// String returns the string representation
9625func (s RelevanceFeedback) String() string {
9626	return awsutil.Prettify(s)
9627}
9628
9629// GoString returns the string representation
9630func (s RelevanceFeedback) GoString() string {
9631	return s.String()
9632}
9633
9634// Validate inspects the fields of the type to determine if they are valid.
9635func (s *RelevanceFeedback) Validate() error {
9636	invalidParams := request.ErrInvalidParams{Context: "RelevanceFeedback"}
9637	if s.RelevanceValue == nil {
9638		invalidParams.Add(request.NewErrParamRequired("RelevanceValue"))
9639	}
9640	if s.ResultId == nil {
9641		invalidParams.Add(request.NewErrParamRequired("ResultId"))
9642	}
9643	if s.ResultId != nil && len(*s.ResultId) < 1 {
9644		invalidParams.Add(request.NewErrParamMinLen("ResultId", 1))
9645	}
9646
9647	if invalidParams.Len() > 0 {
9648		return invalidParams
9649	}
9650	return nil
9651}
9652
9653// SetRelevanceValue sets the RelevanceValue field's value.
9654func (s *RelevanceFeedback) SetRelevanceValue(v string) *RelevanceFeedback {
9655	s.RelevanceValue = &v
9656	return s
9657}
9658
9659// SetResultId sets the ResultId field's value.
9660func (s *RelevanceFeedback) SetResultId(v string) *RelevanceFeedback {
9661	s.ResultId = &v
9662	return s
9663}
9664
9665type ResourceAlreadyExistException struct {
9666	_            struct{}                  `type:"structure"`
9667	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9668
9669	Message_ *string `locationName:"Message" min:"1" type:"string"`
9670}
9671
9672// String returns the string representation
9673func (s ResourceAlreadyExistException) String() string {
9674	return awsutil.Prettify(s)
9675}
9676
9677// GoString returns the string representation
9678func (s ResourceAlreadyExistException) GoString() string {
9679	return s.String()
9680}
9681
9682func newErrorResourceAlreadyExistException(v protocol.ResponseMetadata) error {
9683	return &ResourceAlreadyExistException{
9684		RespMetadata: v,
9685	}
9686}
9687
9688// Code returns the exception type name.
9689func (s *ResourceAlreadyExistException) Code() string {
9690	return "ResourceAlreadyExistException"
9691}
9692
9693// Message returns the exception's message.
9694func (s *ResourceAlreadyExistException) Message() string {
9695	if s.Message_ != nil {
9696		return *s.Message_
9697	}
9698	return ""
9699}
9700
9701// OrigErr always returns nil, satisfies awserr.Error interface.
9702func (s *ResourceAlreadyExistException) OrigErr() error {
9703	return nil
9704}
9705
9706func (s *ResourceAlreadyExistException) Error() string {
9707	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9708}
9709
9710// Status code returns the HTTP status code for the request's response error.
9711func (s *ResourceAlreadyExistException) StatusCode() int {
9712	return s.RespMetadata.StatusCode
9713}
9714
9715// RequestID returns the service's response RequestID for request.
9716func (s *ResourceAlreadyExistException) RequestID() string {
9717	return s.RespMetadata.RequestID
9718}
9719
9720type ResourceInUseException struct {
9721	_            struct{}                  `type:"structure"`
9722	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9723
9724	Message_ *string `locationName:"Message" min:"1" type:"string"`
9725}
9726
9727// String returns the string representation
9728func (s ResourceInUseException) String() string {
9729	return awsutil.Prettify(s)
9730}
9731
9732// GoString returns the string representation
9733func (s ResourceInUseException) GoString() string {
9734	return s.String()
9735}
9736
9737func newErrorResourceInUseException(v protocol.ResponseMetadata) error {
9738	return &ResourceInUseException{
9739		RespMetadata: v,
9740	}
9741}
9742
9743// Code returns the exception type name.
9744func (s *ResourceInUseException) Code() string {
9745	return "ResourceInUseException"
9746}
9747
9748// Message returns the exception's message.
9749func (s *ResourceInUseException) Message() string {
9750	if s.Message_ != nil {
9751		return *s.Message_
9752	}
9753	return ""
9754}
9755
9756// OrigErr always returns nil, satisfies awserr.Error interface.
9757func (s *ResourceInUseException) OrigErr() error {
9758	return nil
9759}
9760
9761func (s *ResourceInUseException) Error() string {
9762	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9763}
9764
9765// Status code returns the HTTP status code for the request's response error.
9766func (s *ResourceInUseException) StatusCode() int {
9767	return s.RespMetadata.StatusCode
9768}
9769
9770// RequestID returns the service's response RequestID for request.
9771func (s *ResourceInUseException) RequestID() string {
9772	return s.RespMetadata.RequestID
9773}
9774
9775type ResourceNotFoundException struct {
9776	_            struct{}                  `type:"structure"`
9777	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9778
9779	Message_ *string `locationName:"Message" min:"1" type:"string"`
9780}
9781
9782// String returns the string representation
9783func (s ResourceNotFoundException) String() string {
9784	return awsutil.Prettify(s)
9785}
9786
9787// GoString returns the string representation
9788func (s ResourceNotFoundException) GoString() string {
9789	return s.String()
9790}
9791
9792func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
9793	return &ResourceNotFoundException{
9794		RespMetadata: v,
9795	}
9796}
9797
9798// Code returns the exception type name.
9799func (s *ResourceNotFoundException) Code() string {
9800	return "ResourceNotFoundException"
9801}
9802
9803// Message returns the exception's message.
9804func (s *ResourceNotFoundException) Message() string {
9805	if s.Message_ != nil {
9806		return *s.Message_
9807	}
9808	return ""
9809}
9810
9811// OrigErr always returns nil, satisfies awserr.Error interface.
9812func (s *ResourceNotFoundException) OrigErr() error {
9813	return nil
9814}
9815
9816func (s *ResourceNotFoundException) Error() string {
9817	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9818}
9819
9820// Status code returns the HTTP status code for the request's response error.
9821func (s *ResourceNotFoundException) StatusCode() int {
9822	return s.RespMetadata.StatusCode
9823}
9824
9825// RequestID returns the service's response RequestID for request.
9826func (s *ResourceNotFoundException) RequestID() string {
9827	return s.RespMetadata.RequestID
9828}
9829
9830type ResourceUnavailableException struct {
9831	_            struct{}                  `type:"structure"`
9832	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9833
9834	Message_ *string `locationName:"Message" min:"1" type:"string"`
9835}
9836
9837// String returns the string representation
9838func (s ResourceUnavailableException) String() string {
9839	return awsutil.Prettify(s)
9840}
9841
9842// GoString returns the string representation
9843func (s ResourceUnavailableException) GoString() string {
9844	return s.String()
9845}
9846
9847func newErrorResourceUnavailableException(v protocol.ResponseMetadata) error {
9848	return &ResourceUnavailableException{
9849		RespMetadata: v,
9850	}
9851}
9852
9853// Code returns the exception type name.
9854func (s *ResourceUnavailableException) Code() string {
9855	return "ResourceUnavailableException"
9856}
9857
9858// Message returns the exception's message.
9859func (s *ResourceUnavailableException) Message() string {
9860	if s.Message_ != nil {
9861		return *s.Message_
9862	}
9863	return ""
9864}
9865
9866// OrigErr always returns nil, satisfies awserr.Error interface.
9867func (s *ResourceUnavailableException) OrigErr() error {
9868	return nil
9869}
9870
9871func (s *ResourceUnavailableException) Error() string {
9872	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9873}
9874
9875// Status code returns the HTTP status code for the request's response error.
9876func (s *ResourceUnavailableException) StatusCode() int {
9877	return s.RespMetadata.StatusCode
9878}
9879
9880// RequestID returns the service's response RequestID for request.
9881func (s *ResourceUnavailableException) RequestID() string {
9882	return s.RespMetadata.RequestID
9883}
9884
9885// Provides configuration information for a data source to index documents in
9886// an Amazon S3 bucket.
9887type S3DataSourceConfiguration struct {
9888	_ struct{} `type:"structure"`
9889
9890	// Provides the path to the S3 bucket that contains the user context filtering
9891	// files for the data source. For the format of the file, see Access control
9892	// for S3 data sources (https://docs.aws.amazon.com/kendra/latest/dg/s3-acl.html).
9893	AccessControlListConfiguration *AccessControlListConfiguration `type:"structure"`
9894
9895	// The name of the bucket that contains the documents.
9896	//
9897	// BucketName is a required field
9898	BucketName *string `min:"3" type:"string" required:"true"`
9899
9900	// Document metadata files that contain information such as the document access
9901	// control information, source URI, document author, and custom attributes.
9902	// Each metadata file contains metadata about a single document.
9903	DocumentsMetadataConfiguration *DocumentsMetadataConfiguration `type:"structure"`
9904
9905	// A list of glob patterns for documents that should not be indexed. If a document
9906	// that matches an inclusion prefix or inclusion pattern also matches an exclusion
9907	// pattern, the document is not indexed.
9908	//
9909	// For more information about glob patterns, see glob (programming) (https://en.wikipedia.org/wiki/Glob_(programming))
9910	// in Wikipedia.
9911	ExclusionPatterns []*string `type:"list"`
9912
9913	// A list of glob patterns for documents that should be indexed. If a document
9914	// that matches an inclusion pattern also matches an exclusion pattern, the
9915	// document is not indexed.
9916	//
9917	// For more information about glob patterns, see glob (programming) (https://en.wikipedia.org/wiki/Glob_(programming))
9918	// in Wikipedia.
9919	InclusionPatterns []*string `type:"list"`
9920
9921	// A list of S3 prefixes for the documents that should be included in the index.
9922	InclusionPrefixes []*string `type:"list"`
9923}
9924
9925// String returns the string representation
9926func (s S3DataSourceConfiguration) String() string {
9927	return awsutil.Prettify(s)
9928}
9929
9930// GoString returns the string representation
9931func (s S3DataSourceConfiguration) GoString() string {
9932	return s.String()
9933}
9934
9935// Validate inspects the fields of the type to determine if they are valid.
9936func (s *S3DataSourceConfiguration) Validate() error {
9937	invalidParams := request.ErrInvalidParams{Context: "S3DataSourceConfiguration"}
9938	if s.BucketName == nil {
9939		invalidParams.Add(request.NewErrParamRequired("BucketName"))
9940	}
9941	if s.BucketName != nil && len(*s.BucketName) < 3 {
9942		invalidParams.Add(request.NewErrParamMinLen("BucketName", 3))
9943	}
9944	if s.AccessControlListConfiguration != nil {
9945		if err := s.AccessControlListConfiguration.Validate(); err != nil {
9946			invalidParams.AddNested("AccessControlListConfiguration", err.(request.ErrInvalidParams))
9947		}
9948	}
9949	if s.DocumentsMetadataConfiguration != nil {
9950		if err := s.DocumentsMetadataConfiguration.Validate(); err != nil {
9951			invalidParams.AddNested("DocumentsMetadataConfiguration", err.(request.ErrInvalidParams))
9952		}
9953	}
9954
9955	if invalidParams.Len() > 0 {
9956		return invalidParams
9957	}
9958	return nil
9959}
9960
9961// SetAccessControlListConfiguration sets the AccessControlListConfiguration field's value.
9962func (s *S3DataSourceConfiguration) SetAccessControlListConfiguration(v *AccessControlListConfiguration) *S3DataSourceConfiguration {
9963	s.AccessControlListConfiguration = v
9964	return s
9965}
9966
9967// SetBucketName sets the BucketName field's value.
9968func (s *S3DataSourceConfiguration) SetBucketName(v string) *S3DataSourceConfiguration {
9969	s.BucketName = &v
9970	return s
9971}
9972
9973// SetDocumentsMetadataConfiguration sets the DocumentsMetadataConfiguration field's value.
9974func (s *S3DataSourceConfiguration) SetDocumentsMetadataConfiguration(v *DocumentsMetadataConfiguration) *S3DataSourceConfiguration {
9975	s.DocumentsMetadataConfiguration = v
9976	return s
9977}
9978
9979// SetExclusionPatterns sets the ExclusionPatterns field's value.
9980func (s *S3DataSourceConfiguration) SetExclusionPatterns(v []*string) *S3DataSourceConfiguration {
9981	s.ExclusionPatterns = v
9982	return s
9983}
9984
9985// SetInclusionPatterns sets the InclusionPatterns field's value.
9986func (s *S3DataSourceConfiguration) SetInclusionPatterns(v []*string) *S3DataSourceConfiguration {
9987	s.InclusionPatterns = v
9988	return s
9989}
9990
9991// SetInclusionPrefixes sets the InclusionPrefixes field's value.
9992func (s *S3DataSourceConfiguration) SetInclusionPrefixes(v []*string) *S3DataSourceConfiguration {
9993	s.InclusionPrefixes = v
9994	return s
9995}
9996
9997// Information required to find a specific file in an Amazon S3 bucket.
9998type S3Path struct {
9999	_ struct{} `type:"structure"`
10000
10001	// The name of the S3 bucket that contains the file.
10002	//
10003	// Bucket is a required field
10004	Bucket *string `min:"3" type:"string" required:"true"`
10005
10006	// The name of the file.
10007	//
10008	// Key is a required field
10009	Key *string `min:"1" type:"string" required:"true"`
10010}
10011
10012// String returns the string representation
10013func (s S3Path) String() string {
10014	return awsutil.Prettify(s)
10015}
10016
10017// GoString returns the string representation
10018func (s S3Path) GoString() string {
10019	return s.String()
10020}
10021
10022// Validate inspects the fields of the type to determine if they are valid.
10023func (s *S3Path) Validate() error {
10024	invalidParams := request.ErrInvalidParams{Context: "S3Path"}
10025	if s.Bucket == nil {
10026		invalidParams.Add(request.NewErrParamRequired("Bucket"))
10027	}
10028	if s.Bucket != nil && len(*s.Bucket) < 3 {
10029		invalidParams.Add(request.NewErrParamMinLen("Bucket", 3))
10030	}
10031	if s.Key == nil {
10032		invalidParams.Add(request.NewErrParamRequired("Key"))
10033	}
10034	if s.Key != nil && len(*s.Key) < 1 {
10035		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
10036	}
10037
10038	if invalidParams.Len() > 0 {
10039		return invalidParams
10040	}
10041	return nil
10042}
10043
10044// SetBucket sets the Bucket field's value.
10045func (s *S3Path) SetBucket(v string) *S3Path {
10046	s.Bucket = &v
10047	return s
10048}
10049
10050// SetKey sets the Key field's value.
10051func (s *S3Path) SetKey(v string) *S3Path {
10052	s.Key = &v
10053	return s
10054}
10055
10056// Defines configuration for syncing a Salesforce chatter feed. The contents
10057// of the object comes from the Salesforce FeedItem table.
10058type SalesforceChatterFeedConfiguration struct {
10059	_ struct{} `type:"structure"`
10060
10061	// The name of the column in the Salesforce FeedItem table that contains the
10062	// content to index. Typically this is the Body column.
10063	//
10064	// DocumentDataFieldName is a required field
10065	DocumentDataFieldName *string `min:"1" type:"string" required:"true"`
10066
10067	// The name of the column in the Salesforce FeedItem table that contains the
10068	// title of the document. This is typically the Title collumn.
10069	DocumentTitleFieldName *string `min:"1" type:"string"`
10070
10071	// Maps fields from a Salesforce chatter feed into Amazon Kendra index fields.
10072	FieldMappings []*DataSourceToIndexFieldMapping `min:"1" type:"list"`
10073
10074	// Filters the documents in the feed based on status of the user. When you specify
10075	// ACTIVE_USERS only documents from users who have an active account are indexed.
10076	// When you specify STANDARD_USER only documents for Salesforce standard users
10077	// are documented. You can specify both.
10078	IncludeFilterTypes []*string `min:"1" type:"list"`
10079}
10080
10081// String returns the string representation
10082func (s SalesforceChatterFeedConfiguration) String() string {
10083	return awsutil.Prettify(s)
10084}
10085
10086// GoString returns the string representation
10087func (s SalesforceChatterFeedConfiguration) GoString() string {
10088	return s.String()
10089}
10090
10091// Validate inspects the fields of the type to determine if they are valid.
10092func (s *SalesforceChatterFeedConfiguration) Validate() error {
10093	invalidParams := request.ErrInvalidParams{Context: "SalesforceChatterFeedConfiguration"}
10094	if s.DocumentDataFieldName == nil {
10095		invalidParams.Add(request.NewErrParamRequired("DocumentDataFieldName"))
10096	}
10097	if s.DocumentDataFieldName != nil && len(*s.DocumentDataFieldName) < 1 {
10098		invalidParams.Add(request.NewErrParamMinLen("DocumentDataFieldName", 1))
10099	}
10100	if s.DocumentTitleFieldName != nil && len(*s.DocumentTitleFieldName) < 1 {
10101		invalidParams.Add(request.NewErrParamMinLen("DocumentTitleFieldName", 1))
10102	}
10103	if s.FieldMappings != nil && len(s.FieldMappings) < 1 {
10104		invalidParams.Add(request.NewErrParamMinLen("FieldMappings", 1))
10105	}
10106	if s.IncludeFilterTypes != nil && len(s.IncludeFilterTypes) < 1 {
10107		invalidParams.Add(request.NewErrParamMinLen("IncludeFilterTypes", 1))
10108	}
10109	if s.FieldMappings != nil {
10110		for i, v := range s.FieldMappings {
10111			if v == nil {
10112				continue
10113			}
10114			if err := v.Validate(); err != nil {
10115				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FieldMappings", i), err.(request.ErrInvalidParams))
10116			}
10117		}
10118	}
10119
10120	if invalidParams.Len() > 0 {
10121		return invalidParams
10122	}
10123	return nil
10124}
10125
10126// SetDocumentDataFieldName sets the DocumentDataFieldName field's value.
10127func (s *SalesforceChatterFeedConfiguration) SetDocumentDataFieldName(v string) *SalesforceChatterFeedConfiguration {
10128	s.DocumentDataFieldName = &v
10129	return s
10130}
10131
10132// SetDocumentTitleFieldName sets the DocumentTitleFieldName field's value.
10133func (s *SalesforceChatterFeedConfiguration) SetDocumentTitleFieldName(v string) *SalesforceChatterFeedConfiguration {
10134	s.DocumentTitleFieldName = &v
10135	return s
10136}
10137
10138// SetFieldMappings sets the FieldMappings field's value.
10139func (s *SalesforceChatterFeedConfiguration) SetFieldMappings(v []*DataSourceToIndexFieldMapping) *SalesforceChatterFeedConfiguration {
10140	s.FieldMappings = v
10141	return s
10142}
10143
10144// SetIncludeFilterTypes sets the IncludeFilterTypes field's value.
10145func (s *SalesforceChatterFeedConfiguration) SetIncludeFilterTypes(v []*string) *SalesforceChatterFeedConfiguration {
10146	s.IncludeFilterTypes = v
10147	return s
10148}
10149
10150// Provides configuration information for connecting to a Salesforce data source.
10151type SalesforceConfiguration struct {
10152	_ struct{} `type:"structure"`
10153
10154	// Specifies configuration information for Salesforce chatter feeds.
10155	ChatterFeedConfiguration *SalesforceChatterFeedConfiguration `type:"structure"`
10156
10157	// Indicates whether Amazon Kendra should index attachments to Salesforce objects.
10158	CrawlAttachments *bool `type:"boolean"`
10159
10160	// A list of regular expression patterns. Documents that match the patterns
10161	// are excluded from the index. Documents that don't match the patterns are
10162	// included in the index. If a document matches both an exclusion pattern and
10163	// an inclusion pattern, the document is not included in the index.
10164	//
10165	// The regex is applied to the name of the attached file.
10166	ExcludeAttachmentFilePatterns []*string `type:"list"`
10167
10168	// A list of regular expression patterns. Documents that match the patterns
10169	// are included in the index. Documents that don't match the patterns are excluded
10170	// from the index. If a document matches both an inclusion pattern and an exclusion
10171	// pattern, the document is not included in the index.
10172	//
10173	// The regex is applied to the name of the attached file.
10174	IncludeAttachmentFilePatterns []*string `type:"list"`
10175
10176	// Specifies configuration information for the knowledge article types that
10177	// Amazon Kendra indexes. Amazon Kendra indexes standard knowledge articles
10178	// and the standard fields of knowledge articles, or the custom fields of custom
10179	// knowledge articles, but not both.
10180	KnowledgeArticleConfiguration *SalesforceKnowledgeArticleConfiguration `type:"structure"`
10181
10182	// The Amazon Resource Name (ARN) of an AWS Secrets Manager secret that contains
10183	// the key/value pairs required to connect to your Salesforce instance. The
10184	// secret must contain a JSON structure with the following keys:
10185	//
10186	//    * authenticationUrl - The OAUTH endpoint that Amazon Kendra connects to
10187	//    get an OAUTH token.
10188	//
10189	//    * consumerKey - The application public key generated when you created
10190	//    your Salesforce application.
10191	//
10192	//    * consumerSecret - The application private key generated when you created
10193	//    your Salesforce application.
10194	//
10195	//    * password - The password associated with the user logging in to the Salesforce
10196	//    instance.
10197	//
10198	//    * securityToken - The token associated with the user account logging in
10199	//    to the Salesforce instance.
10200	//
10201	//    * username - The user name of the user logging in to the Salesforce instance.
10202	//
10203	// SecretArn is a required field
10204	SecretArn *string `min:"1" type:"string" required:"true"`
10205
10206	// The instance URL for the Salesforce site that you want to index.
10207	//
10208	// ServerUrl is a required field
10209	ServerUrl *string `min:"1" type:"string" required:"true"`
10210
10211	// Provides configuration information for processing attachments to Salesforce
10212	// standard objects.
10213	StandardObjectAttachmentConfiguration *SalesforceStandardObjectAttachmentConfiguration `type:"structure"`
10214
10215	// Specifies the Salesforce standard objects that Amazon Kendra indexes.
10216	StandardObjectConfigurations []*SalesforceStandardObjectConfiguration `min:"1" type:"list"`
10217}
10218
10219// String returns the string representation
10220func (s SalesforceConfiguration) String() string {
10221	return awsutil.Prettify(s)
10222}
10223
10224// GoString returns the string representation
10225func (s SalesforceConfiguration) GoString() string {
10226	return s.String()
10227}
10228
10229// Validate inspects the fields of the type to determine if they are valid.
10230func (s *SalesforceConfiguration) Validate() error {
10231	invalidParams := request.ErrInvalidParams{Context: "SalesforceConfiguration"}
10232	if s.SecretArn == nil {
10233		invalidParams.Add(request.NewErrParamRequired("SecretArn"))
10234	}
10235	if s.SecretArn != nil && len(*s.SecretArn) < 1 {
10236		invalidParams.Add(request.NewErrParamMinLen("SecretArn", 1))
10237	}
10238	if s.ServerUrl == nil {
10239		invalidParams.Add(request.NewErrParamRequired("ServerUrl"))
10240	}
10241	if s.ServerUrl != nil && len(*s.ServerUrl) < 1 {
10242		invalidParams.Add(request.NewErrParamMinLen("ServerUrl", 1))
10243	}
10244	if s.StandardObjectConfigurations != nil && len(s.StandardObjectConfigurations) < 1 {
10245		invalidParams.Add(request.NewErrParamMinLen("StandardObjectConfigurations", 1))
10246	}
10247	if s.ChatterFeedConfiguration != nil {
10248		if err := s.ChatterFeedConfiguration.Validate(); err != nil {
10249			invalidParams.AddNested("ChatterFeedConfiguration", err.(request.ErrInvalidParams))
10250		}
10251	}
10252	if s.KnowledgeArticleConfiguration != nil {
10253		if err := s.KnowledgeArticleConfiguration.Validate(); err != nil {
10254			invalidParams.AddNested("KnowledgeArticleConfiguration", err.(request.ErrInvalidParams))
10255		}
10256	}
10257	if s.StandardObjectAttachmentConfiguration != nil {
10258		if err := s.StandardObjectAttachmentConfiguration.Validate(); err != nil {
10259			invalidParams.AddNested("StandardObjectAttachmentConfiguration", err.(request.ErrInvalidParams))
10260		}
10261	}
10262	if s.StandardObjectConfigurations != nil {
10263		for i, v := range s.StandardObjectConfigurations {
10264			if v == nil {
10265				continue
10266			}
10267			if err := v.Validate(); err != nil {
10268				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "StandardObjectConfigurations", i), err.(request.ErrInvalidParams))
10269			}
10270		}
10271	}
10272
10273	if invalidParams.Len() > 0 {
10274		return invalidParams
10275	}
10276	return nil
10277}
10278
10279// SetChatterFeedConfiguration sets the ChatterFeedConfiguration field's value.
10280func (s *SalesforceConfiguration) SetChatterFeedConfiguration(v *SalesforceChatterFeedConfiguration) *SalesforceConfiguration {
10281	s.ChatterFeedConfiguration = v
10282	return s
10283}
10284
10285// SetCrawlAttachments sets the CrawlAttachments field's value.
10286func (s *SalesforceConfiguration) SetCrawlAttachments(v bool) *SalesforceConfiguration {
10287	s.CrawlAttachments = &v
10288	return s
10289}
10290
10291// SetExcludeAttachmentFilePatterns sets the ExcludeAttachmentFilePatterns field's value.
10292func (s *SalesforceConfiguration) SetExcludeAttachmentFilePatterns(v []*string) *SalesforceConfiguration {
10293	s.ExcludeAttachmentFilePatterns = v
10294	return s
10295}
10296
10297// SetIncludeAttachmentFilePatterns sets the IncludeAttachmentFilePatterns field's value.
10298func (s *SalesforceConfiguration) SetIncludeAttachmentFilePatterns(v []*string) *SalesforceConfiguration {
10299	s.IncludeAttachmentFilePatterns = v
10300	return s
10301}
10302
10303// SetKnowledgeArticleConfiguration sets the KnowledgeArticleConfiguration field's value.
10304func (s *SalesforceConfiguration) SetKnowledgeArticleConfiguration(v *SalesforceKnowledgeArticleConfiguration) *SalesforceConfiguration {
10305	s.KnowledgeArticleConfiguration = v
10306	return s
10307}
10308
10309// SetSecretArn sets the SecretArn field's value.
10310func (s *SalesforceConfiguration) SetSecretArn(v string) *SalesforceConfiguration {
10311	s.SecretArn = &v
10312	return s
10313}
10314
10315// SetServerUrl sets the ServerUrl field's value.
10316func (s *SalesforceConfiguration) SetServerUrl(v string) *SalesforceConfiguration {
10317	s.ServerUrl = &v
10318	return s
10319}
10320
10321// SetStandardObjectAttachmentConfiguration sets the StandardObjectAttachmentConfiguration field's value.
10322func (s *SalesforceConfiguration) SetStandardObjectAttachmentConfiguration(v *SalesforceStandardObjectAttachmentConfiguration) *SalesforceConfiguration {
10323	s.StandardObjectAttachmentConfiguration = v
10324	return s
10325}
10326
10327// SetStandardObjectConfigurations sets the StandardObjectConfigurations field's value.
10328func (s *SalesforceConfiguration) SetStandardObjectConfigurations(v []*SalesforceStandardObjectConfiguration) *SalesforceConfiguration {
10329	s.StandardObjectConfigurations = v
10330	return s
10331}
10332
10333// Provides configuration information for indexing Salesforce custom articles.
10334type SalesforceCustomKnowledgeArticleTypeConfiguration struct {
10335	_ struct{} `type:"structure"`
10336
10337	// The name of the field in the custom knowledge article that contains the document
10338	// data to index.
10339	//
10340	// DocumentDataFieldName is a required field
10341	DocumentDataFieldName *string `min:"1" type:"string" required:"true"`
10342
10343	// The name of the field in the custom knowledge article that contains the document
10344	// title.
10345	DocumentTitleFieldName *string `min:"1" type:"string"`
10346
10347	// One or more objects that map fields in the custom knowledge article to fields
10348	// in the Amazon Kendra index.
10349	FieldMappings []*DataSourceToIndexFieldMapping `min:"1" type:"list"`
10350
10351	// The name of the configuration.
10352	//
10353	// Name is a required field
10354	Name *string `min:"1" type:"string" required:"true"`
10355}
10356
10357// String returns the string representation
10358func (s SalesforceCustomKnowledgeArticleTypeConfiguration) String() string {
10359	return awsutil.Prettify(s)
10360}
10361
10362// GoString returns the string representation
10363func (s SalesforceCustomKnowledgeArticleTypeConfiguration) GoString() string {
10364	return s.String()
10365}
10366
10367// Validate inspects the fields of the type to determine if they are valid.
10368func (s *SalesforceCustomKnowledgeArticleTypeConfiguration) Validate() error {
10369	invalidParams := request.ErrInvalidParams{Context: "SalesforceCustomKnowledgeArticleTypeConfiguration"}
10370	if s.DocumentDataFieldName == nil {
10371		invalidParams.Add(request.NewErrParamRequired("DocumentDataFieldName"))
10372	}
10373	if s.DocumentDataFieldName != nil && len(*s.DocumentDataFieldName) < 1 {
10374		invalidParams.Add(request.NewErrParamMinLen("DocumentDataFieldName", 1))
10375	}
10376	if s.DocumentTitleFieldName != nil && len(*s.DocumentTitleFieldName) < 1 {
10377		invalidParams.Add(request.NewErrParamMinLen("DocumentTitleFieldName", 1))
10378	}
10379	if s.FieldMappings != nil && len(s.FieldMappings) < 1 {
10380		invalidParams.Add(request.NewErrParamMinLen("FieldMappings", 1))
10381	}
10382	if s.Name == nil {
10383		invalidParams.Add(request.NewErrParamRequired("Name"))
10384	}
10385	if s.Name != nil && len(*s.Name) < 1 {
10386		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
10387	}
10388	if s.FieldMappings != nil {
10389		for i, v := range s.FieldMappings {
10390			if v == nil {
10391				continue
10392			}
10393			if err := v.Validate(); err != nil {
10394				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FieldMappings", i), err.(request.ErrInvalidParams))
10395			}
10396		}
10397	}
10398
10399	if invalidParams.Len() > 0 {
10400		return invalidParams
10401	}
10402	return nil
10403}
10404
10405// SetDocumentDataFieldName sets the DocumentDataFieldName field's value.
10406func (s *SalesforceCustomKnowledgeArticleTypeConfiguration) SetDocumentDataFieldName(v string) *SalesforceCustomKnowledgeArticleTypeConfiguration {
10407	s.DocumentDataFieldName = &v
10408	return s
10409}
10410
10411// SetDocumentTitleFieldName sets the DocumentTitleFieldName field's value.
10412func (s *SalesforceCustomKnowledgeArticleTypeConfiguration) SetDocumentTitleFieldName(v string) *SalesforceCustomKnowledgeArticleTypeConfiguration {
10413	s.DocumentTitleFieldName = &v
10414	return s
10415}
10416
10417// SetFieldMappings sets the FieldMappings field's value.
10418func (s *SalesforceCustomKnowledgeArticleTypeConfiguration) SetFieldMappings(v []*DataSourceToIndexFieldMapping) *SalesforceCustomKnowledgeArticleTypeConfiguration {
10419	s.FieldMappings = v
10420	return s
10421}
10422
10423// SetName sets the Name field's value.
10424func (s *SalesforceCustomKnowledgeArticleTypeConfiguration) SetName(v string) *SalesforceCustomKnowledgeArticleTypeConfiguration {
10425	s.Name = &v
10426	return s
10427}
10428
10429// Specifies configuration information for the knowledge article types that
10430// Amazon Kendra indexes. Amazon Kendra indexes standard knowledge articles
10431// and the standard fields of knowledge articles, or the custom fields of custom
10432// knowledge articles, but not both
10433type SalesforceKnowledgeArticleConfiguration struct {
10434	_ struct{} `type:"structure"`
10435
10436	// Provides configuration information for custom Salesforce knowledge articles.
10437	CustomKnowledgeArticleTypeConfigurations []*SalesforceCustomKnowledgeArticleTypeConfiguration `min:"1" type:"list"`
10438
10439	// Specifies the document states that should be included when Amazon Kendra
10440	// indexes knowledge articles. You must specify at least one state.
10441	//
10442	// IncludedStates is a required field
10443	IncludedStates []*string `min:"1" type:"list" required:"true"`
10444
10445	// Provides configuration information for standard Salesforce knowledge articles.
10446	StandardKnowledgeArticleTypeConfiguration *SalesforceStandardKnowledgeArticleTypeConfiguration `type:"structure"`
10447}
10448
10449// String returns the string representation
10450func (s SalesforceKnowledgeArticleConfiguration) String() string {
10451	return awsutil.Prettify(s)
10452}
10453
10454// GoString returns the string representation
10455func (s SalesforceKnowledgeArticleConfiguration) GoString() string {
10456	return s.String()
10457}
10458
10459// Validate inspects the fields of the type to determine if they are valid.
10460func (s *SalesforceKnowledgeArticleConfiguration) Validate() error {
10461	invalidParams := request.ErrInvalidParams{Context: "SalesforceKnowledgeArticleConfiguration"}
10462	if s.CustomKnowledgeArticleTypeConfigurations != nil && len(s.CustomKnowledgeArticleTypeConfigurations) < 1 {
10463		invalidParams.Add(request.NewErrParamMinLen("CustomKnowledgeArticleTypeConfigurations", 1))
10464	}
10465	if s.IncludedStates == nil {
10466		invalidParams.Add(request.NewErrParamRequired("IncludedStates"))
10467	}
10468	if s.IncludedStates != nil && len(s.IncludedStates) < 1 {
10469		invalidParams.Add(request.NewErrParamMinLen("IncludedStates", 1))
10470	}
10471	if s.CustomKnowledgeArticleTypeConfigurations != nil {
10472		for i, v := range s.CustomKnowledgeArticleTypeConfigurations {
10473			if v == nil {
10474				continue
10475			}
10476			if err := v.Validate(); err != nil {
10477				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CustomKnowledgeArticleTypeConfigurations", i), err.(request.ErrInvalidParams))
10478			}
10479		}
10480	}
10481	if s.StandardKnowledgeArticleTypeConfiguration != nil {
10482		if err := s.StandardKnowledgeArticleTypeConfiguration.Validate(); err != nil {
10483			invalidParams.AddNested("StandardKnowledgeArticleTypeConfiguration", err.(request.ErrInvalidParams))
10484		}
10485	}
10486
10487	if invalidParams.Len() > 0 {
10488		return invalidParams
10489	}
10490	return nil
10491}
10492
10493// SetCustomKnowledgeArticleTypeConfigurations sets the CustomKnowledgeArticleTypeConfigurations field's value.
10494func (s *SalesforceKnowledgeArticleConfiguration) SetCustomKnowledgeArticleTypeConfigurations(v []*SalesforceCustomKnowledgeArticleTypeConfiguration) *SalesforceKnowledgeArticleConfiguration {
10495	s.CustomKnowledgeArticleTypeConfigurations = v
10496	return s
10497}
10498
10499// SetIncludedStates sets the IncludedStates field's value.
10500func (s *SalesforceKnowledgeArticleConfiguration) SetIncludedStates(v []*string) *SalesforceKnowledgeArticleConfiguration {
10501	s.IncludedStates = v
10502	return s
10503}
10504
10505// SetStandardKnowledgeArticleTypeConfiguration sets the StandardKnowledgeArticleTypeConfiguration field's value.
10506func (s *SalesforceKnowledgeArticleConfiguration) SetStandardKnowledgeArticleTypeConfiguration(v *SalesforceStandardKnowledgeArticleTypeConfiguration) *SalesforceKnowledgeArticleConfiguration {
10507	s.StandardKnowledgeArticleTypeConfiguration = v
10508	return s
10509}
10510
10511// Provides configuration information for standard Salesforce knowledge articles.
10512type SalesforceStandardKnowledgeArticleTypeConfiguration struct {
10513	_ struct{} `type:"structure"`
10514
10515	// The name of the field that contains the document data to index.
10516	//
10517	// DocumentDataFieldName is a required field
10518	DocumentDataFieldName *string `min:"1" type:"string" required:"true"`
10519
10520	// The name of the field that contains the document title.
10521	DocumentTitleFieldName *string `min:"1" type:"string"`
10522
10523	// One or more objects that map fields in the knowledge article to Amazon Kendra
10524	// index fields. The index field must exist before you can map a Salesforce
10525	// field to it.
10526	FieldMappings []*DataSourceToIndexFieldMapping `min:"1" type:"list"`
10527}
10528
10529// String returns the string representation
10530func (s SalesforceStandardKnowledgeArticleTypeConfiguration) String() string {
10531	return awsutil.Prettify(s)
10532}
10533
10534// GoString returns the string representation
10535func (s SalesforceStandardKnowledgeArticleTypeConfiguration) GoString() string {
10536	return s.String()
10537}
10538
10539// Validate inspects the fields of the type to determine if they are valid.
10540func (s *SalesforceStandardKnowledgeArticleTypeConfiguration) Validate() error {
10541	invalidParams := request.ErrInvalidParams{Context: "SalesforceStandardKnowledgeArticleTypeConfiguration"}
10542	if s.DocumentDataFieldName == nil {
10543		invalidParams.Add(request.NewErrParamRequired("DocumentDataFieldName"))
10544	}
10545	if s.DocumentDataFieldName != nil && len(*s.DocumentDataFieldName) < 1 {
10546		invalidParams.Add(request.NewErrParamMinLen("DocumentDataFieldName", 1))
10547	}
10548	if s.DocumentTitleFieldName != nil && len(*s.DocumentTitleFieldName) < 1 {
10549		invalidParams.Add(request.NewErrParamMinLen("DocumentTitleFieldName", 1))
10550	}
10551	if s.FieldMappings != nil && len(s.FieldMappings) < 1 {
10552		invalidParams.Add(request.NewErrParamMinLen("FieldMappings", 1))
10553	}
10554	if s.FieldMappings != nil {
10555		for i, v := range s.FieldMappings {
10556			if v == nil {
10557				continue
10558			}
10559			if err := v.Validate(); err != nil {
10560				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FieldMappings", i), err.(request.ErrInvalidParams))
10561			}
10562		}
10563	}
10564
10565	if invalidParams.Len() > 0 {
10566		return invalidParams
10567	}
10568	return nil
10569}
10570
10571// SetDocumentDataFieldName sets the DocumentDataFieldName field's value.
10572func (s *SalesforceStandardKnowledgeArticleTypeConfiguration) SetDocumentDataFieldName(v string) *SalesforceStandardKnowledgeArticleTypeConfiguration {
10573	s.DocumentDataFieldName = &v
10574	return s
10575}
10576
10577// SetDocumentTitleFieldName sets the DocumentTitleFieldName field's value.
10578func (s *SalesforceStandardKnowledgeArticleTypeConfiguration) SetDocumentTitleFieldName(v string) *SalesforceStandardKnowledgeArticleTypeConfiguration {
10579	s.DocumentTitleFieldName = &v
10580	return s
10581}
10582
10583// SetFieldMappings sets the FieldMappings field's value.
10584func (s *SalesforceStandardKnowledgeArticleTypeConfiguration) SetFieldMappings(v []*DataSourceToIndexFieldMapping) *SalesforceStandardKnowledgeArticleTypeConfiguration {
10585	s.FieldMappings = v
10586	return s
10587}
10588
10589// Provides configuration information for processing attachments to Salesforce
10590// standard objects.
10591type SalesforceStandardObjectAttachmentConfiguration struct {
10592	_ struct{} `type:"structure"`
10593
10594	// The name of the field used for the document title.
10595	DocumentTitleFieldName *string `min:"1" type:"string"`
10596
10597	// One or more objects that map fields in attachments to Amazon Kendra index
10598	// fields.
10599	FieldMappings []*DataSourceToIndexFieldMapping `min:"1" type:"list"`
10600}
10601
10602// String returns the string representation
10603func (s SalesforceStandardObjectAttachmentConfiguration) String() string {
10604	return awsutil.Prettify(s)
10605}
10606
10607// GoString returns the string representation
10608func (s SalesforceStandardObjectAttachmentConfiguration) GoString() string {
10609	return s.String()
10610}
10611
10612// Validate inspects the fields of the type to determine if they are valid.
10613func (s *SalesforceStandardObjectAttachmentConfiguration) Validate() error {
10614	invalidParams := request.ErrInvalidParams{Context: "SalesforceStandardObjectAttachmentConfiguration"}
10615	if s.DocumentTitleFieldName != nil && len(*s.DocumentTitleFieldName) < 1 {
10616		invalidParams.Add(request.NewErrParamMinLen("DocumentTitleFieldName", 1))
10617	}
10618	if s.FieldMappings != nil && len(s.FieldMappings) < 1 {
10619		invalidParams.Add(request.NewErrParamMinLen("FieldMappings", 1))
10620	}
10621	if s.FieldMappings != nil {
10622		for i, v := range s.FieldMappings {
10623			if v == nil {
10624				continue
10625			}
10626			if err := v.Validate(); err != nil {
10627				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FieldMappings", i), err.(request.ErrInvalidParams))
10628			}
10629		}
10630	}
10631
10632	if invalidParams.Len() > 0 {
10633		return invalidParams
10634	}
10635	return nil
10636}
10637
10638// SetDocumentTitleFieldName sets the DocumentTitleFieldName field's value.
10639func (s *SalesforceStandardObjectAttachmentConfiguration) SetDocumentTitleFieldName(v string) *SalesforceStandardObjectAttachmentConfiguration {
10640	s.DocumentTitleFieldName = &v
10641	return s
10642}
10643
10644// SetFieldMappings sets the FieldMappings field's value.
10645func (s *SalesforceStandardObjectAttachmentConfiguration) SetFieldMappings(v []*DataSourceToIndexFieldMapping) *SalesforceStandardObjectAttachmentConfiguration {
10646	s.FieldMappings = v
10647	return s
10648}
10649
10650// Specifies configuration information for indexing a single standard object.
10651type SalesforceStandardObjectConfiguration struct {
10652	_ struct{} `type:"structure"`
10653
10654	// The name of the field in the standard object table that contains the document
10655	// contents.
10656	//
10657	// DocumentDataFieldName is a required field
10658	DocumentDataFieldName *string `min:"1" type:"string" required:"true"`
10659
10660	// The name of the field in the standard object table that contains the document
10661	// title.
10662	DocumentTitleFieldName *string `min:"1" type:"string"`
10663
10664	// One or more objects that map fields in the standard object to Amazon Kendra
10665	// index fields. The index field must exist before you can map a Salesforce
10666	// field to it.
10667	FieldMappings []*DataSourceToIndexFieldMapping `min:"1" type:"list"`
10668
10669	// The name of the standard object.
10670	//
10671	// Name is a required field
10672	Name *string `type:"string" required:"true" enum:"SalesforceStandardObjectName"`
10673}
10674
10675// String returns the string representation
10676func (s SalesforceStandardObjectConfiguration) String() string {
10677	return awsutil.Prettify(s)
10678}
10679
10680// GoString returns the string representation
10681func (s SalesforceStandardObjectConfiguration) GoString() string {
10682	return s.String()
10683}
10684
10685// Validate inspects the fields of the type to determine if they are valid.
10686func (s *SalesforceStandardObjectConfiguration) Validate() error {
10687	invalidParams := request.ErrInvalidParams{Context: "SalesforceStandardObjectConfiguration"}
10688	if s.DocumentDataFieldName == nil {
10689		invalidParams.Add(request.NewErrParamRequired("DocumentDataFieldName"))
10690	}
10691	if s.DocumentDataFieldName != nil && len(*s.DocumentDataFieldName) < 1 {
10692		invalidParams.Add(request.NewErrParamMinLen("DocumentDataFieldName", 1))
10693	}
10694	if s.DocumentTitleFieldName != nil && len(*s.DocumentTitleFieldName) < 1 {
10695		invalidParams.Add(request.NewErrParamMinLen("DocumentTitleFieldName", 1))
10696	}
10697	if s.FieldMappings != nil && len(s.FieldMappings) < 1 {
10698		invalidParams.Add(request.NewErrParamMinLen("FieldMappings", 1))
10699	}
10700	if s.Name == nil {
10701		invalidParams.Add(request.NewErrParamRequired("Name"))
10702	}
10703	if s.FieldMappings != nil {
10704		for i, v := range s.FieldMappings {
10705			if v == nil {
10706				continue
10707			}
10708			if err := v.Validate(); err != nil {
10709				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FieldMappings", i), err.(request.ErrInvalidParams))
10710			}
10711		}
10712	}
10713
10714	if invalidParams.Len() > 0 {
10715		return invalidParams
10716	}
10717	return nil
10718}
10719
10720// SetDocumentDataFieldName sets the DocumentDataFieldName field's value.
10721func (s *SalesforceStandardObjectConfiguration) SetDocumentDataFieldName(v string) *SalesforceStandardObjectConfiguration {
10722	s.DocumentDataFieldName = &v
10723	return s
10724}
10725
10726// SetDocumentTitleFieldName sets the DocumentTitleFieldName field's value.
10727func (s *SalesforceStandardObjectConfiguration) SetDocumentTitleFieldName(v string) *SalesforceStandardObjectConfiguration {
10728	s.DocumentTitleFieldName = &v
10729	return s
10730}
10731
10732// SetFieldMappings sets the FieldMappings field's value.
10733func (s *SalesforceStandardObjectConfiguration) SetFieldMappings(v []*DataSourceToIndexFieldMapping) *SalesforceStandardObjectConfiguration {
10734	s.FieldMappings = v
10735	return s
10736}
10737
10738// SetName sets the Name field's value.
10739func (s *SalesforceStandardObjectConfiguration) SetName(v string) *SalesforceStandardObjectConfiguration {
10740	s.Name = &v
10741	return s
10742}
10743
10744// Provides a relative ranking that indicates how confident Amazon Kendra is
10745// that the response matches the query.
10746type ScoreAttributes struct {
10747	_ struct{} `type:"structure"`
10748
10749	// A relative ranking for how well the response matches the query.
10750	ScoreConfidence *string `type:"string" enum:"ScoreConfidence"`
10751}
10752
10753// String returns the string representation
10754func (s ScoreAttributes) String() string {
10755	return awsutil.Prettify(s)
10756}
10757
10758// GoString returns the string representation
10759func (s ScoreAttributes) GoString() string {
10760	return s.String()
10761}
10762
10763// SetScoreConfidence sets the ScoreConfidence field's value.
10764func (s *ScoreAttributes) SetScoreConfidence(v string) *ScoreAttributes {
10765	s.ScoreConfidence = &v
10766	return s
10767}
10768
10769// Provides information about how a custom index field is used during a search.
10770type Search struct {
10771	_ struct{} `type:"structure"`
10772
10773	// Determines whether the field is returned in the query response. The default
10774	// is true.
10775	Displayable *bool `type:"boolean"`
10776
10777	// Indicates that the field can be used to create search facets, a count of
10778	// results for each value in the field. The default is false .
10779	Facetable *bool `type:"boolean"`
10780
10781	// Determines whether the field is used in the search. If the Searchable field
10782	// is true, you can use relevance tuning to manually tune how Amazon Kendra
10783	// weights the field in the search. The default is true for string fields and
10784	// false for number and date fields.
10785	Searchable *bool `type:"boolean"`
10786
10787	// Determines whether the field can be used to sort the results of a query.
10788	// If you specify sorting on a field that does not have Sortable set to true,
10789	// Amazon Kendra returns an exception. The default is false.
10790	Sortable *bool `type:"boolean"`
10791}
10792
10793// String returns the string representation
10794func (s Search) String() string {
10795	return awsutil.Prettify(s)
10796}
10797
10798// GoString returns the string representation
10799func (s Search) GoString() string {
10800	return s.String()
10801}
10802
10803// SetDisplayable sets the Displayable field's value.
10804func (s *Search) SetDisplayable(v bool) *Search {
10805	s.Displayable = &v
10806	return s
10807}
10808
10809// SetFacetable sets the Facetable field's value.
10810func (s *Search) SetFacetable(v bool) *Search {
10811	s.Facetable = &v
10812	return s
10813}
10814
10815// SetSearchable sets the Searchable field's value.
10816func (s *Search) SetSearchable(v bool) *Search {
10817	s.Searchable = &v
10818	return s
10819}
10820
10821// SetSortable sets the Sortable field's value.
10822func (s *Search) SetSortable(v bool) *Search {
10823	s.Sortable = &v
10824	return s
10825}
10826
10827// Provides the identifier of the AWS KMS customer master key (CMK) used to
10828// encrypt data indexed by Amazon Kendra. Amazon Kendra doesn't support asymmetric
10829// CMKs.
10830type ServerSideEncryptionConfiguration struct {
10831	_ struct{} `type:"structure"`
10832
10833	// The identifier of the AWS KMS customer master key (CMK). Amazon Kendra doesn't
10834	// support asymmetric CMKs.
10835	KmsKeyId *string `min:"1" type:"string" sensitive:"true"`
10836}
10837
10838// String returns the string representation
10839func (s ServerSideEncryptionConfiguration) String() string {
10840	return awsutil.Prettify(s)
10841}
10842
10843// GoString returns the string representation
10844func (s ServerSideEncryptionConfiguration) GoString() string {
10845	return s.String()
10846}
10847
10848// Validate inspects the fields of the type to determine if they are valid.
10849func (s *ServerSideEncryptionConfiguration) Validate() error {
10850	invalidParams := request.ErrInvalidParams{Context: "ServerSideEncryptionConfiguration"}
10851	if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 {
10852		invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1))
10853	}
10854
10855	if invalidParams.Len() > 0 {
10856		return invalidParams
10857	}
10858	return nil
10859}
10860
10861// SetKmsKeyId sets the KmsKeyId field's value.
10862func (s *ServerSideEncryptionConfiguration) SetKmsKeyId(v string) *ServerSideEncryptionConfiguration {
10863	s.KmsKeyId = &v
10864	return s
10865}
10866
10867// Provides configuration information required to connect to a ServiceNow data
10868// source.
10869type ServiceNowConfiguration struct {
10870	_ struct{} `type:"structure"`
10871
10872	// Determines the type of authentication used to connect to the ServiceNow instance.
10873	// If you choose HTTP_BASIC, Amazon Kendra is authenticated using the user name
10874	// and password provided in the AWS Secrets Manager secret in the SecretArn
10875	// field. When you choose OAUTH2, Amazon Kendra is authenticated using the OAuth
10876	// token and secret provided in the Secrets Manager secret, and the user name
10877	// and password are used to determine which information Amazon Kendra has access
10878	// to.
10879	//
10880	// When you use OAUTH2 authentication, you must generate a token and a client
10881	// secret using the ServiceNow console. For more information, see Using a ServiceNow
10882	// data source (https://docs.aws.amazon.com/kendra/latest/dg/data-source-servicenow.html).
10883	AuthenticationType *string `type:"string" enum:"ServiceNowAuthenticationType"`
10884
10885	// The ServiceNow instance that the data source connects to. The host endpoint
10886	// should look like the following: {instance}.service-now.com.
10887	//
10888	// HostUrl is a required field
10889	HostUrl *string `min:"1" type:"string" required:"true"`
10890
10891	// Provides configuration information for crawling knowledge articles in the
10892	// ServiceNow site.
10893	KnowledgeArticleConfiguration *ServiceNowKnowledgeArticleConfiguration `type:"structure"`
10894
10895	// The Amazon Resource Name (ARN) of the AWS Secret Manager secret that contains
10896	// the user name and password required to connect to the ServiceNow instance.
10897	//
10898	// SecretArn is a required field
10899	SecretArn *string `min:"1" type:"string" required:"true"`
10900
10901	// Provides configuration information for crawling service catalogs in the ServiceNow
10902	// site.
10903	ServiceCatalogConfiguration *ServiceNowServiceCatalogConfiguration `type:"structure"`
10904
10905	// The identifier of the release that the ServiceNow host is running. If the
10906	// host is not running the LONDON release, use OTHERS.
10907	//
10908	// ServiceNowBuildVersion is a required field
10909	ServiceNowBuildVersion *string `type:"string" required:"true" enum:"ServiceNowBuildVersionType"`
10910}
10911
10912// String returns the string representation
10913func (s ServiceNowConfiguration) String() string {
10914	return awsutil.Prettify(s)
10915}
10916
10917// GoString returns the string representation
10918func (s ServiceNowConfiguration) GoString() string {
10919	return s.String()
10920}
10921
10922// Validate inspects the fields of the type to determine if they are valid.
10923func (s *ServiceNowConfiguration) Validate() error {
10924	invalidParams := request.ErrInvalidParams{Context: "ServiceNowConfiguration"}
10925	if s.HostUrl == nil {
10926		invalidParams.Add(request.NewErrParamRequired("HostUrl"))
10927	}
10928	if s.HostUrl != nil && len(*s.HostUrl) < 1 {
10929		invalidParams.Add(request.NewErrParamMinLen("HostUrl", 1))
10930	}
10931	if s.SecretArn == nil {
10932		invalidParams.Add(request.NewErrParamRequired("SecretArn"))
10933	}
10934	if s.SecretArn != nil && len(*s.SecretArn) < 1 {
10935		invalidParams.Add(request.NewErrParamMinLen("SecretArn", 1))
10936	}
10937	if s.ServiceNowBuildVersion == nil {
10938		invalidParams.Add(request.NewErrParamRequired("ServiceNowBuildVersion"))
10939	}
10940	if s.KnowledgeArticleConfiguration != nil {
10941		if err := s.KnowledgeArticleConfiguration.Validate(); err != nil {
10942			invalidParams.AddNested("KnowledgeArticleConfiguration", err.(request.ErrInvalidParams))
10943		}
10944	}
10945	if s.ServiceCatalogConfiguration != nil {
10946		if err := s.ServiceCatalogConfiguration.Validate(); err != nil {
10947			invalidParams.AddNested("ServiceCatalogConfiguration", err.(request.ErrInvalidParams))
10948		}
10949	}
10950
10951	if invalidParams.Len() > 0 {
10952		return invalidParams
10953	}
10954	return nil
10955}
10956
10957// SetAuthenticationType sets the AuthenticationType field's value.
10958func (s *ServiceNowConfiguration) SetAuthenticationType(v string) *ServiceNowConfiguration {
10959	s.AuthenticationType = &v
10960	return s
10961}
10962
10963// SetHostUrl sets the HostUrl field's value.
10964func (s *ServiceNowConfiguration) SetHostUrl(v string) *ServiceNowConfiguration {
10965	s.HostUrl = &v
10966	return s
10967}
10968
10969// SetKnowledgeArticleConfiguration sets the KnowledgeArticleConfiguration field's value.
10970func (s *ServiceNowConfiguration) SetKnowledgeArticleConfiguration(v *ServiceNowKnowledgeArticleConfiguration) *ServiceNowConfiguration {
10971	s.KnowledgeArticleConfiguration = v
10972	return s
10973}
10974
10975// SetSecretArn sets the SecretArn field's value.
10976func (s *ServiceNowConfiguration) SetSecretArn(v string) *ServiceNowConfiguration {
10977	s.SecretArn = &v
10978	return s
10979}
10980
10981// SetServiceCatalogConfiguration sets the ServiceCatalogConfiguration field's value.
10982func (s *ServiceNowConfiguration) SetServiceCatalogConfiguration(v *ServiceNowServiceCatalogConfiguration) *ServiceNowConfiguration {
10983	s.ServiceCatalogConfiguration = v
10984	return s
10985}
10986
10987// SetServiceNowBuildVersion sets the ServiceNowBuildVersion field's value.
10988func (s *ServiceNowConfiguration) SetServiceNowBuildVersion(v string) *ServiceNowConfiguration {
10989	s.ServiceNowBuildVersion = &v
10990	return s
10991}
10992
10993// Provides configuration information for crawling knowledge articles in the
10994// ServiceNow site.
10995type ServiceNowKnowledgeArticleConfiguration struct {
10996	_ struct{} `type:"structure"`
10997
10998	// Indicates whether Amazon Kendra should index attachments to knowledge articles.
10999	CrawlAttachments *bool `type:"boolean"`
11000
11001	// The name of the ServiceNow field that is mapped to the index document contents
11002	// field in the Amazon Kendra index.
11003	//
11004	// DocumentDataFieldName is a required field
11005	DocumentDataFieldName *string `min:"1" type:"string" required:"true"`
11006
11007	// The name of the ServiceNow field that is mapped to the index document title
11008	// field.
11009	DocumentTitleFieldName *string `min:"1" type:"string"`
11010
11011	// List of regular expressions applied to knowledge articles. Items that don't
11012	// match the inclusion pattern are not indexed. The regex is applied to the
11013	// field specified in the PatternTargetField
11014	ExcludeAttachmentFilePatterns []*string `type:"list"`
11015
11016	// Mapping between ServiceNow fields and Amazon Kendra index fields. You must
11017	// create the index field before you map the field.
11018	FieldMappings []*DataSourceToIndexFieldMapping `min:"1" type:"list"`
11019
11020	// A query that selects the knowledge articles to index. The query can return
11021	// articles from multiple knowledge bases, and the knowledge bases can be public
11022	// or private.
11023	//
11024	// The query string must be one generated by the ServiceNow console. For more
11025	// information, see Specifying documents to index with a query (https://docs.aws.amazon.com/kendra/latest/dg/servicenow-query.html).
11026	FilterQuery *string `min:"1" type:"string"`
11027
11028	// List of regular expressions applied to knowledge articles. Items that don't
11029	// match the inclusion pattern are not indexed. The regex is applied to the
11030	// field specified in the PatternTargetField.
11031	IncludeAttachmentFilePatterns []*string `type:"list"`
11032}
11033
11034// String returns the string representation
11035func (s ServiceNowKnowledgeArticleConfiguration) String() string {
11036	return awsutil.Prettify(s)
11037}
11038
11039// GoString returns the string representation
11040func (s ServiceNowKnowledgeArticleConfiguration) GoString() string {
11041	return s.String()
11042}
11043
11044// Validate inspects the fields of the type to determine if they are valid.
11045func (s *ServiceNowKnowledgeArticleConfiguration) Validate() error {
11046	invalidParams := request.ErrInvalidParams{Context: "ServiceNowKnowledgeArticleConfiguration"}
11047	if s.DocumentDataFieldName == nil {
11048		invalidParams.Add(request.NewErrParamRequired("DocumentDataFieldName"))
11049	}
11050	if s.DocumentDataFieldName != nil && len(*s.DocumentDataFieldName) < 1 {
11051		invalidParams.Add(request.NewErrParamMinLen("DocumentDataFieldName", 1))
11052	}
11053	if s.DocumentTitleFieldName != nil && len(*s.DocumentTitleFieldName) < 1 {
11054		invalidParams.Add(request.NewErrParamMinLen("DocumentTitleFieldName", 1))
11055	}
11056	if s.FieldMappings != nil && len(s.FieldMappings) < 1 {
11057		invalidParams.Add(request.NewErrParamMinLen("FieldMappings", 1))
11058	}
11059	if s.FilterQuery != nil && len(*s.FilterQuery) < 1 {
11060		invalidParams.Add(request.NewErrParamMinLen("FilterQuery", 1))
11061	}
11062	if s.FieldMappings != nil {
11063		for i, v := range s.FieldMappings {
11064			if v == nil {
11065				continue
11066			}
11067			if err := v.Validate(); err != nil {
11068				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FieldMappings", i), err.(request.ErrInvalidParams))
11069			}
11070		}
11071	}
11072
11073	if invalidParams.Len() > 0 {
11074		return invalidParams
11075	}
11076	return nil
11077}
11078
11079// SetCrawlAttachments sets the CrawlAttachments field's value.
11080func (s *ServiceNowKnowledgeArticleConfiguration) SetCrawlAttachments(v bool) *ServiceNowKnowledgeArticleConfiguration {
11081	s.CrawlAttachments = &v
11082	return s
11083}
11084
11085// SetDocumentDataFieldName sets the DocumentDataFieldName field's value.
11086func (s *ServiceNowKnowledgeArticleConfiguration) SetDocumentDataFieldName(v string) *ServiceNowKnowledgeArticleConfiguration {
11087	s.DocumentDataFieldName = &v
11088	return s
11089}
11090
11091// SetDocumentTitleFieldName sets the DocumentTitleFieldName field's value.
11092func (s *ServiceNowKnowledgeArticleConfiguration) SetDocumentTitleFieldName(v string) *ServiceNowKnowledgeArticleConfiguration {
11093	s.DocumentTitleFieldName = &v
11094	return s
11095}
11096
11097// SetExcludeAttachmentFilePatterns sets the ExcludeAttachmentFilePatterns field's value.
11098func (s *ServiceNowKnowledgeArticleConfiguration) SetExcludeAttachmentFilePatterns(v []*string) *ServiceNowKnowledgeArticleConfiguration {
11099	s.ExcludeAttachmentFilePatterns = v
11100	return s
11101}
11102
11103// SetFieldMappings sets the FieldMappings field's value.
11104func (s *ServiceNowKnowledgeArticleConfiguration) SetFieldMappings(v []*DataSourceToIndexFieldMapping) *ServiceNowKnowledgeArticleConfiguration {
11105	s.FieldMappings = v
11106	return s
11107}
11108
11109// SetFilterQuery sets the FilterQuery field's value.
11110func (s *ServiceNowKnowledgeArticleConfiguration) SetFilterQuery(v string) *ServiceNowKnowledgeArticleConfiguration {
11111	s.FilterQuery = &v
11112	return s
11113}
11114
11115// SetIncludeAttachmentFilePatterns sets the IncludeAttachmentFilePatterns field's value.
11116func (s *ServiceNowKnowledgeArticleConfiguration) SetIncludeAttachmentFilePatterns(v []*string) *ServiceNowKnowledgeArticleConfiguration {
11117	s.IncludeAttachmentFilePatterns = v
11118	return s
11119}
11120
11121// Provides configuration information for crawling service catalog items in
11122// the ServiceNow site
11123type ServiceNowServiceCatalogConfiguration struct {
11124	_ struct{} `type:"structure"`
11125
11126	// Indicates whether Amazon Kendra should crawl attachments to the service catalog
11127	// items.
11128	CrawlAttachments *bool `type:"boolean"`
11129
11130	// The name of the ServiceNow field that is mapped to the index document contents
11131	// field in the Amazon Kendra index.
11132	//
11133	// DocumentDataFieldName is a required field
11134	DocumentDataFieldName *string `min:"1" type:"string" required:"true"`
11135
11136	// The name of the ServiceNow field that is mapped to the index document title
11137	// field.
11138	DocumentTitleFieldName *string `min:"1" type:"string"`
11139
11140	// A list of regular expression patterns. Documents that match the patterns
11141	// are excluded from the index. Documents that don't match the patterns are
11142	// included in the index. If a document matches both an exclusion pattern and
11143	// an inclusion pattern, the document is not included in the index.
11144	//
11145	// The regex is applied to the file name of the attachment.
11146	ExcludeAttachmentFilePatterns []*string `type:"list"`
11147
11148	// Mapping between ServiceNow fields and Amazon Kendra index fields. You must
11149	// create the index field before you map the field.
11150	FieldMappings []*DataSourceToIndexFieldMapping `min:"1" type:"list"`
11151
11152	// A list of regular expression patterns. Documents that match the patterns
11153	// are included in the index. Documents that don't match the patterns are excluded
11154	// from the index. If a document matches both an exclusion pattern and an inclusion
11155	// pattern, the document is not included in the index.
11156	//
11157	// The regex is applied to the file name of the attachment.
11158	IncludeAttachmentFilePatterns []*string `type:"list"`
11159}
11160
11161// String returns the string representation
11162func (s ServiceNowServiceCatalogConfiguration) String() string {
11163	return awsutil.Prettify(s)
11164}
11165
11166// GoString returns the string representation
11167func (s ServiceNowServiceCatalogConfiguration) GoString() string {
11168	return s.String()
11169}
11170
11171// Validate inspects the fields of the type to determine if they are valid.
11172func (s *ServiceNowServiceCatalogConfiguration) Validate() error {
11173	invalidParams := request.ErrInvalidParams{Context: "ServiceNowServiceCatalogConfiguration"}
11174	if s.DocumentDataFieldName == nil {
11175		invalidParams.Add(request.NewErrParamRequired("DocumentDataFieldName"))
11176	}
11177	if s.DocumentDataFieldName != nil && len(*s.DocumentDataFieldName) < 1 {
11178		invalidParams.Add(request.NewErrParamMinLen("DocumentDataFieldName", 1))
11179	}
11180	if s.DocumentTitleFieldName != nil && len(*s.DocumentTitleFieldName) < 1 {
11181		invalidParams.Add(request.NewErrParamMinLen("DocumentTitleFieldName", 1))
11182	}
11183	if s.FieldMappings != nil && len(s.FieldMappings) < 1 {
11184		invalidParams.Add(request.NewErrParamMinLen("FieldMappings", 1))
11185	}
11186	if s.FieldMappings != nil {
11187		for i, v := range s.FieldMappings {
11188			if v == nil {
11189				continue
11190			}
11191			if err := v.Validate(); err != nil {
11192				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FieldMappings", i), err.(request.ErrInvalidParams))
11193			}
11194		}
11195	}
11196
11197	if invalidParams.Len() > 0 {
11198		return invalidParams
11199	}
11200	return nil
11201}
11202
11203// SetCrawlAttachments sets the CrawlAttachments field's value.
11204func (s *ServiceNowServiceCatalogConfiguration) SetCrawlAttachments(v bool) *ServiceNowServiceCatalogConfiguration {
11205	s.CrawlAttachments = &v
11206	return s
11207}
11208
11209// SetDocumentDataFieldName sets the DocumentDataFieldName field's value.
11210func (s *ServiceNowServiceCatalogConfiguration) SetDocumentDataFieldName(v string) *ServiceNowServiceCatalogConfiguration {
11211	s.DocumentDataFieldName = &v
11212	return s
11213}
11214
11215// SetDocumentTitleFieldName sets the DocumentTitleFieldName field's value.
11216func (s *ServiceNowServiceCatalogConfiguration) SetDocumentTitleFieldName(v string) *ServiceNowServiceCatalogConfiguration {
11217	s.DocumentTitleFieldName = &v
11218	return s
11219}
11220
11221// SetExcludeAttachmentFilePatterns sets the ExcludeAttachmentFilePatterns field's value.
11222func (s *ServiceNowServiceCatalogConfiguration) SetExcludeAttachmentFilePatterns(v []*string) *ServiceNowServiceCatalogConfiguration {
11223	s.ExcludeAttachmentFilePatterns = v
11224	return s
11225}
11226
11227// SetFieldMappings sets the FieldMappings field's value.
11228func (s *ServiceNowServiceCatalogConfiguration) SetFieldMappings(v []*DataSourceToIndexFieldMapping) *ServiceNowServiceCatalogConfiguration {
11229	s.FieldMappings = v
11230	return s
11231}
11232
11233// SetIncludeAttachmentFilePatterns sets the IncludeAttachmentFilePatterns field's value.
11234func (s *ServiceNowServiceCatalogConfiguration) SetIncludeAttachmentFilePatterns(v []*string) *ServiceNowServiceCatalogConfiguration {
11235	s.IncludeAttachmentFilePatterns = v
11236	return s
11237}
11238
11239type ServiceQuotaExceededException struct {
11240	_            struct{}                  `type:"structure"`
11241	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11242
11243	Message_ *string `locationName:"Message" min:"1" type:"string"`
11244}
11245
11246// String returns the string representation
11247func (s ServiceQuotaExceededException) String() string {
11248	return awsutil.Prettify(s)
11249}
11250
11251// GoString returns the string representation
11252func (s ServiceQuotaExceededException) GoString() string {
11253	return s.String()
11254}
11255
11256func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error {
11257	return &ServiceQuotaExceededException{
11258		RespMetadata: v,
11259	}
11260}
11261
11262// Code returns the exception type name.
11263func (s *ServiceQuotaExceededException) Code() string {
11264	return "ServiceQuotaExceededException"
11265}
11266
11267// Message returns the exception's message.
11268func (s *ServiceQuotaExceededException) Message() string {
11269	if s.Message_ != nil {
11270		return *s.Message_
11271	}
11272	return ""
11273}
11274
11275// OrigErr always returns nil, satisfies awserr.Error interface.
11276func (s *ServiceQuotaExceededException) OrigErr() error {
11277	return nil
11278}
11279
11280func (s *ServiceQuotaExceededException) Error() string {
11281	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
11282}
11283
11284// Status code returns the HTTP status code for the request's response error.
11285func (s *ServiceQuotaExceededException) StatusCode() int {
11286	return s.RespMetadata.StatusCode
11287}
11288
11289// RequestID returns the service's response RequestID for request.
11290func (s *ServiceQuotaExceededException) RequestID() string {
11291	return s.RespMetadata.RequestID
11292}
11293
11294// Provides configuration information for connecting to a Microsoft SharePoint
11295// data source.
11296type SharePointConfiguration struct {
11297	_ struct{} `type:"structure"`
11298
11299	// TRUE to include attachments to documents stored in your Microsoft SharePoint
11300	// site in the index; otherwise, FALSE.
11301	CrawlAttachments *bool `type:"boolean"`
11302
11303	// A Boolean value that specifies whether local groups are disabled (True) or
11304	// enabled (False).
11305	DisableLocalGroups *bool `type:"boolean"`
11306
11307	// The Microsoft SharePoint attribute field that contains the title of the document.
11308	DocumentTitleFieldName *string `min:"1" type:"string"`
11309
11310	// A list of regular expression patterns. Documents that match the patterns
11311	// are excluded from the index. Documents that don't match the patterns are
11312	// included in the index. If a document matches both an exclusion pattern and
11313	// an inclusion pattern, the document is not included in the index.
11314	//
11315	// The regex is applied to the display URL of the SharePoint document.
11316	ExclusionPatterns []*string `type:"list"`
11317
11318	// A list of DataSourceToIndexFieldMapping objects that map Microsoft SharePoint
11319	// attributes to custom fields in the Amazon Kendra index. You must first create
11320	// the index fields using the UpdateIndex operation before you map SharePoint
11321	// attributes. For more information, see Mapping Data Source Fields (https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html).
11322	FieldMappings []*DataSourceToIndexFieldMapping `min:"1" type:"list"`
11323
11324	// A list of regular expression patterns. Documents that match the patterns
11325	// are included in the index. Documents that don't match the patterns are excluded
11326	// from the index. If a document matches both an inclusion pattern and an exclusion
11327	// pattern, the document is not included in the index.
11328	//
11329	// The regex is applied to the display URL of the SharePoint document.
11330	InclusionPatterns []*string `type:"list"`
11331
11332	// The Amazon Resource Name (ARN) of credentials stored in AWS Secrets Manager.
11333	// The credentials should be a user/password pair. For more information, see
11334	// Using a Microsoft SharePoint Data Source (https://docs.aws.amazon.com/kendra/latest/dg/data-source-sharepoint.html).
11335	// For more information about AWS Secrets Manager, see What Is AWS Secrets Manager
11336	// (https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html)
11337	// in the AWS Secrets Manager user guide.
11338	//
11339	// SecretArn is a required field
11340	SecretArn *string `min:"1" type:"string" required:"true"`
11341
11342	// The version of Microsoft SharePoint that you are using as a data source.
11343	//
11344	// SharePointVersion is a required field
11345	SharePointVersion *string `type:"string" required:"true" enum:"SharePointVersion"`
11346
11347	// The URLs of the Microsoft SharePoint site that contains the documents that
11348	// should be indexed.
11349	//
11350	// Urls is a required field
11351	Urls []*string `min:"1" type:"list" required:"true"`
11352
11353	// Set to TRUE to use the Microsoft SharePoint change log to determine the documents
11354	// that need to be updated in the index. Depending on the size of the SharePoint
11355	// change log, it may take longer for Amazon Kendra to use the change log than
11356	// it takes it to determine the changed documents using the Amazon Kendra document
11357	// crawler.
11358	UseChangeLog *bool `type:"boolean"`
11359
11360	// Provides information for connecting to an Amazon VPC.
11361	VpcConfiguration *DataSourceVpcConfiguration `type:"structure"`
11362}
11363
11364// String returns the string representation
11365func (s SharePointConfiguration) String() string {
11366	return awsutil.Prettify(s)
11367}
11368
11369// GoString returns the string representation
11370func (s SharePointConfiguration) GoString() string {
11371	return s.String()
11372}
11373
11374// Validate inspects the fields of the type to determine if they are valid.
11375func (s *SharePointConfiguration) Validate() error {
11376	invalidParams := request.ErrInvalidParams{Context: "SharePointConfiguration"}
11377	if s.DocumentTitleFieldName != nil && len(*s.DocumentTitleFieldName) < 1 {
11378		invalidParams.Add(request.NewErrParamMinLen("DocumentTitleFieldName", 1))
11379	}
11380	if s.FieldMappings != nil && len(s.FieldMappings) < 1 {
11381		invalidParams.Add(request.NewErrParamMinLen("FieldMappings", 1))
11382	}
11383	if s.SecretArn == nil {
11384		invalidParams.Add(request.NewErrParamRequired("SecretArn"))
11385	}
11386	if s.SecretArn != nil && len(*s.SecretArn) < 1 {
11387		invalidParams.Add(request.NewErrParamMinLen("SecretArn", 1))
11388	}
11389	if s.SharePointVersion == nil {
11390		invalidParams.Add(request.NewErrParamRequired("SharePointVersion"))
11391	}
11392	if s.Urls == nil {
11393		invalidParams.Add(request.NewErrParamRequired("Urls"))
11394	}
11395	if s.Urls != nil && len(s.Urls) < 1 {
11396		invalidParams.Add(request.NewErrParamMinLen("Urls", 1))
11397	}
11398	if s.FieldMappings != nil {
11399		for i, v := range s.FieldMappings {
11400			if v == nil {
11401				continue
11402			}
11403			if err := v.Validate(); err != nil {
11404				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FieldMappings", i), err.(request.ErrInvalidParams))
11405			}
11406		}
11407	}
11408	if s.VpcConfiguration != nil {
11409		if err := s.VpcConfiguration.Validate(); err != nil {
11410			invalidParams.AddNested("VpcConfiguration", err.(request.ErrInvalidParams))
11411		}
11412	}
11413
11414	if invalidParams.Len() > 0 {
11415		return invalidParams
11416	}
11417	return nil
11418}
11419
11420// SetCrawlAttachments sets the CrawlAttachments field's value.
11421func (s *SharePointConfiguration) SetCrawlAttachments(v bool) *SharePointConfiguration {
11422	s.CrawlAttachments = &v
11423	return s
11424}
11425
11426// SetDisableLocalGroups sets the DisableLocalGroups field's value.
11427func (s *SharePointConfiguration) SetDisableLocalGroups(v bool) *SharePointConfiguration {
11428	s.DisableLocalGroups = &v
11429	return s
11430}
11431
11432// SetDocumentTitleFieldName sets the DocumentTitleFieldName field's value.
11433func (s *SharePointConfiguration) SetDocumentTitleFieldName(v string) *SharePointConfiguration {
11434	s.DocumentTitleFieldName = &v
11435	return s
11436}
11437
11438// SetExclusionPatterns sets the ExclusionPatterns field's value.
11439func (s *SharePointConfiguration) SetExclusionPatterns(v []*string) *SharePointConfiguration {
11440	s.ExclusionPatterns = v
11441	return s
11442}
11443
11444// SetFieldMappings sets the FieldMappings field's value.
11445func (s *SharePointConfiguration) SetFieldMappings(v []*DataSourceToIndexFieldMapping) *SharePointConfiguration {
11446	s.FieldMappings = v
11447	return s
11448}
11449
11450// SetInclusionPatterns sets the InclusionPatterns field's value.
11451func (s *SharePointConfiguration) SetInclusionPatterns(v []*string) *SharePointConfiguration {
11452	s.InclusionPatterns = v
11453	return s
11454}
11455
11456// SetSecretArn sets the SecretArn field's value.
11457func (s *SharePointConfiguration) SetSecretArn(v string) *SharePointConfiguration {
11458	s.SecretArn = &v
11459	return s
11460}
11461
11462// SetSharePointVersion sets the SharePointVersion field's value.
11463func (s *SharePointConfiguration) SetSharePointVersion(v string) *SharePointConfiguration {
11464	s.SharePointVersion = &v
11465	return s
11466}
11467
11468// SetUrls sets the Urls field's value.
11469func (s *SharePointConfiguration) SetUrls(v []*string) *SharePointConfiguration {
11470	s.Urls = v
11471	return s
11472}
11473
11474// SetUseChangeLog sets the UseChangeLog field's value.
11475func (s *SharePointConfiguration) SetUseChangeLog(v bool) *SharePointConfiguration {
11476	s.UseChangeLog = &v
11477	return s
11478}
11479
11480// SetVpcConfiguration sets the VpcConfiguration field's value.
11481func (s *SharePointConfiguration) SetVpcConfiguration(v *DataSourceVpcConfiguration) *SharePointConfiguration {
11482	s.VpcConfiguration = v
11483	return s
11484}
11485
11486// Specifies the document attribute to use to sort the response to a Amazon
11487// Kendra query. You can specify a single attribute for sorting. The attribute
11488// must have the Sortable flag set to true, otherwise Amazon Kendra returns
11489// an exception.
11490//
11491// You can sort attributes of the following types.
11492//
11493//    * Date value
11494//
11495//    * Long value
11496//
11497//    * String value
11498//
11499// You can't sort attributes of the following type.
11500//
11501//    * String list value
11502type SortingConfiguration struct {
11503	_ struct{} `type:"structure"`
11504
11505	// The name of the document attribute used to sort the response. You can use
11506	// any field that has the Sortable flag set to true.
11507	//
11508	// You can also sort by any of the following built-in attributes:
11509	//
11510	//    * _category
11511	//
11512	//    * _created_at
11513	//
11514	//    * _last_updated_at
11515	//
11516	//    * _version
11517	//
11518	//    * _view_count
11519	//
11520	// DocumentAttributeKey is a required field
11521	DocumentAttributeKey *string `min:"1" type:"string" required:"true"`
11522
11523	// The order that the results should be returned in. In case of ties, the relevance
11524	// assigned to the result by Amazon Kendra is used as the tie-breaker.
11525	//
11526	// SortOrder is a required field
11527	SortOrder *string `type:"string" required:"true" enum:"SortOrder"`
11528}
11529
11530// String returns the string representation
11531func (s SortingConfiguration) String() string {
11532	return awsutil.Prettify(s)
11533}
11534
11535// GoString returns the string representation
11536func (s SortingConfiguration) GoString() string {
11537	return s.String()
11538}
11539
11540// Validate inspects the fields of the type to determine if they are valid.
11541func (s *SortingConfiguration) Validate() error {
11542	invalidParams := request.ErrInvalidParams{Context: "SortingConfiguration"}
11543	if s.DocumentAttributeKey == nil {
11544		invalidParams.Add(request.NewErrParamRequired("DocumentAttributeKey"))
11545	}
11546	if s.DocumentAttributeKey != nil && len(*s.DocumentAttributeKey) < 1 {
11547		invalidParams.Add(request.NewErrParamMinLen("DocumentAttributeKey", 1))
11548	}
11549	if s.SortOrder == nil {
11550		invalidParams.Add(request.NewErrParamRequired("SortOrder"))
11551	}
11552
11553	if invalidParams.Len() > 0 {
11554		return invalidParams
11555	}
11556	return nil
11557}
11558
11559// SetDocumentAttributeKey sets the DocumentAttributeKey field's value.
11560func (s *SortingConfiguration) SetDocumentAttributeKey(v string) *SortingConfiguration {
11561	s.DocumentAttributeKey = &v
11562	return s
11563}
11564
11565// SetSortOrder sets the SortOrder field's value.
11566func (s *SortingConfiguration) SetSortOrder(v string) *SortingConfiguration {
11567	s.SortOrder = &v
11568	return s
11569}
11570
11571// Provides information that configures Amazon Kendra to use a SQL database.
11572type SqlConfiguration struct {
11573	_ struct{} `type:"structure"`
11574
11575	// Determines whether Amazon Kendra encloses SQL identifiers for tables and
11576	// column names in double quotes (") when making a database query.
11577	//
11578	// By default, Amazon Kendra passes SQL identifiers the way that they are entered
11579	// into the data source configuration. It does not change the case of identifiers
11580	// or enclose them in quotes.
11581	//
11582	// PostgreSQL internally converts uppercase characters to lower case characters
11583	// in identifiers unless they are quoted. Choosing this option encloses identifiers
11584	// in quotes so that PostgreSQL does not convert the character's case.
11585	//
11586	// For MySQL databases, you must enable the ansi_quotes option when you set
11587	// this field to DOUBLE_QUOTES.
11588	QueryIdentifiersEnclosingOption *string `type:"string" enum:"QueryIdentifiersEnclosingOption"`
11589}
11590
11591// String returns the string representation
11592func (s SqlConfiguration) String() string {
11593	return awsutil.Prettify(s)
11594}
11595
11596// GoString returns the string representation
11597func (s SqlConfiguration) GoString() string {
11598	return s.String()
11599}
11600
11601// SetQueryIdentifiersEnclosingOption sets the QueryIdentifiersEnclosingOption field's value.
11602func (s *SqlConfiguration) SetQueryIdentifiersEnclosingOption(v string) *SqlConfiguration {
11603	s.QueryIdentifiersEnclosingOption = &v
11604	return s
11605}
11606
11607type StartDataSourceSyncJobInput struct {
11608	_ struct{} `type:"structure"`
11609
11610	// The identifier of the data source to synchronize.
11611	//
11612	// Id is a required field
11613	Id *string `min:"1" type:"string" required:"true"`
11614
11615	// The identifier of the index that contains the data source.
11616	//
11617	// IndexId is a required field
11618	IndexId *string `min:"36" type:"string" required:"true"`
11619}
11620
11621// String returns the string representation
11622func (s StartDataSourceSyncJobInput) String() string {
11623	return awsutil.Prettify(s)
11624}
11625
11626// GoString returns the string representation
11627func (s StartDataSourceSyncJobInput) GoString() string {
11628	return s.String()
11629}
11630
11631// Validate inspects the fields of the type to determine if they are valid.
11632func (s *StartDataSourceSyncJobInput) Validate() error {
11633	invalidParams := request.ErrInvalidParams{Context: "StartDataSourceSyncJobInput"}
11634	if s.Id == nil {
11635		invalidParams.Add(request.NewErrParamRequired("Id"))
11636	}
11637	if s.Id != nil && len(*s.Id) < 1 {
11638		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
11639	}
11640	if s.IndexId == nil {
11641		invalidParams.Add(request.NewErrParamRequired("IndexId"))
11642	}
11643	if s.IndexId != nil && len(*s.IndexId) < 36 {
11644		invalidParams.Add(request.NewErrParamMinLen("IndexId", 36))
11645	}
11646
11647	if invalidParams.Len() > 0 {
11648		return invalidParams
11649	}
11650	return nil
11651}
11652
11653// SetId sets the Id field's value.
11654func (s *StartDataSourceSyncJobInput) SetId(v string) *StartDataSourceSyncJobInput {
11655	s.Id = &v
11656	return s
11657}
11658
11659// SetIndexId sets the IndexId field's value.
11660func (s *StartDataSourceSyncJobInput) SetIndexId(v string) *StartDataSourceSyncJobInput {
11661	s.IndexId = &v
11662	return s
11663}
11664
11665type StartDataSourceSyncJobOutput struct {
11666	_ struct{} `type:"structure"`
11667
11668	// Identifies a particular synchronization job.
11669	ExecutionId *string `min:"1" type:"string"`
11670}
11671
11672// String returns the string representation
11673func (s StartDataSourceSyncJobOutput) String() string {
11674	return awsutil.Prettify(s)
11675}
11676
11677// GoString returns the string representation
11678func (s StartDataSourceSyncJobOutput) GoString() string {
11679	return s.String()
11680}
11681
11682// SetExecutionId sets the ExecutionId field's value.
11683func (s *StartDataSourceSyncJobOutput) SetExecutionId(v string) *StartDataSourceSyncJobOutput {
11684	s.ExecutionId = &v
11685	return s
11686}
11687
11688type StopDataSourceSyncJobInput struct {
11689	_ struct{} `type:"structure"`
11690
11691	// The identifier of the data source for which to stop the synchronization jobs.
11692	//
11693	// Id is a required field
11694	Id *string `min:"1" type:"string" required:"true"`
11695
11696	// The identifier of the index that contains the data source.
11697	//
11698	// IndexId is a required field
11699	IndexId *string `min:"36" type:"string" required:"true"`
11700}
11701
11702// String returns the string representation
11703func (s StopDataSourceSyncJobInput) String() string {
11704	return awsutil.Prettify(s)
11705}
11706
11707// GoString returns the string representation
11708func (s StopDataSourceSyncJobInput) GoString() string {
11709	return s.String()
11710}
11711
11712// Validate inspects the fields of the type to determine if they are valid.
11713func (s *StopDataSourceSyncJobInput) Validate() error {
11714	invalidParams := request.ErrInvalidParams{Context: "StopDataSourceSyncJobInput"}
11715	if s.Id == nil {
11716		invalidParams.Add(request.NewErrParamRequired("Id"))
11717	}
11718	if s.Id != nil && len(*s.Id) < 1 {
11719		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
11720	}
11721	if s.IndexId == nil {
11722		invalidParams.Add(request.NewErrParamRequired("IndexId"))
11723	}
11724	if s.IndexId != nil && len(*s.IndexId) < 36 {
11725		invalidParams.Add(request.NewErrParamMinLen("IndexId", 36))
11726	}
11727
11728	if invalidParams.Len() > 0 {
11729		return invalidParams
11730	}
11731	return nil
11732}
11733
11734// SetId sets the Id field's value.
11735func (s *StopDataSourceSyncJobInput) SetId(v string) *StopDataSourceSyncJobInput {
11736	s.Id = &v
11737	return s
11738}
11739
11740// SetIndexId sets the IndexId field's value.
11741func (s *StopDataSourceSyncJobInput) SetIndexId(v string) *StopDataSourceSyncJobInput {
11742	s.IndexId = &v
11743	return s
11744}
11745
11746type StopDataSourceSyncJobOutput struct {
11747	_ struct{} `type:"structure"`
11748}
11749
11750// String returns the string representation
11751func (s StopDataSourceSyncJobOutput) String() string {
11752	return awsutil.Prettify(s)
11753}
11754
11755// GoString returns the string representation
11756func (s StopDataSourceSyncJobOutput) GoString() string {
11757	return s.String()
11758}
11759
11760type SubmitFeedbackInput struct {
11761	_ struct{} `type:"structure"`
11762
11763	// Tells Amazon Kendra that a particular search result link was chosen by the
11764	// user.
11765	ClickFeedbackItems []*ClickFeedback `type:"list"`
11766
11767	// The identifier of the index that was queried.
11768	//
11769	// IndexId is a required field
11770	IndexId *string `min:"36" type:"string" required:"true"`
11771
11772	// The identifier of the specific query for which you are submitting feedback.
11773	// The query ID is returned in the response to the Query operation.
11774	//
11775	// QueryId is a required field
11776	QueryId *string `min:"1" type:"string" required:"true"`
11777
11778	// Provides Amazon Kendra with relevant or not relevant feedback for whether
11779	// a particular item was relevant to the search.
11780	RelevanceFeedbackItems []*RelevanceFeedback `type:"list"`
11781}
11782
11783// String returns the string representation
11784func (s SubmitFeedbackInput) String() string {
11785	return awsutil.Prettify(s)
11786}
11787
11788// GoString returns the string representation
11789func (s SubmitFeedbackInput) GoString() string {
11790	return s.String()
11791}
11792
11793// Validate inspects the fields of the type to determine if they are valid.
11794func (s *SubmitFeedbackInput) Validate() error {
11795	invalidParams := request.ErrInvalidParams{Context: "SubmitFeedbackInput"}
11796	if s.IndexId == nil {
11797		invalidParams.Add(request.NewErrParamRequired("IndexId"))
11798	}
11799	if s.IndexId != nil && len(*s.IndexId) < 36 {
11800		invalidParams.Add(request.NewErrParamMinLen("IndexId", 36))
11801	}
11802	if s.QueryId == nil {
11803		invalidParams.Add(request.NewErrParamRequired("QueryId"))
11804	}
11805	if s.QueryId != nil && len(*s.QueryId) < 1 {
11806		invalidParams.Add(request.NewErrParamMinLen("QueryId", 1))
11807	}
11808	if s.ClickFeedbackItems != nil {
11809		for i, v := range s.ClickFeedbackItems {
11810			if v == nil {
11811				continue
11812			}
11813			if err := v.Validate(); err != nil {
11814				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ClickFeedbackItems", i), err.(request.ErrInvalidParams))
11815			}
11816		}
11817	}
11818	if s.RelevanceFeedbackItems != nil {
11819		for i, v := range s.RelevanceFeedbackItems {
11820			if v == nil {
11821				continue
11822			}
11823			if err := v.Validate(); err != nil {
11824				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RelevanceFeedbackItems", i), err.(request.ErrInvalidParams))
11825			}
11826		}
11827	}
11828
11829	if invalidParams.Len() > 0 {
11830		return invalidParams
11831	}
11832	return nil
11833}
11834
11835// SetClickFeedbackItems sets the ClickFeedbackItems field's value.
11836func (s *SubmitFeedbackInput) SetClickFeedbackItems(v []*ClickFeedback) *SubmitFeedbackInput {
11837	s.ClickFeedbackItems = v
11838	return s
11839}
11840
11841// SetIndexId sets the IndexId field's value.
11842func (s *SubmitFeedbackInput) SetIndexId(v string) *SubmitFeedbackInput {
11843	s.IndexId = &v
11844	return s
11845}
11846
11847// SetQueryId sets the QueryId field's value.
11848func (s *SubmitFeedbackInput) SetQueryId(v string) *SubmitFeedbackInput {
11849	s.QueryId = &v
11850	return s
11851}
11852
11853// SetRelevanceFeedbackItems sets the RelevanceFeedbackItems field's value.
11854func (s *SubmitFeedbackInput) SetRelevanceFeedbackItems(v []*RelevanceFeedback) *SubmitFeedbackInput {
11855	s.RelevanceFeedbackItems = v
11856	return s
11857}
11858
11859type SubmitFeedbackOutput struct {
11860	_ struct{} `type:"structure"`
11861}
11862
11863// String returns the string representation
11864func (s SubmitFeedbackOutput) String() string {
11865	return awsutil.Prettify(s)
11866}
11867
11868// GoString returns the string representation
11869func (s SubmitFeedbackOutput) GoString() string {
11870	return s.String()
11871}
11872
11873// A list of key/value pairs that identify an index, FAQ, or data source. Tag
11874// keys and values can consist of Unicode letters, digits, white space, and
11875// any of the following symbols: _ . : / = + - @.
11876type Tag struct {
11877	_ struct{} `type:"structure"`
11878
11879	// The key for the tag. Keys are not case sensitive and must be unique for the
11880	// index, FAQ, or data source.
11881	//
11882	// Key is a required field
11883	Key *string `min:"1" type:"string" required:"true"`
11884
11885	// The value associated with the tag. The value may be an empty string but it
11886	// can't be null.
11887	//
11888	// Value is a required field
11889	Value *string `type:"string" required:"true"`
11890}
11891
11892// String returns the string representation
11893func (s Tag) String() string {
11894	return awsutil.Prettify(s)
11895}
11896
11897// GoString returns the string representation
11898func (s Tag) GoString() string {
11899	return s.String()
11900}
11901
11902// Validate inspects the fields of the type to determine if they are valid.
11903func (s *Tag) Validate() error {
11904	invalidParams := request.ErrInvalidParams{Context: "Tag"}
11905	if s.Key == nil {
11906		invalidParams.Add(request.NewErrParamRequired("Key"))
11907	}
11908	if s.Key != nil && len(*s.Key) < 1 {
11909		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
11910	}
11911	if s.Value == nil {
11912		invalidParams.Add(request.NewErrParamRequired("Value"))
11913	}
11914
11915	if invalidParams.Len() > 0 {
11916		return invalidParams
11917	}
11918	return nil
11919}
11920
11921// SetKey sets the Key field's value.
11922func (s *Tag) SetKey(v string) *Tag {
11923	s.Key = &v
11924	return s
11925}
11926
11927// SetValue sets the Value field's value.
11928func (s *Tag) SetValue(v string) *Tag {
11929	s.Value = &v
11930	return s
11931}
11932
11933type TagResourceInput struct {
11934	_ struct{} `type:"structure"`
11935
11936	// The Amazon Resource Name (ARN) of the index, FAQ, or data source to tag.
11937	//
11938	// ResourceARN is a required field
11939	ResourceARN *string `min:"1" type:"string" required:"true"`
11940
11941	// A list of tag keys to add to the index, FAQ, or data source. If a tag already
11942	// exists, the existing value is replaced with the new value.
11943	//
11944	// Tags is a required field
11945	Tags []*Tag `type:"list" required:"true"`
11946}
11947
11948// String returns the string representation
11949func (s TagResourceInput) String() string {
11950	return awsutil.Prettify(s)
11951}
11952
11953// GoString returns the string representation
11954func (s TagResourceInput) GoString() string {
11955	return s.String()
11956}
11957
11958// Validate inspects the fields of the type to determine if they are valid.
11959func (s *TagResourceInput) Validate() error {
11960	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
11961	if s.ResourceARN == nil {
11962		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
11963	}
11964	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
11965		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
11966	}
11967	if s.Tags == nil {
11968		invalidParams.Add(request.NewErrParamRequired("Tags"))
11969	}
11970	if s.Tags != nil {
11971		for i, v := range s.Tags {
11972			if v == nil {
11973				continue
11974			}
11975			if err := v.Validate(); err != nil {
11976				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
11977			}
11978		}
11979	}
11980
11981	if invalidParams.Len() > 0 {
11982		return invalidParams
11983	}
11984	return nil
11985}
11986
11987// SetResourceARN sets the ResourceARN field's value.
11988func (s *TagResourceInput) SetResourceARN(v string) *TagResourceInput {
11989	s.ResourceARN = &v
11990	return s
11991}
11992
11993// SetTags sets the Tags field's value.
11994func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
11995	s.Tags = v
11996	return s
11997}
11998
11999type TagResourceOutput struct {
12000	_ struct{} `type:"structure"`
12001}
12002
12003// String returns the string representation
12004func (s TagResourceOutput) String() string {
12005	return awsutil.Prettify(s)
12006}
12007
12008// GoString returns the string representation
12009func (s TagResourceOutput) GoString() string {
12010	return s.String()
12011}
12012
12013// Provides information about text documents indexed in an index.
12014type TextDocumentStatistics struct {
12015	_ struct{} `type:"structure"`
12016
12017	// The total size, in bytes, of the indexed documents.
12018	//
12019	// IndexedTextBytes is a required field
12020	IndexedTextBytes *int64 `type:"long" required:"true"`
12021
12022	// The number of text documents indexed.
12023	//
12024	// IndexedTextDocumentsCount is a required field
12025	IndexedTextDocumentsCount *int64 `type:"integer" required:"true"`
12026}
12027
12028// String returns the string representation
12029func (s TextDocumentStatistics) String() string {
12030	return awsutil.Prettify(s)
12031}
12032
12033// GoString returns the string representation
12034func (s TextDocumentStatistics) GoString() string {
12035	return s.String()
12036}
12037
12038// SetIndexedTextBytes sets the IndexedTextBytes field's value.
12039func (s *TextDocumentStatistics) SetIndexedTextBytes(v int64) *TextDocumentStatistics {
12040	s.IndexedTextBytes = &v
12041	return s
12042}
12043
12044// SetIndexedTextDocumentsCount sets the IndexedTextDocumentsCount field's value.
12045func (s *TextDocumentStatistics) SetIndexedTextDocumentsCount(v int64) *TextDocumentStatistics {
12046	s.IndexedTextDocumentsCount = &v
12047	return s
12048}
12049
12050// Provides text and information about where to highlight the text.
12051type TextWithHighlights struct {
12052	_ struct{} `type:"structure"`
12053
12054	// The beginning and end of the text that should be highlighted.
12055	Highlights []*Highlight `type:"list"`
12056
12057	// The text to display to the user.
12058	Text *string `min:"1" type:"string"`
12059}
12060
12061// String returns the string representation
12062func (s TextWithHighlights) String() string {
12063	return awsutil.Prettify(s)
12064}
12065
12066// GoString returns the string representation
12067func (s TextWithHighlights) GoString() string {
12068	return s.String()
12069}
12070
12071// SetHighlights sets the Highlights field's value.
12072func (s *TextWithHighlights) SetHighlights(v []*Highlight) *TextWithHighlights {
12073	s.Highlights = v
12074	return s
12075}
12076
12077// SetText sets the Text field's value.
12078func (s *TextWithHighlights) SetText(v string) *TextWithHighlights {
12079	s.Text = &v
12080	return s
12081}
12082
12083// An array of summary information for one or more thesauruses.
12084type ThesaurusSummary struct {
12085	_ struct{} `type:"structure"`
12086
12087	// The Unix datetime that the thesaurus was created.
12088	CreatedAt *time.Time `type:"timestamp"`
12089
12090	// The identifier of the thesaurus.
12091	Id *string `min:"1" type:"string"`
12092
12093	// The name of the thesaurus.
12094	Name *string `min:"1" type:"string"`
12095
12096	// The status of the thesaurus.
12097	Status *string `type:"string" enum:"ThesaurusStatus"`
12098
12099	// The Unix datetime that the thesaurus was last updated.
12100	UpdatedAt *time.Time `type:"timestamp"`
12101}
12102
12103// String returns the string representation
12104func (s ThesaurusSummary) String() string {
12105	return awsutil.Prettify(s)
12106}
12107
12108// GoString returns the string representation
12109func (s ThesaurusSummary) GoString() string {
12110	return s.String()
12111}
12112
12113// SetCreatedAt sets the CreatedAt field's value.
12114func (s *ThesaurusSummary) SetCreatedAt(v time.Time) *ThesaurusSummary {
12115	s.CreatedAt = &v
12116	return s
12117}
12118
12119// SetId sets the Id field's value.
12120func (s *ThesaurusSummary) SetId(v string) *ThesaurusSummary {
12121	s.Id = &v
12122	return s
12123}
12124
12125// SetName sets the Name field's value.
12126func (s *ThesaurusSummary) SetName(v string) *ThesaurusSummary {
12127	s.Name = &v
12128	return s
12129}
12130
12131// SetStatus sets the Status field's value.
12132func (s *ThesaurusSummary) SetStatus(v string) *ThesaurusSummary {
12133	s.Status = &v
12134	return s
12135}
12136
12137// SetUpdatedAt sets the UpdatedAt field's value.
12138func (s *ThesaurusSummary) SetUpdatedAt(v time.Time) *ThesaurusSummary {
12139	s.UpdatedAt = &v
12140	return s
12141}
12142
12143type ThrottlingException struct {
12144	_            struct{}                  `type:"structure"`
12145	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12146
12147	Message_ *string `locationName:"Message" min:"1" type:"string"`
12148}
12149
12150// String returns the string representation
12151func (s ThrottlingException) String() string {
12152	return awsutil.Prettify(s)
12153}
12154
12155// GoString returns the string representation
12156func (s ThrottlingException) GoString() string {
12157	return s.String()
12158}
12159
12160func newErrorThrottlingException(v protocol.ResponseMetadata) error {
12161	return &ThrottlingException{
12162		RespMetadata: v,
12163	}
12164}
12165
12166// Code returns the exception type name.
12167func (s *ThrottlingException) Code() string {
12168	return "ThrottlingException"
12169}
12170
12171// Message returns the exception's message.
12172func (s *ThrottlingException) Message() string {
12173	if s.Message_ != nil {
12174		return *s.Message_
12175	}
12176	return ""
12177}
12178
12179// OrigErr always returns nil, satisfies awserr.Error interface.
12180func (s *ThrottlingException) OrigErr() error {
12181	return nil
12182}
12183
12184func (s *ThrottlingException) Error() string {
12185	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
12186}
12187
12188// Status code returns the HTTP status code for the request's response error.
12189func (s *ThrottlingException) StatusCode() int {
12190	return s.RespMetadata.StatusCode
12191}
12192
12193// RequestID returns the service's response RequestID for request.
12194func (s *ThrottlingException) RequestID() string {
12195	return s.RespMetadata.RequestID
12196}
12197
12198// Provides a range of time.
12199type TimeRange struct {
12200	_ struct{} `type:"structure"`
12201
12202	// The UNIX datetime of the end of the time range.
12203	EndTime *time.Time `type:"timestamp"`
12204
12205	// The UNIX datetime of the beginning of the time range.
12206	StartTime *time.Time `type:"timestamp"`
12207}
12208
12209// String returns the string representation
12210func (s TimeRange) String() string {
12211	return awsutil.Prettify(s)
12212}
12213
12214// GoString returns the string representation
12215func (s TimeRange) GoString() string {
12216	return s.String()
12217}
12218
12219// SetEndTime sets the EndTime field's value.
12220func (s *TimeRange) SetEndTime(v time.Time) *TimeRange {
12221	s.EndTime = &v
12222	return s
12223}
12224
12225// SetStartTime sets the StartTime field's value.
12226func (s *TimeRange) SetStartTime(v time.Time) *TimeRange {
12227	s.StartTime = &v
12228	return s
12229}
12230
12231type UntagResourceInput struct {
12232	_ struct{} `type:"structure"`
12233
12234	// The Amazon Resource Name (ARN) of the index, FAQ, or data source to remove
12235	// the tag from.
12236	//
12237	// ResourceARN is a required field
12238	ResourceARN *string `min:"1" type:"string" required:"true"`
12239
12240	// A list of tag keys to remove from the index, FAQ, or data source. If a tag
12241	// key does not exist on the resource, it is ignored.
12242	//
12243	// TagKeys is a required field
12244	TagKeys []*string `type:"list" required:"true"`
12245}
12246
12247// String returns the string representation
12248func (s UntagResourceInput) String() string {
12249	return awsutil.Prettify(s)
12250}
12251
12252// GoString returns the string representation
12253func (s UntagResourceInput) GoString() string {
12254	return s.String()
12255}
12256
12257// Validate inspects the fields of the type to determine if they are valid.
12258func (s *UntagResourceInput) Validate() error {
12259	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
12260	if s.ResourceARN == nil {
12261		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
12262	}
12263	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
12264		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
12265	}
12266	if s.TagKeys == nil {
12267		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
12268	}
12269
12270	if invalidParams.Len() > 0 {
12271		return invalidParams
12272	}
12273	return nil
12274}
12275
12276// SetResourceARN sets the ResourceARN field's value.
12277func (s *UntagResourceInput) SetResourceARN(v string) *UntagResourceInput {
12278	s.ResourceARN = &v
12279	return s
12280}
12281
12282// SetTagKeys sets the TagKeys field's value.
12283func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
12284	s.TagKeys = v
12285	return s
12286}
12287
12288type UntagResourceOutput struct {
12289	_ struct{} `type:"structure"`
12290}
12291
12292// String returns the string representation
12293func (s UntagResourceOutput) String() string {
12294	return awsutil.Prettify(s)
12295}
12296
12297// GoString returns the string representation
12298func (s UntagResourceOutput) GoString() string {
12299	return s.String()
12300}
12301
12302type UpdateDataSourceInput struct {
12303	_ struct{} `type:"structure"`
12304
12305	// Configuration information for a Amazon Kendra data source.
12306	Configuration *DataSourceConfiguration `type:"structure"`
12307
12308	// The new description for the data source.
12309	Description *string `type:"string"`
12310
12311	// The unique identifier of the data source to update.
12312	//
12313	// Id is a required field
12314	Id *string `min:"1" type:"string" required:"true"`
12315
12316	// The identifier of the index that contains the data source to update.
12317	//
12318	// IndexId is a required field
12319	IndexId *string `min:"36" type:"string" required:"true"`
12320
12321	// The name of the data source to update. The name of the data source can't
12322	// be updated. To rename a data source you must delete the data source and re-create
12323	// it.
12324	Name *string `min:"1" type:"string"`
12325
12326	// The Amazon Resource Name (ARN) of the new role to use when the data source
12327	// is accessing resources on your behalf.
12328	RoleArn *string `min:"1" type:"string"`
12329
12330	// The new update schedule for the data source.
12331	Schedule *string `type:"string"`
12332}
12333
12334// String returns the string representation
12335func (s UpdateDataSourceInput) String() string {
12336	return awsutil.Prettify(s)
12337}
12338
12339// GoString returns the string representation
12340func (s UpdateDataSourceInput) GoString() string {
12341	return s.String()
12342}
12343
12344// Validate inspects the fields of the type to determine if they are valid.
12345func (s *UpdateDataSourceInput) Validate() error {
12346	invalidParams := request.ErrInvalidParams{Context: "UpdateDataSourceInput"}
12347	if s.Id == nil {
12348		invalidParams.Add(request.NewErrParamRequired("Id"))
12349	}
12350	if s.Id != nil && len(*s.Id) < 1 {
12351		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
12352	}
12353	if s.IndexId == nil {
12354		invalidParams.Add(request.NewErrParamRequired("IndexId"))
12355	}
12356	if s.IndexId != nil && len(*s.IndexId) < 36 {
12357		invalidParams.Add(request.NewErrParamMinLen("IndexId", 36))
12358	}
12359	if s.Name != nil && len(*s.Name) < 1 {
12360		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
12361	}
12362	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
12363		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
12364	}
12365	if s.Configuration != nil {
12366		if err := s.Configuration.Validate(); err != nil {
12367			invalidParams.AddNested("Configuration", err.(request.ErrInvalidParams))
12368		}
12369	}
12370
12371	if invalidParams.Len() > 0 {
12372		return invalidParams
12373	}
12374	return nil
12375}
12376
12377// SetConfiguration sets the Configuration field's value.
12378func (s *UpdateDataSourceInput) SetConfiguration(v *DataSourceConfiguration) *UpdateDataSourceInput {
12379	s.Configuration = v
12380	return s
12381}
12382
12383// SetDescription sets the Description field's value.
12384func (s *UpdateDataSourceInput) SetDescription(v string) *UpdateDataSourceInput {
12385	s.Description = &v
12386	return s
12387}
12388
12389// SetId sets the Id field's value.
12390func (s *UpdateDataSourceInput) SetId(v string) *UpdateDataSourceInput {
12391	s.Id = &v
12392	return s
12393}
12394
12395// SetIndexId sets the IndexId field's value.
12396func (s *UpdateDataSourceInput) SetIndexId(v string) *UpdateDataSourceInput {
12397	s.IndexId = &v
12398	return s
12399}
12400
12401// SetName sets the Name field's value.
12402func (s *UpdateDataSourceInput) SetName(v string) *UpdateDataSourceInput {
12403	s.Name = &v
12404	return s
12405}
12406
12407// SetRoleArn sets the RoleArn field's value.
12408func (s *UpdateDataSourceInput) SetRoleArn(v string) *UpdateDataSourceInput {
12409	s.RoleArn = &v
12410	return s
12411}
12412
12413// SetSchedule sets the Schedule field's value.
12414func (s *UpdateDataSourceInput) SetSchedule(v string) *UpdateDataSourceInput {
12415	s.Schedule = &v
12416	return s
12417}
12418
12419type UpdateDataSourceOutput struct {
12420	_ struct{} `type:"structure"`
12421}
12422
12423// String returns the string representation
12424func (s UpdateDataSourceOutput) String() string {
12425	return awsutil.Prettify(s)
12426}
12427
12428// GoString returns the string representation
12429func (s UpdateDataSourceOutput) GoString() string {
12430	return s.String()
12431}
12432
12433type UpdateIndexInput struct {
12434	_ struct{} `type:"structure"`
12435
12436	// Sets the number of additional storage and query capacity units that should
12437	// be used by the index. You can change the capacity of the index up to 5 times
12438	// per day.
12439	//
12440	// If you are using extra storage units, you can't reduce the storage capacity
12441	// below that required to meet the storage needs for your index.
12442	CapacityUnits *CapacityUnitsConfiguration `type:"structure"`
12443
12444	// A new description for the index.
12445	Description *string `type:"string"`
12446
12447	// The document metadata to update.
12448	DocumentMetadataConfigurationUpdates []*DocumentMetadataConfiguration `type:"list"`
12449
12450	// The identifier of the index to update.
12451	//
12452	// Id is a required field
12453	Id *string `min:"36" type:"string" required:"true"`
12454
12455	// The name of the index to update.
12456	Name *string `min:"1" type:"string"`
12457
12458	// A new IAM role that gives Amazon Kendra permission to access your Amazon
12459	// CloudWatch logs.
12460	RoleArn *string `min:"1" type:"string"`
12461
12462	// The user user token context policy.
12463	UserContextPolicy *string `type:"string" enum:"UserContextPolicy"`
12464
12465	// The user token configuration.
12466	UserTokenConfigurations []*UserTokenConfiguration `type:"list"`
12467}
12468
12469// String returns the string representation
12470func (s UpdateIndexInput) String() string {
12471	return awsutil.Prettify(s)
12472}
12473
12474// GoString returns the string representation
12475func (s UpdateIndexInput) GoString() string {
12476	return s.String()
12477}
12478
12479// Validate inspects the fields of the type to determine if they are valid.
12480func (s *UpdateIndexInput) Validate() error {
12481	invalidParams := request.ErrInvalidParams{Context: "UpdateIndexInput"}
12482	if s.Id == nil {
12483		invalidParams.Add(request.NewErrParamRequired("Id"))
12484	}
12485	if s.Id != nil && len(*s.Id) < 36 {
12486		invalidParams.Add(request.NewErrParamMinLen("Id", 36))
12487	}
12488	if s.Name != nil && len(*s.Name) < 1 {
12489		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
12490	}
12491	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
12492		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
12493	}
12494	if s.CapacityUnits != nil {
12495		if err := s.CapacityUnits.Validate(); err != nil {
12496			invalidParams.AddNested("CapacityUnits", err.(request.ErrInvalidParams))
12497		}
12498	}
12499	if s.DocumentMetadataConfigurationUpdates != nil {
12500		for i, v := range s.DocumentMetadataConfigurationUpdates {
12501			if v == nil {
12502				continue
12503			}
12504			if err := v.Validate(); err != nil {
12505				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DocumentMetadataConfigurationUpdates", i), err.(request.ErrInvalidParams))
12506			}
12507		}
12508	}
12509	if s.UserTokenConfigurations != nil {
12510		for i, v := range s.UserTokenConfigurations {
12511			if v == nil {
12512				continue
12513			}
12514			if err := v.Validate(); err != nil {
12515				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "UserTokenConfigurations", i), err.(request.ErrInvalidParams))
12516			}
12517		}
12518	}
12519
12520	if invalidParams.Len() > 0 {
12521		return invalidParams
12522	}
12523	return nil
12524}
12525
12526// SetCapacityUnits sets the CapacityUnits field's value.
12527func (s *UpdateIndexInput) SetCapacityUnits(v *CapacityUnitsConfiguration) *UpdateIndexInput {
12528	s.CapacityUnits = v
12529	return s
12530}
12531
12532// SetDescription sets the Description field's value.
12533func (s *UpdateIndexInput) SetDescription(v string) *UpdateIndexInput {
12534	s.Description = &v
12535	return s
12536}
12537
12538// SetDocumentMetadataConfigurationUpdates sets the DocumentMetadataConfigurationUpdates field's value.
12539func (s *UpdateIndexInput) SetDocumentMetadataConfigurationUpdates(v []*DocumentMetadataConfiguration) *UpdateIndexInput {
12540	s.DocumentMetadataConfigurationUpdates = v
12541	return s
12542}
12543
12544// SetId sets the Id field's value.
12545func (s *UpdateIndexInput) SetId(v string) *UpdateIndexInput {
12546	s.Id = &v
12547	return s
12548}
12549
12550// SetName sets the Name field's value.
12551func (s *UpdateIndexInput) SetName(v string) *UpdateIndexInput {
12552	s.Name = &v
12553	return s
12554}
12555
12556// SetRoleArn sets the RoleArn field's value.
12557func (s *UpdateIndexInput) SetRoleArn(v string) *UpdateIndexInput {
12558	s.RoleArn = &v
12559	return s
12560}
12561
12562// SetUserContextPolicy sets the UserContextPolicy field's value.
12563func (s *UpdateIndexInput) SetUserContextPolicy(v string) *UpdateIndexInput {
12564	s.UserContextPolicy = &v
12565	return s
12566}
12567
12568// SetUserTokenConfigurations sets the UserTokenConfigurations field's value.
12569func (s *UpdateIndexInput) SetUserTokenConfigurations(v []*UserTokenConfiguration) *UpdateIndexInput {
12570	s.UserTokenConfigurations = v
12571	return s
12572}
12573
12574type UpdateIndexOutput struct {
12575	_ struct{} `type:"structure"`
12576}
12577
12578// String returns the string representation
12579func (s UpdateIndexOutput) String() string {
12580	return awsutil.Prettify(s)
12581}
12582
12583// GoString returns the string representation
12584func (s UpdateIndexOutput) GoString() string {
12585	return s.String()
12586}
12587
12588type UpdateThesaurusInput struct {
12589	_ struct{} `type:"structure"`
12590
12591	// The updated description of the thesaurus.
12592	Description *string `type:"string"`
12593
12594	// The identifier of the thesaurus to update.
12595	//
12596	// Id is a required field
12597	Id *string `min:"1" type:"string" required:"true"`
12598
12599	// The identifier of the index associated with the thesaurus to update.
12600	//
12601	// IndexId is a required field
12602	IndexId *string `min:"36" type:"string" required:"true"`
12603
12604	// The updated name of the thesaurus.
12605	Name *string `min:"1" type:"string"`
12606
12607	// The updated role ARN of the thesaurus.
12608	RoleArn *string `min:"1" type:"string"`
12609
12610	// Information required to find a specific file in an Amazon S3 bucket.
12611	SourceS3Path *S3Path `type:"structure"`
12612}
12613
12614// String returns the string representation
12615func (s UpdateThesaurusInput) String() string {
12616	return awsutil.Prettify(s)
12617}
12618
12619// GoString returns the string representation
12620func (s UpdateThesaurusInput) GoString() string {
12621	return s.String()
12622}
12623
12624// Validate inspects the fields of the type to determine if they are valid.
12625func (s *UpdateThesaurusInput) Validate() error {
12626	invalidParams := request.ErrInvalidParams{Context: "UpdateThesaurusInput"}
12627	if s.Id == nil {
12628		invalidParams.Add(request.NewErrParamRequired("Id"))
12629	}
12630	if s.Id != nil && len(*s.Id) < 1 {
12631		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
12632	}
12633	if s.IndexId == nil {
12634		invalidParams.Add(request.NewErrParamRequired("IndexId"))
12635	}
12636	if s.IndexId != nil && len(*s.IndexId) < 36 {
12637		invalidParams.Add(request.NewErrParamMinLen("IndexId", 36))
12638	}
12639	if s.Name != nil && len(*s.Name) < 1 {
12640		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
12641	}
12642	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
12643		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
12644	}
12645	if s.SourceS3Path != nil {
12646		if err := s.SourceS3Path.Validate(); err != nil {
12647			invalidParams.AddNested("SourceS3Path", err.(request.ErrInvalidParams))
12648		}
12649	}
12650
12651	if invalidParams.Len() > 0 {
12652		return invalidParams
12653	}
12654	return nil
12655}
12656
12657// SetDescription sets the Description field's value.
12658func (s *UpdateThesaurusInput) SetDescription(v string) *UpdateThesaurusInput {
12659	s.Description = &v
12660	return s
12661}
12662
12663// SetId sets the Id field's value.
12664func (s *UpdateThesaurusInput) SetId(v string) *UpdateThesaurusInput {
12665	s.Id = &v
12666	return s
12667}
12668
12669// SetIndexId sets the IndexId field's value.
12670func (s *UpdateThesaurusInput) SetIndexId(v string) *UpdateThesaurusInput {
12671	s.IndexId = &v
12672	return s
12673}
12674
12675// SetName sets the Name field's value.
12676func (s *UpdateThesaurusInput) SetName(v string) *UpdateThesaurusInput {
12677	s.Name = &v
12678	return s
12679}
12680
12681// SetRoleArn sets the RoleArn field's value.
12682func (s *UpdateThesaurusInput) SetRoleArn(v string) *UpdateThesaurusInput {
12683	s.RoleArn = &v
12684	return s
12685}
12686
12687// SetSourceS3Path sets the SourceS3Path field's value.
12688func (s *UpdateThesaurusInput) SetSourceS3Path(v *S3Path) *UpdateThesaurusInput {
12689	s.SourceS3Path = v
12690	return s
12691}
12692
12693type UpdateThesaurusOutput struct {
12694	_ struct{} `type:"structure"`
12695}
12696
12697// String returns the string representation
12698func (s UpdateThesaurusOutput) String() string {
12699	return awsutil.Prettify(s)
12700}
12701
12702// GoString returns the string representation
12703func (s UpdateThesaurusOutput) GoString() string {
12704	return s.String()
12705}
12706
12707// Provides information about the user context for a Amazon Kendra index.
12708type UserContext struct {
12709	_ struct{} `type:"structure"`
12710
12711	// The user context token. It must be a JWT or a JSON token.
12712	Token *string `min:"1" type:"string"`
12713}
12714
12715// String returns the string representation
12716func (s UserContext) String() string {
12717	return awsutil.Prettify(s)
12718}
12719
12720// GoString returns the string representation
12721func (s UserContext) GoString() string {
12722	return s.String()
12723}
12724
12725// Validate inspects the fields of the type to determine if they are valid.
12726func (s *UserContext) Validate() error {
12727	invalidParams := request.ErrInvalidParams{Context: "UserContext"}
12728	if s.Token != nil && len(*s.Token) < 1 {
12729		invalidParams.Add(request.NewErrParamMinLen("Token", 1))
12730	}
12731
12732	if invalidParams.Len() > 0 {
12733		return invalidParams
12734	}
12735	return nil
12736}
12737
12738// SetToken sets the Token field's value.
12739func (s *UserContext) SetToken(v string) *UserContext {
12740	s.Token = &v
12741	return s
12742}
12743
12744// Provides configuration information for a token configuration.
12745type UserTokenConfiguration struct {
12746	_ struct{} `type:"structure"`
12747
12748	// Information about the JSON token type configuration.
12749	JsonTokenTypeConfiguration *JsonTokenTypeConfiguration `type:"structure"`
12750
12751	// Information about the JWT token type configuration.
12752	JwtTokenTypeConfiguration *JwtTokenTypeConfiguration `type:"structure"`
12753}
12754
12755// String returns the string representation
12756func (s UserTokenConfiguration) String() string {
12757	return awsutil.Prettify(s)
12758}
12759
12760// GoString returns the string representation
12761func (s UserTokenConfiguration) GoString() string {
12762	return s.String()
12763}
12764
12765// Validate inspects the fields of the type to determine if they are valid.
12766func (s *UserTokenConfiguration) Validate() error {
12767	invalidParams := request.ErrInvalidParams{Context: "UserTokenConfiguration"}
12768	if s.JsonTokenTypeConfiguration != nil {
12769		if err := s.JsonTokenTypeConfiguration.Validate(); err != nil {
12770			invalidParams.AddNested("JsonTokenTypeConfiguration", err.(request.ErrInvalidParams))
12771		}
12772	}
12773	if s.JwtTokenTypeConfiguration != nil {
12774		if err := s.JwtTokenTypeConfiguration.Validate(); err != nil {
12775			invalidParams.AddNested("JwtTokenTypeConfiguration", err.(request.ErrInvalidParams))
12776		}
12777	}
12778
12779	if invalidParams.Len() > 0 {
12780		return invalidParams
12781	}
12782	return nil
12783}
12784
12785// SetJsonTokenTypeConfiguration sets the JsonTokenTypeConfiguration field's value.
12786func (s *UserTokenConfiguration) SetJsonTokenTypeConfiguration(v *JsonTokenTypeConfiguration) *UserTokenConfiguration {
12787	s.JsonTokenTypeConfiguration = v
12788	return s
12789}
12790
12791// SetJwtTokenTypeConfiguration sets the JwtTokenTypeConfiguration field's value.
12792func (s *UserTokenConfiguration) SetJwtTokenTypeConfiguration(v *JwtTokenTypeConfiguration) *UserTokenConfiguration {
12793	s.JwtTokenTypeConfiguration = v
12794	return s
12795}
12796
12797type ValidationException struct {
12798	_            struct{}                  `type:"structure"`
12799	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12800
12801	Message_ *string `locationName:"Message" min:"1" type:"string"`
12802}
12803
12804// String returns the string representation
12805func (s ValidationException) String() string {
12806	return awsutil.Prettify(s)
12807}
12808
12809// GoString returns the string representation
12810func (s ValidationException) GoString() string {
12811	return s.String()
12812}
12813
12814func newErrorValidationException(v protocol.ResponseMetadata) error {
12815	return &ValidationException{
12816		RespMetadata: v,
12817	}
12818}
12819
12820// Code returns the exception type name.
12821func (s *ValidationException) Code() string {
12822	return "ValidationException"
12823}
12824
12825// Message returns the exception's message.
12826func (s *ValidationException) Message() string {
12827	if s.Message_ != nil {
12828		return *s.Message_
12829	}
12830	return ""
12831}
12832
12833// OrigErr always returns nil, satisfies awserr.Error interface.
12834func (s *ValidationException) OrigErr() error {
12835	return nil
12836}
12837
12838func (s *ValidationException) Error() string {
12839	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
12840}
12841
12842// Status code returns the HTTP status code for the request's response error.
12843func (s *ValidationException) StatusCode() int {
12844	return s.RespMetadata.StatusCode
12845}
12846
12847// RequestID returns the service's response RequestID for request.
12848func (s *ValidationException) RequestID() string {
12849	return s.RespMetadata.RequestID
12850}
12851
12852const (
12853	// AdditionalResultAttributeValueTypeTextWithHighlightsValue is a AdditionalResultAttributeValueType enum value
12854	AdditionalResultAttributeValueTypeTextWithHighlightsValue = "TEXT_WITH_HIGHLIGHTS_VALUE"
12855)
12856
12857// AdditionalResultAttributeValueType_Values returns all elements of the AdditionalResultAttributeValueType enum
12858func AdditionalResultAttributeValueType_Values() []string {
12859	return []string{
12860		AdditionalResultAttributeValueTypeTextWithHighlightsValue,
12861	}
12862}
12863
12864const (
12865	// ConfluenceAttachmentFieldNameAuthor is a ConfluenceAttachmentFieldName enum value
12866	ConfluenceAttachmentFieldNameAuthor = "AUTHOR"
12867
12868	// ConfluenceAttachmentFieldNameContentType is a ConfluenceAttachmentFieldName enum value
12869	ConfluenceAttachmentFieldNameContentType = "CONTENT_TYPE"
12870
12871	// ConfluenceAttachmentFieldNameCreatedDate is a ConfluenceAttachmentFieldName enum value
12872	ConfluenceAttachmentFieldNameCreatedDate = "CREATED_DATE"
12873
12874	// ConfluenceAttachmentFieldNameDisplayUrl is a ConfluenceAttachmentFieldName enum value
12875	ConfluenceAttachmentFieldNameDisplayUrl = "DISPLAY_URL"
12876
12877	// ConfluenceAttachmentFieldNameFileSize is a ConfluenceAttachmentFieldName enum value
12878	ConfluenceAttachmentFieldNameFileSize = "FILE_SIZE"
12879
12880	// ConfluenceAttachmentFieldNameItemType is a ConfluenceAttachmentFieldName enum value
12881	ConfluenceAttachmentFieldNameItemType = "ITEM_TYPE"
12882
12883	// ConfluenceAttachmentFieldNameParentId is a ConfluenceAttachmentFieldName enum value
12884	ConfluenceAttachmentFieldNameParentId = "PARENT_ID"
12885
12886	// ConfluenceAttachmentFieldNameSpaceKey is a ConfluenceAttachmentFieldName enum value
12887	ConfluenceAttachmentFieldNameSpaceKey = "SPACE_KEY"
12888
12889	// ConfluenceAttachmentFieldNameSpaceName is a ConfluenceAttachmentFieldName enum value
12890	ConfluenceAttachmentFieldNameSpaceName = "SPACE_NAME"
12891
12892	// ConfluenceAttachmentFieldNameUrl is a ConfluenceAttachmentFieldName enum value
12893	ConfluenceAttachmentFieldNameUrl = "URL"
12894
12895	// ConfluenceAttachmentFieldNameVersion is a ConfluenceAttachmentFieldName enum value
12896	ConfluenceAttachmentFieldNameVersion = "VERSION"
12897)
12898
12899// ConfluenceAttachmentFieldName_Values returns all elements of the ConfluenceAttachmentFieldName enum
12900func ConfluenceAttachmentFieldName_Values() []string {
12901	return []string{
12902		ConfluenceAttachmentFieldNameAuthor,
12903		ConfluenceAttachmentFieldNameContentType,
12904		ConfluenceAttachmentFieldNameCreatedDate,
12905		ConfluenceAttachmentFieldNameDisplayUrl,
12906		ConfluenceAttachmentFieldNameFileSize,
12907		ConfluenceAttachmentFieldNameItemType,
12908		ConfluenceAttachmentFieldNameParentId,
12909		ConfluenceAttachmentFieldNameSpaceKey,
12910		ConfluenceAttachmentFieldNameSpaceName,
12911		ConfluenceAttachmentFieldNameUrl,
12912		ConfluenceAttachmentFieldNameVersion,
12913	}
12914}
12915
12916const (
12917	// ConfluenceBlogFieldNameAuthor is a ConfluenceBlogFieldName enum value
12918	ConfluenceBlogFieldNameAuthor = "AUTHOR"
12919
12920	// ConfluenceBlogFieldNameDisplayUrl is a ConfluenceBlogFieldName enum value
12921	ConfluenceBlogFieldNameDisplayUrl = "DISPLAY_URL"
12922
12923	// ConfluenceBlogFieldNameItemType is a ConfluenceBlogFieldName enum value
12924	ConfluenceBlogFieldNameItemType = "ITEM_TYPE"
12925
12926	// ConfluenceBlogFieldNameLabels is a ConfluenceBlogFieldName enum value
12927	ConfluenceBlogFieldNameLabels = "LABELS"
12928
12929	// ConfluenceBlogFieldNamePublishDate is a ConfluenceBlogFieldName enum value
12930	ConfluenceBlogFieldNamePublishDate = "PUBLISH_DATE"
12931
12932	// ConfluenceBlogFieldNameSpaceKey is a ConfluenceBlogFieldName enum value
12933	ConfluenceBlogFieldNameSpaceKey = "SPACE_KEY"
12934
12935	// ConfluenceBlogFieldNameSpaceName is a ConfluenceBlogFieldName enum value
12936	ConfluenceBlogFieldNameSpaceName = "SPACE_NAME"
12937
12938	// ConfluenceBlogFieldNameUrl is a ConfluenceBlogFieldName enum value
12939	ConfluenceBlogFieldNameUrl = "URL"
12940
12941	// ConfluenceBlogFieldNameVersion is a ConfluenceBlogFieldName enum value
12942	ConfluenceBlogFieldNameVersion = "VERSION"
12943)
12944
12945// ConfluenceBlogFieldName_Values returns all elements of the ConfluenceBlogFieldName enum
12946func ConfluenceBlogFieldName_Values() []string {
12947	return []string{
12948		ConfluenceBlogFieldNameAuthor,
12949		ConfluenceBlogFieldNameDisplayUrl,
12950		ConfluenceBlogFieldNameItemType,
12951		ConfluenceBlogFieldNameLabels,
12952		ConfluenceBlogFieldNamePublishDate,
12953		ConfluenceBlogFieldNameSpaceKey,
12954		ConfluenceBlogFieldNameSpaceName,
12955		ConfluenceBlogFieldNameUrl,
12956		ConfluenceBlogFieldNameVersion,
12957	}
12958}
12959
12960const (
12961	// ConfluencePageFieldNameAuthor is a ConfluencePageFieldName enum value
12962	ConfluencePageFieldNameAuthor = "AUTHOR"
12963
12964	// ConfluencePageFieldNameContentStatus is a ConfluencePageFieldName enum value
12965	ConfluencePageFieldNameContentStatus = "CONTENT_STATUS"
12966
12967	// ConfluencePageFieldNameCreatedDate is a ConfluencePageFieldName enum value
12968	ConfluencePageFieldNameCreatedDate = "CREATED_DATE"
12969
12970	// ConfluencePageFieldNameDisplayUrl is a ConfluencePageFieldName enum value
12971	ConfluencePageFieldNameDisplayUrl = "DISPLAY_URL"
12972
12973	// ConfluencePageFieldNameItemType is a ConfluencePageFieldName enum value
12974	ConfluencePageFieldNameItemType = "ITEM_TYPE"
12975
12976	// ConfluencePageFieldNameLabels is a ConfluencePageFieldName enum value
12977	ConfluencePageFieldNameLabels = "LABELS"
12978
12979	// ConfluencePageFieldNameModifiedDate is a ConfluencePageFieldName enum value
12980	ConfluencePageFieldNameModifiedDate = "MODIFIED_DATE"
12981
12982	// ConfluencePageFieldNameParentId is a ConfluencePageFieldName enum value
12983	ConfluencePageFieldNameParentId = "PARENT_ID"
12984
12985	// ConfluencePageFieldNameSpaceKey is a ConfluencePageFieldName enum value
12986	ConfluencePageFieldNameSpaceKey = "SPACE_KEY"
12987
12988	// ConfluencePageFieldNameSpaceName is a ConfluencePageFieldName enum value
12989	ConfluencePageFieldNameSpaceName = "SPACE_NAME"
12990
12991	// ConfluencePageFieldNameUrl is a ConfluencePageFieldName enum value
12992	ConfluencePageFieldNameUrl = "URL"
12993
12994	// ConfluencePageFieldNameVersion is a ConfluencePageFieldName enum value
12995	ConfluencePageFieldNameVersion = "VERSION"
12996)
12997
12998// ConfluencePageFieldName_Values returns all elements of the ConfluencePageFieldName enum
12999func ConfluencePageFieldName_Values() []string {
13000	return []string{
13001		ConfluencePageFieldNameAuthor,
13002		ConfluencePageFieldNameContentStatus,
13003		ConfluencePageFieldNameCreatedDate,
13004		ConfluencePageFieldNameDisplayUrl,
13005		ConfluencePageFieldNameItemType,
13006		ConfluencePageFieldNameLabels,
13007		ConfluencePageFieldNameModifiedDate,
13008		ConfluencePageFieldNameParentId,
13009		ConfluencePageFieldNameSpaceKey,
13010		ConfluencePageFieldNameSpaceName,
13011		ConfluencePageFieldNameUrl,
13012		ConfluencePageFieldNameVersion,
13013	}
13014}
13015
13016const (
13017	// ConfluenceSpaceFieldNameDisplayUrl is a ConfluenceSpaceFieldName enum value
13018	ConfluenceSpaceFieldNameDisplayUrl = "DISPLAY_URL"
13019
13020	// ConfluenceSpaceFieldNameItemType is a ConfluenceSpaceFieldName enum value
13021	ConfluenceSpaceFieldNameItemType = "ITEM_TYPE"
13022
13023	// ConfluenceSpaceFieldNameSpaceKey is a ConfluenceSpaceFieldName enum value
13024	ConfluenceSpaceFieldNameSpaceKey = "SPACE_KEY"
13025
13026	// ConfluenceSpaceFieldNameUrl is a ConfluenceSpaceFieldName enum value
13027	ConfluenceSpaceFieldNameUrl = "URL"
13028)
13029
13030// ConfluenceSpaceFieldName_Values returns all elements of the ConfluenceSpaceFieldName enum
13031func ConfluenceSpaceFieldName_Values() []string {
13032	return []string{
13033		ConfluenceSpaceFieldNameDisplayUrl,
13034		ConfluenceSpaceFieldNameItemType,
13035		ConfluenceSpaceFieldNameSpaceKey,
13036		ConfluenceSpaceFieldNameUrl,
13037	}
13038}
13039
13040const (
13041	// ConfluenceVersionCloud is a ConfluenceVersion enum value
13042	ConfluenceVersionCloud = "CLOUD"
13043
13044	// ConfluenceVersionServer is a ConfluenceVersion enum value
13045	ConfluenceVersionServer = "SERVER"
13046)
13047
13048// ConfluenceVersion_Values returns all elements of the ConfluenceVersion enum
13049func ConfluenceVersion_Values() []string {
13050	return []string{
13051		ConfluenceVersionCloud,
13052		ConfluenceVersionServer,
13053	}
13054}
13055
13056const (
13057	// ContentTypePdf is a ContentType enum value
13058	ContentTypePdf = "PDF"
13059
13060	// ContentTypeHtml is a ContentType enum value
13061	ContentTypeHtml = "HTML"
13062
13063	// ContentTypeMsWord is a ContentType enum value
13064	ContentTypeMsWord = "MS_WORD"
13065
13066	// ContentTypePlainText is a ContentType enum value
13067	ContentTypePlainText = "PLAIN_TEXT"
13068
13069	// ContentTypePpt is a ContentType enum value
13070	ContentTypePpt = "PPT"
13071)
13072
13073// ContentType_Values returns all elements of the ContentType enum
13074func ContentType_Values() []string {
13075	return []string{
13076		ContentTypePdf,
13077		ContentTypeHtml,
13078		ContentTypeMsWord,
13079		ContentTypePlainText,
13080		ContentTypePpt,
13081	}
13082}
13083
13084const (
13085	// DataSourceStatusCreating is a DataSourceStatus enum value
13086	DataSourceStatusCreating = "CREATING"
13087
13088	// DataSourceStatusDeleting is a DataSourceStatus enum value
13089	DataSourceStatusDeleting = "DELETING"
13090
13091	// DataSourceStatusFailed is a DataSourceStatus enum value
13092	DataSourceStatusFailed = "FAILED"
13093
13094	// DataSourceStatusUpdating is a DataSourceStatus enum value
13095	DataSourceStatusUpdating = "UPDATING"
13096
13097	// DataSourceStatusActive is a DataSourceStatus enum value
13098	DataSourceStatusActive = "ACTIVE"
13099)
13100
13101// DataSourceStatus_Values returns all elements of the DataSourceStatus enum
13102func DataSourceStatus_Values() []string {
13103	return []string{
13104		DataSourceStatusCreating,
13105		DataSourceStatusDeleting,
13106		DataSourceStatusFailed,
13107		DataSourceStatusUpdating,
13108		DataSourceStatusActive,
13109	}
13110}
13111
13112const (
13113	// DataSourceSyncJobStatusFailed is a DataSourceSyncJobStatus enum value
13114	DataSourceSyncJobStatusFailed = "FAILED"
13115
13116	// DataSourceSyncJobStatusSucceeded is a DataSourceSyncJobStatus enum value
13117	DataSourceSyncJobStatusSucceeded = "SUCCEEDED"
13118
13119	// DataSourceSyncJobStatusSyncing is a DataSourceSyncJobStatus enum value
13120	DataSourceSyncJobStatusSyncing = "SYNCING"
13121
13122	// DataSourceSyncJobStatusIncomplete is a DataSourceSyncJobStatus enum value
13123	DataSourceSyncJobStatusIncomplete = "INCOMPLETE"
13124
13125	// DataSourceSyncJobStatusStopping is a DataSourceSyncJobStatus enum value
13126	DataSourceSyncJobStatusStopping = "STOPPING"
13127
13128	// DataSourceSyncJobStatusAborted is a DataSourceSyncJobStatus enum value
13129	DataSourceSyncJobStatusAborted = "ABORTED"
13130
13131	// DataSourceSyncJobStatusSyncingIndexing is a DataSourceSyncJobStatus enum value
13132	DataSourceSyncJobStatusSyncingIndexing = "SYNCING_INDEXING"
13133)
13134
13135// DataSourceSyncJobStatus_Values returns all elements of the DataSourceSyncJobStatus enum
13136func DataSourceSyncJobStatus_Values() []string {
13137	return []string{
13138		DataSourceSyncJobStatusFailed,
13139		DataSourceSyncJobStatusSucceeded,
13140		DataSourceSyncJobStatusSyncing,
13141		DataSourceSyncJobStatusIncomplete,
13142		DataSourceSyncJobStatusStopping,
13143		DataSourceSyncJobStatusAborted,
13144		DataSourceSyncJobStatusSyncingIndexing,
13145	}
13146}
13147
13148const (
13149	// DataSourceTypeS3 is a DataSourceType enum value
13150	DataSourceTypeS3 = "S3"
13151
13152	// DataSourceTypeSharepoint is a DataSourceType enum value
13153	DataSourceTypeSharepoint = "SHAREPOINT"
13154
13155	// DataSourceTypeDatabase is a DataSourceType enum value
13156	DataSourceTypeDatabase = "DATABASE"
13157
13158	// DataSourceTypeSalesforce is a DataSourceType enum value
13159	DataSourceTypeSalesforce = "SALESFORCE"
13160
13161	// DataSourceTypeOnedrive is a DataSourceType enum value
13162	DataSourceTypeOnedrive = "ONEDRIVE"
13163
13164	// DataSourceTypeServicenow is a DataSourceType enum value
13165	DataSourceTypeServicenow = "SERVICENOW"
13166
13167	// DataSourceTypeCustom is a DataSourceType enum value
13168	DataSourceTypeCustom = "CUSTOM"
13169
13170	// DataSourceTypeConfluence is a DataSourceType enum value
13171	DataSourceTypeConfluence = "CONFLUENCE"
13172
13173	// DataSourceTypeGoogledrive is a DataSourceType enum value
13174	DataSourceTypeGoogledrive = "GOOGLEDRIVE"
13175)
13176
13177// DataSourceType_Values returns all elements of the DataSourceType enum
13178func DataSourceType_Values() []string {
13179	return []string{
13180		DataSourceTypeS3,
13181		DataSourceTypeSharepoint,
13182		DataSourceTypeDatabase,
13183		DataSourceTypeSalesforce,
13184		DataSourceTypeOnedrive,
13185		DataSourceTypeServicenow,
13186		DataSourceTypeCustom,
13187		DataSourceTypeConfluence,
13188		DataSourceTypeGoogledrive,
13189	}
13190}
13191
13192const (
13193	// DatabaseEngineTypeRdsAuroraMysql is a DatabaseEngineType enum value
13194	DatabaseEngineTypeRdsAuroraMysql = "RDS_AURORA_MYSQL"
13195
13196	// DatabaseEngineTypeRdsAuroraPostgresql is a DatabaseEngineType enum value
13197	DatabaseEngineTypeRdsAuroraPostgresql = "RDS_AURORA_POSTGRESQL"
13198
13199	// DatabaseEngineTypeRdsMysql is a DatabaseEngineType enum value
13200	DatabaseEngineTypeRdsMysql = "RDS_MYSQL"
13201
13202	// DatabaseEngineTypeRdsPostgresql is a DatabaseEngineType enum value
13203	DatabaseEngineTypeRdsPostgresql = "RDS_POSTGRESQL"
13204)
13205
13206// DatabaseEngineType_Values returns all elements of the DatabaseEngineType enum
13207func DatabaseEngineType_Values() []string {
13208	return []string{
13209		DatabaseEngineTypeRdsAuroraMysql,
13210		DatabaseEngineTypeRdsAuroraPostgresql,
13211		DatabaseEngineTypeRdsMysql,
13212		DatabaseEngineTypeRdsPostgresql,
13213	}
13214}
13215
13216const (
13217	// DocumentAttributeValueTypeStringValue is a DocumentAttributeValueType enum value
13218	DocumentAttributeValueTypeStringValue = "STRING_VALUE"
13219
13220	// DocumentAttributeValueTypeStringListValue is a DocumentAttributeValueType enum value
13221	DocumentAttributeValueTypeStringListValue = "STRING_LIST_VALUE"
13222
13223	// DocumentAttributeValueTypeLongValue is a DocumentAttributeValueType enum value
13224	DocumentAttributeValueTypeLongValue = "LONG_VALUE"
13225
13226	// DocumentAttributeValueTypeDateValue is a DocumentAttributeValueType enum value
13227	DocumentAttributeValueTypeDateValue = "DATE_VALUE"
13228)
13229
13230// DocumentAttributeValueType_Values returns all elements of the DocumentAttributeValueType enum
13231func DocumentAttributeValueType_Values() []string {
13232	return []string{
13233		DocumentAttributeValueTypeStringValue,
13234		DocumentAttributeValueTypeStringListValue,
13235		DocumentAttributeValueTypeLongValue,
13236		DocumentAttributeValueTypeDateValue,
13237	}
13238}
13239
13240const (
13241	// ErrorCodeInternalError is a ErrorCode enum value
13242	ErrorCodeInternalError = "InternalError"
13243
13244	// ErrorCodeInvalidRequest is a ErrorCode enum value
13245	ErrorCodeInvalidRequest = "InvalidRequest"
13246)
13247
13248// ErrorCode_Values returns all elements of the ErrorCode enum
13249func ErrorCode_Values() []string {
13250	return []string{
13251		ErrorCodeInternalError,
13252		ErrorCodeInvalidRequest,
13253	}
13254}
13255
13256const (
13257	// FaqFileFormatCsv is a FaqFileFormat enum value
13258	FaqFileFormatCsv = "CSV"
13259
13260	// FaqFileFormatCsvWithHeader is a FaqFileFormat enum value
13261	FaqFileFormatCsvWithHeader = "CSV_WITH_HEADER"
13262
13263	// FaqFileFormatJson is a FaqFileFormat enum value
13264	FaqFileFormatJson = "JSON"
13265)
13266
13267// FaqFileFormat_Values returns all elements of the FaqFileFormat enum
13268func FaqFileFormat_Values() []string {
13269	return []string{
13270		FaqFileFormatCsv,
13271		FaqFileFormatCsvWithHeader,
13272		FaqFileFormatJson,
13273	}
13274}
13275
13276const (
13277	// FaqStatusCreating is a FaqStatus enum value
13278	FaqStatusCreating = "CREATING"
13279
13280	// FaqStatusUpdating is a FaqStatus enum value
13281	FaqStatusUpdating = "UPDATING"
13282
13283	// FaqStatusActive is a FaqStatus enum value
13284	FaqStatusActive = "ACTIVE"
13285
13286	// FaqStatusDeleting is a FaqStatus enum value
13287	FaqStatusDeleting = "DELETING"
13288
13289	// FaqStatusFailed is a FaqStatus enum value
13290	FaqStatusFailed = "FAILED"
13291)
13292
13293// FaqStatus_Values returns all elements of the FaqStatus enum
13294func FaqStatus_Values() []string {
13295	return []string{
13296		FaqStatusCreating,
13297		FaqStatusUpdating,
13298		FaqStatusActive,
13299		FaqStatusDeleting,
13300		FaqStatusFailed,
13301	}
13302}
13303
13304const (
13305	// HighlightTypeStandard is a HighlightType enum value
13306	HighlightTypeStandard = "STANDARD"
13307
13308	// HighlightTypeThesaurusSynonym is a HighlightType enum value
13309	HighlightTypeThesaurusSynonym = "THESAURUS_SYNONYM"
13310)
13311
13312// HighlightType_Values returns all elements of the HighlightType enum
13313func HighlightType_Values() []string {
13314	return []string{
13315		HighlightTypeStandard,
13316		HighlightTypeThesaurusSynonym,
13317	}
13318}
13319
13320const (
13321	// IndexEditionDeveloperEdition is a IndexEdition enum value
13322	IndexEditionDeveloperEdition = "DEVELOPER_EDITION"
13323
13324	// IndexEditionEnterpriseEdition is a IndexEdition enum value
13325	IndexEditionEnterpriseEdition = "ENTERPRISE_EDITION"
13326)
13327
13328// IndexEdition_Values returns all elements of the IndexEdition enum
13329func IndexEdition_Values() []string {
13330	return []string{
13331		IndexEditionDeveloperEdition,
13332		IndexEditionEnterpriseEdition,
13333	}
13334}
13335
13336const (
13337	// IndexStatusCreating is a IndexStatus enum value
13338	IndexStatusCreating = "CREATING"
13339
13340	// IndexStatusActive is a IndexStatus enum value
13341	IndexStatusActive = "ACTIVE"
13342
13343	// IndexStatusDeleting is a IndexStatus enum value
13344	IndexStatusDeleting = "DELETING"
13345
13346	// IndexStatusFailed is a IndexStatus enum value
13347	IndexStatusFailed = "FAILED"
13348
13349	// IndexStatusUpdating is a IndexStatus enum value
13350	IndexStatusUpdating = "UPDATING"
13351
13352	// IndexStatusSystemUpdating is a IndexStatus enum value
13353	IndexStatusSystemUpdating = "SYSTEM_UPDATING"
13354)
13355
13356// IndexStatus_Values returns all elements of the IndexStatus enum
13357func IndexStatus_Values() []string {
13358	return []string{
13359		IndexStatusCreating,
13360		IndexStatusActive,
13361		IndexStatusDeleting,
13362		IndexStatusFailed,
13363		IndexStatusUpdating,
13364		IndexStatusSystemUpdating,
13365	}
13366}
13367
13368const (
13369	// KeyLocationUrl is a KeyLocation enum value
13370	KeyLocationUrl = "URL"
13371
13372	// KeyLocationSecretManager is a KeyLocation enum value
13373	KeyLocationSecretManager = "SECRET_MANAGER"
13374)
13375
13376// KeyLocation_Values returns all elements of the KeyLocation enum
13377func KeyLocation_Values() []string {
13378	return []string{
13379		KeyLocationUrl,
13380		KeyLocationSecretManager,
13381	}
13382}
13383
13384const (
13385	// OrderAscending is a Order enum value
13386	OrderAscending = "ASCENDING"
13387
13388	// OrderDescending is a Order enum value
13389	OrderDescending = "DESCENDING"
13390)
13391
13392// Order_Values returns all elements of the Order enum
13393func Order_Values() []string {
13394	return []string{
13395		OrderAscending,
13396		OrderDescending,
13397	}
13398}
13399
13400const (
13401	// PrincipalTypeUser is a PrincipalType enum value
13402	PrincipalTypeUser = "USER"
13403
13404	// PrincipalTypeGroup is a PrincipalType enum value
13405	PrincipalTypeGroup = "GROUP"
13406)
13407
13408// PrincipalType_Values returns all elements of the PrincipalType enum
13409func PrincipalType_Values() []string {
13410	return []string{
13411		PrincipalTypeUser,
13412		PrincipalTypeGroup,
13413	}
13414}
13415
13416const (
13417	// QueryIdentifiersEnclosingOptionDoubleQuotes is a QueryIdentifiersEnclosingOption enum value
13418	QueryIdentifiersEnclosingOptionDoubleQuotes = "DOUBLE_QUOTES"
13419
13420	// QueryIdentifiersEnclosingOptionNone is a QueryIdentifiersEnclosingOption enum value
13421	QueryIdentifiersEnclosingOptionNone = "NONE"
13422)
13423
13424// QueryIdentifiersEnclosingOption_Values returns all elements of the QueryIdentifiersEnclosingOption enum
13425func QueryIdentifiersEnclosingOption_Values() []string {
13426	return []string{
13427		QueryIdentifiersEnclosingOptionDoubleQuotes,
13428		QueryIdentifiersEnclosingOptionNone,
13429	}
13430}
13431
13432const (
13433	// QueryResultTypeDocument is a QueryResultType enum value
13434	QueryResultTypeDocument = "DOCUMENT"
13435
13436	// QueryResultTypeQuestionAnswer is a QueryResultType enum value
13437	QueryResultTypeQuestionAnswer = "QUESTION_ANSWER"
13438
13439	// QueryResultTypeAnswer is a QueryResultType enum value
13440	QueryResultTypeAnswer = "ANSWER"
13441)
13442
13443// QueryResultType_Values returns all elements of the QueryResultType enum
13444func QueryResultType_Values() []string {
13445	return []string{
13446		QueryResultTypeDocument,
13447		QueryResultTypeQuestionAnswer,
13448		QueryResultTypeAnswer,
13449	}
13450}
13451
13452const (
13453	// ReadAccessTypeAllow is a ReadAccessType enum value
13454	ReadAccessTypeAllow = "ALLOW"
13455
13456	// ReadAccessTypeDeny is a ReadAccessType enum value
13457	ReadAccessTypeDeny = "DENY"
13458)
13459
13460// ReadAccessType_Values returns all elements of the ReadAccessType enum
13461func ReadAccessType_Values() []string {
13462	return []string{
13463		ReadAccessTypeAllow,
13464		ReadAccessTypeDeny,
13465	}
13466}
13467
13468const (
13469	// RelevanceTypeRelevant is a RelevanceType enum value
13470	RelevanceTypeRelevant = "RELEVANT"
13471
13472	// RelevanceTypeNotRelevant is a RelevanceType enum value
13473	RelevanceTypeNotRelevant = "NOT_RELEVANT"
13474)
13475
13476// RelevanceType_Values returns all elements of the RelevanceType enum
13477func RelevanceType_Values() []string {
13478	return []string{
13479		RelevanceTypeRelevant,
13480		RelevanceTypeNotRelevant,
13481	}
13482}
13483
13484const (
13485	// SalesforceChatterFeedIncludeFilterTypeActiveUser is a SalesforceChatterFeedIncludeFilterType enum value
13486	SalesforceChatterFeedIncludeFilterTypeActiveUser = "ACTIVE_USER"
13487
13488	// SalesforceChatterFeedIncludeFilterTypeStandardUser is a SalesforceChatterFeedIncludeFilterType enum value
13489	SalesforceChatterFeedIncludeFilterTypeStandardUser = "STANDARD_USER"
13490)
13491
13492// SalesforceChatterFeedIncludeFilterType_Values returns all elements of the SalesforceChatterFeedIncludeFilterType enum
13493func SalesforceChatterFeedIncludeFilterType_Values() []string {
13494	return []string{
13495		SalesforceChatterFeedIncludeFilterTypeActiveUser,
13496		SalesforceChatterFeedIncludeFilterTypeStandardUser,
13497	}
13498}
13499
13500const (
13501	// SalesforceKnowledgeArticleStateDraft is a SalesforceKnowledgeArticleState enum value
13502	SalesforceKnowledgeArticleStateDraft = "DRAFT"
13503
13504	// SalesforceKnowledgeArticleStatePublished is a SalesforceKnowledgeArticleState enum value
13505	SalesforceKnowledgeArticleStatePublished = "PUBLISHED"
13506
13507	// SalesforceKnowledgeArticleStateArchived is a SalesforceKnowledgeArticleState enum value
13508	SalesforceKnowledgeArticleStateArchived = "ARCHIVED"
13509)
13510
13511// SalesforceKnowledgeArticleState_Values returns all elements of the SalesforceKnowledgeArticleState enum
13512func SalesforceKnowledgeArticleState_Values() []string {
13513	return []string{
13514		SalesforceKnowledgeArticleStateDraft,
13515		SalesforceKnowledgeArticleStatePublished,
13516		SalesforceKnowledgeArticleStateArchived,
13517	}
13518}
13519
13520const (
13521	// SalesforceStandardObjectNameAccount is a SalesforceStandardObjectName enum value
13522	SalesforceStandardObjectNameAccount = "ACCOUNT"
13523
13524	// SalesforceStandardObjectNameCampaign is a SalesforceStandardObjectName enum value
13525	SalesforceStandardObjectNameCampaign = "CAMPAIGN"
13526
13527	// SalesforceStandardObjectNameCase is a SalesforceStandardObjectName enum value
13528	SalesforceStandardObjectNameCase = "CASE"
13529
13530	// SalesforceStandardObjectNameContact is a SalesforceStandardObjectName enum value
13531	SalesforceStandardObjectNameContact = "CONTACT"
13532
13533	// SalesforceStandardObjectNameContract is a SalesforceStandardObjectName enum value
13534	SalesforceStandardObjectNameContract = "CONTRACT"
13535
13536	// SalesforceStandardObjectNameDocument is a SalesforceStandardObjectName enum value
13537	SalesforceStandardObjectNameDocument = "DOCUMENT"
13538
13539	// SalesforceStandardObjectNameGroup is a SalesforceStandardObjectName enum value
13540	SalesforceStandardObjectNameGroup = "GROUP"
13541
13542	// SalesforceStandardObjectNameIdea is a SalesforceStandardObjectName enum value
13543	SalesforceStandardObjectNameIdea = "IDEA"
13544
13545	// SalesforceStandardObjectNameLead is a SalesforceStandardObjectName enum value
13546	SalesforceStandardObjectNameLead = "LEAD"
13547
13548	// SalesforceStandardObjectNameOpportunity is a SalesforceStandardObjectName enum value
13549	SalesforceStandardObjectNameOpportunity = "OPPORTUNITY"
13550
13551	// SalesforceStandardObjectNamePartner is a SalesforceStandardObjectName enum value
13552	SalesforceStandardObjectNamePartner = "PARTNER"
13553
13554	// SalesforceStandardObjectNamePricebook is a SalesforceStandardObjectName enum value
13555	SalesforceStandardObjectNamePricebook = "PRICEBOOK"
13556
13557	// SalesforceStandardObjectNameProduct is a SalesforceStandardObjectName enum value
13558	SalesforceStandardObjectNameProduct = "PRODUCT"
13559
13560	// SalesforceStandardObjectNameProfile is a SalesforceStandardObjectName enum value
13561	SalesforceStandardObjectNameProfile = "PROFILE"
13562
13563	// SalesforceStandardObjectNameSolution is a SalesforceStandardObjectName enum value
13564	SalesforceStandardObjectNameSolution = "SOLUTION"
13565
13566	// SalesforceStandardObjectNameTask is a SalesforceStandardObjectName enum value
13567	SalesforceStandardObjectNameTask = "TASK"
13568
13569	// SalesforceStandardObjectNameUser is a SalesforceStandardObjectName enum value
13570	SalesforceStandardObjectNameUser = "USER"
13571)
13572
13573// SalesforceStandardObjectName_Values returns all elements of the SalesforceStandardObjectName enum
13574func SalesforceStandardObjectName_Values() []string {
13575	return []string{
13576		SalesforceStandardObjectNameAccount,
13577		SalesforceStandardObjectNameCampaign,
13578		SalesforceStandardObjectNameCase,
13579		SalesforceStandardObjectNameContact,
13580		SalesforceStandardObjectNameContract,
13581		SalesforceStandardObjectNameDocument,
13582		SalesforceStandardObjectNameGroup,
13583		SalesforceStandardObjectNameIdea,
13584		SalesforceStandardObjectNameLead,
13585		SalesforceStandardObjectNameOpportunity,
13586		SalesforceStandardObjectNamePartner,
13587		SalesforceStandardObjectNamePricebook,
13588		SalesforceStandardObjectNameProduct,
13589		SalesforceStandardObjectNameProfile,
13590		SalesforceStandardObjectNameSolution,
13591		SalesforceStandardObjectNameTask,
13592		SalesforceStandardObjectNameUser,
13593	}
13594}
13595
13596// Enumeration for query score confidence.
13597const (
13598	// ScoreConfidenceVeryHigh is a ScoreConfidence enum value
13599	ScoreConfidenceVeryHigh = "VERY_HIGH"
13600
13601	// ScoreConfidenceHigh is a ScoreConfidence enum value
13602	ScoreConfidenceHigh = "HIGH"
13603
13604	// ScoreConfidenceMedium is a ScoreConfidence enum value
13605	ScoreConfidenceMedium = "MEDIUM"
13606
13607	// ScoreConfidenceLow is a ScoreConfidence enum value
13608	ScoreConfidenceLow = "LOW"
13609)
13610
13611// ScoreConfidence_Values returns all elements of the ScoreConfidence enum
13612func ScoreConfidence_Values() []string {
13613	return []string{
13614		ScoreConfidenceVeryHigh,
13615		ScoreConfidenceHigh,
13616		ScoreConfidenceMedium,
13617		ScoreConfidenceLow,
13618	}
13619}
13620
13621const (
13622	// ServiceNowAuthenticationTypeHttpBasic is a ServiceNowAuthenticationType enum value
13623	ServiceNowAuthenticationTypeHttpBasic = "HTTP_BASIC"
13624
13625	// ServiceNowAuthenticationTypeOauth2 is a ServiceNowAuthenticationType enum value
13626	ServiceNowAuthenticationTypeOauth2 = "OAUTH2"
13627)
13628
13629// ServiceNowAuthenticationType_Values returns all elements of the ServiceNowAuthenticationType enum
13630func ServiceNowAuthenticationType_Values() []string {
13631	return []string{
13632		ServiceNowAuthenticationTypeHttpBasic,
13633		ServiceNowAuthenticationTypeOauth2,
13634	}
13635}
13636
13637const (
13638	// ServiceNowBuildVersionTypeLondon is a ServiceNowBuildVersionType enum value
13639	ServiceNowBuildVersionTypeLondon = "LONDON"
13640
13641	// ServiceNowBuildVersionTypeOthers is a ServiceNowBuildVersionType enum value
13642	ServiceNowBuildVersionTypeOthers = "OTHERS"
13643)
13644
13645// ServiceNowBuildVersionType_Values returns all elements of the ServiceNowBuildVersionType enum
13646func ServiceNowBuildVersionType_Values() []string {
13647	return []string{
13648		ServiceNowBuildVersionTypeLondon,
13649		ServiceNowBuildVersionTypeOthers,
13650	}
13651}
13652
13653const (
13654	// SharePointVersionSharepointOnline is a SharePointVersion enum value
13655	SharePointVersionSharepointOnline = "SHAREPOINT_ONLINE"
13656)
13657
13658// SharePointVersion_Values returns all elements of the SharePointVersion enum
13659func SharePointVersion_Values() []string {
13660	return []string{
13661		SharePointVersionSharepointOnline,
13662	}
13663}
13664
13665const (
13666	// SortOrderDesc is a SortOrder enum value
13667	SortOrderDesc = "DESC"
13668
13669	// SortOrderAsc is a SortOrder enum value
13670	SortOrderAsc = "ASC"
13671)
13672
13673// SortOrder_Values returns all elements of the SortOrder enum
13674func SortOrder_Values() []string {
13675	return []string{
13676		SortOrderDesc,
13677		SortOrderAsc,
13678	}
13679}
13680
13681const (
13682	// ThesaurusStatusCreating is a ThesaurusStatus enum value
13683	ThesaurusStatusCreating = "CREATING"
13684
13685	// ThesaurusStatusActive is a ThesaurusStatus enum value
13686	ThesaurusStatusActive = "ACTIVE"
13687
13688	// ThesaurusStatusDeleting is a ThesaurusStatus enum value
13689	ThesaurusStatusDeleting = "DELETING"
13690
13691	// ThesaurusStatusUpdating is a ThesaurusStatus enum value
13692	ThesaurusStatusUpdating = "UPDATING"
13693
13694	// ThesaurusStatusActiveButUpdateFailed is a ThesaurusStatus enum value
13695	ThesaurusStatusActiveButUpdateFailed = "ACTIVE_BUT_UPDATE_FAILED"
13696
13697	// ThesaurusStatusFailed is a ThesaurusStatus enum value
13698	ThesaurusStatusFailed = "FAILED"
13699)
13700
13701// ThesaurusStatus_Values returns all elements of the ThesaurusStatus enum
13702func ThesaurusStatus_Values() []string {
13703	return []string{
13704		ThesaurusStatusCreating,
13705		ThesaurusStatusActive,
13706		ThesaurusStatusDeleting,
13707		ThesaurusStatusUpdating,
13708		ThesaurusStatusActiveButUpdateFailed,
13709		ThesaurusStatusFailed,
13710	}
13711}
13712
13713const (
13714	// UserContextPolicyAttributeFilter is a UserContextPolicy enum value
13715	UserContextPolicyAttributeFilter = "ATTRIBUTE_FILTER"
13716
13717	// UserContextPolicyUserToken is a UserContextPolicy enum value
13718	UserContextPolicyUserToken = "USER_TOKEN"
13719)
13720
13721// UserContextPolicy_Values returns all elements of the UserContextPolicy enum
13722func UserContextPolicy_Values() []string {
13723	return []string{
13724		UserContextPolicyAttributeFilter,
13725		UserContextPolicyUserToken,
13726	}
13727}
13728