1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package comprehend
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 opBatchDetectDominantLanguage = "BatchDetectDominantLanguage"
17
18// BatchDetectDominantLanguageRequest generates a "aws/request.Request" representing the
19// client's request for the BatchDetectDominantLanguage 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 BatchDetectDominantLanguage for more information on using the BatchDetectDominantLanguage
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 BatchDetectDominantLanguageRequest method.
34//    req, resp := client.BatchDetectDominantLanguageRequest(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/comprehend-2017-11-27/BatchDetectDominantLanguage
42func (c *Comprehend) BatchDetectDominantLanguageRequest(input *BatchDetectDominantLanguageInput) (req *request.Request, output *BatchDetectDominantLanguageOutput) {
43	op := &request.Operation{
44		Name:       opBatchDetectDominantLanguage,
45		HTTPMethod: "POST",
46		HTTPPath:   "/",
47	}
48
49	if input == nil {
50		input = &BatchDetectDominantLanguageInput{}
51	}
52
53	output = &BatchDetectDominantLanguageOutput{}
54	req = c.newRequest(op, input, output)
55	return
56}
57
58// BatchDetectDominantLanguage API operation for Amazon Comprehend.
59//
60// Determines the dominant language of the input text for a batch of documents.
61// For a list of languages that Amazon Comprehend can detect, see Amazon Comprehend
62// Supported Languages (https://docs.aws.amazon.com/comprehend/latest/dg/how-languages.html).
63//
64// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
65// with awserr.Error's Code and Message methods to get detailed information about
66// the error.
67//
68// See the AWS API reference guide for Amazon Comprehend's
69// API operation BatchDetectDominantLanguage for usage and error information.
70//
71// Returned Error Codes:
72//   * ErrCodeInvalidRequestException "InvalidRequestException"
73//   The request is invalid.
74//
75//   * ErrCodeTextSizeLimitExceededException "TextSizeLimitExceededException"
76//   The size of the input text exceeds the limit. Use a smaller document.
77//
78//   * ErrCodeBatchSizeLimitExceededException "BatchSizeLimitExceededException"
79//   The number of documents in the request exceeds the limit of 25. Try your
80//   request again with fewer documents.
81//
82//   * ErrCodeInternalServerException "InternalServerException"
83//   An internal server error occurred. Retry your request.
84//
85// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/BatchDetectDominantLanguage
86func (c *Comprehend) BatchDetectDominantLanguage(input *BatchDetectDominantLanguageInput) (*BatchDetectDominantLanguageOutput, error) {
87	req, out := c.BatchDetectDominantLanguageRequest(input)
88	return out, req.Send()
89}
90
91// BatchDetectDominantLanguageWithContext is the same as BatchDetectDominantLanguage with the addition of
92// the ability to pass a context and additional request options.
93//
94// See BatchDetectDominantLanguage for details on how to use this API operation.
95//
96// The context must be non-nil and will be used for request cancellation. If
97// the context is nil a panic will occur. In the future the SDK may create
98// sub-contexts for http.Requests. See https://golang.org/pkg/context/
99// for more information on using Contexts.
100func (c *Comprehend) BatchDetectDominantLanguageWithContext(ctx aws.Context, input *BatchDetectDominantLanguageInput, opts ...request.Option) (*BatchDetectDominantLanguageOutput, error) {
101	req, out := c.BatchDetectDominantLanguageRequest(input)
102	req.SetContext(ctx)
103	req.ApplyOptions(opts...)
104	return out, req.Send()
105}
106
107const opBatchDetectEntities = "BatchDetectEntities"
108
109// BatchDetectEntitiesRequest generates a "aws/request.Request" representing the
110// client's request for the BatchDetectEntities operation. The "output" return
111// value will be populated with the request's response once the request completes
112// successfully.
113//
114// Use "Send" method on the returned Request to send the API call to the service.
115// the "output" return value is not valid until after Send returns without error.
116//
117// See BatchDetectEntities for more information on using the BatchDetectEntities
118// API call, and error handling.
119//
120// This method is useful when you want to inject custom logic or configuration
121// into the SDK's request lifecycle. Such as custom headers, or retry logic.
122//
123//
124//    // Example sending a request using the BatchDetectEntitiesRequest method.
125//    req, resp := client.BatchDetectEntitiesRequest(params)
126//
127//    err := req.Send()
128//    if err == nil { // resp is now filled
129//        fmt.Println(resp)
130//    }
131//
132// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/BatchDetectEntities
133func (c *Comprehend) BatchDetectEntitiesRequest(input *BatchDetectEntitiesInput) (req *request.Request, output *BatchDetectEntitiesOutput) {
134	op := &request.Operation{
135		Name:       opBatchDetectEntities,
136		HTTPMethod: "POST",
137		HTTPPath:   "/",
138	}
139
140	if input == nil {
141		input = &BatchDetectEntitiesInput{}
142	}
143
144	output = &BatchDetectEntitiesOutput{}
145	req = c.newRequest(op, input, output)
146	return
147}
148
149// BatchDetectEntities API operation for Amazon Comprehend.
150//
151// Inspects the text of a batch of documents for named entities and returns
152// information about them. For more information about named entities, see how-entities
153//
154// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
155// with awserr.Error's Code and Message methods to get detailed information about
156// the error.
157//
158// See the AWS API reference guide for Amazon Comprehend's
159// API operation BatchDetectEntities for usage and error information.
160//
161// Returned Error Codes:
162//   * ErrCodeInvalidRequestException "InvalidRequestException"
163//   The request is invalid.
164//
165//   * ErrCodeTextSizeLimitExceededException "TextSizeLimitExceededException"
166//   The size of the input text exceeds the limit. Use a smaller document.
167//
168//   * ErrCodeUnsupportedLanguageException "UnsupportedLanguageException"
169//   Amazon Comprehend can't process the language of the input text. For all custom
170//   entity recognition APIs (such as CreateEntityRecognizer), only English is
171//   accepted. For most other APIs, such as those for Custom Classification, Amazon
172//   Comprehend accepts text in all supported languages. For a list of supported
173//   languages, see supported-languages.
174//
175//   * ErrCodeBatchSizeLimitExceededException "BatchSizeLimitExceededException"
176//   The number of documents in the request exceeds the limit of 25. Try your
177//   request again with fewer documents.
178//
179//   * ErrCodeInternalServerException "InternalServerException"
180//   An internal server error occurred. Retry your request.
181//
182// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/BatchDetectEntities
183func (c *Comprehend) BatchDetectEntities(input *BatchDetectEntitiesInput) (*BatchDetectEntitiesOutput, error) {
184	req, out := c.BatchDetectEntitiesRequest(input)
185	return out, req.Send()
186}
187
188// BatchDetectEntitiesWithContext is the same as BatchDetectEntities with the addition of
189// the ability to pass a context and additional request options.
190//
191// See BatchDetectEntities for details on how to use this API operation.
192//
193// The context must be non-nil and will be used for request cancellation. If
194// the context is nil a panic will occur. In the future the SDK may create
195// sub-contexts for http.Requests. See https://golang.org/pkg/context/
196// for more information on using Contexts.
197func (c *Comprehend) BatchDetectEntitiesWithContext(ctx aws.Context, input *BatchDetectEntitiesInput, opts ...request.Option) (*BatchDetectEntitiesOutput, error) {
198	req, out := c.BatchDetectEntitiesRequest(input)
199	req.SetContext(ctx)
200	req.ApplyOptions(opts...)
201	return out, req.Send()
202}
203
204const opBatchDetectKeyPhrases = "BatchDetectKeyPhrases"
205
206// BatchDetectKeyPhrasesRequest generates a "aws/request.Request" representing the
207// client's request for the BatchDetectKeyPhrases operation. The "output" return
208// value will be populated with the request's response once the request completes
209// successfully.
210//
211// Use "Send" method on the returned Request to send the API call to the service.
212// the "output" return value is not valid until after Send returns without error.
213//
214// See BatchDetectKeyPhrases for more information on using the BatchDetectKeyPhrases
215// API call, and error handling.
216//
217// This method is useful when you want to inject custom logic or configuration
218// into the SDK's request lifecycle. Such as custom headers, or retry logic.
219//
220//
221//    // Example sending a request using the BatchDetectKeyPhrasesRequest method.
222//    req, resp := client.BatchDetectKeyPhrasesRequest(params)
223//
224//    err := req.Send()
225//    if err == nil { // resp is now filled
226//        fmt.Println(resp)
227//    }
228//
229// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/BatchDetectKeyPhrases
230func (c *Comprehend) BatchDetectKeyPhrasesRequest(input *BatchDetectKeyPhrasesInput) (req *request.Request, output *BatchDetectKeyPhrasesOutput) {
231	op := &request.Operation{
232		Name:       opBatchDetectKeyPhrases,
233		HTTPMethod: "POST",
234		HTTPPath:   "/",
235	}
236
237	if input == nil {
238		input = &BatchDetectKeyPhrasesInput{}
239	}
240
241	output = &BatchDetectKeyPhrasesOutput{}
242	req = c.newRequest(op, input, output)
243	return
244}
245
246// BatchDetectKeyPhrases API operation for Amazon Comprehend.
247//
248// Detects the key noun phrases found in a batch of documents.
249//
250// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
251// with awserr.Error's Code and Message methods to get detailed information about
252// the error.
253//
254// See the AWS API reference guide for Amazon Comprehend's
255// API operation BatchDetectKeyPhrases for usage and error information.
256//
257// Returned Error Codes:
258//   * ErrCodeInvalidRequestException "InvalidRequestException"
259//   The request is invalid.
260//
261//   * ErrCodeTextSizeLimitExceededException "TextSizeLimitExceededException"
262//   The size of the input text exceeds the limit. Use a smaller document.
263//
264//   * ErrCodeUnsupportedLanguageException "UnsupportedLanguageException"
265//   Amazon Comprehend can't process the language of the input text. For all custom
266//   entity recognition APIs (such as CreateEntityRecognizer), only English is
267//   accepted. For most other APIs, such as those for Custom Classification, Amazon
268//   Comprehend accepts text in all supported languages. For a list of supported
269//   languages, see supported-languages.
270//
271//   * ErrCodeBatchSizeLimitExceededException "BatchSizeLimitExceededException"
272//   The number of documents in the request exceeds the limit of 25. Try your
273//   request again with fewer documents.
274//
275//   * ErrCodeInternalServerException "InternalServerException"
276//   An internal server error occurred. Retry your request.
277//
278// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/BatchDetectKeyPhrases
279func (c *Comprehend) BatchDetectKeyPhrases(input *BatchDetectKeyPhrasesInput) (*BatchDetectKeyPhrasesOutput, error) {
280	req, out := c.BatchDetectKeyPhrasesRequest(input)
281	return out, req.Send()
282}
283
284// BatchDetectKeyPhrasesWithContext is the same as BatchDetectKeyPhrases with the addition of
285// the ability to pass a context and additional request options.
286//
287// See BatchDetectKeyPhrases for details on how to use this API operation.
288//
289// The context must be non-nil and will be used for request cancellation. If
290// the context is nil a panic will occur. In the future the SDK may create
291// sub-contexts for http.Requests. See https://golang.org/pkg/context/
292// for more information on using Contexts.
293func (c *Comprehend) BatchDetectKeyPhrasesWithContext(ctx aws.Context, input *BatchDetectKeyPhrasesInput, opts ...request.Option) (*BatchDetectKeyPhrasesOutput, error) {
294	req, out := c.BatchDetectKeyPhrasesRequest(input)
295	req.SetContext(ctx)
296	req.ApplyOptions(opts...)
297	return out, req.Send()
298}
299
300const opBatchDetectSentiment = "BatchDetectSentiment"
301
302// BatchDetectSentimentRequest generates a "aws/request.Request" representing the
303// client's request for the BatchDetectSentiment operation. The "output" return
304// value will be populated with the request's response once the request completes
305// successfully.
306//
307// Use "Send" method on the returned Request to send the API call to the service.
308// the "output" return value is not valid until after Send returns without error.
309//
310// See BatchDetectSentiment for more information on using the BatchDetectSentiment
311// API call, and error handling.
312//
313// This method is useful when you want to inject custom logic or configuration
314// into the SDK's request lifecycle. Such as custom headers, or retry logic.
315//
316//
317//    // Example sending a request using the BatchDetectSentimentRequest method.
318//    req, resp := client.BatchDetectSentimentRequest(params)
319//
320//    err := req.Send()
321//    if err == nil { // resp is now filled
322//        fmt.Println(resp)
323//    }
324//
325// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/BatchDetectSentiment
326func (c *Comprehend) BatchDetectSentimentRequest(input *BatchDetectSentimentInput) (req *request.Request, output *BatchDetectSentimentOutput) {
327	op := &request.Operation{
328		Name:       opBatchDetectSentiment,
329		HTTPMethod: "POST",
330		HTTPPath:   "/",
331	}
332
333	if input == nil {
334		input = &BatchDetectSentimentInput{}
335	}
336
337	output = &BatchDetectSentimentOutput{}
338	req = c.newRequest(op, input, output)
339	return
340}
341
342// BatchDetectSentiment API operation for Amazon Comprehend.
343//
344// Inspects a batch of documents and returns an inference of the prevailing
345// sentiment, POSITIVE, NEUTRAL, MIXED, or NEGATIVE, in each one.
346//
347// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
348// with awserr.Error's Code and Message methods to get detailed information about
349// the error.
350//
351// See the AWS API reference guide for Amazon Comprehend's
352// API operation BatchDetectSentiment for usage and error information.
353//
354// Returned Error Codes:
355//   * ErrCodeInvalidRequestException "InvalidRequestException"
356//   The request is invalid.
357//
358//   * ErrCodeTextSizeLimitExceededException "TextSizeLimitExceededException"
359//   The size of the input text exceeds the limit. Use a smaller document.
360//
361//   * ErrCodeUnsupportedLanguageException "UnsupportedLanguageException"
362//   Amazon Comprehend can't process the language of the input text. For all custom
363//   entity recognition APIs (such as CreateEntityRecognizer), only English is
364//   accepted. For most other APIs, such as those for Custom Classification, Amazon
365//   Comprehend accepts text in all supported languages. For a list of supported
366//   languages, see supported-languages.
367//
368//   * ErrCodeBatchSizeLimitExceededException "BatchSizeLimitExceededException"
369//   The number of documents in the request exceeds the limit of 25. Try your
370//   request again with fewer documents.
371//
372//   * ErrCodeInternalServerException "InternalServerException"
373//   An internal server error occurred. Retry your request.
374//
375// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/BatchDetectSentiment
376func (c *Comprehend) BatchDetectSentiment(input *BatchDetectSentimentInput) (*BatchDetectSentimentOutput, error) {
377	req, out := c.BatchDetectSentimentRequest(input)
378	return out, req.Send()
379}
380
381// BatchDetectSentimentWithContext is the same as BatchDetectSentiment with the addition of
382// the ability to pass a context and additional request options.
383//
384// See BatchDetectSentiment for details on how to use this API operation.
385//
386// The context must be non-nil and will be used for request cancellation. If
387// the context is nil a panic will occur. In the future the SDK may create
388// sub-contexts for http.Requests. See https://golang.org/pkg/context/
389// for more information on using Contexts.
390func (c *Comprehend) BatchDetectSentimentWithContext(ctx aws.Context, input *BatchDetectSentimentInput, opts ...request.Option) (*BatchDetectSentimentOutput, error) {
391	req, out := c.BatchDetectSentimentRequest(input)
392	req.SetContext(ctx)
393	req.ApplyOptions(opts...)
394	return out, req.Send()
395}
396
397const opBatchDetectSyntax = "BatchDetectSyntax"
398
399// BatchDetectSyntaxRequest generates a "aws/request.Request" representing the
400// client's request for the BatchDetectSyntax operation. The "output" return
401// value will be populated with the request's response once the request completes
402// successfully.
403//
404// Use "Send" method on the returned Request to send the API call to the service.
405// the "output" return value is not valid until after Send returns without error.
406//
407// See BatchDetectSyntax for more information on using the BatchDetectSyntax
408// API call, and error handling.
409//
410// This method is useful when you want to inject custom logic or configuration
411// into the SDK's request lifecycle. Such as custom headers, or retry logic.
412//
413//
414//    // Example sending a request using the BatchDetectSyntaxRequest method.
415//    req, resp := client.BatchDetectSyntaxRequest(params)
416//
417//    err := req.Send()
418//    if err == nil { // resp is now filled
419//        fmt.Println(resp)
420//    }
421//
422// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/BatchDetectSyntax
423func (c *Comprehend) BatchDetectSyntaxRequest(input *BatchDetectSyntaxInput) (req *request.Request, output *BatchDetectSyntaxOutput) {
424	op := &request.Operation{
425		Name:       opBatchDetectSyntax,
426		HTTPMethod: "POST",
427		HTTPPath:   "/",
428	}
429
430	if input == nil {
431		input = &BatchDetectSyntaxInput{}
432	}
433
434	output = &BatchDetectSyntaxOutput{}
435	req = c.newRequest(op, input, output)
436	return
437}
438
439// BatchDetectSyntax API operation for Amazon Comprehend.
440//
441// Inspects the text of a batch of documents for the syntax and part of speech
442// of the words in the document and returns information about them. For more
443// information, see how-syntax.
444//
445// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
446// with awserr.Error's Code and Message methods to get detailed information about
447// the error.
448//
449// See the AWS API reference guide for Amazon Comprehend's
450// API operation BatchDetectSyntax for usage and error information.
451//
452// Returned Error Codes:
453//   * ErrCodeInvalidRequestException "InvalidRequestException"
454//   The request is invalid.
455//
456//   * ErrCodeTextSizeLimitExceededException "TextSizeLimitExceededException"
457//   The size of the input text exceeds the limit. Use a smaller document.
458//
459//   * ErrCodeUnsupportedLanguageException "UnsupportedLanguageException"
460//   Amazon Comprehend can't process the language of the input text. For all custom
461//   entity recognition APIs (such as CreateEntityRecognizer), only English is
462//   accepted. For most other APIs, such as those for Custom Classification, Amazon
463//   Comprehend accepts text in all supported languages. For a list of supported
464//   languages, see supported-languages.
465//
466//   * ErrCodeBatchSizeLimitExceededException "BatchSizeLimitExceededException"
467//   The number of documents in the request exceeds the limit of 25. Try your
468//   request again with fewer documents.
469//
470//   * ErrCodeInternalServerException "InternalServerException"
471//   An internal server error occurred. Retry your request.
472//
473// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/BatchDetectSyntax
474func (c *Comprehend) BatchDetectSyntax(input *BatchDetectSyntaxInput) (*BatchDetectSyntaxOutput, error) {
475	req, out := c.BatchDetectSyntaxRequest(input)
476	return out, req.Send()
477}
478
479// BatchDetectSyntaxWithContext is the same as BatchDetectSyntax with the addition of
480// the ability to pass a context and additional request options.
481//
482// See BatchDetectSyntax for details on how to use this API operation.
483//
484// The context must be non-nil and will be used for request cancellation. If
485// the context is nil a panic will occur. In the future the SDK may create
486// sub-contexts for http.Requests. See https://golang.org/pkg/context/
487// for more information on using Contexts.
488func (c *Comprehend) BatchDetectSyntaxWithContext(ctx aws.Context, input *BatchDetectSyntaxInput, opts ...request.Option) (*BatchDetectSyntaxOutput, error) {
489	req, out := c.BatchDetectSyntaxRequest(input)
490	req.SetContext(ctx)
491	req.ApplyOptions(opts...)
492	return out, req.Send()
493}
494
495const opClassifyDocument = "ClassifyDocument"
496
497// ClassifyDocumentRequest generates a "aws/request.Request" representing the
498// client's request for the ClassifyDocument operation. The "output" return
499// value will be populated with the request's response once the request completes
500// successfully.
501//
502// Use "Send" method on the returned Request to send the API call to the service.
503// the "output" return value is not valid until after Send returns without error.
504//
505// See ClassifyDocument for more information on using the ClassifyDocument
506// API call, and error handling.
507//
508// This method is useful when you want to inject custom logic or configuration
509// into the SDK's request lifecycle. Such as custom headers, or retry logic.
510//
511//
512//    // Example sending a request using the ClassifyDocumentRequest method.
513//    req, resp := client.ClassifyDocumentRequest(params)
514//
515//    err := req.Send()
516//    if err == nil { // resp is now filled
517//        fmt.Println(resp)
518//    }
519//
520// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/ClassifyDocument
521func (c *Comprehend) ClassifyDocumentRequest(input *ClassifyDocumentInput) (req *request.Request, output *ClassifyDocumentOutput) {
522	op := &request.Operation{
523		Name:       opClassifyDocument,
524		HTTPMethod: "POST",
525		HTTPPath:   "/",
526	}
527
528	if input == nil {
529		input = &ClassifyDocumentInput{}
530	}
531
532	output = &ClassifyDocumentOutput{}
533	req = c.newRequest(op, input, output)
534	return
535}
536
537// ClassifyDocument API operation for Amazon Comprehend.
538//
539// Creates a new document classification request to analyze a single document
540// in real-time, using a previously created and trained custom model and an
541// endpoint.
542//
543// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
544// with awserr.Error's Code and Message methods to get detailed information about
545// the error.
546//
547// See the AWS API reference guide for Amazon Comprehend's
548// API operation ClassifyDocument for usage and error information.
549//
550// Returned Error Codes:
551//   * ErrCodeInvalidRequestException "InvalidRequestException"
552//   The request is invalid.
553//
554//   * ErrCodeResourceUnavailableException "ResourceUnavailableException"
555//   The specified resource is not available. Check to see if the resource is
556//   in the TRAINED state and try your request again.
557//
558//   * ErrCodeTextSizeLimitExceededException "TextSizeLimitExceededException"
559//   The size of the input text exceeds the limit. Use a smaller document.
560//
561//   * ErrCodeInternalServerException "InternalServerException"
562//   An internal server error occurred. Retry your request.
563//
564// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/ClassifyDocument
565func (c *Comprehend) ClassifyDocument(input *ClassifyDocumentInput) (*ClassifyDocumentOutput, error) {
566	req, out := c.ClassifyDocumentRequest(input)
567	return out, req.Send()
568}
569
570// ClassifyDocumentWithContext is the same as ClassifyDocument with the addition of
571// the ability to pass a context and additional request options.
572//
573// See ClassifyDocument for details on how to use this API operation.
574//
575// The context must be non-nil and will be used for request cancellation. If
576// the context is nil a panic will occur. In the future the SDK may create
577// sub-contexts for http.Requests. See https://golang.org/pkg/context/
578// for more information on using Contexts.
579func (c *Comprehend) ClassifyDocumentWithContext(ctx aws.Context, input *ClassifyDocumentInput, opts ...request.Option) (*ClassifyDocumentOutput, error) {
580	req, out := c.ClassifyDocumentRequest(input)
581	req.SetContext(ctx)
582	req.ApplyOptions(opts...)
583	return out, req.Send()
584}
585
586const opCreateDocumentClassifier = "CreateDocumentClassifier"
587
588// CreateDocumentClassifierRequest generates a "aws/request.Request" representing the
589// client's request for the CreateDocumentClassifier operation. The "output" return
590// value will be populated with the request's response once the request completes
591// successfully.
592//
593// Use "Send" method on the returned Request to send the API call to the service.
594// the "output" return value is not valid until after Send returns without error.
595//
596// See CreateDocumentClassifier for more information on using the CreateDocumentClassifier
597// API call, and error handling.
598//
599// This method is useful when you want to inject custom logic or configuration
600// into the SDK's request lifecycle. Such as custom headers, or retry logic.
601//
602//
603//    // Example sending a request using the CreateDocumentClassifierRequest method.
604//    req, resp := client.CreateDocumentClassifierRequest(params)
605//
606//    err := req.Send()
607//    if err == nil { // resp is now filled
608//        fmt.Println(resp)
609//    }
610//
611// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/CreateDocumentClassifier
612func (c *Comprehend) CreateDocumentClassifierRequest(input *CreateDocumentClassifierInput) (req *request.Request, output *CreateDocumentClassifierOutput) {
613	op := &request.Operation{
614		Name:       opCreateDocumentClassifier,
615		HTTPMethod: "POST",
616		HTTPPath:   "/",
617	}
618
619	if input == nil {
620		input = &CreateDocumentClassifierInput{}
621	}
622
623	output = &CreateDocumentClassifierOutput{}
624	req = c.newRequest(op, input, output)
625	return
626}
627
628// CreateDocumentClassifier API operation for Amazon Comprehend.
629//
630// Creates a new document classifier that you can use to categorize documents.
631// To create a classifier you provide a set of training documents that labeled
632// with the categories that you want to use. After the classifier is trained
633// you can use it to categorize a set of labeled documents into the categories.
634// For more information, see how-document-classification.
635//
636// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
637// with awserr.Error's Code and Message methods to get detailed information about
638// the error.
639//
640// See the AWS API reference guide for Amazon Comprehend's
641// API operation CreateDocumentClassifier for usage and error information.
642//
643// Returned Error Codes:
644//   * ErrCodeInvalidRequestException "InvalidRequestException"
645//   The request is invalid.
646//
647//   * ErrCodeResourceInUseException "ResourceInUseException"
648//   The specified name is already in use. Use a different name and try your request
649//   again.
650//
651//   * ErrCodeTooManyTagsException "TooManyTagsException"
652//   The request contains more tags than can be associated with a resource (50
653//   tags per resource). The maximum number of tags includes both existing tags
654//   and those included in your current request.
655//
656//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
657//   The number of requests exceeds the limit. Resubmit your request later.
658//
659//   * ErrCodeResourceLimitExceededException "ResourceLimitExceededException"
660//   The maximum number of recognizers per account has been exceeded. Review the
661//   recognizers, perform cleanup, and then try your request again.
662//
663//   * ErrCodeUnsupportedLanguageException "UnsupportedLanguageException"
664//   Amazon Comprehend can't process the language of the input text. For all custom
665//   entity recognition APIs (such as CreateEntityRecognizer), only English is
666//   accepted. For most other APIs, such as those for Custom Classification, Amazon
667//   Comprehend accepts text in all supported languages. For a list of supported
668//   languages, see supported-languages.
669//
670//   * ErrCodeKmsKeyValidationException "KmsKeyValidationException"
671//   The KMS customer managed key (CMK) entered cannot be validated. Verify the
672//   key and re-enter it.
673//
674//   * ErrCodeInternalServerException "InternalServerException"
675//   An internal server error occurred. Retry your request.
676//
677// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/CreateDocumentClassifier
678func (c *Comprehend) CreateDocumentClassifier(input *CreateDocumentClassifierInput) (*CreateDocumentClassifierOutput, error) {
679	req, out := c.CreateDocumentClassifierRequest(input)
680	return out, req.Send()
681}
682
683// CreateDocumentClassifierWithContext is the same as CreateDocumentClassifier with the addition of
684// the ability to pass a context and additional request options.
685//
686// See CreateDocumentClassifier for details on how to use this API operation.
687//
688// The context must be non-nil and will be used for request cancellation. If
689// the context is nil a panic will occur. In the future the SDK may create
690// sub-contexts for http.Requests. See https://golang.org/pkg/context/
691// for more information on using Contexts.
692func (c *Comprehend) CreateDocumentClassifierWithContext(ctx aws.Context, input *CreateDocumentClassifierInput, opts ...request.Option) (*CreateDocumentClassifierOutput, error) {
693	req, out := c.CreateDocumentClassifierRequest(input)
694	req.SetContext(ctx)
695	req.ApplyOptions(opts...)
696	return out, req.Send()
697}
698
699const opCreateEndpoint = "CreateEndpoint"
700
701// CreateEndpointRequest generates a "aws/request.Request" representing the
702// client's request for the CreateEndpoint operation. The "output" return
703// value will be populated with the request's response once the request completes
704// successfully.
705//
706// Use "Send" method on the returned Request to send the API call to the service.
707// the "output" return value is not valid until after Send returns without error.
708//
709// See CreateEndpoint for more information on using the CreateEndpoint
710// API call, and error handling.
711//
712// This method is useful when you want to inject custom logic or configuration
713// into the SDK's request lifecycle. Such as custom headers, or retry logic.
714//
715//
716//    // Example sending a request using the CreateEndpointRequest method.
717//    req, resp := client.CreateEndpointRequest(params)
718//
719//    err := req.Send()
720//    if err == nil { // resp is now filled
721//        fmt.Println(resp)
722//    }
723//
724// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/CreateEndpoint
725func (c *Comprehend) CreateEndpointRequest(input *CreateEndpointInput) (req *request.Request, output *CreateEndpointOutput) {
726	op := &request.Operation{
727		Name:       opCreateEndpoint,
728		HTTPMethod: "POST",
729		HTTPPath:   "/",
730	}
731
732	if input == nil {
733		input = &CreateEndpointInput{}
734	}
735
736	output = &CreateEndpointOutput{}
737	req = c.newRequest(op, input, output)
738	return
739}
740
741// CreateEndpoint API operation for Amazon Comprehend.
742//
743// Creates a model-specific endpoint for synchronous inference for a previously
744// trained custom model
745//
746// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
747// with awserr.Error's Code and Message methods to get detailed information about
748// the error.
749//
750// See the AWS API reference guide for Amazon Comprehend's
751// API operation CreateEndpoint for usage and error information.
752//
753// Returned Error Codes:
754//   * ErrCodeInvalidRequestException "InvalidRequestException"
755//   The request is invalid.
756//
757//   * ErrCodeResourceInUseException "ResourceInUseException"
758//   The specified name is already in use. Use a different name and try your request
759//   again.
760//
761//   * ErrCodeResourceLimitExceededException "ResourceLimitExceededException"
762//   The maximum number of recognizers per account has been exceeded. Review the
763//   recognizers, perform cleanup, and then try your request again.
764//
765//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
766//   The specified resource ARN was not found. Check the ARN and try your request
767//   again.
768//
769//   * ErrCodeResourceUnavailableException "ResourceUnavailableException"
770//   The specified resource is not available. Check to see if the resource is
771//   in the TRAINED state and try your request again.
772//
773//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
774//   The number of requests exceeds the limit. Resubmit your request later.
775//
776//   * ErrCodeTooManyTagsException "TooManyTagsException"
777//   The request contains more tags than can be associated with a resource (50
778//   tags per resource). The maximum number of tags includes both existing tags
779//   and those included in your current request.
780//
781//   * ErrCodeInternalServerException "InternalServerException"
782//   An internal server error occurred. Retry your request.
783//
784// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/CreateEndpoint
785func (c *Comprehend) CreateEndpoint(input *CreateEndpointInput) (*CreateEndpointOutput, error) {
786	req, out := c.CreateEndpointRequest(input)
787	return out, req.Send()
788}
789
790// CreateEndpointWithContext is the same as CreateEndpoint with the addition of
791// the ability to pass a context and additional request options.
792//
793// See CreateEndpoint for details on how to use this API operation.
794//
795// The context must be non-nil and will be used for request cancellation. If
796// the context is nil a panic will occur. In the future the SDK may create
797// sub-contexts for http.Requests. See https://golang.org/pkg/context/
798// for more information on using Contexts.
799func (c *Comprehend) CreateEndpointWithContext(ctx aws.Context, input *CreateEndpointInput, opts ...request.Option) (*CreateEndpointOutput, error) {
800	req, out := c.CreateEndpointRequest(input)
801	req.SetContext(ctx)
802	req.ApplyOptions(opts...)
803	return out, req.Send()
804}
805
806const opCreateEntityRecognizer = "CreateEntityRecognizer"
807
808// CreateEntityRecognizerRequest generates a "aws/request.Request" representing the
809// client's request for the CreateEntityRecognizer operation. The "output" return
810// value will be populated with the request's response once the request completes
811// successfully.
812//
813// Use "Send" method on the returned Request to send the API call to the service.
814// the "output" return value is not valid until after Send returns without error.
815//
816// See CreateEntityRecognizer for more information on using the CreateEntityRecognizer
817// API call, and error handling.
818//
819// This method is useful when you want to inject custom logic or configuration
820// into the SDK's request lifecycle. Such as custom headers, or retry logic.
821//
822//
823//    // Example sending a request using the CreateEntityRecognizerRequest method.
824//    req, resp := client.CreateEntityRecognizerRequest(params)
825//
826//    err := req.Send()
827//    if err == nil { // resp is now filled
828//        fmt.Println(resp)
829//    }
830//
831// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/CreateEntityRecognizer
832func (c *Comprehend) CreateEntityRecognizerRequest(input *CreateEntityRecognizerInput) (req *request.Request, output *CreateEntityRecognizerOutput) {
833	op := &request.Operation{
834		Name:       opCreateEntityRecognizer,
835		HTTPMethod: "POST",
836		HTTPPath:   "/",
837	}
838
839	if input == nil {
840		input = &CreateEntityRecognizerInput{}
841	}
842
843	output = &CreateEntityRecognizerOutput{}
844	req = c.newRequest(op, input, output)
845	return
846}
847
848// CreateEntityRecognizer API operation for Amazon Comprehend.
849//
850// Creates an entity recognizer using submitted files. After your CreateEntityRecognizer
851// request is submitted, you can check job status using the API.
852//
853// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
854// with awserr.Error's Code and Message methods to get detailed information about
855// the error.
856//
857// See the AWS API reference guide for Amazon Comprehend's
858// API operation CreateEntityRecognizer for usage and error information.
859//
860// Returned Error Codes:
861//   * ErrCodeInvalidRequestException "InvalidRequestException"
862//   The request is invalid.
863//
864//   * ErrCodeResourceInUseException "ResourceInUseException"
865//   The specified name is already in use. Use a different name and try your request
866//   again.
867//
868//   * ErrCodeTooManyTagsException "TooManyTagsException"
869//   The request contains more tags than can be associated with a resource (50
870//   tags per resource). The maximum number of tags includes both existing tags
871//   and those included in your current request.
872//
873//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
874//   The number of requests exceeds the limit. Resubmit your request later.
875//
876//   * ErrCodeResourceLimitExceededException "ResourceLimitExceededException"
877//   The maximum number of recognizers per account has been exceeded. Review the
878//   recognizers, perform cleanup, and then try your request again.
879//
880//   * ErrCodeUnsupportedLanguageException "UnsupportedLanguageException"
881//   Amazon Comprehend can't process the language of the input text. For all custom
882//   entity recognition APIs (such as CreateEntityRecognizer), only English is
883//   accepted. For most other APIs, such as those for Custom Classification, Amazon
884//   Comprehend accepts text in all supported languages. For a list of supported
885//   languages, see supported-languages.
886//
887//   * ErrCodeKmsKeyValidationException "KmsKeyValidationException"
888//   The KMS customer managed key (CMK) entered cannot be validated. Verify the
889//   key and re-enter it.
890//
891//   * ErrCodeInternalServerException "InternalServerException"
892//   An internal server error occurred. Retry your request.
893//
894// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/CreateEntityRecognizer
895func (c *Comprehend) CreateEntityRecognizer(input *CreateEntityRecognizerInput) (*CreateEntityRecognizerOutput, error) {
896	req, out := c.CreateEntityRecognizerRequest(input)
897	return out, req.Send()
898}
899
900// CreateEntityRecognizerWithContext is the same as CreateEntityRecognizer with the addition of
901// the ability to pass a context and additional request options.
902//
903// See CreateEntityRecognizer for details on how to use this API operation.
904//
905// The context must be non-nil and will be used for request cancellation. If
906// the context is nil a panic will occur. In the future the SDK may create
907// sub-contexts for http.Requests. See https://golang.org/pkg/context/
908// for more information on using Contexts.
909func (c *Comprehend) CreateEntityRecognizerWithContext(ctx aws.Context, input *CreateEntityRecognizerInput, opts ...request.Option) (*CreateEntityRecognizerOutput, error) {
910	req, out := c.CreateEntityRecognizerRequest(input)
911	req.SetContext(ctx)
912	req.ApplyOptions(opts...)
913	return out, req.Send()
914}
915
916const opDeleteDocumentClassifier = "DeleteDocumentClassifier"
917
918// DeleteDocumentClassifierRequest generates a "aws/request.Request" representing the
919// client's request for the DeleteDocumentClassifier operation. The "output" return
920// value will be populated with the request's response once the request completes
921// successfully.
922//
923// Use "Send" method on the returned Request to send the API call to the service.
924// the "output" return value is not valid until after Send returns without error.
925//
926// See DeleteDocumentClassifier for more information on using the DeleteDocumentClassifier
927// API call, and error handling.
928//
929// This method is useful when you want to inject custom logic or configuration
930// into the SDK's request lifecycle. Such as custom headers, or retry logic.
931//
932//
933//    // Example sending a request using the DeleteDocumentClassifierRequest method.
934//    req, resp := client.DeleteDocumentClassifierRequest(params)
935//
936//    err := req.Send()
937//    if err == nil { // resp is now filled
938//        fmt.Println(resp)
939//    }
940//
941// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/DeleteDocumentClassifier
942func (c *Comprehend) DeleteDocumentClassifierRequest(input *DeleteDocumentClassifierInput) (req *request.Request, output *DeleteDocumentClassifierOutput) {
943	op := &request.Operation{
944		Name:       opDeleteDocumentClassifier,
945		HTTPMethod: "POST",
946		HTTPPath:   "/",
947	}
948
949	if input == nil {
950		input = &DeleteDocumentClassifierInput{}
951	}
952
953	output = &DeleteDocumentClassifierOutput{}
954	req = c.newRequest(op, input, output)
955	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
956	return
957}
958
959// DeleteDocumentClassifier API operation for Amazon Comprehend.
960//
961// Deletes a previously created document classifier
962//
963// Only those classifiers that are in terminated states (IN_ERROR, TRAINED)
964// will be deleted. If an active inference job is using the model, a ResourceInUseException
965// will be returned.
966//
967// This is an asynchronous action that puts the classifier into a DELETING state,
968// and it is then removed by a background job. Once removed, the classifier
969// disappears from your account and is no longer available for use.
970//
971// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
972// with awserr.Error's Code and Message methods to get detailed information about
973// the error.
974//
975// See the AWS API reference guide for Amazon Comprehend's
976// API operation DeleteDocumentClassifier for usage and error information.
977//
978// Returned Error Codes:
979//   * ErrCodeInvalidRequestException "InvalidRequestException"
980//   The request is invalid.
981//
982//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
983//   The number of requests exceeds the limit. Resubmit your request later.
984//
985//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
986//   The specified resource ARN was not found. Check the ARN and try your request
987//   again.
988//
989//   * ErrCodeResourceUnavailableException "ResourceUnavailableException"
990//   The specified resource is not available. Check to see if the resource is
991//   in the TRAINED state and try your request again.
992//
993//   * ErrCodeResourceInUseException "ResourceInUseException"
994//   The specified name is already in use. Use a different name and try your request
995//   again.
996//
997//   * ErrCodeInternalServerException "InternalServerException"
998//   An internal server error occurred. Retry your request.
999//
1000// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/DeleteDocumentClassifier
1001func (c *Comprehend) DeleteDocumentClassifier(input *DeleteDocumentClassifierInput) (*DeleteDocumentClassifierOutput, error) {
1002	req, out := c.DeleteDocumentClassifierRequest(input)
1003	return out, req.Send()
1004}
1005
1006// DeleteDocumentClassifierWithContext is the same as DeleteDocumentClassifier with the addition of
1007// the ability to pass a context and additional request options.
1008//
1009// See DeleteDocumentClassifier for details on how to use this API operation.
1010//
1011// The context must be non-nil and will be used for request cancellation. If
1012// the context is nil a panic will occur. In the future the SDK may create
1013// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1014// for more information on using Contexts.
1015func (c *Comprehend) DeleteDocumentClassifierWithContext(ctx aws.Context, input *DeleteDocumentClassifierInput, opts ...request.Option) (*DeleteDocumentClassifierOutput, error) {
1016	req, out := c.DeleteDocumentClassifierRequest(input)
1017	req.SetContext(ctx)
1018	req.ApplyOptions(opts...)
1019	return out, req.Send()
1020}
1021
1022const opDeleteEndpoint = "DeleteEndpoint"
1023
1024// DeleteEndpointRequest generates a "aws/request.Request" representing the
1025// client's request for the DeleteEndpoint operation. The "output" return
1026// value will be populated with the request's response once the request completes
1027// successfully.
1028//
1029// Use "Send" method on the returned Request to send the API call to the service.
1030// the "output" return value is not valid until after Send returns without error.
1031//
1032// See DeleteEndpoint for more information on using the DeleteEndpoint
1033// API call, and error handling.
1034//
1035// This method is useful when you want to inject custom logic or configuration
1036// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1037//
1038//
1039//    // Example sending a request using the DeleteEndpointRequest method.
1040//    req, resp := client.DeleteEndpointRequest(params)
1041//
1042//    err := req.Send()
1043//    if err == nil { // resp is now filled
1044//        fmt.Println(resp)
1045//    }
1046//
1047// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/DeleteEndpoint
1048func (c *Comprehend) DeleteEndpointRequest(input *DeleteEndpointInput) (req *request.Request, output *DeleteEndpointOutput) {
1049	op := &request.Operation{
1050		Name:       opDeleteEndpoint,
1051		HTTPMethod: "POST",
1052		HTTPPath:   "/",
1053	}
1054
1055	if input == nil {
1056		input = &DeleteEndpointInput{}
1057	}
1058
1059	output = &DeleteEndpointOutput{}
1060	req = c.newRequest(op, input, output)
1061	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1062	return
1063}
1064
1065// DeleteEndpoint API operation for Amazon Comprehend.
1066//
1067// Deletes a model-specific endpoint for a previously-trained custom model.
1068// All endpoints must be deleted in order for the model to be deleted.
1069//
1070// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1071// with awserr.Error's Code and Message methods to get detailed information about
1072// the error.
1073//
1074// See the AWS API reference guide for Amazon Comprehend's
1075// API operation DeleteEndpoint for usage and error information.
1076//
1077// Returned Error Codes:
1078//   * ErrCodeInvalidRequestException "InvalidRequestException"
1079//   The request is invalid.
1080//
1081//   * ErrCodeResourceInUseException "ResourceInUseException"
1082//   The specified name is already in use. Use a different name and try your request
1083//   again.
1084//
1085//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1086//   The specified resource ARN was not found. Check the ARN and try your request
1087//   again.
1088//
1089//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1090//   The number of requests exceeds the limit. Resubmit your request later.
1091//
1092//   * ErrCodeInternalServerException "InternalServerException"
1093//   An internal server error occurred. Retry your request.
1094//
1095// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/DeleteEndpoint
1096func (c *Comprehend) DeleteEndpoint(input *DeleteEndpointInput) (*DeleteEndpointOutput, error) {
1097	req, out := c.DeleteEndpointRequest(input)
1098	return out, req.Send()
1099}
1100
1101// DeleteEndpointWithContext is the same as DeleteEndpoint with the addition of
1102// the ability to pass a context and additional request options.
1103//
1104// See DeleteEndpoint for details on how to use this API operation.
1105//
1106// The context must be non-nil and will be used for request cancellation. If
1107// the context is nil a panic will occur. In the future the SDK may create
1108// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1109// for more information on using Contexts.
1110func (c *Comprehend) DeleteEndpointWithContext(ctx aws.Context, input *DeleteEndpointInput, opts ...request.Option) (*DeleteEndpointOutput, error) {
1111	req, out := c.DeleteEndpointRequest(input)
1112	req.SetContext(ctx)
1113	req.ApplyOptions(opts...)
1114	return out, req.Send()
1115}
1116
1117const opDeleteEntityRecognizer = "DeleteEntityRecognizer"
1118
1119// DeleteEntityRecognizerRequest generates a "aws/request.Request" representing the
1120// client's request for the DeleteEntityRecognizer operation. The "output" return
1121// value will be populated with the request's response once the request completes
1122// successfully.
1123//
1124// Use "Send" method on the returned Request to send the API call to the service.
1125// the "output" return value is not valid until after Send returns without error.
1126//
1127// See DeleteEntityRecognizer for more information on using the DeleteEntityRecognizer
1128// API call, and error handling.
1129//
1130// This method is useful when you want to inject custom logic or configuration
1131// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1132//
1133//
1134//    // Example sending a request using the DeleteEntityRecognizerRequest method.
1135//    req, resp := client.DeleteEntityRecognizerRequest(params)
1136//
1137//    err := req.Send()
1138//    if err == nil { // resp is now filled
1139//        fmt.Println(resp)
1140//    }
1141//
1142// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/DeleteEntityRecognizer
1143func (c *Comprehend) DeleteEntityRecognizerRequest(input *DeleteEntityRecognizerInput) (req *request.Request, output *DeleteEntityRecognizerOutput) {
1144	op := &request.Operation{
1145		Name:       opDeleteEntityRecognizer,
1146		HTTPMethod: "POST",
1147		HTTPPath:   "/",
1148	}
1149
1150	if input == nil {
1151		input = &DeleteEntityRecognizerInput{}
1152	}
1153
1154	output = &DeleteEntityRecognizerOutput{}
1155	req = c.newRequest(op, input, output)
1156	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1157	return
1158}
1159
1160// DeleteEntityRecognizer API operation for Amazon Comprehend.
1161//
1162// Deletes an entity recognizer.
1163//
1164// Only those recognizers that are in terminated states (IN_ERROR, TRAINED)
1165// will be deleted. If an active inference job is using the model, a ResourceInUseException
1166// will be returned.
1167//
1168// This is an asynchronous action that puts the recognizer into a DELETING state,
1169// and it is then removed by a background job. Once removed, the recognizer
1170// disappears from your account and is no longer available for use.
1171//
1172// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1173// with awserr.Error's Code and Message methods to get detailed information about
1174// the error.
1175//
1176// See the AWS API reference guide for Amazon Comprehend's
1177// API operation DeleteEntityRecognizer for usage and error information.
1178//
1179// Returned Error Codes:
1180//   * ErrCodeInvalidRequestException "InvalidRequestException"
1181//   The request is invalid.
1182//
1183//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1184//   The number of requests exceeds the limit. Resubmit your request later.
1185//
1186//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1187//   The specified resource ARN was not found. Check the ARN and try your request
1188//   again.
1189//
1190//   * ErrCodeResourceUnavailableException "ResourceUnavailableException"
1191//   The specified resource is not available. Check to see if the resource is
1192//   in the TRAINED state and try your request again.
1193//
1194//   * ErrCodeResourceInUseException "ResourceInUseException"
1195//   The specified name is already in use. Use a different name and try your request
1196//   again.
1197//
1198//   * ErrCodeInternalServerException "InternalServerException"
1199//   An internal server error occurred. Retry your request.
1200//
1201// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/DeleteEntityRecognizer
1202func (c *Comprehend) DeleteEntityRecognizer(input *DeleteEntityRecognizerInput) (*DeleteEntityRecognizerOutput, error) {
1203	req, out := c.DeleteEntityRecognizerRequest(input)
1204	return out, req.Send()
1205}
1206
1207// DeleteEntityRecognizerWithContext is the same as DeleteEntityRecognizer with the addition of
1208// the ability to pass a context and additional request options.
1209//
1210// See DeleteEntityRecognizer for details on how to use this API operation.
1211//
1212// The context must be non-nil and will be used for request cancellation. If
1213// the context is nil a panic will occur. In the future the SDK may create
1214// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1215// for more information on using Contexts.
1216func (c *Comprehend) DeleteEntityRecognizerWithContext(ctx aws.Context, input *DeleteEntityRecognizerInput, opts ...request.Option) (*DeleteEntityRecognizerOutput, error) {
1217	req, out := c.DeleteEntityRecognizerRequest(input)
1218	req.SetContext(ctx)
1219	req.ApplyOptions(opts...)
1220	return out, req.Send()
1221}
1222
1223const opDescribeDocumentClassificationJob = "DescribeDocumentClassificationJob"
1224
1225// DescribeDocumentClassificationJobRequest generates a "aws/request.Request" representing the
1226// client's request for the DescribeDocumentClassificationJob operation. The "output" return
1227// value will be populated with the request's response once the request completes
1228// successfully.
1229//
1230// Use "Send" method on the returned Request to send the API call to the service.
1231// the "output" return value is not valid until after Send returns without error.
1232//
1233// See DescribeDocumentClassificationJob for more information on using the DescribeDocumentClassificationJob
1234// API call, and error handling.
1235//
1236// This method is useful when you want to inject custom logic or configuration
1237// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1238//
1239//
1240//    // Example sending a request using the DescribeDocumentClassificationJobRequest method.
1241//    req, resp := client.DescribeDocumentClassificationJobRequest(params)
1242//
1243//    err := req.Send()
1244//    if err == nil { // resp is now filled
1245//        fmt.Println(resp)
1246//    }
1247//
1248// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/DescribeDocumentClassificationJob
1249func (c *Comprehend) DescribeDocumentClassificationJobRequest(input *DescribeDocumentClassificationJobInput) (req *request.Request, output *DescribeDocumentClassificationJobOutput) {
1250	op := &request.Operation{
1251		Name:       opDescribeDocumentClassificationJob,
1252		HTTPMethod: "POST",
1253		HTTPPath:   "/",
1254	}
1255
1256	if input == nil {
1257		input = &DescribeDocumentClassificationJobInput{}
1258	}
1259
1260	output = &DescribeDocumentClassificationJobOutput{}
1261	req = c.newRequest(op, input, output)
1262	return
1263}
1264
1265// DescribeDocumentClassificationJob API operation for Amazon Comprehend.
1266//
1267// Gets the properties associated with a document classification job. Use this
1268// operation to get the status of a classification job.
1269//
1270// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1271// with awserr.Error's Code and Message methods to get detailed information about
1272// the error.
1273//
1274// See the AWS API reference guide for Amazon Comprehend's
1275// API operation DescribeDocumentClassificationJob for usage and error information.
1276//
1277// Returned Error Codes:
1278//   * ErrCodeInvalidRequestException "InvalidRequestException"
1279//   The request is invalid.
1280//
1281//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1282//   The number of requests exceeds the limit. Resubmit your request later.
1283//
1284//   * ErrCodeJobNotFoundException "JobNotFoundException"
1285//   The specified job was not found. Check the job ID and try again.
1286//
1287//   * ErrCodeInternalServerException "InternalServerException"
1288//   An internal server error occurred. Retry your request.
1289//
1290// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/DescribeDocumentClassificationJob
1291func (c *Comprehend) DescribeDocumentClassificationJob(input *DescribeDocumentClassificationJobInput) (*DescribeDocumentClassificationJobOutput, error) {
1292	req, out := c.DescribeDocumentClassificationJobRequest(input)
1293	return out, req.Send()
1294}
1295
1296// DescribeDocumentClassificationJobWithContext is the same as DescribeDocumentClassificationJob with the addition of
1297// the ability to pass a context and additional request options.
1298//
1299// See DescribeDocumentClassificationJob for details on how to use this API operation.
1300//
1301// The context must be non-nil and will be used for request cancellation. If
1302// the context is nil a panic will occur. In the future the SDK may create
1303// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1304// for more information on using Contexts.
1305func (c *Comprehend) DescribeDocumentClassificationJobWithContext(ctx aws.Context, input *DescribeDocumentClassificationJobInput, opts ...request.Option) (*DescribeDocumentClassificationJobOutput, error) {
1306	req, out := c.DescribeDocumentClassificationJobRequest(input)
1307	req.SetContext(ctx)
1308	req.ApplyOptions(opts...)
1309	return out, req.Send()
1310}
1311
1312const opDescribeDocumentClassifier = "DescribeDocumentClassifier"
1313
1314// DescribeDocumentClassifierRequest generates a "aws/request.Request" representing the
1315// client's request for the DescribeDocumentClassifier operation. The "output" return
1316// value will be populated with the request's response once the request completes
1317// successfully.
1318//
1319// Use "Send" method on the returned Request to send the API call to the service.
1320// the "output" return value is not valid until after Send returns without error.
1321//
1322// See DescribeDocumentClassifier for more information on using the DescribeDocumentClassifier
1323// API call, and error handling.
1324//
1325// This method is useful when you want to inject custom logic or configuration
1326// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1327//
1328//
1329//    // Example sending a request using the DescribeDocumentClassifierRequest method.
1330//    req, resp := client.DescribeDocumentClassifierRequest(params)
1331//
1332//    err := req.Send()
1333//    if err == nil { // resp is now filled
1334//        fmt.Println(resp)
1335//    }
1336//
1337// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/DescribeDocumentClassifier
1338func (c *Comprehend) DescribeDocumentClassifierRequest(input *DescribeDocumentClassifierInput) (req *request.Request, output *DescribeDocumentClassifierOutput) {
1339	op := &request.Operation{
1340		Name:       opDescribeDocumentClassifier,
1341		HTTPMethod: "POST",
1342		HTTPPath:   "/",
1343	}
1344
1345	if input == nil {
1346		input = &DescribeDocumentClassifierInput{}
1347	}
1348
1349	output = &DescribeDocumentClassifierOutput{}
1350	req = c.newRequest(op, input, output)
1351	return
1352}
1353
1354// DescribeDocumentClassifier API operation for Amazon Comprehend.
1355//
1356// Gets the properties associated with a document classifier.
1357//
1358// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1359// with awserr.Error's Code and Message methods to get detailed information about
1360// the error.
1361//
1362// See the AWS API reference guide for Amazon Comprehend's
1363// API operation DescribeDocumentClassifier for usage and error information.
1364//
1365// Returned Error Codes:
1366//   * ErrCodeInvalidRequestException "InvalidRequestException"
1367//   The request is invalid.
1368//
1369//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1370//   The number of requests exceeds the limit. Resubmit your request later.
1371//
1372//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1373//   The specified resource ARN was not found. Check the ARN and try your request
1374//   again.
1375//
1376//   * ErrCodeInternalServerException "InternalServerException"
1377//   An internal server error occurred. Retry your request.
1378//
1379// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/DescribeDocumentClassifier
1380func (c *Comprehend) DescribeDocumentClassifier(input *DescribeDocumentClassifierInput) (*DescribeDocumentClassifierOutput, error) {
1381	req, out := c.DescribeDocumentClassifierRequest(input)
1382	return out, req.Send()
1383}
1384
1385// DescribeDocumentClassifierWithContext is the same as DescribeDocumentClassifier with the addition of
1386// the ability to pass a context and additional request options.
1387//
1388// See DescribeDocumentClassifier for details on how to use this API operation.
1389//
1390// The context must be non-nil and will be used for request cancellation. If
1391// the context is nil a panic will occur. In the future the SDK may create
1392// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1393// for more information on using Contexts.
1394func (c *Comprehend) DescribeDocumentClassifierWithContext(ctx aws.Context, input *DescribeDocumentClassifierInput, opts ...request.Option) (*DescribeDocumentClassifierOutput, error) {
1395	req, out := c.DescribeDocumentClassifierRequest(input)
1396	req.SetContext(ctx)
1397	req.ApplyOptions(opts...)
1398	return out, req.Send()
1399}
1400
1401const opDescribeDominantLanguageDetectionJob = "DescribeDominantLanguageDetectionJob"
1402
1403// DescribeDominantLanguageDetectionJobRequest generates a "aws/request.Request" representing the
1404// client's request for the DescribeDominantLanguageDetectionJob operation. The "output" return
1405// value will be populated with the request's response once the request completes
1406// successfully.
1407//
1408// Use "Send" method on the returned Request to send the API call to the service.
1409// the "output" return value is not valid until after Send returns without error.
1410//
1411// See DescribeDominantLanguageDetectionJob for more information on using the DescribeDominantLanguageDetectionJob
1412// API call, and error handling.
1413//
1414// This method is useful when you want to inject custom logic or configuration
1415// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1416//
1417//
1418//    // Example sending a request using the DescribeDominantLanguageDetectionJobRequest method.
1419//    req, resp := client.DescribeDominantLanguageDetectionJobRequest(params)
1420//
1421//    err := req.Send()
1422//    if err == nil { // resp is now filled
1423//        fmt.Println(resp)
1424//    }
1425//
1426// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/DescribeDominantLanguageDetectionJob
1427func (c *Comprehend) DescribeDominantLanguageDetectionJobRequest(input *DescribeDominantLanguageDetectionJobInput) (req *request.Request, output *DescribeDominantLanguageDetectionJobOutput) {
1428	op := &request.Operation{
1429		Name:       opDescribeDominantLanguageDetectionJob,
1430		HTTPMethod: "POST",
1431		HTTPPath:   "/",
1432	}
1433
1434	if input == nil {
1435		input = &DescribeDominantLanguageDetectionJobInput{}
1436	}
1437
1438	output = &DescribeDominantLanguageDetectionJobOutput{}
1439	req = c.newRequest(op, input, output)
1440	return
1441}
1442
1443// DescribeDominantLanguageDetectionJob API operation for Amazon Comprehend.
1444//
1445// Gets the properties associated with a dominant language detection job. Use
1446// this operation to get the status of a detection job.
1447//
1448// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1449// with awserr.Error's Code and Message methods to get detailed information about
1450// the error.
1451//
1452// See the AWS API reference guide for Amazon Comprehend's
1453// API operation DescribeDominantLanguageDetectionJob for usage and error information.
1454//
1455// Returned Error Codes:
1456//   * ErrCodeInvalidRequestException "InvalidRequestException"
1457//   The request is invalid.
1458//
1459//   * ErrCodeJobNotFoundException "JobNotFoundException"
1460//   The specified job was not found. Check the job ID and try again.
1461//
1462//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1463//   The number of requests exceeds the limit. Resubmit your request later.
1464//
1465//   * ErrCodeInternalServerException "InternalServerException"
1466//   An internal server error occurred. Retry your request.
1467//
1468// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/DescribeDominantLanguageDetectionJob
1469func (c *Comprehend) DescribeDominantLanguageDetectionJob(input *DescribeDominantLanguageDetectionJobInput) (*DescribeDominantLanguageDetectionJobOutput, error) {
1470	req, out := c.DescribeDominantLanguageDetectionJobRequest(input)
1471	return out, req.Send()
1472}
1473
1474// DescribeDominantLanguageDetectionJobWithContext is the same as DescribeDominantLanguageDetectionJob with the addition of
1475// the ability to pass a context and additional request options.
1476//
1477// See DescribeDominantLanguageDetectionJob for details on how to use this API operation.
1478//
1479// The context must be non-nil and will be used for request cancellation. If
1480// the context is nil a panic will occur. In the future the SDK may create
1481// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1482// for more information on using Contexts.
1483func (c *Comprehend) DescribeDominantLanguageDetectionJobWithContext(ctx aws.Context, input *DescribeDominantLanguageDetectionJobInput, opts ...request.Option) (*DescribeDominantLanguageDetectionJobOutput, error) {
1484	req, out := c.DescribeDominantLanguageDetectionJobRequest(input)
1485	req.SetContext(ctx)
1486	req.ApplyOptions(opts...)
1487	return out, req.Send()
1488}
1489
1490const opDescribeEndpoint = "DescribeEndpoint"
1491
1492// DescribeEndpointRequest generates a "aws/request.Request" representing the
1493// client's request for the DescribeEndpoint operation. The "output" return
1494// value will be populated with the request's response once the request completes
1495// successfully.
1496//
1497// Use "Send" method on the returned Request to send the API call to the service.
1498// the "output" return value is not valid until after Send returns without error.
1499//
1500// See DescribeEndpoint for more information on using the DescribeEndpoint
1501// API call, and error handling.
1502//
1503// This method is useful when you want to inject custom logic or configuration
1504// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1505//
1506//
1507//    // Example sending a request using the DescribeEndpointRequest method.
1508//    req, resp := client.DescribeEndpointRequest(params)
1509//
1510//    err := req.Send()
1511//    if err == nil { // resp is now filled
1512//        fmt.Println(resp)
1513//    }
1514//
1515// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/DescribeEndpoint
1516func (c *Comprehend) DescribeEndpointRequest(input *DescribeEndpointInput) (req *request.Request, output *DescribeEndpointOutput) {
1517	op := &request.Operation{
1518		Name:       opDescribeEndpoint,
1519		HTTPMethod: "POST",
1520		HTTPPath:   "/",
1521	}
1522
1523	if input == nil {
1524		input = &DescribeEndpointInput{}
1525	}
1526
1527	output = &DescribeEndpointOutput{}
1528	req = c.newRequest(op, input, output)
1529	return
1530}
1531
1532// DescribeEndpoint API operation for Amazon Comprehend.
1533//
1534// Gets the properties associated with a specific endpoint. Use this operation
1535// to get the status of an endpoint.
1536//
1537// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1538// with awserr.Error's Code and Message methods to get detailed information about
1539// the error.
1540//
1541// See the AWS API reference guide for Amazon Comprehend's
1542// API operation DescribeEndpoint for usage and error information.
1543//
1544// Returned Error Codes:
1545//   * ErrCodeInvalidRequestException "InvalidRequestException"
1546//   The request is invalid.
1547//
1548//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1549//   The number of requests exceeds the limit. Resubmit your request later.
1550//
1551//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1552//   The specified resource ARN was not found. Check the ARN and try your request
1553//   again.
1554//
1555//   * ErrCodeInternalServerException "InternalServerException"
1556//   An internal server error occurred. Retry your request.
1557//
1558// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/DescribeEndpoint
1559func (c *Comprehend) DescribeEndpoint(input *DescribeEndpointInput) (*DescribeEndpointOutput, error) {
1560	req, out := c.DescribeEndpointRequest(input)
1561	return out, req.Send()
1562}
1563
1564// DescribeEndpointWithContext is the same as DescribeEndpoint with the addition of
1565// the ability to pass a context and additional request options.
1566//
1567// See DescribeEndpoint for details on how to use this API operation.
1568//
1569// The context must be non-nil and will be used for request cancellation. If
1570// the context is nil a panic will occur. In the future the SDK may create
1571// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1572// for more information on using Contexts.
1573func (c *Comprehend) DescribeEndpointWithContext(ctx aws.Context, input *DescribeEndpointInput, opts ...request.Option) (*DescribeEndpointOutput, error) {
1574	req, out := c.DescribeEndpointRequest(input)
1575	req.SetContext(ctx)
1576	req.ApplyOptions(opts...)
1577	return out, req.Send()
1578}
1579
1580const opDescribeEntitiesDetectionJob = "DescribeEntitiesDetectionJob"
1581
1582// DescribeEntitiesDetectionJobRequest generates a "aws/request.Request" representing the
1583// client's request for the DescribeEntitiesDetectionJob 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 DescribeEntitiesDetectionJob for more information on using the DescribeEntitiesDetectionJob
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 DescribeEntitiesDetectionJobRequest method.
1598//    req, resp := client.DescribeEntitiesDetectionJobRequest(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/comprehend-2017-11-27/DescribeEntitiesDetectionJob
1606func (c *Comprehend) DescribeEntitiesDetectionJobRequest(input *DescribeEntitiesDetectionJobInput) (req *request.Request, output *DescribeEntitiesDetectionJobOutput) {
1607	op := &request.Operation{
1608		Name:       opDescribeEntitiesDetectionJob,
1609		HTTPMethod: "POST",
1610		HTTPPath:   "/",
1611	}
1612
1613	if input == nil {
1614		input = &DescribeEntitiesDetectionJobInput{}
1615	}
1616
1617	output = &DescribeEntitiesDetectionJobOutput{}
1618	req = c.newRequest(op, input, output)
1619	return
1620}
1621
1622// DescribeEntitiesDetectionJob API operation for Amazon Comprehend.
1623//
1624// Gets the properties associated with an entities detection job. Use this operation
1625// to get the status of a detection job.
1626//
1627// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1628// with awserr.Error's Code and Message methods to get detailed information about
1629// the error.
1630//
1631// See the AWS API reference guide for Amazon Comprehend's
1632// API operation DescribeEntitiesDetectionJob for usage and error information.
1633//
1634// Returned Error Codes:
1635//   * ErrCodeInvalidRequestException "InvalidRequestException"
1636//   The request is invalid.
1637//
1638//   * ErrCodeJobNotFoundException "JobNotFoundException"
1639//   The specified job was not found. Check the job ID and try again.
1640//
1641//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1642//   The number of requests exceeds the limit. Resubmit your request later.
1643//
1644//   * ErrCodeInternalServerException "InternalServerException"
1645//   An internal server error occurred. Retry your request.
1646//
1647// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/DescribeEntitiesDetectionJob
1648func (c *Comprehend) DescribeEntitiesDetectionJob(input *DescribeEntitiesDetectionJobInput) (*DescribeEntitiesDetectionJobOutput, error) {
1649	req, out := c.DescribeEntitiesDetectionJobRequest(input)
1650	return out, req.Send()
1651}
1652
1653// DescribeEntitiesDetectionJobWithContext is the same as DescribeEntitiesDetectionJob with the addition of
1654// the ability to pass a context and additional request options.
1655//
1656// See DescribeEntitiesDetectionJob for details on how to use this API operation.
1657//
1658// The context must be non-nil and will be used for request cancellation. If
1659// the context is nil a panic will occur. In the future the SDK may create
1660// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1661// for more information on using Contexts.
1662func (c *Comprehend) DescribeEntitiesDetectionJobWithContext(ctx aws.Context, input *DescribeEntitiesDetectionJobInput, opts ...request.Option) (*DescribeEntitiesDetectionJobOutput, error) {
1663	req, out := c.DescribeEntitiesDetectionJobRequest(input)
1664	req.SetContext(ctx)
1665	req.ApplyOptions(opts...)
1666	return out, req.Send()
1667}
1668
1669const opDescribeEntityRecognizer = "DescribeEntityRecognizer"
1670
1671// DescribeEntityRecognizerRequest generates a "aws/request.Request" representing the
1672// client's request for the DescribeEntityRecognizer operation. The "output" return
1673// value will be populated with the request's response once the request completes
1674// successfully.
1675//
1676// Use "Send" method on the returned Request to send the API call to the service.
1677// the "output" return value is not valid until after Send returns without error.
1678//
1679// See DescribeEntityRecognizer for more information on using the DescribeEntityRecognizer
1680// API call, and error handling.
1681//
1682// This method is useful when you want to inject custom logic or configuration
1683// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1684//
1685//
1686//    // Example sending a request using the DescribeEntityRecognizerRequest method.
1687//    req, resp := client.DescribeEntityRecognizerRequest(params)
1688//
1689//    err := req.Send()
1690//    if err == nil { // resp is now filled
1691//        fmt.Println(resp)
1692//    }
1693//
1694// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/DescribeEntityRecognizer
1695func (c *Comprehend) DescribeEntityRecognizerRequest(input *DescribeEntityRecognizerInput) (req *request.Request, output *DescribeEntityRecognizerOutput) {
1696	op := &request.Operation{
1697		Name:       opDescribeEntityRecognizer,
1698		HTTPMethod: "POST",
1699		HTTPPath:   "/",
1700	}
1701
1702	if input == nil {
1703		input = &DescribeEntityRecognizerInput{}
1704	}
1705
1706	output = &DescribeEntityRecognizerOutput{}
1707	req = c.newRequest(op, input, output)
1708	return
1709}
1710
1711// DescribeEntityRecognizer API operation for Amazon Comprehend.
1712//
1713// Provides details about an entity recognizer including status, S3 buckets
1714// containing training data, recognizer metadata, metrics, and so on.
1715//
1716// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1717// with awserr.Error's Code and Message methods to get detailed information about
1718// the error.
1719//
1720// See the AWS API reference guide for Amazon Comprehend's
1721// API operation DescribeEntityRecognizer for usage and error information.
1722//
1723// Returned Error Codes:
1724//   * ErrCodeInvalidRequestException "InvalidRequestException"
1725//   The request is invalid.
1726//
1727//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1728//   The number of requests exceeds the limit. Resubmit your request later.
1729//
1730//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1731//   The specified resource ARN was not found. Check the ARN and try your request
1732//   again.
1733//
1734//   * ErrCodeInternalServerException "InternalServerException"
1735//   An internal server error occurred. Retry your request.
1736//
1737// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/DescribeEntityRecognizer
1738func (c *Comprehend) DescribeEntityRecognizer(input *DescribeEntityRecognizerInput) (*DescribeEntityRecognizerOutput, error) {
1739	req, out := c.DescribeEntityRecognizerRequest(input)
1740	return out, req.Send()
1741}
1742
1743// DescribeEntityRecognizerWithContext is the same as DescribeEntityRecognizer with the addition of
1744// the ability to pass a context and additional request options.
1745//
1746// See DescribeEntityRecognizer for details on how to use this API operation.
1747//
1748// The context must be non-nil and will be used for request cancellation. If
1749// the context is nil a panic will occur. In the future the SDK may create
1750// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1751// for more information on using Contexts.
1752func (c *Comprehend) DescribeEntityRecognizerWithContext(ctx aws.Context, input *DescribeEntityRecognizerInput, opts ...request.Option) (*DescribeEntityRecognizerOutput, error) {
1753	req, out := c.DescribeEntityRecognizerRequest(input)
1754	req.SetContext(ctx)
1755	req.ApplyOptions(opts...)
1756	return out, req.Send()
1757}
1758
1759const opDescribeKeyPhrasesDetectionJob = "DescribeKeyPhrasesDetectionJob"
1760
1761// DescribeKeyPhrasesDetectionJobRequest generates a "aws/request.Request" representing the
1762// client's request for the DescribeKeyPhrasesDetectionJob operation. The "output" return
1763// value will be populated with the request's response once the request completes
1764// successfully.
1765//
1766// Use "Send" method on the returned Request to send the API call to the service.
1767// the "output" return value is not valid until after Send returns without error.
1768//
1769// See DescribeKeyPhrasesDetectionJob for more information on using the DescribeKeyPhrasesDetectionJob
1770// API call, and error handling.
1771//
1772// This method is useful when you want to inject custom logic or configuration
1773// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1774//
1775//
1776//    // Example sending a request using the DescribeKeyPhrasesDetectionJobRequest method.
1777//    req, resp := client.DescribeKeyPhrasesDetectionJobRequest(params)
1778//
1779//    err := req.Send()
1780//    if err == nil { // resp is now filled
1781//        fmt.Println(resp)
1782//    }
1783//
1784// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/DescribeKeyPhrasesDetectionJob
1785func (c *Comprehend) DescribeKeyPhrasesDetectionJobRequest(input *DescribeKeyPhrasesDetectionJobInput) (req *request.Request, output *DescribeKeyPhrasesDetectionJobOutput) {
1786	op := &request.Operation{
1787		Name:       opDescribeKeyPhrasesDetectionJob,
1788		HTTPMethod: "POST",
1789		HTTPPath:   "/",
1790	}
1791
1792	if input == nil {
1793		input = &DescribeKeyPhrasesDetectionJobInput{}
1794	}
1795
1796	output = &DescribeKeyPhrasesDetectionJobOutput{}
1797	req = c.newRequest(op, input, output)
1798	return
1799}
1800
1801// DescribeKeyPhrasesDetectionJob API operation for Amazon Comprehend.
1802//
1803// Gets the properties associated with a key phrases detection job. Use this
1804// operation to get the status of a detection job.
1805//
1806// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1807// with awserr.Error's Code and Message methods to get detailed information about
1808// the error.
1809//
1810// See the AWS API reference guide for Amazon Comprehend's
1811// API operation DescribeKeyPhrasesDetectionJob for usage and error information.
1812//
1813// Returned Error Codes:
1814//   * ErrCodeInvalidRequestException "InvalidRequestException"
1815//   The request is invalid.
1816//
1817//   * ErrCodeJobNotFoundException "JobNotFoundException"
1818//   The specified job was not found. Check the job ID and try again.
1819//
1820//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1821//   The number of requests exceeds the limit. Resubmit your request later.
1822//
1823//   * ErrCodeInternalServerException "InternalServerException"
1824//   An internal server error occurred. Retry your request.
1825//
1826// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/DescribeKeyPhrasesDetectionJob
1827func (c *Comprehend) DescribeKeyPhrasesDetectionJob(input *DescribeKeyPhrasesDetectionJobInput) (*DescribeKeyPhrasesDetectionJobOutput, error) {
1828	req, out := c.DescribeKeyPhrasesDetectionJobRequest(input)
1829	return out, req.Send()
1830}
1831
1832// DescribeKeyPhrasesDetectionJobWithContext is the same as DescribeKeyPhrasesDetectionJob with the addition of
1833// the ability to pass a context and additional request options.
1834//
1835// See DescribeKeyPhrasesDetectionJob for details on how to use this API operation.
1836//
1837// The context must be non-nil and will be used for request cancellation. If
1838// the context is nil a panic will occur. In the future the SDK may create
1839// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1840// for more information on using Contexts.
1841func (c *Comprehend) DescribeKeyPhrasesDetectionJobWithContext(ctx aws.Context, input *DescribeKeyPhrasesDetectionJobInput, opts ...request.Option) (*DescribeKeyPhrasesDetectionJobOutput, error) {
1842	req, out := c.DescribeKeyPhrasesDetectionJobRequest(input)
1843	req.SetContext(ctx)
1844	req.ApplyOptions(opts...)
1845	return out, req.Send()
1846}
1847
1848const opDescribeSentimentDetectionJob = "DescribeSentimentDetectionJob"
1849
1850// DescribeSentimentDetectionJobRequest generates a "aws/request.Request" representing the
1851// client's request for the DescribeSentimentDetectionJob operation. The "output" return
1852// value will be populated with the request's response once the request completes
1853// successfully.
1854//
1855// Use "Send" method on the returned Request to send the API call to the service.
1856// the "output" return value is not valid until after Send returns without error.
1857//
1858// See DescribeSentimentDetectionJob for more information on using the DescribeSentimentDetectionJob
1859// API call, and error handling.
1860//
1861// This method is useful when you want to inject custom logic or configuration
1862// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1863//
1864//
1865//    // Example sending a request using the DescribeSentimentDetectionJobRequest method.
1866//    req, resp := client.DescribeSentimentDetectionJobRequest(params)
1867//
1868//    err := req.Send()
1869//    if err == nil { // resp is now filled
1870//        fmt.Println(resp)
1871//    }
1872//
1873// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/DescribeSentimentDetectionJob
1874func (c *Comprehend) DescribeSentimentDetectionJobRequest(input *DescribeSentimentDetectionJobInput) (req *request.Request, output *DescribeSentimentDetectionJobOutput) {
1875	op := &request.Operation{
1876		Name:       opDescribeSentimentDetectionJob,
1877		HTTPMethod: "POST",
1878		HTTPPath:   "/",
1879	}
1880
1881	if input == nil {
1882		input = &DescribeSentimentDetectionJobInput{}
1883	}
1884
1885	output = &DescribeSentimentDetectionJobOutput{}
1886	req = c.newRequest(op, input, output)
1887	return
1888}
1889
1890// DescribeSentimentDetectionJob API operation for Amazon Comprehend.
1891//
1892// Gets the properties associated with a sentiment detection job. Use this operation
1893// to get the status of a detection job.
1894//
1895// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1896// with awserr.Error's Code and Message methods to get detailed information about
1897// the error.
1898//
1899// See the AWS API reference guide for Amazon Comprehend's
1900// API operation DescribeSentimentDetectionJob for usage and error information.
1901//
1902// Returned Error Codes:
1903//   * ErrCodeInvalidRequestException "InvalidRequestException"
1904//   The request is invalid.
1905//
1906//   * ErrCodeJobNotFoundException "JobNotFoundException"
1907//   The specified job was not found. Check the job ID and try again.
1908//
1909//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1910//   The number of requests exceeds the limit. Resubmit your request later.
1911//
1912//   * ErrCodeInternalServerException "InternalServerException"
1913//   An internal server error occurred. Retry your request.
1914//
1915// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/DescribeSentimentDetectionJob
1916func (c *Comprehend) DescribeSentimentDetectionJob(input *DescribeSentimentDetectionJobInput) (*DescribeSentimentDetectionJobOutput, error) {
1917	req, out := c.DescribeSentimentDetectionJobRequest(input)
1918	return out, req.Send()
1919}
1920
1921// DescribeSentimentDetectionJobWithContext is the same as DescribeSentimentDetectionJob with the addition of
1922// the ability to pass a context and additional request options.
1923//
1924// See DescribeSentimentDetectionJob for details on how to use this API operation.
1925//
1926// The context must be non-nil and will be used for request cancellation. If
1927// the context is nil a panic will occur. In the future the SDK may create
1928// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1929// for more information on using Contexts.
1930func (c *Comprehend) DescribeSentimentDetectionJobWithContext(ctx aws.Context, input *DescribeSentimentDetectionJobInput, opts ...request.Option) (*DescribeSentimentDetectionJobOutput, error) {
1931	req, out := c.DescribeSentimentDetectionJobRequest(input)
1932	req.SetContext(ctx)
1933	req.ApplyOptions(opts...)
1934	return out, req.Send()
1935}
1936
1937const opDescribeTopicsDetectionJob = "DescribeTopicsDetectionJob"
1938
1939// DescribeTopicsDetectionJobRequest generates a "aws/request.Request" representing the
1940// client's request for the DescribeTopicsDetectionJob operation. The "output" return
1941// value will be populated with the request's response once the request completes
1942// successfully.
1943//
1944// Use "Send" method on the returned Request to send the API call to the service.
1945// the "output" return value is not valid until after Send returns without error.
1946//
1947// See DescribeTopicsDetectionJob for more information on using the DescribeTopicsDetectionJob
1948// API call, and error handling.
1949//
1950// This method is useful when you want to inject custom logic or configuration
1951// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1952//
1953//
1954//    // Example sending a request using the DescribeTopicsDetectionJobRequest method.
1955//    req, resp := client.DescribeTopicsDetectionJobRequest(params)
1956//
1957//    err := req.Send()
1958//    if err == nil { // resp is now filled
1959//        fmt.Println(resp)
1960//    }
1961//
1962// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/DescribeTopicsDetectionJob
1963func (c *Comprehend) DescribeTopicsDetectionJobRequest(input *DescribeTopicsDetectionJobInput) (req *request.Request, output *DescribeTopicsDetectionJobOutput) {
1964	op := &request.Operation{
1965		Name:       opDescribeTopicsDetectionJob,
1966		HTTPMethod: "POST",
1967		HTTPPath:   "/",
1968	}
1969
1970	if input == nil {
1971		input = &DescribeTopicsDetectionJobInput{}
1972	}
1973
1974	output = &DescribeTopicsDetectionJobOutput{}
1975	req = c.newRequest(op, input, output)
1976	return
1977}
1978
1979// DescribeTopicsDetectionJob API operation for Amazon Comprehend.
1980//
1981// Gets the properties associated with a topic detection job. Use this operation
1982// to get the status of a detection job.
1983//
1984// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1985// with awserr.Error's Code and Message methods to get detailed information about
1986// the error.
1987//
1988// See the AWS API reference guide for Amazon Comprehend's
1989// API operation DescribeTopicsDetectionJob for usage and error information.
1990//
1991// Returned Error Codes:
1992//   * ErrCodeInvalidRequestException "InvalidRequestException"
1993//   The request is invalid.
1994//
1995//   * ErrCodeJobNotFoundException "JobNotFoundException"
1996//   The specified job was not found. Check the job ID and try again.
1997//
1998//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
1999//   The number of requests exceeds the limit. Resubmit your request later.
2000//
2001//   * ErrCodeInternalServerException "InternalServerException"
2002//   An internal server error occurred. Retry your request.
2003//
2004// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/DescribeTopicsDetectionJob
2005func (c *Comprehend) DescribeTopicsDetectionJob(input *DescribeTopicsDetectionJobInput) (*DescribeTopicsDetectionJobOutput, error) {
2006	req, out := c.DescribeTopicsDetectionJobRequest(input)
2007	return out, req.Send()
2008}
2009
2010// DescribeTopicsDetectionJobWithContext is the same as DescribeTopicsDetectionJob with the addition of
2011// the ability to pass a context and additional request options.
2012//
2013// See DescribeTopicsDetectionJob for details on how to use this API operation.
2014//
2015// The context must be non-nil and will be used for request cancellation. If
2016// the context is nil a panic will occur. In the future the SDK may create
2017// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2018// for more information on using Contexts.
2019func (c *Comprehend) DescribeTopicsDetectionJobWithContext(ctx aws.Context, input *DescribeTopicsDetectionJobInput, opts ...request.Option) (*DescribeTopicsDetectionJobOutput, error) {
2020	req, out := c.DescribeTopicsDetectionJobRequest(input)
2021	req.SetContext(ctx)
2022	req.ApplyOptions(opts...)
2023	return out, req.Send()
2024}
2025
2026const opDetectDominantLanguage = "DetectDominantLanguage"
2027
2028// DetectDominantLanguageRequest generates a "aws/request.Request" representing the
2029// client's request for the DetectDominantLanguage operation. The "output" return
2030// value will be populated with the request's response once the request completes
2031// successfully.
2032//
2033// Use "Send" method on the returned Request to send the API call to the service.
2034// the "output" return value is not valid until after Send returns without error.
2035//
2036// See DetectDominantLanguage for more information on using the DetectDominantLanguage
2037// API call, and error handling.
2038//
2039// This method is useful when you want to inject custom logic or configuration
2040// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2041//
2042//
2043//    // Example sending a request using the DetectDominantLanguageRequest method.
2044//    req, resp := client.DetectDominantLanguageRequest(params)
2045//
2046//    err := req.Send()
2047//    if err == nil { // resp is now filled
2048//        fmt.Println(resp)
2049//    }
2050//
2051// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/DetectDominantLanguage
2052func (c *Comprehend) DetectDominantLanguageRequest(input *DetectDominantLanguageInput) (req *request.Request, output *DetectDominantLanguageOutput) {
2053	op := &request.Operation{
2054		Name:       opDetectDominantLanguage,
2055		HTTPMethod: "POST",
2056		HTTPPath:   "/",
2057	}
2058
2059	if input == nil {
2060		input = &DetectDominantLanguageInput{}
2061	}
2062
2063	output = &DetectDominantLanguageOutput{}
2064	req = c.newRequest(op, input, output)
2065	return
2066}
2067
2068// DetectDominantLanguage API operation for Amazon Comprehend.
2069//
2070// Determines the dominant language of the input text. For a list of languages
2071// that Amazon Comprehend can detect, see Amazon Comprehend Supported Languages
2072// (https://docs.aws.amazon.com/comprehend/latest/dg/how-languages.html).
2073//
2074// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2075// with awserr.Error's Code and Message methods to get detailed information about
2076// the error.
2077//
2078// See the AWS API reference guide for Amazon Comprehend's
2079// API operation DetectDominantLanguage for usage and error information.
2080//
2081// Returned Error Codes:
2082//   * ErrCodeInvalidRequestException "InvalidRequestException"
2083//   The request is invalid.
2084//
2085//   * ErrCodeTextSizeLimitExceededException "TextSizeLimitExceededException"
2086//   The size of the input text exceeds the limit. Use a smaller document.
2087//
2088//   * ErrCodeInternalServerException "InternalServerException"
2089//   An internal server error occurred. Retry your request.
2090//
2091// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/DetectDominantLanguage
2092func (c *Comprehend) DetectDominantLanguage(input *DetectDominantLanguageInput) (*DetectDominantLanguageOutput, error) {
2093	req, out := c.DetectDominantLanguageRequest(input)
2094	return out, req.Send()
2095}
2096
2097// DetectDominantLanguageWithContext is the same as DetectDominantLanguage with the addition of
2098// the ability to pass a context and additional request options.
2099//
2100// See DetectDominantLanguage for details on how to use this API operation.
2101//
2102// The context must be non-nil and will be used for request cancellation. If
2103// the context is nil a panic will occur. In the future the SDK may create
2104// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2105// for more information on using Contexts.
2106func (c *Comprehend) DetectDominantLanguageWithContext(ctx aws.Context, input *DetectDominantLanguageInput, opts ...request.Option) (*DetectDominantLanguageOutput, error) {
2107	req, out := c.DetectDominantLanguageRequest(input)
2108	req.SetContext(ctx)
2109	req.ApplyOptions(opts...)
2110	return out, req.Send()
2111}
2112
2113const opDetectEntities = "DetectEntities"
2114
2115// DetectEntitiesRequest generates a "aws/request.Request" representing the
2116// client's request for the DetectEntities operation. The "output" return
2117// value will be populated with the request's response once the request completes
2118// successfully.
2119//
2120// Use "Send" method on the returned Request to send the API call to the service.
2121// the "output" return value is not valid until after Send returns without error.
2122//
2123// See DetectEntities for more information on using the DetectEntities
2124// API call, and error handling.
2125//
2126// This method is useful when you want to inject custom logic or configuration
2127// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2128//
2129//
2130//    // Example sending a request using the DetectEntitiesRequest method.
2131//    req, resp := client.DetectEntitiesRequest(params)
2132//
2133//    err := req.Send()
2134//    if err == nil { // resp is now filled
2135//        fmt.Println(resp)
2136//    }
2137//
2138// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/DetectEntities
2139func (c *Comprehend) DetectEntitiesRequest(input *DetectEntitiesInput) (req *request.Request, output *DetectEntitiesOutput) {
2140	op := &request.Operation{
2141		Name:       opDetectEntities,
2142		HTTPMethod: "POST",
2143		HTTPPath:   "/",
2144	}
2145
2146	if input == nil {
2147		input = &DetectEntitiesInput{}
2148	}
2149
2150	output = &DetectEntitiesOutput{}
2151	req = c.newRequest(op, input, output)
2152	return
2153}
2154
2155// DetectEntities API operation for Amazon Comprehend.
2156//
2157// Inspects text for named entities, and returns information about them. For
2158// more information, about named entities, see how-entities.
2159//
2160// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2161// with awserr.Error's Code and Message methods to get detailed information about
2162// the error.
2163//
2164// See the AWS API reference guide for Amazon Comprehend's
2165// API operation DetectEntities for usage and error information.
2166//
2167// Returned Error Codes:
2168//   * ErrCodeInvalidRequestException "InvalidRequestException"
2169//   The request is invalid.
2170//
2171//   * ErrCodeTextSizeLimitExceededException "TextSizeLimitExceededException"
2172//   The size of the input text exceeds the limit. Use a smaller document.
2173//
2174//   * ErrCodeUnsupportedLanguageException "UnsupportedLanguageException"
2175//   Amazon Comprehend can't process the language of the input text. For all custom
2176//   entity recognition APIs (such as CreateEntityRecognizer), only English is
2177//   accepted. For most other APIs, such as those for Custom Classification, Amazon
2178//   Comprehend accepts text in all supported languages. For a list of supported
2179//   languages, see supported-languages.
2180//
2181//   * ErrCodeInternalServerException "InternalServerException"
2182//   An internal server error occurred. Retry your request.
2183//
2184// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/DetectEntities
2185func (c *Comprehend) DetectEntities(input *DetectEntitiesInput) (*DetectEntitiesOutput, error) {
2186	req, out := c.DetectEntitiesRequest(input)
2187	return out, req.Send()
2188}
2189
2190// DetectEntitiesWithContext is the same as DetectEntities with the addition of
2191// the ability to pass a context and additional request options.
2192//
2193// See DetectEntities for details on how to use this API operation.
2194//
2195// The context must be non-nil and will be used for request cancellation. If
2196// the context is nil a panic will occur. In the future the SDK may create
2197// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2198// for more information on using Contexts.
2199func (c *Comprehend) DetectEntitiesWithContext(ctx aws.Context, input *DetectEntitiesInput, opts ...request.Option) (*DetectEntitiesOutput, error) {
2200	req, out := c.DetectEntitiesRequest(input)
2201	req.SetContext(ctx)
2202	req.ApplyOptions(opts...)
2203	return out, req.Send()
2204}
2205
2206const opDetectKeyPhrases = "DetectKeyPhrases"
2207
2208// DetectKeyPhrasesRequest generates a "aws/request.Request" representing the
2209// client's request for the DetectKeyPhrases operation. The "output" return
2210// value will be populated with the request's response once the request completes
2211// successfully.
2212//
2213// Use "Send" method on the returned Request to send the API call to the service.
2214// the "output" return value is not valid until after Send returns without error.
2215//
2216// See DetectKeyPhrases for more information on using the DetectKeyPhrases
2217// API call, and error handling.
2218//
2219// This method is useful when you want to inject custom logic or configuration
2220// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2221//
2222//
2223//    // Example sending a request using the DetectKeyPhrasesRequest method.
2224//    req, resp := client.DetectKeyPhrasesRequest(params)
2225//
2226//    err := req.Send()
2227//    if err == nil { // resp is now filled
2228//        fmt.Println(resp)
2229//    }
2230//
2231// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/DetectKeyPhrases
2232func (c *Comprehend) DetectKeyPhrasesRequest(input *DetectKeyPhrasesInput) (req *request.Request, output *DetectKeyPhrasesOutput) {
2233	op := &request.Operation{
2234		Name:       opDetectKeyPhrases,
2235		HTTPMethod: "POST",
2236		HTTPPath:   "/",
2237	}
2238
2239	if input == nil {
2240		input = &DetectKeyPhrasesInput{}
2241	}
2242
2243	output = &DetectKeyPhrasesOutput{}
2244	req = c.newRequest(op, input, output)
2245	return
2246}
2247
2248// DetectKeyPhrases API operation for Amazon Comprehend.
2249//
2250// Detects the key noun phrases found in the text.
2251//
2252// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2253// with awserr.Error's Code and Message methods to get detailed information about
2254// the error.
2255//
2256// See the AWS API reference guide for Amazon Comprehend's
2257// API operation DetectKeyPhrases for usage and error information.
2258//
2259// Returned Error Codes:
2260//   * ErrCodeInvalidRequestException "InvalidRequestException"
2261//   The request is invalid.
2262//
2263//   * ErrCodeTextSizeLimitExceededException "TextSizeLimitExceededException"
2264//   The size of the input text exceeds the limit. Use a smaller document.
2265//
2266//   * ErrCodeUnsupportedLanguageException "UnsupportedLanguageException"
2267//   Amazon Comprehend can't process the language of the input text. For all custom
2268//   entity recognition APIs (such as CreateEntityRecognizer), only English is
2269//   accepted. For most other APIs, such as those for Custom Classification, Amazon
2270//   Comprehend accepts text in all supported languages. For a list of supported
2271//   languages, see supported-languages.
2272//
2273//   * ErrCodeInternalServerException "InternalServerException"
2274//   An internal server error occurred. Retry your request.
2275//
2276// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/DetectKeyPhrases
2277func (c *Comprehend) DetectKeyPhrases(input *DetectKeyPhrasesInput) (*DetectKeyPhrasesOutput, error) {
2278	req, out := c.DetectKeyPhrasesRequest(input)
2279	return out, req.Send()
2280}
2281
2282// DetectKeyPhrasesWithContext is the same as DetectKeyPhrases with the addition of
2283// the ability to pass a context and additional request options.
2284//
2285// See DetectKeyPhrases for details on how to use this API operation.
2286//
2287// The context must be non-nil and will be used for request cancellation. If
2288// the context is nil a panic will occur. In the future the SDK may create
2289// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2290// for more information on using Contexts.
2291func (c *Comprehend) DetectKeyPhrasesWithContext(ctx aws.Context, input *DetectKeyPhrasesInput, opts ...request.Option) (*DetectKeyPhrasesOutput, error) {
2292	req, out := c.DetectKeyPhrasesRequest(input)
2293	req.SetContext(ctx)
2294	req.ApplyOptions(opts...)
2295	return out, req.Send()
2296}
2297
2298const opDetectSentiment = "DetectSentiment"
2299
2300// DetectSentimentRequest generates a "aws/request.Request" representing the
2301// client's request for the DetectSentiment operation. The "output" return
2302// value will be populated with the request's response once the request completes
2303// successfully.
2304//
2305// Use "Send" method on the returned Request to send the API call to the service.
2306// the "output" return value is not valid until after Send returns without error.
2307//
2308// See DetectSentiment for more information on using the DetectSentiment
2309// API call, and error handling.
2310//
2311// This method is useful when you want to inject custom logic or configuration
2312// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2313//
2314//
2315//    // Example sending a request using the DetectSentimentRequest method.
2316//    req, resp := client.DetectSentimentRequest(params)
2317//
2318//    err := req.Send()
2319//    if err == nil { // resp is now filled
2320//        fmt.Println(resp)
2321//    }
2322//
2323// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/DetectSentiment
2324func (c *Comprehend) DetectSentimentRequest(input *DetectSentimentInput) (req *request.Request, output *DetectSentimentOutput) {
2325	op := &request.Operation{
2326		Name:       opDetectSentiment,
2327		HTTPMethod: "POST",
2328		HTTPPath:   "/",
2329	}
2330
2331	if input == nil {
2332		input = &DetectSentimentInput{}
2333	}
2334
2335	output = &DetectSentimentOutput{}
2336	req = c.newRequest(op, input, output)
2337	return
2338}
2339
2340// DetectSentiment API operation for Amazon Comprehend.
2341//
2342// Inspects text and returns an inference of the prevailing sentiment (POSITIVE,
2343// NEUTRAL, MIXED, or NEGATIVE).
2344//
2345// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2346// with awserr.Error's Code and Message methods to get detailed information about
2347// the error.
2348//
2349// See the AWS API reference guide for Amazon Comprehend's
2350// API operation DetectSentiment for usage and error information.
2351//
2352// Returned Error Codes:
2353//   * ErrCodeInvalidRequestException "InvalidRequestException"
2354//   The request is invalid.
2355//
2356//   * ErrCodeTextSizeLimitExceededException "TextSizeLimitExceededException"
2357//   The size of the input text exceeds the limit. Use a smaller document.
2358//
2359//   * ErrCodeUnsupportedLanguageException "UnsupportedLanguageException"
2360//   Amazon Comprehend can't process the language of the input text. For all custom
2361//   entity recognition APIs (such as CreateEntityRecognizer), only English is
2362//   accepted. For most other APIs, such as those for Custom Classification, Amazon
2363//   Comprehend accepts text in all supported languages. For a list of supported
2364//   languages, see supported-languages.
2365//
2366//   * ErrCodeInternalServerException "InternalServerException"
2367//   An internal server error occurred. Retry your request.
2368//
2369// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/DetectSentiment
2370func (c *Comprehend) DetectSentiment(input *DetectSentimentInput) (*DetectSentimentOutput, error) {
2371	req, out := c.DetectSentimentRequest(input)
2372	return out, req.Send()
2373}
2374
2375// DetectSentimentWithContext is the same as DetectSentiment with the addition of
2376// the ability to pass a context and additional request options.
2377//
2378// See DetectSentiment for details on how to use this API operation.
2379//
2380// The context must be non-nil and will be used for request cancellation. If
2381// the context is nil a panic will occur. In the future the SDK may create
2382// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2383// for more information on using Contexts.
2384func (c *Comprehend) DetectSentimentWithContext(ctx aws.Context, input *DetectSentimentInput, opts ...request.Option) (*DetectSentimentOutput, error) {
2385	req, out := c.DetectSentimentRequest(input)
2386	req.SetContext(ctx)
2387	req.ApplyOptions(opts...)
2388	return out, req.Send()
2389}
2390
2391const opDetectSyntax = "DetectSyntax"
2392
2393// DetectSyntaxRequest generates a "aws/request.Request" representing the
2394// client's request for the DetectSyntax operation. The "output" return
2395// value will be populated with the request's response once the request completes
2396// successfully.
2397//
2398// Use "Send" method on the returned Request to send the API call to the service.
2399// the "output" return value is not valid until after Send returns without error.
2400//
2401// See DetectSyntax for more information on using the DetectSyntax
2402// API call, and error handling.
2403//
2404// This method is useful when you want to inject custom logic or configuration
2405// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2406//
2407//
2408//    // Example sending a request using the DetectSyntaxRequest method.
2409//    req, resp := client.DetectSyntaxRequest(params)
2410//
2411//    err := req.Send()
2412//    if err == nil { // resp is now filled
2413//        fmt.Println(resp)
2414//    }
2415//
2416// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/DetectSyntax
2417func (c *Comprehend) DetectSyntaxRequest(input *DetectSyntaxInput) (req *request.Request, output *DetectSyntaxOutput) {
2418	op := &request.Operation{
2419		Name:       opDetectSyntax,
2420		HTTPMethod: "POST",
2421		HTTPPath:   "/",
2422	}
2423
2424	if input == nil {
2425		input = &DetectSyntaxInput{}
2426	}
2427
2428	output = &DetectSyntaxOutput{}
2429	req = c.newRequest(op, input, output)
2430	return
2431}
2432
2433// DetectSyntax API operation for Amazon Comprehend.
2434//
2435// Inspects text for syntax and the part of speech of words in the document.
2436// For more information, how-syntax.
2437//
2438// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2439// with awserr.Error's Code and Message methods to get detailed information about
2440// the error.
2441//
2442// See the AWS API reference guide for Amazon Comprehend's
2443// API operation DetectSyntax for usage and error information.
2444//
2445// Returned Error Codes:
2446//   * ErrCodeInvalidRequestException "InvalidRequestException"
2447//   The request is invalid.
2448//
2449//   * ErrCodeTextSizeLimitExceededException "TextSizeLimitExceededException"
2450//   The size of the input text exceeds the limit. Use a smaller document.
2451//
2452//   * ErrCodeUnsupportedLanguageException "UnsupportedLanguageException"
2453//   Amazon Comprehend can't process the language of the input text. For all custom
2454//   entity recognition APIs (such as CreateEntityRecognizer), only English is
2455//   accepted. For most other APIs, such as those for Custom Classification, Amazon
2456//   Comprehend accepts text in all supported languages. For a list of supported
2457//   languages, see supported-languages.
2458//
2459//   * ErrCodeInternalServerException "InternalServerException"
2460//   An internal server error occurred. Retry your request.
2461//
2462// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/DetectSyntax
2463func (c *Comprehend) DetectSyntax(input *DetectSyntaxInput) (*DetectSyntaxOutput, error) {
2464	req, out := c.DetectSyntaxRequest(input)
2465	return out, req.Send()
2466}
2467
2468// DetectSyntaxWithContext is the same as DetectSyntax with the addition of
2469// the ability to pass a context and additional request options.
2470//
2471// See DetectSyntax for details on how to use this API operation.
2472//
2473// The context must be non-nil and will be used for request cancellation. If
2474// the context is nil a panic will occur. In the future the SDK may create
2475// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2476// for more information on using Contexts.
2477func (c *Comprehend) DetectSyntaxWithContext(ctx aws.Context, input *DetectSyntaxInput, opts ...request.Option) (*DetectSyntaxOutput, error) {
2478	req, out := c.DetectSyntaxRequest(input)
2479	req.SetContext(ctx)
2480	req.ApplyOptions(opts...)
2481	return out, req.Send()
2482}
2483
2484const opListDocumentClassificationJobs = "ListDocumentClassificationJobs"
2485
2486// ListDocumentClassificationJobsRequest generates a "aws/request.Request" representing the
2487// client's request for the ListDocumentClassificationJobs operation. The "output" return
2488// value will be populated with the request's response once the request completes
2489// successfully.
2490//
2491// Use "Send" method on the returned Request to send the API call to the service.
2492// the "output" return value is not valid until after Send returns without error.
2493//
2494// See ListDocumentClassificationJobs for more information on using the ListDocumentClassificationJobs
2495// API call, and error handling.
2496//
2497// This method is useful when you want to inject custom logic or configuration
2498// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2499//
2500//
2501//    // Example sending a request using the ListDocumentClassificationJobsRequest method.
2502//    req, resp := client.ListDocumentClassificationJobsRequest(params)
2503//
2504//    err := req.Send()
2505//    if err == nil { // resp is now filled
2506//        fmt.Println(resp)
2507//    }
2508//
2509// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/ListDocumentClassificationJobs
2510func (c *Comprehend) ListDocumentClassificationJobsRequest(input *ListDocumentClassificationJobsInput) (req *request.Request, output *ListDocumentClassificationJobsOutput) {
2511	op := &request.Operation{
2512		Name:       opListDocumentClassificationJobs,
2513		HTTPMethod: "POST",
2514		HTTPPath:   "/",
2515		Paginator: &request.Paginator{
2516			InputTokens:     []string{"NextToken"},
2517			OutputTokens:    []string{"NextToken"},
2518			LimitToken:      "MaxResults",
2519			TruncationToken: "",
2520		},
2521	}
2522
2523	if input == nil {
2524		input = &ListDocumentClassificationJobsInput{}
2525	}
2526
2527	output = &ListDocumentClassificationJobsOutput{}
2528	req = c.newRequest(op, input, output)
2529	return
2530}
2531
2532// ListDocumentClassificationJobs API operation for Amazon Comprehend.
2533//
2534// Gets a list of the documentation classification jobs that you have submitted.
2535//
2536// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2537// with awserr.Error's Code and Message methods to get detailed information about
2538// the error.
2539//
2540// See the AWS API reference guide for Amazon Comprehend's
2541// API operation ListDocumentClassificationJobs for usage and error information.
2542//
2543// Returned Error Codes:
2544//   * ErrCodeInvalidRequestException "InvalidRequestException"
2545//   The request is invalid.
2546//
2547//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
2548//   The number of requests exceeds the limit. Resubmit your request later.
2549//
2550//   * ErrCodeInvalidFilterException "InvalidFilterException"
2551//   The filter specified for the operation is invalid. Specify a different filter.
2552//
2553//   * ErrCodeInternalServerException "InternalServerException"
2554//   An internal server error occurred. Retry your request.
2555//
2556// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/ListDocumentClassificationJobs
2557func (c *Comprehend) ListDocumentClassificationJobs(input *ListDocumentClassificationJobsInput) (*ListDocumentClassificationJobsOutput, error) {
2558	req, out := c.ListDocumentClassificationJobsRequest(input)
2559	return out, req.Send()
2560}
2561
2562// ListDocumentClassificationJobsWithContext is the same as ListDocumentClassificationJobs with the addition of
2563// the ability to pass a context and additional request options.
2564//
2565// See ListDocumentClassificationJobs for details on how to use this API operation.
2566//
2567// The context must be non-nil and will be used for request cancellation. If
2568// the context is nil a panic will occur. In the future the SDK may create
2569// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2570// for more information on using Contexts.
2571func (c *Comprehend) ListDocumentClassificationJobsWithContext(ctx aws.Context, input *ListDocumentClassificationJobsInput, opts ...request.Option) (*ListDocumentClassificationJobsOutput, error) {
2572	req, out := c.ListDocumentClassificationJobsRequest(input)
2573	req.SetContext(ctx)
2574	req.ApplyOptions(opts...)
2575	return out, req.Send()
2576}
2577
2578// ListDocumentClassificationJobsPages iterates over the pages of a ListDocumentClassificationJobs operation,
2579// calling the "fn" function with the response data for each page. To stop
2580// iterating, return false from the fn function.
2581//
2582// See ListDocumentClassificationJobs method for more information on how to use this operation.
2583//
2584// Note: This operation can generate multiple requests to a service.
2585//
2586//    // Example iterating over at most 3 pages of a ListDocumentClassificationJobs operation.
2587//    pageNum := 0
2588//    err := client.ListDocumentClassificationJobsPages(params,
2589//        func(page *comprehend.ListDocumentClassificationJobsOutput, lastPage bool) bool {
2590//            pageNum++
2591//            fmt.Println(page)
2592//            return pageNum <= 3
2593//        })
2594//
2595func (c *Comprehend) ListDocumentClassificationJobsPages(input *ListDocumentClassificationJobsInput, fn func(*ListDocumentClassificationJobsOutput, bool) bool) error {
2596	return c.ListDocumentClassificationJobsPagesWithContext(aws.BackgroundContext(), input, fn)
2597}
2598
2599// ListDocumentClassificationJobsPagesWithContext same as ListDocumentClassificationJobsPages except
2600// it takes a Context and allows setting request options on the pages.
2601//
2602// The context must be non-nil and will be used for request cancellation. If
2603// the context is nil a panic will occur. In the future the SDK may create
2604// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2605// for more information on using Contexts.
2606func (c *Comprehend) ListDocumentClassificationJobsPagesWithContext(ctx aws.Context, input *ListDocumentClassificationJobsInput, fn func(*ListDocumentClassificationJobsOutput, bool) bool, opts ...request.Option) error {
2607	p := request.Pagination{
2608		NewRequest: func() (*request.Request, error) {
2609			var inCpy *ListDocumentClassificationJobsInput
2610			if input != nil {
2611				tmp := *input
2612				inCpy = &tmp
2613			}
2614			req, _ := c.ListDocumentClassificationJobsRequest(inCpy)
2615			req.SetContext(ctx)
2616			req.ApplyOptions(opts...)
2617			return req, nil
2618		},
2619	}
2620
2621	for p.Next() {
2622		if !fn(p.Page().(*ListDocumentClassificationJobsOutput), !p.HasNextPage()) {
2623			break
2624		}
2625	}
2626
2627	return p.Err()
2628}
2629
2630const opListDocumentClassifiers = "ListDocumentClassifiers"
2631
2632// ListDocumentClassifiersRequest generates a "aws/request.Request" representing the
2633// client's request for the ListDocumentClassifiers operation. The "output" return
2634// value will be populated with the request's response once the request completes
2635// successfully.
2636//
2637// Use "Send" method on the returned Request to send the API call to the service.
2638// the "output" return value is not valid until after Send returns without error.
2639//
2640// See ListDocumentClassifiers for more information on using the ListDocumentClassifiers
2641// API call, and error handling.
2642//
2643// This method is useful when you want to inject custom logic or configuration
2644// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2645//
2646//
2647//    // Example sending a request using the ListDocumentClassifiersRequest method.
2648//    req, resp := client.ListDocumentClassifiersRequest(params)
2649//
2650//    err := req.Send()
2651//    if err == nil { // resp is now filled
2652//        fmt.Println(resp)
2653//    }
2654//
2655// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/ListDocumentClassifiers
2656func (c *Comprehend) ListDocumentClassifiersRequest(input *ListDocumentClassifiersInput) (req *request.Request, output *ListDocumentClassifiersOutput) {
2657	op := &request.Operation{
2658		Name:       opListDocumentClassifiers,
2659		HTTPMethod: "POST",
2660		HTTPPath:   "/",
2661		Paginator: &request.Paginator{
2662			InputTokens:     []string{"NextToken"},
2663			OutputTokens:    []string{"NextToken"},
2664			LimitToken:      "MaxResults",
2665			TruncationToken: "",
2666		},
2667	}
2668
2669	if input == nil {
2670		input = &ListDocumentClassifiersInput{}
2671	}
2672
2673	output = &ListDocumentClassifiersOutput{}
2674	req = c.newRequest(op, input, output)
2675	return
2676}
2677
2678// ListDocumentClassifiers API operation for Amazon Comprehend.
2679//
2680// Gets a list of the document classifiers that you have created.
2681//
2682// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2683// with awserr.Error's Code and Message methods to get detailed information about
2684// the error.
2685//
2686// See the AWS API reference guide for Amazon Comprehend's
2687// API operation ListDocumentClassifiers for usage and error information.
2688//
2689// Returned Error Codes:
2690//   * ErrCodeInvalidRequestException "InvalidRequestException"
2691//   The request is invalid.
2692//
2693//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
2694//   The number of requests exceeds the limit. Resubmit your request later.
2695//
2696//   * ErrCodeInvalidFilterException "InvalidFilterException"
2697//   The filter specified for the operation is invalid. Specify a different filter.
2698//
2699//   * ErrCodeInternalServerException "InternalServerException"
2700//   An internal server error occurred. Retry your request.
2701//
2702// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/ListDocumentClassifiers
2703func (c *Comprehend) ListDocumentClassifiers(input *ListDocumentClassifiersInput) (*ListDocumentClassifiersOutput, error) {
2704	req, out := c.ListDocumentClassifiersRequest(input)
2705	return out, req.Send()
2706}
2707
2708// ListDocumentClassifiersWithContext is the same as ListDocumentClassifiers with the addition of
2709// the ability to pass a context and additional request options.
2710//
2711// See ListDocumentClassifiers for details on how to use this API operation.
2712//
2713// The context must be non-nil and will be used for request cancellation. If
2714// the context is nil a panic will occur. In the future the SDK may create
2715// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2716// for more information on using Contexts.
2717func (c *Comprehend) ListDocumentClassifiersWithContext(ctx aws.Context, input *ListDocumentClassifiersInput, opts ...request.Option) (*ListDocumentClassifiersOutput, error) {
2718	req, out := c.ListDocumentClassifiersRequest(input)
2719	req.SetContext(ctx)
2720	req.ApplyOptions(opts...)
2721	return out, req.Send()
2722}
2723
2724// ListDocumentClassifiersPages iterates over the pages of a ListDocumentClassifiers operation,
2725// calling the "fn" function with the response data for each page. To stop
2726// iterating, return false from the fn function.
2727//
2728// See ListDocumentClassifiers method for more information on how to use this operation.
2729//
2730// Note: This operation can generate multiple requests to a service.
2731//
2732//    // Example iterating over at most 3 pages of a ListDocumentClassifiers operation.
2733//    pageNum := 0
2734//    err := client.ListDocumentClassifiersPages(params,
2735//        func(page *comprehend.ListDocumentClassifiersOutput, lastPage bool) bool {
2736//            pageNum++
2737//            fmt.Println(page)
2738//            return pageNum <= 3
2739//        })
2740//
2741func (c *Comprehend) ListDocumentClassifiersPages(input *ListDocumentClassifiersInput, fn func(*ListDocumentClassifiersOutput, bool) bool) error {
2742	return c.ListDocumentClassifiersPagesWithContext(aws.BackgroundContext(), input, fn)
2743}
2744
2745// ListDocumentClassifiersPagesWithContext same as ListDocumentClassifiersPages except
2746// it takes a Context and allows setting request options on the pages.
2747//
2748// The context must be non-nil and will be used for request cancellation. If
2749// the context is nil a panic will occur. In the future the SDK may create
2750// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2751// for more information on using Contexts.
2752func (c *Comprehend) ListDocumentClassifiersPagesWithContext(ctx aws.Context, input *ListDocumentClassifiersInput, fn func(*ListDocumentClassifiersOutput, bool) bool, opts ...request.Option) error {
2753	p := request.Pagination{
2754		NewRequest: func() (*request.Request, error) {
2755			var inCpy *ListDocumentClassifiersInput
2756			if input != nil {
2757				tmp := *input
2758				inCpy = &tmp
2759			}
2760			req, _ := c.ListDocumentClassifiersRequest(inCpy)
2761			req.SetContext(ctx)
2762			req.ApplyOptions(opts...)
2763			return req, nil
2764		},
2765	}
2766
2767	for p.Next() {
2768		if !fn(p.Page().(*ListDocumentClassifiersOutput), !p.HasNextPage()) {
2769			break
2770		}
2771	}
2772
2773	return p.Err()
2774}
2775
2776const opListDominantLanguageDetectionJobs = "ListDominantLanguageDetectionJobs"
2777
2778// ListDominantLanguageDetectionJobsRequest generates a "aws/request.Request" representing the
2779// client's request for the ListDominantLanguageDetectionJobs operation. The "output" return
2780// value will be populated with the request's response once the request completes
2781// successfully.
2782//
2783// Use "Send" method on the returned Request to send the API call to the service.
2784// the "output" return value is not valid until after Send returns without error.
2785//
2786// See ListDominantLanguageDetectionJobs for more information on using the ListDominantLanguageDetectionJobs
2787// API call, and error handling.
2788//
2789// This method is useful when you want to inject custom logic or configuration
2790// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2791//
2792//
2793//    // Example sending a request using the ListDominantLanguageDetectionJobsRequest method.
2794//    req, resp := client.ListDominantLanguageDetectionJobsRequest(params)
2795//
2796//    err := req.Send()
2797//    if err == nil { // resp is now filled
2798//        fmt.Println(resp)
2799//    }
2800//
2801// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/ListDominantLanguageDetectionJobs
2802func (c *Comprehend) ListDominantLanguageDetectionJobsRequest(input *ListDominantLanguageDetectionJobsInput) (req *request.Request, output *ListDominantLanguageDetectionJobsOutput) {
2803	op := &request.Operation{
2804		Name:       opListDominantLanguageDetectionJobs,
2805		HTTPMethod: "POST",
2806		HTTPPath:   "/",
2807		Paginator: &request.Paginator{
2808			InputTokens:     []string{"NextToken"},
2809			OutputTokens:    []string{"NextToken"},
2810			LimitToken:      "MaxResults",
2811			TruncationToken: "",
2812		},
2813	}
2814
2815	if input == nil {
2816		input = &ListDominantLanguageDetectionJobsInput{}
2817	}
2818
2819	output = &ListDominantLanguageDetectionJobsOutput{}
2820	req = c.newRequest(op, input, output)
2821	return
2822}
2823
2824// ListDominantLanguageDetectionJobs API operation for Amazon Comprehend.
2825//
2826// Gets a list of the dominant language detection jobs that you have submitted.
2827//
2828// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2829// with awserr.Error's Code and Message methods to get detailed information about
2830// the error.
2831//
2832// See the AWS API reference guide for Amazon Comprehend's
2833// API operation ListDominantLanguageDetectionJobs for usage and error information.
2834//
2835// Returned Error Codes:
2836//   * ErrCodeInvalidRequestException "InvalidRequestException"
2837//   The request is invalid.
2838//
2839//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
2840//   The number of requests exceeds the limit. Resubmit your request later.
2841//
2842//   * ErrCodeInvalidFilterException "InvalidFilterException"
2843//   The filter specified for the operation is invalid. Specify a different filter.
2844//
2845//   * ErrCodeInternalServerException "InternalServerException"
2846//   An internal server error occurred. Retry your request.
2847//
2848// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/ListDominantLanguageDetectionJobs
2849func (c *Comprehend) ListDominantLanguageDetectionJobs(input *ListDominantLanguageDetectionJobsInput) (*ListDominantLanguageDetectionJobsOutput, error) {
2850	req, out := c.ListDominantLanguageDetectionJobsRequest(input)
2851	return out, req.Send()
2852}
2853
2854// ListDominantLanguageDetectionJobsWithContext is the same as ListDominantLanguageDetectionJobs with the addition of
2855// the ability to pass a context and additional request options.
2856//
2857// See ListDominantLanguageDetectionJobs for details on how to use this API operation.
2858//
2859// The context must be non-nil and will be used for request cancellation. If
2860// the context is nil a panic will occur. In the future the SDK may create
2861// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2862// for more information on using Contexts.
2863func (c *Comprehend) ListDominantLanguageDetectionJobsWithContext(ctx aws.Context, input *ListDominantLanguageDetectionJobsInput, opts ...request.Option) (*ListDominantLanguageDetectionJobsOutput, error) {
2864	req, out := c.ListDominantLanguageDetectionJobsRequest(input)
2865	req.SetContext(ctx)
2866	req.ApplyOptions(opts...)
2867	return out, req.Send()
2868}
2869
2870// ListDominantLanguageDetectionJobsPages iterates over the pages of a ListDominantLanguageDetectionJobs operation,
2871// calling the "fn" function with the response data for each page. To stop
2872// iterating, return false from the fn function.
2873//
2874// See ListDominantLanguageDetectionJobs method for more information on how to use this operation.
2875//
2876// Note: This operation can generate multiple requests to a service.
2877//
2878//    // Example iterating over at most 3 pages of a ListDominantLanguageDetectionJobs operation.
2879//    pageNum := 0
2880//    err := client.ListDominantLanguageDetectionJobsPages(params,
2881//        func(page *comprehend.ListDominantLanguageDetectionJobsOutput, lastPage bool) bool {
2882//            pageNum++
2883//            fmt.Println(page)
2884//            return pageNum <= 3
2885//        })
2886//
2887func (c *Comprehend) ListDominantLanguageDetectionJobsPages(input *ListDominantLanguageDetectionJobsInput, fn func(*ListDominantLanguageDetectionJobsOutput, bool) bool) error {
2888	return c.ListDominantLanguageDetectionJobsPagesWithContext(aws.BackgroundContext(), input, fn)
2889}
2890
2891// ListDominantLanguageDetectionJobsPagesWithContext same as ListDominantLanguageDetectionJobsPages except
2892// it takes a Context and allows setting request options on the pages.
2893//
2894// The context must be non-nil and will be used for request cancellation. If
2895// the context is nil a panic will occur. In the future the SDK may create
2896// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2897// for more information on using Contexts.
2898func (c *Comprehend) ListDominantLanguageDetectionJobsPagesWithContext(ctx aws.Context, input *ListDominantLanguageDetectionJobsInput, fn func(*ListDominantLanguageDetectionJobsOutput, bool) bool, opts ...request.Option) error {
2899	p := request.Pagination{
2900		NewRequest: func() (*request.Request, error) {
2901			var inCpy *ListDominantLanguageDetectionJobsInput
2902			if input != nil {
2903				tmp := *input
2904				inCpy = &tmp
2905			}
2906			req, _ := c.ListDominantLanguageDetectionJobsRequest(inCpy)
2907			req.SetContext(ctx)
2908			req.ApplyOptions(opts...)
2909			return req, nil
2910		},
2911	}
2912
2913	for p.Next() {
2914		if !fn(p.Page().(*ListDominantLanguageDetectionJobsOutput), !p.HasNextPage()) {
2915			break
2916		}
2917	}
2918
2919	return p.Err()
2920}
2921
2922const opListEndpoints = "ListEndpoints"
2923
2924// ListEndpointsRequest generates a "aws/request.Request" representing the
2925// client's request for the ListEndpoints operation. The "output" return
2926// value will be populated with the request's response once the request completes
2927// successfully.
2928//
2929// Use "Send" method on the returned Request to send the API call to the service.
2930// the "output" return value is not valid until after Send returns without error.
2931//
2932// See ListEndpoints for more information on using the ListEndpoints
2933// API call, and error handling.
2934//
2935// This method is useful when you want to inject custom logic or configuration
2936// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2937//
2938//
2939//    // Example sending a request using the ListEndpointsRequest method.
2940//    req, resp := client.ListEndpointsRequest(params)
2941//
2942//    err := req.Send()
2943//    if err == nil { // resp is now filled
2944//        fmt.Println(resp)
2945//    }
2946//
2947// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/ListEndpoints
2948func (c *Comprehend) ListEndpointsRequest(input *ListEndpointsInput) (req *request.Request, output *ListEndpointsOutput) {
2949	op := &request.Operation{
2950		Name:       opListEndpoints,
2951		HTTPMethod: "POST",
2952		HTTPPath:   "/",
2953	}
2954
2955	if input == nil {
2956		input = &ListEndpointsInput{}
2957	}
2958
2959	output = &ListEndpointsOutput{}
2960	req = c.newRequest(op, input, output)
2961	return
2962}
2963
2964// ListEndpoints API operation for Amazon Comprehend.
2965//
2966// Gets a list of all existing endpoints that you've created.
2967//
2968// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2969// with awserr.Error's Code and Message methods to get detailed information about
2970// the error.
2971//
2972// See the AWS API reference guide for Amazon Comprehend's
2973// API operation ListEndpoints for usage and error information.
2974//
2975// Returned Error Codes:
2976//   * ErrCodeInvalidRequestException "InvalidRequestException"
2977//   The request is invalid.
2978//
2979//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
2980//   The number of requests exceeds the limit. Resubmit your request later.
2981//
2982//   * ErrCodeInternalServerException "InternalServerException"
2983//   An internal server error occurred. Retry your request.
2984//
2985// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/ListEndpoints
2986func (c *Comprehend) ListEndpoints(input *ListEndpointsInput) (*ListEndpointsOutput, error) {
2987	req, out := c.ListEndpointsRequest(input)
2988	return out, req.Send()
2989}
2990
2991// ListEndpointsWithContext is the same as ListEndpoints with the addition of
2992// the ability to pass a context and additional request options.
2993//
2994// See ListEndpoints for details on how to use this API operation.
2995//
2996// The context must be non-nil and will be used for request cancellation. If
2997// the context is nil a panic will occur. In the future the SDK may create
2998// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2999// for more information on using Contexts.
3000func (c *Comprehend) ListEndpointsWithContext(ctx aws.Context, input *ListEndpointsInput, opts ...request.Option) (*ListEndpointsOutput, error) {
3001	req, out := c.ListEndpointsRequest(input)
3002	req.SetContext(ctx)
3003	req.ApplyOptions(opts...)
3004	return out, req.Send()
3005}
3006
3007const opListEntitiesDetectionJobs = "ListEntitiesDetectionJobs"
3008
3009// ListEntitiesDetectionJobsRequest generates a "aws/request.Request" representing the
3010// client's request for the ListEntitiesDetectionJobs operation. The "output" return
3011// value will be populated with the request's response once the request completes
3012// successfully.
3013//
3014// Use "Send" method on the returned Request to send the API call to the service.
3015// the "output" return value is not valid until after Send returns without error.
3016//
3017// See ListEntitiesDetectionJobs for more information on using the ListEntitiesDetectionJobs
3018// API call, and error handling.
3019//
3020// This method is useful when you want to inject custom logic or configuration
3021// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3022//
3023//
3024//    // Example sending a request using the ListEntitiesDetectionJobsRequest method.
3025//    req, resp := client.ListEntitiesDetectionJobsRequest(params)
3026//
3027//    err := req.Send()
3028//    if err == nil { // resp is now filled
3029//        fmt.Println(resp)
3030//    }
3031//
3032// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/ListEntitiesDetectionJobs
3033func (c *Comprehend) ListEntitiesDetectionJobsRequest(input *ListEntitiesDetectionJobsInput) (req *request.Request, output *ListEntitiesDetectionJobsOutput) {
3034	op := &request.Operation{
3035		Name:       opListEntitiesDetectionJobs,
3036		HTTPMethod: "POST",
3037		HTTPPath:   "/",
3038		Paginator: &request.Paginator{
3039			InputTokens:     []string{"NextToken"},
3040			OutputTokens:    []string{"NextToken"},
3041			LimitToken:      "MaxResults",
3042			TruncationToken: "",
3043		},
3044	}
3045
3046	if input == nil {
3047		input = &ListEntitiesDetectionJobsInput{}
3048	}
3049
3050	output = &ListEntitiesDetectionJobsOutput{}
3051	req = c.newRequest(op, input, output)
3052	return
3053}
3054
3055// ListEntitiesDetectionJobs API operation for Amazon Comprehend.
3056//
3057// Gets a list of the entity detection jobs that you have submitted.
3058//
3059// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3060// with awserr.Error's Code and Message methods to get detailed information about
3061// the error.
3062//
3063// See the AWS API reference guide for Amazon Comprehend's
3064// API operation ListEntitiesDetectionJobs for usage and error information.
3065//
3066// Returned Error Codes:
3067//   * ErrCodeInvalidRequestException "InvalidRequestException"
3068//   The request is invalid.
3069//
3070//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
3071//   The number of requests exceeds the limit. Resubmit your request later.
3072//
3073//   * ErrCodeInvalidFilterException "InvalidFilterException"
3074//   The filter specified for the operation is invalid. Specify a different filter.
3075//
3076//   * ErrCodeInternalServerException "InternalServerException"
3077//   An internal server error occurred. Retry your request.
3078//
3079// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/ListEntitiesDetectionJobs
3080func (c *Comprehend) ListEntitiesDetectionJobs(input *ListEntitiesDetectionJobsInput) (*ListEntitiesDetectionJobsOutput, error) {
3081	req, out := c.ListEntitiesDetectionJobsRequest(input)
3082	return out, req.Send()
3083}
3084
3085// ListEntitiesDetectionJobsWithContext is the same as ListEntitiesDetectionJobs with the addition of
3086// the ability to pass a context and additional request options.
3087//
3088// See ListEntitiesDetectionJobs for details on how to use this API operation.
3089//
3090// The context must be non-nil and will be used for request cancellation. If
3091// the context is nil a panic will occur. In the future the SDK may create
3092// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3093// for more information on using Contexts.
3094func (c *Comprehend) ListEntitiesDetectionJobsWithContext(ctx aws.Context, input *ListEntitiesDetectionJobsInput, opts ...request.Option) (*ListEntitiesDetectionJobsOutput, error) {
3095	req, out := c.ListEntitiesDetectionJobsRequest(input)
3096	req.SetContext(ctx)
3097	req.ApplyOptions(opts...)
3098	return out, req.Send()
3099}
3100
3101// ListEntitiesDetectionJobsPages iterates over the pages of a ListEntitiesDetectionJobs operation,
3102// calling the "fn" function with the response data for each page. To stop
3103// iterating, return false from the fn function.
3104//
3105// See ListEntitiesDetectionJobs method for more information on how to use this operation.
3106//
3107// Note: This operation can generate multiple requests to a service.
3108//
3109//    // Example iterating over at most 3 pages of a ListEntitiesDetectionJobs operation.
3110//    pageNum := 0
3111//    err := client.ListEntitiesDetectionJobsPages(params,
3112//        func(page *comprehend.ListEntitiesDetectionJobsOutput, lastPage bool) bool {
3113//            pageNum++
3114//            fmt.Println(page)
3115//            return pageNum <= 3
3116//        })
3117//
3118func (c *Comprehend) ListEntitiesDetectionJobsPages(input *ListEntitiesDetectionJobsInput, fn func(*ListEntitiesDetectionJobsOutput, bool) bool) error {
3119	return c.ListEntitiesDetectionJobsPagesWithContext(aws.BackgroundContext(), input, fn)
3120}
3121
3122// ListEntitiesDetectionJobsPagesWithContext same as ListEntitiesDetectionJobsPages except
3123// it takes a Context and allows setting request options on the pages.
3124//
3125// The context must be non-nil and will be used for request cancellation. If
3126// the context is nil a panic will occur. In the future the SDK may create
3127// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3128// for more information on using Contexts.
3129func (c *Comprehend) ListEntitiesDetectionJobsPagesWithContext(ctx aws.Context, input *ListEntitiesDetectionJobsInput, fn func(*ListEntitiesDetectionJobsOutput, bool) bool, opts ...request.Option) error {
3130	p := request.Pagination{
3131		NewRequest: func() (*request.Request, error) {
3132			var inCpy *ListEntitiesDetectionJobsInput
3133			if input != nil {
3134				tmp := *input
3135				inCpy = &tmp
3136			}
3137			req, _ := c.ListEntitiesDetectionJobsRequest(inCpy)
3138			req.SetContext(ctx)
3139			req.ApplyOptions(opts...)
3140			return req, nil
3141		},
3142	}
3143
3144	for p.Next() {
3145		if !fn(p.Page().(*ListEntitiesDetectionJobsOutput), !p.HasNextPage()) {
3146			break
3147		}
3148	}
3149
3150	return p.Err()
3151}
3152
3153const opListEntityRecognizers = "ListEntityRecognizers"
3154
3155// ListEntityRecognizersRequest generates a "aws/request.Request" representing the
3156// client's request for the ListEntityRecognizers operation. The "output" return
3157// value will be populated with the request's response once the request completes
3158// successfully.
3159//
3160// Use "Send" method on the returned Request to send the API call to the service.
3161// the "output" return value is not valid until after Send returns without error.
3162//
3163// See ListEntityRecognizers for more information on using the ListEntityRecognizers
3164// API call, and error handling.
3165//
3166// This method is useful when you want to inject custom logic or configuration
3167// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3168//
3169//
3170//    // Example sending a request using the ListEntityRecognizersRequest method.
3171//    req, resp := client.ListEntityRecognizersRequest(params)
3172//
3173//    err := req.Send()
3174//    if err == nil { // resp is now filled
3175//        fmt.Println(resp)
3176//    }
3177//
3178// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/ListEntityRecognizers
3179func (c *Comprehend) ListEntityRecognizersRequest(input *ListEntityRecognizersInput) (req *request.Request, output *ListEntityRecognizersOutput) {
3180	op := &request.Operation{
3181		Name:       opListEntityRecognizers,
3182		HTTPMethod: "POST",
3183		HTTPPath:   "/",
3184		Paginator: &request.Paginator{
3185			InputTokens:     []string{"NextToken"},
3186			OutputTokens:    []string{"NextToken"},
3187			LimitToken:      "MaxResults",
3188			TruncationToken: "",
3189		},
3190	}
3191
3192	if input == nil {
3193		input = &ListEntityRecognizersInput{}
3194	}
3195
3196	output = &ListEntityRecognizersOutput{}
3197	req = c.newRequest(op, input, output)
3198	return
3199}
3200
3201// ListEntityRecognizers API operation for Amazon Comprehend.
3202//
3203// Gets a list of the properties of all entity recognizers that you created,
3204// including recognizers currently in training. Allows you to filter the list
3205// of recognizers based on criteria such as status and submission time. This
3206// call returns up to 500 entity recognizers in the list, with a default number
3207// of 100 recognizers in the list.
3208//
3209// The results of this list are not in any particular order. Please get the
3210// list and sort locally if needed.
3211//
3212// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3213// with awserr.Error's Code and Message methods to get detailed information about
3214// the error.
3215//
3216// See the AWS API reference guide for Amazon Comprehend's
3217// API operation ListEntityRecognizers for usage and error information.
3218//
3219// Returned Error Codes:
3220//   * ErrCodeInvalidRequestException "InvalidRequestException"
3221//   The request is invalid.
3222//
3223//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
3224//   The number of requests exceeds the limit. Resubmit your request later.
3225//
3226//   * ErrCodeInvalidFilterException "InvalidFilterException"
3227//   The filter specified for the operation is invalid. Specify a different filter.
3228//
3229//   * ErrCodeInternalServerException "InternalServerException"
3230//   An internal server error occurred. Retry your request.
3231//
3232// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/ListEntityRecognizers
3233func (c *Comprehend) ListEntityRecognizers(input *ListEntityRecognizersInput) (*ListEntityRecognizersOutput, error) {
3234	req, out := c.ListEntityRecognizersRequest(input)
3235	return out, req.Send()
3236}
3237
3238// ListEntityRecognizersWithContext is the same as ListEntityRecognizers with the addition of
3239// the ability to pass a context and additional request options.
3240//
3241// See ListEntityRecognizers for details on how to use this API operation.
3242//
3243// The context must be non-nil and will be used for request cancellation. If
3244// the context is nil a panic will occur. In the future the SDK may create
3245// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3246// for more information on using Contexts.
3247func (c *Comprehend) ListEntityRecognizersWithContext(ctx aws.Context, input *ListEntityRecognizersInput, opts ...request.Option) (*ListEntityRecognizersOutput, error) {
3248	req, out := c.ListEntityRecognizersRequest(input)
3249	req.SetContext(ctx)
3250	req.ApplyOptions(opts...)
3251	return out, req.Send()
3252}
3253
3254// ListEntityRecognizersPages iterates over the pages of a ListEntityRecognizers operation,
3255// calling the "fn" function with the response data for each page. To stop
3256// iterating, return false from the fn function.
3257//
3258// See ListEntityRecognizers method for more information on how to use this operation.
3259//
3260// Note: This operation can generate multiple requests to a service.
3261//
3262//    // Example iterating over at most 3 pages of a ListEntityRecognizers operation.
3263//    pageNum := 0
3264//    err := client.ListEntityRecognizersPages(params,
3265//        func(page *comprehend.ListEntityRecognizersOutput, lastPage bool) bool {
3266//            pageNum++
3267//            fmt.Println(page)
3268//            return pageNum <= 3
3269//        })
3270//
3271func (c *Comprehend) ListEntityRecognizersPages(input *ListEntityRecognizersInput, fn func(*ListEntityRecognizersOutput, bool) bool) error {
3272	return c.ListEntityRecognizersPagesWithContext(aws.BackgroundContext(), input, fn)
3273}
3274
3275// ListEntityRecognizersPagesWithContext same as ListEntityRecognizersPages except
3276// it takes a Context and allows setting request options on the pages.
3277//
3278// The context must be non-nil and will be used for request cancellation. If
3279// the context is nil a panic will occur. In the future the SDK may create
3280// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3281// for more information on using Contexts.
3282func (c *Comprehend) ListEntityRecognizersPagesWithContext(ctx aws.Context, input *ListEntityRecognizersInput, fn func(*ListEntityRecognizersOutput, bool) bool, opts ...request.Option) error {
3283	p := request.Pagination{
3284		NewRequest: func() (*request.Request, error) {
3285			var inCpy *ListEntityRecognizersInput
3286			if input != nil {
3287				tmp := *input
3288				inCpy = &tmp
3289			}
3290			req, _ := c.ListEntityRecognizersRequest(inCpy)
3291			req.SetContext(ctx)
3292			req.ApplyOptions(opts...)
3293			return req, nil
3294		},
3295	}
3296
3297	for p.Next() {
3298		if !fn(p.Page().(*ListEntityRecognizersOutput), !p.HasNextPage()) {
3299			break
3300		}
3301	}
3302
3303	return p.Err()
3304}
3305
3306const opListKeyPhrasesDetectionJobs = "ListKeyPhrasesDetectionJobs"
3307
3308// ListKeyPhrasesDetectionJobsRequest generates a "aws/request.Request" representing the
3309// client's request for the ListKeyPhrasesDetectionJobs operation. The "output" return
3310// value will be populated with the request's response once the request completes
3311// successfully.
3312//
3313// Use "Send" method on the returned Request to send the API call to the service.
3314// the "output" return value is not valid until after Send returns without error.
3315//
3316// See ListKeyPhrasesDetectionJobs for more information on using the ListKeyPhrasesDetectionJobs
3317// API call, and error handling.
3318//
3319// This method is useful when you want to inject custom logic or configuration
3320// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3321//
3322//
3323//    // Example sending a request using the ListKeyPhrasesDetectionJobsRequest method.
3324//    req, resp := client.ListKeyPhrasesDetectionJobsRequest(params)
3325//
3326//    err := req.Send()
3327//    if err == nil { // resp is now filled
3328//        fmt.Println(resp)
3329//    }
3330//
3331// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/ListKeyPhrasesDetectionJobs
3332func (c *Comprehend) ListKeyPhrasesDetectionJobsRequest(input *ListKeyPhrasesDetectionJobsInput) (req *request.Request, output *ListKeyPhrasesDetectionJobsOutput) {
3333	op := &request.Operation{
3334		Name:       opListKeyPhrasesDetectionJobs,
3335		HTTPMethod: "POST",
3336		HTTPPath:   "/",
3337		Paginator: &request.Paginator{
3338			InputTokens:     []string{"NextToken"},
3339			OutputTokens:    []string{"NextToken"},
3340			LimitToken:      "MaxResults",
3341			TruncationToken: "",
3342		},
3343	}
3344
3345	if input == nil {
3346		input = &ListKeyPhrasesDetectionJobsInput{}
3347	}
3348
3349	output = &ListKeyPhrasesDetectionJobsOutput{}
3350	req = c.newRequest(op, input, output)
3351	return
3352}
3353
3354// ListKeyPhrasesDetectionJobs API operation for Amazon Comprehend.
3355//
3356// Get a list of key phrase detection jobs that you have submitted.
3357//
3358// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3359// with awserr.Error's Code and Message methods to get detailed information about
3360// the error.
3361//
3362// See the AWS API reference guide for Amazon Comprehend's
3363// API operation ListKeyPhrasesDetectionJobs for usage and error information.
3364//
3365// Returned Error Codes:
3366//   * ErrCodeInvalidRequestException "InvalidRequestException"
3367//   The request is invalid.
3368//
3369//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
3370//   The number of requests exceeds the limit. Resubmit your request later.
3371//
3372//   * ErrCodeInvalidFilterException "InvalidFilterException"
3373//   The filter specified for the operation is invalid. Specify a different filter.
3374//
3375//   * ErrCodeInternalServerException "InternalServerException"
3376//   An internal server error occurred. Retry your request.
3377//
3378// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/ListKeyPhrasesDetectionJobs
3379func (c *Comprehend) ListKeyPhrasesDetectionJobs(input *ListKeyPhrasesDetectionJobsInput) (*ListKeyPhrasesDetectionJobsOutput, error) {
3380	req, out := c.ListKeyPhrasesDetectionJobsRequest(input)
3381	return out, req.Send()
3382}
3383
3384// ListKeyPhrasesDetectionJobsWithContext is the same as ListKeyPhrasesDetectionJobs with the addition of
3385// the ability to pass a context and additional request options.
3386//
3387// See ListKeyPhrasesDetectionJobs for details on how to use this API operation.
3388//
3389// The context must be non-nil and will be used for request cancellation. If
3390// the context is nil a panic will occur. In the future the SDK may create
3391// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3392// for more information on using Contexts.
3393func (c *Comprehend) ListKeyPhrasesDetectionJobsWithContext(ctx aws.Context, input *ListKeyPhrasesDetectionJobsInput, opts ...request.Option) (*ListKeyPhrasesDetectionJobsOutput, error) {
3394	req, out := c.ListKeyPhrasesDetectionJobsRequest(input)
3395	req.SetContext(ctx)
3396	req.ApplyOptions(opts...)
3397	return out, req.Send()
3398}
3399
3400// ListKeyPhrasesDetectionJobsPages iterates over the pages of a ListKeyPhrasesDetectionJobs operation,
3401// calling the "fn" function with the response data for each page. To stop
3402// iterating, return false from the fn function.
3403//
3404// See ListKeyPhrasesDetectionJobs method for more information on how to use this operation.
3405//
3406// Note: This operation can generate multiple requests to a service.
3407//
3408//    // Example iterating over at most 3 pages of a ListKeyPhrasesDetectionJobs operation.
3409//    pageNum := 0
3410//    err := client.ListKeyPhrasesDetectionJobsPages(params,
3411//        func(page *comprehend.ListKeyPhrasesDetectionJobsOutput, lastPage bool) bool {
3412//            pageNum++
3413//            fmt.Println(page)
3414//            return pageNum <= 3
3415//        })
3416//
3417func (c *Comprehend) ListKeyPhrasesDetectionJobsPages(input *ListKeyPhrasesDetectionJobsInput, fn func(*ListKeyPhrasesDetectionJobsOutput, bool) bool) error {
3418	return c.ListKeyPhrasesDetectionJobsPagesWithContext(aws.BackgroundContext(), input, fn)
3419}
3420
3421// ListKeyPhrasesDetectionJobsPagesWithContext same as ListKeyPhrasesDetectionJobsPages except
3422// it takes a Context and allows setting request options on the pages.
3423//
3424// The context must be non-nil and will be used for request cancellation. If
3425// the context is nil a panic will occur. In the future the SDK may create
3426// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3427// for more information on using Contexts.
3428func (c *Comprehend) ListKeyPhrasesDetectionJobsPagesWithContext(ctx aws.Context, input *ListKeyPhrasesDetectionJobsInput, fn func(*ListKeyPhrasesDetectionJobsOutput, bool) bool, opts ...request.Option) error {
3429	p := request.Pagination{
3430		NewRequest: func() (*request.Request, error) {
3431			var inCpy *ListKeyPhrasesDetectionJobsInput
3432			if input != nil {
3433				tmp := *input
3434				inCpy = &tmp
3435			}
3436			req, _ := c.ListKeyPhrasesDetectionJobsRequest(inCpy)
3437			req.SetContext(ctx)
3438			req.ApplyOptions(opts...)
3439			return req, nil
3440		},
3441	}
3442
3443	for p.Next() {
3444		if !fn(p.Page().(*ListKeyPhrasesDetectionJobsOutput), !p.HasNextPage()) {
3445			break
3446		}
3447	}
3448
3449	return p.Err()
3450}
3451
3452const opListSentimentDetectionJobs = "ListSentimentDetectionJobs"
3453
3454// ListSentimentDetectionJobsRequest generates a "aws/request.Request" representing the
3455// client's request for the ListSentimentDetectionJobs operation. The "output" return
3456// value will be populated with the request's response once the request completes
3457// successfully.
3458//
3459// Use "Send" method on the returned Request to send the API call to the service.
3460// the "output" return value is not valid until after Send returns without error.
3461//
3462// See ListSentimentDetectionJobs for more information on using the ListSentimentDetectionJobs
3463// API call, and error handling.
3464//
3465// This method is useful when you want to inject custom logic or configuration
3466// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3467//
3468//
3469//    // Example sending a request using the ListSentimentDetectionJobsRequest method.
3470//    req, resp := client.ListSentimentDetectionJobsRequest(params)
3471//
3472//    err := req.Send()
3473//    if err == nil { // resp is now filled
3474//        fmt.Println(resp)
3475//    }
3476//
3477// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/ListSentimentDetectionJobs
3478func (c *Comprehend) ListSentimentDetectionJobsRequest(input *ListSentimentDetectionJobsInput) (req *request.Request, output *ListSentimentDetectionJobsOutput) {
3479	op := &request.Operation{
3480		Name:       opListSentimentDetectionJobs,
3481		HTTPMethod: "POST",
3482		HTTPPath:   "/",
3483		Paginator: &request.Paginator{
3484			InputTokens:     []string{"NextToken"},
3485			OutputTokens:    []string{"NextToken"},
3486			LimitToken:      "MaxResults",
3487			TruncationToken: "",
3488		},
3489	}
3490
3491	if input == nil {
3492		input = &ListSentimentDetectionJobsInput{}
3493	}
3494
3495	output = &ListSentimentDetectionJobsOutput{}
3496	req = c.newRequest(op, input, output)
3497	return
3498}
3499
3500// ListSentimentDetectionJobs API operation for Amazon Comprehend.
3501//
3502// Gets a list of sentiment detection jobs that you have submitted.
3503//
3504// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3505// with awserr.Error's Code and Message methods to get detailed information about
3506// the error.
3507//
3508// See the AWS API reference guide for Amazon Comprehend's
3509// API operation ListSentimentDetectionJobs for usage and error information.
3510//
3511// Returned Error Codes:
3512//   * ErrCodeInvalidRequestException "InvalidRequestException"
3513//   The request is invalid.
3514//
3515//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
3516//   The number of requests exceeds the limit. Resubmit your request later.
3517//
3518//   * ErrCodeInvalidFilterException "InvalidFilterException"
3519//   The filter specified for the operation is invalid. Specify a different filter.
3520//
3521//   * ErrCodeInternalServerException "InternalServerException"
3522//   An internal server error occurred. Retry your request.
3523//
3524// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/ListSentimentDetectionJobs
3525func (c *Comprehend) ListSentimentDetectionJobs(input *ListSentimentDetectionJobsInput) (*ListSentimentDetectionJobsOutput, error) {
3526	req, out := c.ListSentimentDetectionJobsRequest(input)
3527	return out, req.Send()
3528}
3529
3530// ListSentimentDetectionJobsWithContext is the same as ListSentimentDetectionJobs with the addition of
3531// the ability to pass a context and additional request options.
3532//
3533// See ListSentimentDetectionJobs for details on how to use this API operation.
3534//
3535// The context must be non-nil and will be used for request cancellation. If
3536// the context is nil a panic will occur. In the future the SDK may create
3537// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3538// for more information on using Contexts.
3539func (c *Comprehend) ListSentimentDetectionJobsWithContext(ctx aws.Context, input *ListSentimentDetectionJobsInput, opts ...request.Option) (*ListSentimentDetectionJobsOutput, error) {
3540	req, out := c.ListSentimentDetectionJobsRequest(input)
3541	req.SetContext(ctx)
3542	req.ApplyOptions(opts...)
3543	return out, req.Send()
3544}
3545
3546// ListSentimentDetectionJobsPages iterates over the pages of a ListSentimentDetectionJobs operation,
3547// calling the "fn" function with the response data for each page. To stop
3548// iterating, return false from the fn function.
3549//
3550// See ListSentimentDetectionJobs method for more information on how to use this operation.
3551//
3552// Note: This operation can generate multiple requests to a service.
3553//
3554//    // Example iterating over at most 3 pages of a ListSentimentDetectionJobs operation.
3555//    pageNum := 0
3556//    err := client.ListSentimentDetectionJobsPages(params,
3557//        func(page *comprehend.ListSentimentDetectionJobsOutput, lastPage bool) bool {
3558//            pageNum++
3559//            fmt.Println(page)
3560//            return pageNum <= 3
3561//        })
3562//
3563func (c *Comprehend) ListSentimentDetectionJobsPages(input *ListSentimentDetectionJobsInput, fn func(*ListSentimentDetectionJobsOutput, bool) bool) error {
3564	return c.ListSentimentDetectionJobsPagesWithContext(aws.BackgroundContext(), input, fn)
3565}
3566
3567// ListSentimentDetectionJobsPagesWithContext same as ListSentimentDetectionJobsPages except
3568// it takes a Context and allows setting request options on the pages.
3569//
3570// The context must be non-nil and will be used for request cancellation. If
3571// the context is nil a panic will occur. In the future the SDK may create
3572// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3573// for more information on using Contexts.
3574func (c *Comprehend) ListSentimentDetectionJobsPagesWithContext(ctx aws.Context, input *ListSentimentDetectionJobsInput, fn func(*ListSentimentDetectionJobsOutput, bool) bool, opts ...request.Option) error {
3575	p := request.Pagination{
3576		NewRequest: func() (*request.Request, error) {
3577			var inCpy *ListSentimentDetectionJobsInput
3578			if input != nil {
3579				tmp := *input
3580				inCpy = &tmp
3581			}
3582			req, _ := c.ListSentimentDetectionJobsRequest(inCpy)
3583			req.SetContext(ctx)
3584			req.ApplyOptions(opts...)
3585			return req, nil
3586		},
3587	}
3588
3589	for p.Next() {
3590		if !fn(p.Page().(*ListSentimentDetectionJobsOutput), !p.HasNextPage()) {
3591			break
3592		}
3593	}
3594
3595	return p.Err()
3596}
3597
3598const opListTagsForResource = "ListTagsForResource"
3599
3600// ListTagsForResourceRequest generates a "aws/request.Request" representing the
3601// client's request for the ListTagsForResource operation. The "output" return
3602// value will be populated with the request's response once the request completes
3603// successfully.
3604//
3605// Use "Send" method on the returned Request to send the API call to the service.
3606// the "output" return value is not valid until after Send returns without error.
3607//
3608// See ListTagsForResource for more information on using the ListTagsForResource
3609// API call, and error handling.
3610//
3611// This method is useful when you want to inject custom logic or configuration
3612// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3613//
3614//
3615//    // Example sending a request using the ListTagsForResourceRequest method.
3616//    req, resp := client.ListTagsForResourceRequest(params)
3617//
3618//    err := req.Send()
3619//    if err == nil { // resp is now filled
3620//        fmt.Println(resp)
3621//    }
3622//
3623// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/ListTagsForResource
3624func (c *Comprehend) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
3625	op := &request.Operation{
3626		Name:       opListTagsForResource,
3627		HTTPMethod: "POST",
3628		HTTPPath:   "/",
3629	}
3630
3631	if input == nil {
3632		input = &ListTagsForResourceInput{}
3633	}
3634
3635	output = &ListTagsForResourceOutput{}
3636	req = c.newRequest(op, input, output)
3637	return
3638}
3639
3640// ListTagsForResource API operation for Amazon Comprehend.
3641//
3642// Lists all tags associated with a given Amazon Comprehend resource.
3643//
3644// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3645// with awserr.Error's Code and Message methods to get detailed information about
3646// the error.
3647//
3648// See the AWS API reference guide for Amazon Comprehend's
3649// API operation ListTagsForResource for usage and error information.
3650//
3651// Returned Error Codes:
3652//   * ErrCodeInvalidRequestException "InvalidRequestException"
3653//   The request is invalid.
3654//
3655//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
3656//   The specified resource ARN was not found. Check the ARN and try your request
3657//   again.
3658//
3659//   * ErrCodeInternalServerException "InternalServerException"
3660//   An internal server error occurred. Retry your request.
3661//
3662// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/ListTagsForResource
3663func (c *Comprehend) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
3664	req, out := c.ListTagsForResourceRequest(input)
3665	return out, req.Send()
3666}
3667
3668// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
3669// the ability to pass a context and additional request options.
3670//
3671// See ListTagsForResource for details on how to use this API operation.
3672//
3673// The context must be non-nil and will be used for request cancellation. If
3674// the context is nil a panic will occur. In the future the SDK may create
3675// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3676// for more information on using Contexts.
3677func (c *Comprehend) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
3678	req, out := c.ListTagsForResourceRequest(input)
3679	req.SetContext(ctx)
3680	req.ApplyOptions(opts...)
3681	return out, req.Send()
3682}
3683
3684const opListTopicsDetectionJobs = "ListTopicsDetectionJobs"
3685
3686// ListTopicsDetectionJobsRequest generates a "aws/request.Request" representing the
3687// client's request for the ListTopicsDetectionJobs operation. The "output" return
3688// value will be populated with the request's response once the request completes
3689// successfully.
3690//
3691// Use "Send" method on the returned Request to send the API call to the service.
3692// the "output" return value is not valid until after Send returns without error.
3693//
3694// See ListTopicsDetectionJobs for more information on using the ListTopicsDetectionJobs
3695// API call, and error handling.
3696//
3697// This method is useful when you want to inject custom logic or configuration
3698// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3699//
3700//
3701//    // Example sending a request using the ListTopicsDetectionJobsRequest method.
3702//    req, resp := client.ListTopicsDetectionJobsRequest(params)
3703//
3704//    err := req.Send()
3705//    if err == nil { // resp is now filled
3706//        fmt.Println(resp)
3707//    }
3708//
3709// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/ListTopicsDetectionJobs
3710func (c *Comprehend) ListTopicsDetectionJobsRequest(input *ListTopicsDetectionJobsInput) (req *request.Request, output *ListTopicsDetectionJobsOutput) {
3711	op := &request.Operation{
3712		Name:       opListTopicsDetectionJobs,
3713		HTTPMethod: "POST",
3714		HTTPPath:   "/",
3715		Paginator: &request.Paginator{
3716			InputTokens:     []string{"NextToken"},
3717			OutputTokens:    []string{"NextToken"},
3718			LimitToken:      "MaxResults",
3719			TruncationToken: "",
3720		},
3721	}
3722
3723	if input == nil {
3724		input = &ListTopicsDetectionJobsInput{}
3725	}
3726
3727	output = &ListTopicsDetectionJobsOutput{}
3728	req = c.newRequest(op, input, output)
3729	return
3730}
3731
3732// ListTopicsDetectionJobs API operation for Amazon Comprehend.
3733//
3734// Gets a list of the topic detection jobs that you have submitted.
3735//
3736// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3737// with awserr.Error's Code and Message methods to get detailed information about
3738// the error.
3739//
3740// See the AWS API reference guide for Amazon Comprehend's
3741// API operation ListTopicsDetectionJobs for usage and error information.
3742//
3743// Returned Error Codes:
3744//   * ErrCodeInvalidRequestException "InvalidRequestException"
3745//   The request is invalid.
3746//
3747//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
3748//   The number of requests exceeds the limit. Resubmit your request later.
3749//
3750//   * ErrCodeInvalidFilterException "InvalidFilterException"
3751//   The filter specified for the operation is invalid. Specify a different filter.
3752//
3753//   * ErrCodeInternalServerException "InternalServerException"
3754//   An internal server error occurred. Retry your request.
3755//
3756// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/ListTopicsDetectionJobs
3757func (c *Comprehend) ListTopicsDetectionJobs(input *ListTopicsDetectionJobsInput) (*ListTopicsDetectionJobsOutput, error) {
3758	req, out := c.ListTopicsDetectionJobsRequest(input)
3759	return out, req.Send()
3760}
3761
3762// ListTopicsDetectionJobsWithContext is the same as ListTopicsDetectionJobs with the addition of
3763// the ability to pass a context and additional request options.
3764//
3765// See ListTopicsDetectionJobs for details on how to use this API operation.
3766//
3767// The context must be non-nil and will be used for request cancellation. If
3768// the context is nil a panic will occur. In the future the SDK may create
3769// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3770// for more information on using Contexts.
3771func (c *Comprehend) ListTopicsDetectionJobsWithContext(ctx aws.Context, input *ListTopicsDetectionJobsInput, opts ...request.Option) (*ListTopicsDetectionJobsOutput, error) {
3772	req, out := c.ListTopicsDetectionJobsRequest(input)
3773	req.SetContext(ctx)
3774	req.ApplyOptions(opts...)
3775	return out, req.Send()
3776}
3777
3778// ListTopicsDetectionJobsPages iterates over the pages of a ListTopicsDetectionJobs operation,
3779// calling the "fn" function with the response data for each page. To stop
3780// iterating, return false from the fn function.
3781//
3782// See ListTopicsDetectionJobs method for more information on how to use this operation.
3783//
3784// Note: This operation can generate multiple requests to a service.
3785//
3786//    // Example iterating over at most 3 pages of a ListTopicsDetectionJobs operation.
3787//    pageNum := 0
3788//    err := client.ListTopicsDetectionJobsPages(params,
3789//        func(page *comprehend.ListTopicsDetectionJobsOutput, lastPage bool) bool {
3790//            pageNum++
3791//            fmt.Println(page)
3792//            return pageNum <= 3
3793//        })
3794//
3795func (c *Comprehend) ListTopicsDetectionJobsPages(input *ListTopicsDetectionJobsInput, fn func(*ListTopicsDetectionJobsOutput, bool) bool) error {
3796	return c.ListTopicsDetectionJobsPagesWithContext(aws.BackgroundContext(), input, fn)
3797}
3798
3799// ListTopicsDetectionJobsPagesWithContext same as ListTopicsDetectionJobsPages except
3800// it takes a Context and allows setting request options on the pages.
3801//
3802// The context must be non-nil and will be used for request cancellation. If
3803// the context is nil a panic will occur. In the future the SDK may create
3804// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3805// for more information on using Contexts.
3806func (c *Comprehend) ListTopicsDetectionJobsPagesWithContext(ctx aws.Context, input *ListTopicsDetectionJobsInput, fn func(*ListTopicsDetectionJobsOutput, bool) bool, opts ...request.Option) error {
3807	p := request.Pagination{
3808		NewRequest: func() (*request.Request, error) {
3809			var inCpy *ListTopicsDetectionJobsInput
3810			if input != nil {
3811				tmp := *input
3812				inCpy = &tmp
3813			}
3814			req, _ := c.ListTopicsDetectionJobsRequest(inCpy)
3815			req.SetContext(ctx)
3816			req.ApplyOptions(opts...)
3817			return req, nil
3818		},
3819	}
3820
3821	for p.Next() {
3822		if !fn(p.Page().(*ListTopicsDetectionJobsOutput), !p.HasNextPage()) {
3823			break
3824		}
3825	}
3826
3827	return p.Err()
3828}
3829
3830const opStartDocumentClassificationJob = "StartDocumentClassificationJob"
3831
3832// StartDocumentClassificationJobRequest generates a "aws/request.Request" representing the
3833// client's request for the StartDocumentClassificationJob operation. The "output" return
3834// value will be populated with the request's response once the request completes
3835// successfully.
3836//
3837// Use "Send" method on the returned Request to send the API call to the service.
3838// the "output" return value is not valid until after Send returns without error.
3839//
3840// See StartDocumentClassificationJob for more information on using the StartDocumentClassificationJob
3841// API call, and error handling.
3842//
3843// This method is useful when you want to inject custom logic or configuration
3844// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3845//
3846//
3847//    // Example sending a request using the StartDocumentClassificationJobRequest method.
3848//    req, resp := client.StartDocumentClassificationJobRequest(params)
3849//
3850//    err := req.Send()
3851//    if err == nil { // resp is now filled
3852//        fmt.Println(resp)
3853//    }
3854//
3855// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/StartDocumentClassificationJob
3856func (c *Comprehend) StartDocumentClassificationJobRequest(input *StartDocumentClassificationJobInput) (req *request.Request, output *StartDocumentClassificationJobOutput) {
3857	op := &request.Operation{
3858		Name:       opStartDocumentClassificationJob,
3859		HTTPMethod: "POST",
3860		HTTPPath:   "/",
3861	}
3862
3863	if input == nil {
3864		input = &StartDocumentClassificationJobInput{}
3865	}
3866
3867	output = &StartDocumentClassificationJobOutput{}
3868	req = c.newRequest(op, input, output)
3869	return
3870}
3871
3872// StartDocumentClassificationJob API operation for Amazon Comprehend.
3873//
3874// Starts an asynchronous document classification job. Use the operation to
3875// track the progress of the job.
3876//
3877// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3878// with awserr.Error's Code and Message methods to get detailed information about
3879// the error.
3880//
3881// See the AWS API reference guide for Amazon Comprehend's
3882// API operation StartDocumentClassificationJob for usage and error information.
3883//
3884// Returned Error Codes:
3885//   * ErrCodeInvalidRequestException "InvalidRequestException"
3886//   The request is invalid.
3887//
3888//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
3889//   The number of requests exceeds the limit. Resubmit your request later.
3890//
3891//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
3892//   The specified resource ARN was not found. Check the ARN and try your request
3893//   again.
3894//
3895//   * ErrCodeResourceUnavailableException "ResourceUnavailableException"
3896//   The specified resource is not available. Check to see if the resource is
3897//   in the TRAINED state and try your request again.
3898//
3899//   * ErrCodeKmsKeyValidationException "KmsKeyValidationException"
3900//   The KMS customer managed key (CMK) entered cannot be validated. Verify the
3901//   key and re-enter it.
3902//
3903//   * ErrCodeInternalServerException "InternalServerException"
3904//   An internal server error occurred. Retry your request.
3905//
3906// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/StartDocumentClassificationJob
3907func (c *Comprehend) StartDocumentClassificationJob(input *StartDocumentClassificationJobInput) (*StartDocumentClassificationJobOutput, error) {
3908	req, out := c.StartDocumentClassificationJobRequest(input)
3909	return out, req.Send()
3910}
3911
3912// StartDocumentClassificationJobWithContext is the same as StartDocumentClassificationJob with the addition of
3913// the ability to pass a context and additional request options.
3914//
3915// See StartDocumentClassificationJob for details on how to use this API operation.
3916//
3917// The context must be non-nil and will be used for request cancellation. If
3918// the context is nil a panic will occur. In the future the SDK may create
3919// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3920// for more information on using Contexts.
3921func (c *Comprehend) StartDocumentClassificationJobWithContext(ctx aws.Context, input *StartDocumentClassificationJobInput, opts ...request.Option) (*StartDocumentClassificationJobOutput, error) {
3922	req, out := c.StartDocumentClassificationJobRequest(input)
3923	req.SetContext(ctx)
3924	req.ApplyOptions(opts...)
3925	return out, req.Send()
3926}
3927
3928const opStartDominantLanguageDetectionJob = "StartDominantLanguageDetectionJob"
3929
3930// StartDominantLanguageDetectionJobRequest generates a "aws/request.Request" representing the
3931// client's request for the StartDominantLanguageDetectionJob operation. The "output" return
3932// value will be populated with the request's response once the request completes
3933// successfully.
3934//
3935// Use "Send" method on the returned Request to send the API call to the service.
3936// the "output" return value is not valid until after Send returns without error.
3937//
3938// See StartDominantLanguageDetectionJob for more information on using the StartDominantLanguageDetectionJob
3939// API call, and error handling.
3940//
3941// This method is useful when you want to inject custom logic or configuration
3942// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3943//
3944//
3945//    // Example sending a request using the StartDominantLanguageDetectionJobRequest method.
3946//    req, resp := client.StartDominantLanguageDetectionJobRequest(params)
3947//
3948//    err := req.Send()
3949//    if err == nil { // resp is now filled
3950//        fmt.Println(resp)
3951//    }
3952//
3953// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/StartDominantLanguageDetectionJob
3954func (c *Comprehend) StartDominantLanguageDetectionJobRequest(input *StartDominantLanguageDetectionJobInput) (req *request.Request, output *StartDominantLanguageDetectionJobOutput) {
3955	op := &request.Operation{
3956		Name:       opStartDominantLanguageDetectionJob,
3957		HTTPMethod: "POST",
3958		HTTPPath:   "/",
3959	}
3960
3961	if input == nil {
3962		input = &StartDominantLanguageDetectionJobInput{}
3963	}
3964
3965	output = &StartDominantLanguageDetectionJobOutput{}
3966	req = c.newRequest(op, input, output)
3967	return
3968}
3969
3970// StartDominantLanguageDetectionJob API operation for Amazon Comprehend.
3971//
3972// Starts an asynchronous dominant language detection job for a collection of
3973// documents. Use the operation to track the status of a job.
3974//
3975// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3976// with awserr.Error's Code and Message methods to get detailed information about
3977// the error.
3978//
3979// See the AWS API reference guide for Amazon Comprehend's
3980// API operation StartDominantLanguageDetectionJob for usage and error information.
3981//
3982// Returned Error Codes:
3983//   * ErrCodeInvalidRequestException "InvalidRequestException"
3984//   The request is invalid.
3985//
3986//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
3987//   The number of requests exceeds the limit. Resubmit your request later.
3988//
3989//   * ErrCodeKmsKeyValidationException "KmsKeyValidationException"
3990//   The KMS customer managed key (CMK) entered cannot be validated. Verify the
3991//   key and re-enter it.
3992//
3993//   * ErrCodeInternalServerException "InternalServerException"
3994//   An internal server error occurred. Retry your request.
3995//
3996// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/StartDominantLanguageDetectionJob
3997func (c *Comprehend) StartDominantLanguageDetectionJob(input *StartDominantLanguageDetectionJobInput) (*StartDominantLanguageDetectionJobOutput, error) {
3998	req, out := c.StartDominantLanguageDetectionJobRequest(input)
3999	return out, req.Send()
4000}
4001
4002// StartDominantLanguageDetectionJobWithContext is the same as StartDominantLanguageDetectionJob with the addition of
4003// the ability to pass a context and additional request options.
4004//
4005// See StartDominantLanguageDetectionJob for details on how to use this API operation.
4006//
4007// The context must be non-nil and will be used for request cancellation. If
4008// the context is nil a panic will occur. In the future the SDK may create
4009// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4010// for more information on using Contexts.
4011func (c *Comprehend) StartDominantLanguageDetectionJobWithContext(ctx aws.Context, input *StartDominantLanguageDetectionJobInput, opts ...request.Option) (*StartDominantLanguageDetectionJobOutput, error) {
4012	req, out := c.StartDominantLanguageDetectionJobRequest(input)
4013	req.SetContext(ctx)
4014	req.ApplyOptions(opts...)
4015	return out, req.Send()
4016}
4017
4018const opStartEntitiesDetectionJob = "StartEntitiesDetectionJob"
4019
4020// StartEntitiesDetectionJobRequest generates a "aws/request.Request" representing the
4021// client's request for the StartEntitiesDetectionJob operation. The "output" return
4022// value will be populated with the request's response once the request completes
4023// successfully.
4024//
4025// Use "Send" method on the returned Request to send the API call to the service.
4026// the "output" return value is not valid until after Send returns without error.
4027//
4028// See StartEntitiesDetectionJob for more information on using the StartEntitiesDetectionJob
4029// API call, and error handling.
4030//
4031// This method is useful when you want to inject custom logic or configuration
4032// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4033//
4034//
4035//    // Example sending a request using the StartEntitiesDetectionJobRequest method.
4036//    req, resp := client.StartEntitiesDetectionJobRequest(params)
4037//
4038//    err := req.Send()
4039//    if err == nil { // resp is now filled
4040//        fmt.Println(resp)
4041//    }
4042//
4043// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/StartEntitiesDetectionJob
4044func (c *Comprehend) StartEntitiesDetectionJobRequest(input *StartEntitiesDetectionJobInput) (req *request.Request, output *StartEntitiesDetectionJobOutput) {
4045	op := &request.Operation{
4046		Name:       opStartEntitiesDetectionJob,
4047		HTTPMethod: "POST",
4048		HTTPPath:   "/",
4049	}
4050
4051	if input == nil {
4052		input = &StartEntitiesDetectionJobInput{}
4053	}
4054
4055	output = &StartEntitiesDetectionJobOutput{}
4056	req = c.newRequest(op, input, output)
4057	return
4058}
4059
4060// StartEntitiesDetectionJob API operation for Amazon Comprehend.
4061//
4062// Starts an asynchronous entity detection job for a collection of documents.
4063// Use the operation to track the status of a job.
4064//
4065// This API can be used for either standard entity detection or custom entity
4066// recognition. In order to be used for custom entity recognition, the optional
4067// EntityRecognizerArn must be used in order to provide access to the recognizer
4068// being used to detect the custom entity.
4069//
4070// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4071// with awserr.Error's Code and Message methods to get detailed information about
4072// the error.
4073//
4074// See the AWS API reference guide for Amazon Comprehend's
4075// API operation StartEntitiesDetectionJob for usage and error information.
4076//
4077// Returned Error Codes:
4078//   * ErrCodeInvalidRequestException "InvalidRequestException"
4079//   The request is invalid.
4080//
4081//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
4082//   The number of requests exceeds the limit. Resubmit your request later.
4083//
4084//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
4085//   The specified resource ARN was not found. Check the ARN and try your request
4086//   again.
4087//
4088//   * ErrCodeResourceUnavailableException "ResourceUnavailableException"
4089//   The specified resource is not available. Check to see if the resource is
4090//   in the TRAINED state and try your request again.
4091//
4092//   * ErrCodeKmsKeyValidationException "KmsKeyValidationException"
4093//   The KMS customer managed key (CMK) entered cannot be validated. Verify the
4094//   key and re-enter it.
4095//
4096//   * ErrCodeInternalServerException "InternalServerException"
4097//   An internal server error occurred. Retry your request.
4098//
4099// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/StartEntitiesDetectionJob
4100func (c *Comprehend) StartEntitiesDetectionJob(input *StartEntitiesDetectionJobInput) (*StartEntitiesDetectionJobOutput, error) {
4101	req, out := c.StartEntitiesDetectionJobRequest(input)
4102	return out, req.Send()
4103}
4104
4105// StartEntitiesDetectionJobWithContext is the same as StartEntitiesDetectionJob with the addition of
4106// the ability to pass a context and additional request options.
4107//
4108// See StartEntitiesDetectionJob for details on how to use this API operation.
4109//
4110// The context must be non-nil and will be used for request cancellation. If
4111// the context is nil a panic will occur. In the future the SDK may create
4112// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4113// for more information on using Contexts.
4114func (c *Comprehend) StartEntitiesDetectionJobWithContext(ctx aws.Context, input *StartEntitiesDetectionJobInput, opts ...request.Option) (*StartEntitiesDetectionJobOutput, error) {
4115	req, out := c.StartEntitiesDetectionJobRequest(input)
4116	req.SetContext(ctx)
4117	req.ApplyOptions(opts...)
4118	return out, req.Send()
4119}
4120
4121const opStartKeyPhrasesDetectionJob = "StartKeyPhrasesDetectionJob"
4122
4123// StartKeyPhrasesDetectionJobRequest generates a "aws/request.Request" representing the
4124// client's request for the StartKeyPhrasesDetectionJob operation. The "output" return
4125// value will be populated with the request's response once the request completes
4126// successfully.
4127//
4128// Use "Send" method on the returned Request to send the API call to the service.
4129// the "output" return value is not valid until after Send returns without error.
4130//
4131// See StartKeyPhrasesDetectionJob for more information on using the StartKeyPhrasesDetectionJob
4132// API call, and error handling.
4133//
4134// This method is useful when you want to inject custom logic or configuration
4135// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4136//
4137//
4138//    // Example sending a request using the StartKeyPhrasesDetectionJobRequest method.
4139//    req, resp := client.StartKeyPhrasesDetectionJobRequest(params)
4140//
4141//    err := req.Send()
4142//    if err == nil { // resp is now filled
4143//        fmt.Println(resp)
4144//    }
4145//
4146// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/StartKeyPhrasesDetectionJob
4147func (c *Comprehend) StartKeyPhrasesDetectionJobRequest(input *StartKeyPhrasesDetectionJobInput) (req *request.Request, output *StartKeyPhrasesDetectionJobOutput) {
4148	op := &request.Operation{
4149		Name:       opStartKeyPhrasesDetectionJob,
4150		HTTPMethod: "POST",
4151		HTTPPath:   "/",
4152	}
4153
4154	if input == nil {
4155		input = &StartKeyPhrasesDetectionJobInput{}
4156	}
4157
4158	output = &StartKeyPhrasesDetectionJobOutput{}
4159	req = c.newRequest(op, input, output)
4160	return
4161}
4162
4163// StartKeyPhrasesDetectionJob API operation for Amazon Comprehend.
4164//
4165// Starts an asynchronous key phrase detection job for a collection of documents.
4166// Use the operation to track the status of a job.
4167//
4168// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4169// with awserr.Error's Code and Message methods to get detailed information about
4170// the error.
4171//
4172// See the AWS API reference guide for Amazon Comprehend's
4173// API operation StartKeyPhrasesDetectionJob for usage and error information.
4174//
4175// Returned Error Codes:
4176//   * ErrCodeInvalidRequestException "InvalidRequestException"
4177//   The request is invalid.
4178//
4179//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
4180//   The number of requests exceeds the limit. Resubmit your request later.
4181//
4182//   * ErrCodeKmsKeyValidationException "KmsKeyValidationException"
4183//   The KMS customer managed key (CMK) entered cannot be validated. Verify the
4184//   key and re-enter it.
4185//
4186//   * ErrCodeInternalServerException "InternalServerException"
4187//   An internal server error occurred. Retry your request.
4188//
4189// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/StartKeyPhrasesDetectionJob
4190func (c *Comprehend) StartKeyPhrasesDetectionJob(input *StartKeyPhrasesDetectionJobInput) (*StartKeyPhrasesDetectionJobOutput, error) {
4191	req, out := c.StartKeyPhrasesDetectionJobRequest(input)
4192	return out, req.Send()
4193}
4194
4195// StartKeyPhrasesDetectionJobWithContext is the same as StartKeyPhrasesDetectionJob with the addition of
4196// the ability to pass a context and additional request options.
4197//
4198// See StartKeyPhrasesDetectionJob for details on how to use this API operation.
4199//
4200// The context must be non-nil and will be used for request cancellation. If
4201// the context is nil a panic will occur. In the future the SDK may create
4202// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4203// for more information on using Contexts.
4204func (c *Comprehend) StartKeyPhrasesDetectionJobWithContext(ctx aws.Context, input *StartKeyPhrasesDetectionJobInput, opts ...request.Option) (*StartKeyPhrasesDetectionJobOutput, error) {
4205	req, out := c.StartKeyPhrasesDetectionJobRequest(input)
4206	req.SetContext(ctx)
4207	req.ApplyOptions(opts...)
4208	return out, req.Send()
4209}
4210
4211const opStartSentimentDetectionJob = "StartSentimentDetectionJob"
4212
4213// StartSentimentDetectionJobRequest generates a "aws/request.Request" representing the
4214// client's request for the StartSentimentDetectionJob operation. The "output" return
4215// value will be populated with the request's response once the request completes
4216// successfully.
4217//
4218// Use "Send" method on the returned Request to send the API call to the service.
4219// the "output" return value is not valid until after Send returns without error.
4220//
4221// See StartSentimentDetectionJob for more information on using the StartSentimentDetectionJob
4222// API call, and error handling.
4223//
4224// This method is useful when you want to inject custom logic or configuration
4225// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4226//
4227//
4228//    // Example sending a request using the StartSentimentDetectionJobRequest method.
4229//    req, resp := client.StartSentimentDetectionJobRequest(params)
4230//
4231//    err := req.Send()
4232//    if err == nil { // resp is now filled
4233//        fmt.Println(resp)
4234//    }
4235//
4236// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/StartSentimentDetectionJob
4237func (c *Comprehend) StartSentimentDetectionJobRequest(input *StartSentimentDetectionJobInput) (req *request.Request, output *StartSentimentDetectionJobOutput) {
4238	op := &request.Operation{
4239		Name:       opStartSentimentDetectionJob,
4240		HTTPMethod: "POST",
4241		HTTPPath:   "/",
4242	}
4243
4244	if input == nil {
4245		input = &StartSentimentDetectionJobInput{}
4246	}
4247
4248	output = &StartSentimentDetectionJobOutput{}
4249	req = c.newRequest(op, input, output)
4250	return
4251}
4252
4253// StartSentimentDetectionJob API operation for Amazon Comprehend.
4254//
4255// Starts an asynchronous sentiment detection job for a collection of documents.
4256// use the operation to track the status of a job.
4257//
4258// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4259// with awserr.Error's Code and Message methods to get detailed information about
4260// the error.
4261//
4262// See the AWS API reference guide for Amazon Comprehend's
4263// API operation StartSentimentDetectionJob for usage and error information.
4264//
4265// Returned Error Codes:
4266//   * ErrCodeInvalidRequestException "InvalidRequestException"
4267//   The request is invalid.
4268//
4269//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
4270//   The number of requests exceeds the limit. Resubmit your request later.
4271//
4272//   * ErrCodeKmsKeyValidationException "KmsKeyValidationException"
4273//   The KMS customer managed key (CMK) entered cannot be validated. Verify the
4274//   key and re-enter it.
4275//
4276//   * ErrCodeInternalServerException "InternalServerException"
4277//   An internal server error occurred. Retry your request.
4278//
4279// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/StartSentimentDetectionJob
4280func (c *Comprehend) StartSentimentDetectionJob(input *StartSentimentDetectionJobInput) (*StartSentimentDetectionJobOutput, error) {
4281	req, out := c.StartSentimentDetectionJobRequest(input)
4282	return out, req.Send()
4283}
4284
4285// StartSentimentDetectionJobWithContext is the same as StartSentimentDetectionJob with the addition of
4286// the ability to pass a context and additional request options.
4287//
4288// See StartSentimentDetectionJob for details on how to use this API operation.
4289//
4290// The context must be non-nil and will be used for request cancellation. If
4291// the context is nil a panic will occur. In the future the SDK may create
4292// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4293// for more information on using Contexts.
4294func (c *Comprehend) StartSentimentDetectionJobWithContext(ctx aws.Context, input *StartSentimentDetectionJobInput, opts ...request.Option) (*StartSentimentDetectionJobOutput, error) {
4295	req, out := c.StartSentimentDetectionJobRequest(input)
4296	req.SetContext(ctx)
4297	req.ApplyOptions(opts...)
4298	return out, req.Send()
4299}
4300
4301const opStartTopicsDetectionJob = "StartTopicsDetectionJob"
4302
4303// StartTopicsDetectionJobRequest generates a "aws/request.Request" representing the
4304// client's request for the StartTopicsDetectionJob operation. The "output" return
4305// value will be populated with the request's response once the request completes
4306// successfully.
4307//
4308// Use "Send" method on the returned Request to send the API call to the service.
4309// the "output" return value is not valid until after Send returns without error.
4310//
4311// See StartTopicsDetectionJob for more information on using the StartTopicsDetectionJob
4312// API call, and error handling.
4313//
4314// This method is useful when you want to inject custom logic or configuration
4315// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4316//
4317//
4318//    // Example sending a request using the StartTopicsDetectionJobRequest method.
4319//    req, resp := client.StartTopicsDetectionJobRequest(params)
4320//
4321//    err := req.Send()
4322//    if err == nil { // resp is now filled
4323//        fmt.Println(resp)
4324//    }
4325//
4326// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/StartTopicsDetectionJob
4327func (c *Comprehend) StartTopicsDetectionJobRequest(input *StartTopicsDetectionJobInput) (req *request.Request, output *StartTopicsDetectionJobOutput) {
4328	op := &request.Operation{
4329		Name:       opStartTopicsDetectionJob,
4330		HTTPMethod: "POST",
4331		HTTPPath:   "/",
4332	}
4333
4334	if input == nil {
4335		input = &StartTopicsDetectionJobInput{}
4336	}
4337
4338	output = &StartTopicsDetectionJobOutput{}
4339	req = c.newRequest(op, input, output)
4340	return
4341}
4342
4343// StartTopicsDetectionJob API operation for Amazon Comprehend.
4344//
4345// Starts an asynchronous topic detection job. Use the DescribeTopicDetectionJob
4346// operation to track the status of a job.
4347//
4348// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4349// with awserr.Error's Code and Message methods to get detailed information about
4350// the error.
4351//
4352// See the AWS API reference guide for Amazon Comprehend's
4353// API operation StartTopicsDetectionJob for usage and error information.
4354//
4355// Returned Error Codes:
4356//   * ErrCodeInvalidRequestException "InvalidRequestException"
4357//   The request is invalid.
4358//
4359//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
4360//   The number of requests exceeds the limit. Resubmit your request later.
4361//
4362//   * ErrCodeKmsKeyValidationException "KmsKeyValidationException"
4363//   The KMS customer managed key (CMK) entered cannot be validated. Verify the
4364//   key and re-enter it.
4365//
4366//   * ErrCodeInternalServerException "InternalServerException"
4367//   An internal server error occurred. Retry your request.
4368//
4369// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/StartTopicsDetectionJob
4370func (c *Comprehend) StartTopicsDetectionJob(input *StartTopicsDetectionJobInput) (*StartTopicsDetectionJobOutput, error) {
4371	req, out := c.StartTopicsDetectionJobRequest(input)
4372	return out, req.Send()
4373}
4374
4375// StartTopicsDetectionJobWithContext is the same as StartTopicsDetectionJob with the addition of
4376// the ability to pass a context and additional request options.
4377//
4378// See StartTopicsDetectionJob for details on how to use this API operation.
4379//
4380// The context must be non-nil and will be used for request cancellation. If
4381// the context is nil a panic will occur. In the future the SDK may create
4382// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4383// for more information on using Contexts.
4384func (c *Comprehend) StartTopicsDetectionJobWithContext(ctx aws.Context, input *StartTopicsDetectionJobInput, opts ...request.Option) (*StartTopicsDetectionJobOutput, error) {
4385	req, out := c.StartTopicsDetectionJobRequest(input)
4386	req.SetContext(ctx)
4387	req.ApplyOptions(opts...)
4388	return out, req.Send()
4389}
4390
4391const opStopDominantLanguageDetectionJob = "StopDominantLanguageDetectionJob"
4392
4393// StopDominantLanguageDetectionJobRequest generates a "aws/request.Request" representing the
4394// client's request for the StopDominantLanguageDetectionJob operation. The "output" return
4395// value will be populated with the request's response once the request completes
4396// successfully.
4397//
4398// Use "Send" method on the returned Request to send the API call to the service.
4399// the "output" return value is not valid until after Send returns without error.
4400//
4401// See StopDominantLanguageDetectionJob for more information on using the StopDominantLanguageDetectionJob
4402// API call, and error handling.
4403//
4404// This method is useful when you want to inject custom logic or configuration
4405// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4406//
4407//
4408//    // Example sending a request using the StopDominantLanguageDetectionJobRequest method.
4409//    req, resp := client.StopDominantLanguageDetectionJobRequest(params)
4410//
4411//    err := req.Send()
4412//    if err == nil { // resp is now filled
4413//        fmt.Println(resp)
4414//    }
4415//
4416// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/StopDominantLanguageDetectionJob
4417func (c *Comprehend) StopDominantLanguageDetectionJobRequest(input *StopDominantLanguageDetectionJobInput) (req *request.Request, output *StopDominantLanguageDetectionJobOutput) {
4418	op := &request.Operation{
4419		Name:       opStopDominantLanguageDetectionJob,
4420		HTTPMethod: "POST",
4421		HTTPPath:   "/",
4422	}
4423
4424	if input == nil {
4425		input = &StopDominantLanguageDetectionJobInput{}
4426	}
4427
4428	output = &StopDominantLanguageDetectionJobOutput{}
4429	req = c.newRequest(op, input, output)
4430	return
4431}
4432
4433// StopDominantLanguageDetectionJob API operation for Amazon Comprehend.
4434//
4435// Stops a dominant language detection job in progress.
4436//
4437// If the job state is IN_PROGRESS the job is marked for termination and put
4438// into the STOP_REQUESTED state. If the job completes before it can be stopped,
4439// it is put into the COMPLETED state; otherwise the job is stopped and put
4440// into the STOPPED state.
4441//
4442// If the job is in the COMPLETED or FAILED state when you call the StopDominantLanguageDetectionJob
4443// operation, the operation returns a 400 Internal Request Exception.
4444//
4445// When a job is stopped, any documents already processed are written to the
4446// output location.
4447//
4448// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4449// with awserr.Error's Code and Message methods to get detailed information about
4450// the error.
4451//
4452// See the AWS API reference guide for Amazon Comprehend's
4453// API operation StopDominantLanguageDetectionJob for usage and error information.
4454//
4455// Returned Error Codes:
4456//   * ErrCodeInvalidRequestException "InvalidRequestException"
4457//   The request is invalid.
4458//
4459//   * ErrCodeJobNotFoundException "JobNotFoundException"
4460//   The specified job was not found. Check the job ID and try again.
4461//
4462//   * ErrCodeInternalServerException "InternalServerException"
4463//   An internal server error occurred. Retry your request.
4464//
4465// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/StopDominantLanguageDetectionJob
4466func (c *Comprehend) StopDominantLanguageDetectionJob(input *StopDominantLanguageDetectionJobInput) (*StopDominantLanguageDetectionJobOutput, error) {
4467	req, out := c.StopDominantLanguageDetectionJobRequest(input)
4468	return out, req.Send()
4469}
4470
4471// StopDominantLanguageDetectionJobWithContext is the same as StopDominantLanguageDetectionJob with the addition of
4472// the ability to pass a context and additional request options.
4473//
4474// See StopDominantLanguageDetectionJob for details on how to use this API operation.
4475//
4476// The context must be non-nil and will be used for request cancellation. If
4477// the context is nil a panic will occur. In the future the SDK may create
4478// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4479// for more information on using Contexts.
4480func (c *Comprehend) StopDominantLanguageDetectionJobWithContext(ctx aws.Context, input *StopDominantLanguageDetectionJobInput, opts ...request.Option) (*StopDominantLanguageDetectionJobOutput, error) {
4481	req, out := c.StopDominantLanguageDetectionJobRequest(input)
4482	req.SetContext(ctx)
4483	req.ApplyOptions(opts...)
4484	return out, req.Send()
4485}
4486
4487const opStopEntitiesDetectionJob = "StopEntitiesDetectionJob"
4488
4489// StopEntitiesDetectionJobRequest generates a "aws/request.Request" representing the
4490// client's request for the StopEntitiesDetectionJob operation. The "output" return
4491// value will be populated with the request's response once the request completes
4492// successfully.
4493//
4494// Use "Send" method on the returned Request to send the API call to the service.
4495// the "output" return value is not valid until after Send returns without error.
4496//
4497// See StopEntitiesDetectionJob for more information on using the StopEntitiesDetectionJob
4498// API call, and error handling.
4499//
4500// This method is useful when you want to inject custom logic or configuration
4501// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4502//
4503//
4504//    // Example sending a request using the StopEntitiesDetectionJobRequest method.
4505//    req, resp := client.StopEntitiesDetectionJobRequest(params)
4506//
4507//    err := req.Send()
4508//    if err == nil { // resp is now filled
4509//        fmt.Println(resp)
4510//    }
4511//
4512// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/StopEntitiesDetectionJob
4513func (c *Comprehend) StopEntitiesDetectionJobRequest(input *StopEntitiesDetectionJobInput) (req *request.Request, output *StopEntitiesDetectionJobOutput) {
4514	op := &request.Operation{
4515		Name:       opStopEntitiesDetectionJob,
4516		HTTPMethod: "POST",
4517		HTTPPath:   "/",
4518	}
4519
4520	if input == nil {
4521		input = &StopEntitiesDetectionJobInput{}
4522	}
4523
4524	output = &StopEntitiesDetectionJobOutput{}
4525	req = c.newRequest(op, input, output)
4526	return
4527}
4528
4529// StopEntitiesDetectionJob API operation for Amazon Comprehend.
4530//
4531// Stops an entities detection job in progress.
4532//
4533// If the job state is IN_PROGRESS the job is marked for termination and put
4534// into the STOP_REQUESTED state. If the job completes before it can be stopped,
4535// it is put into the COMPLETED state; otherwise the job is stopped and put
4536// into the STOPPED state.
4537//
4538// If the job is in the COMPLETED or FAILED state when you call the StopDominantLanguageDetectionJob
4539// operation, the operation returns a 400 Internal Request Exception.
4540//
4541// When a job is stopped, any documents already processed are written to the
4542// output location.
4543//
4544// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4545// with awserr.Error's Code and Message methods to get detailed information about
4546// the error.
4547//
4548// See the AWS API reference guide for Amazon Comprehend's
4549// API operation StopEntitiesDetectionJob for usage and error information.
4550//
4551// Returned Error Codes:
4552//   * ErrCodeInvalidRequestException "InvalidRequestException"
4553//   The request is invalid.
4554//
4555//   * ErrCodeJobNotFoundException "JobNotFoundException"
4556//   The specified job was not found. Check the job ID and try again.
4557//
4558//   * ErrCodeInternalServerException "InternalServerException"
4559//   An internal server error occurred. Retry your request.
4560//
4561// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/StopEntitiesDetectionJob
4562func (c *Comprehend) StopEntitiesDetectionJob(input *StopEntitiesDetectionJobInput) (*StopEntitiesDetectionJobOutput, error) {
4563	req, out := c.StopEntitiesDetectionJobRequest(input)
4564	return out, req.Send()
4565}
4566
4567// StopEntitiesDetectionJobWithContext is the same as StopEntitiesDetectionJob with the addition of
4568// the ability to pass a context and additional request options.
4569//
4570// See StopEntitiesDetectionJob for details on how to use this API operation.
4571//
4572// The context must be non-nil and will be used for request cancellation. If
4573// the context is nil a panic will occur. In the future the SDK may create
4574// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4575// for more information on using Contexts.
4576func (c *Comprehend) StopEntitiesDetectionJobWithContext(ctx aws.Context, input *StopEntitiesDetectionJobInput, opts ...request.Option) (*StopEntitiesDetectionJobOutput, error) {
4577	req, out := c.StopEntitiesDetectionJobRequest(input)
4578	req.SetContext(ctx)
4579	req.ApplyOptions(opts...)
4580	return out, req.Send()
4581}
4582
4583const opStopKeyPhrasesDetectionJob = "StopKeyPhrasesDetectionJob"
4584
4585// StopKeyPhrasesDetectionJobRequest generates a "aws/request.Request" representing the
4586// client's request for the StopKeyPhrasesDetectionJob operation. The "output" return
4587// value will be populated with the request's response once the request completes
4588// successfully.
4589//
4590// Use "Send" method on the returned Request to send the API call to the service.
4591// the "output" return value is not valid until after Send returns without error.
4592//
4593// See StopKeyPhrasesDetectionJob for more information on using the StopKeyPhrasesDetectionJob
4594// API call, and error handling.
4595//
4596// This method is useful when you want to inject custom logic or configuration
4597// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4598//
4599//
4600//    // Example sending a request using the StopKeyPhrasesDetectionJobRequest method.
4601//    req, resp := client.StopKeyPhrasesDetectionJobRequest(params)
4602//
4603//    err := req.Send()
4604//    if err == nil { // resp is now filled
4605//        fmt.Println(resp)
4606//    }
4607//
4608// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/StopKeyPhrasesDetectionJob
4609func (c *Comprehend) StopKeyPhrasesDetectionJobRequest(input *StopKeyPhrasesDetectionJobInput) (req *request.Request, output *StopKeyPhrasesDetectionJobOutput) {
4610	op := &request.Operation{
4611		Name:       opStopKeyPhrasesDetectionJob,
4612		HTTPMethod: "POST",
4613		HTTPPath:   "/",
4614	}
4615
4616	if input == nil {
4617		input = &StopKeyPhrasesDetectionJobInput{}
4618	}
4619
4620	output = &StopKeyPhrasesDetectionJobOutput{}
4621	req = c.newRequest(op, input, output)
4622	return
4623}
4624
4625// StopKeyPhrasesDetectionJob API operation for Amazon Comprehend.
4626//
4627// Stops a key phrases detection job in progress.
4628//
4629// If the job state is IN_PROGRESS the job is marked for termination and put
4630// into the STOP_REQUESTED state. If the job completes before it can be stopped,
4631// it is put into the COMPLETED state; otherwise the job is stopped and put
4632// into the STOPPED state.
4633//
4634// If the job is in the COMPLETED or FAILED state when you call the StopDominantLanguageDetectionJob
4635// operation, the operation returns a 400 Internal Request Exception.
4636//
4637// When a job is stopped, any documents already processed are written to the
4638// output location.
4639//
4640// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4641// with awserr.Error's Code and Message methods to get detailed information about
4642// the error.
4643//
4644// See the AWS API reference guide for Amazon Comprehend's
4645// API operation StopKeyPhrasesDetectionJob for usage and error information.
4646//
4647// Returned Error Codes:
4648//   * ErrCodeInvalidRequestException "InvalidRequestException"
4649//   The request is invalid.
4650//
4651//   * ErrCodeJobNotFoundException "JobNotFoundException"
4652//   The specified job was not found. Check the job ID and try again.
4653//
4654//   * ErrCodeInternalServerException "InternalServerException"
4655//   An internal server error occurred. Retry your request.
4656//
4657// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/StopKeyPhrasesDetectionJob
4658func (c *Comprehend) StopKeyPhrasesDetectionJob(input *StopKeyPhrasesDetectionJobInput) (*StopKeyPhrasesDetectionJobOutput, error) {
4659	req, out := c.StopKeyPhrasesDetectionJobRequest(input)
4660	return out, req.Send()
4661}
4662
4663// StopKeyPhrasesDetectionJobWithContext is the same as StopKeyPhrasesDetectionJob with the addition of
4664// the ability to pass a context and additional request options.
4665//
4666// See StopKeyPhrasesDetectionJob for details on how to use this API operation.
4667//
4668// The context must be non-nil and will be used for request cancellation. If
4669// the context is nil a panic will occur. In the future the SDK may create
4670// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4671// for more information on using Contexts.
4672func (c *Comprehend) StopKeyPhrasesDetectionJobWithContext(ctx aws.Context, input *StopKeyPhrasesDetectionJobInput, opts ...request.Option) (*StopKeyPhrasesDetectionJobOutput, error) {
4673	req, out := c.StopKeyPhrasesDetectionJobRequest(input)
4674	req.SetContext(ctx)
4675	req.ApplyOptions(opts...)
4676	return out, req.Send()
4677}
4678
4679const opStopSentimentDetectionJob = "StopSentimentDetectionJob"
4680
4681// StopSentimentDetectionJobRequest generates a "aws/request.Request" representing the
4682// client's request for the StopSentimentDetectionJob operation. The "output" return
4683// value will be populated with the request's response once the request completes
4684// successfully.
4685//
4686// Use "Send" method on the returned Request to send the API call to the service.
4687// the "output" return value is not valid until after Send returns without error.
4688//
4689// See StopSentimentDetectionJob for more information on using the StopSentimentDetectionJob
4690// API call, and error handling.
4691//
4692// This method is useful when you want to inject custom logic or configuration
4693// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4694//
4695//
4696//    // Example sending a request using the StopSentimentDetectionJobRequest method.
4697//    req, resp := client.StopSentimentDetectionJobRequest(params)
4698//
4699//    err := req.Send()
4700//    if err == nil { // resp is now filled
4701//        fmt.Println(resp)
4702//    }
4703//
4704// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/StopSentimentDetectionJob
4705func (c *Comprehend) StopSentimentDetectionJobRequest(input *StopSentimentDetectionJobInput) (req *request.Request, output *StopSentimentDetectionJobOutput) {
4706	op := &request.Operation{
4707		Name:       opStopSentimentDetectionJob,
4708		HTTPMethod: "POST",
4709		HTTPPath:   "/",
4710	}
4711
4712	if input == nil {
4713		input = &StopSentimentDetectionJobInput{}
4714	}
4715
4716	output = &StopSentimentDetectionJobOutput{}
4717	req = c.newRequest(op, input, output)
4718	return
4719}
4720
4721// StopSentimentDetectionJob API operation for Amazon Comprehend.
4722//
4723// Stops a sentiment detection job in progress.
4724//
4725// If the job state is IN_PROGRESS the job is marked for termination and put
4726// into the STOP_REQUESTED state. If the job completes before it can be stopped,
4727// it is put into the COMPLETED state; otherwise the job is be stopped and put
4728// into the STOPPED state.
4729//
4730// If the job is in the COMPLETED or FAILED state when you call the StopDominantLanguageDetectionJob
4731// operation, the operation returns a 400 Internal Request Exception.
4732//
4733// When a job is stopped, any documents already processed are written to the
4734// output location.
4735//
4736// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4737// with awserr.Error's Code and Message methods to get detailed information about
4738// the error.
4739//
4740// See the AWS API reference guide for Amazon Comprehend's
4741// API operation StopSentimentDetectionJob for usage and error information.
4742//
4743// Returned Error Codes:
4744//   * ErrCodeInvalidRequestException "InvalidRequestException"
4745//   The request is invalid.
4746//
4747//   * ErrCodeJobNotFoundException "JobNotFoundException"
4748//   The specified job was not found. Check the job ID and try again.
4749//
4750//   * ErrCodeInternalServerException "InternalServerException"
4751//   An internal server error occurred. Retry your request.
4752//
4753// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/StopSentimentDetectionJob
4754func (c *Comprehend) StopSentimentDetectionJob(input *StopSentimentDetectionJobInput) (*StopSentimentDetectionJobOutput, error) {
4755	req, out := c.StopSentimentDetectionJobRequest(input)
4756	return out, req.Send()
4757}
4758
4759// StopSentimentDetectionJobWithContext is the same as StopSentimentDetectionJob with the addition of
4760// the ability to pass a context and additional request options.
4761//
4762// See StopSentimentDetectionJob for details on how to use this API operation.
4763//
4764// The context must be non-nil and will be used for request cancellation. If
4765// the context is nil a panic will occur. In the future the SDK may create
4766// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4767// for more information on using Contexts.
4768func (c *Comprehend) StopSentimentDetectionJobWithContext(ctx aws.Context, input *StopSentimentDetectionJobInput, opts ...request.Option) (*StopSentimentDetectionJobOutput, error) {
4769	req, out := c.StopSentimentDetectionJobRequest(input)
4770	req.SetContext(ctx)
4771	req.ApplyOptions(opts...)
4772	return out, req.Send()
4773}
4774
4775const opStopTrainingDocumentClassifier = "StopTrainingDocumentClassifier"
4776
4777// StopTrainingDocumentClassifierRequest generates a "aws/request.Request" representing the
4778// client's request for the StopTrainingDocumentClassifier operation. The "output" return
4779// value will be populated with the request's response once the request completes
4780// successfully.
4781//
4782// Use "Send" method on the returned Request to send the API call to the service.
4783// the "output" return value is not valid until after Send returns without error.
4784//
4785// See StopTrainingDocumentClassifier for more information on using the StopTrainingDocumentClassifier
4786// API call, and error handling.
4787//
4788// This method is useful when you want to inject custom logic or configuration
4789// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4790//
4791//
4792//    // Example sending a request using the StopTrainingDocumentClassifierRequest method.
4793//    req, resp := client.StopTrainingDocumentClassifierRequest(params)
4794//
4795//    err := req.Send()
4796//    if err == nil { // resp is now filled
4797//        fmt.Println(resp)
4798//    }
4799//
4800// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/StopTrainingDocumentClassifier
4801func (c *Comprehend) StopTrainingDocumentClassifierRequest(input *StopTrainingDocumentClassifierInput) (req *request.Request, output *StopTrainingDocumentClassifierOutput) {
4802	op := &request.Operation{
4803		Name:       opStopTrainingDocumentClassifier,
4804		HTTPMethod: "POST",
4805		HTTPPath:   "/",
4806	}
4807
4808	if input == nil {
4809		input = &StopTrainingDocumentClassifierInput{}
4810	}
4811
4812	output = &StopTrainingDocumentClassifierOutput{}
4813	req = c.newRequest(op, input, output)
4814	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4815	return
4816}
4817
4818// StopTrainingDocumentClassifier API operation for Amazon Comprehend.
4819//
4820// Stops a document classifier training job while in progress.
4821//
4822// If the training job state is TRAINING, the job is marked for termination
4823// and put into the STOP_REQUESTED state. If the training job completes before
4824// it can be stopped, it is put into the TRAINED; otherwise the training job
4825// is stopped and put into the STOPPED state and the service sends back an HTTP
4826// 200 response with an empty HTTP body.
4827//
4828// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4829// with awserr.Error's Code and Message methods to get detailed information about
4830// the error.
4831//
4832// See the AWS API reference guide for Amazon Comprehend's
4833// API operation StopTrainingDocumentClassifier for usage and error information.
4834//
4835// Returned Error Codes:
4836//   * ErrCodeInvalidRequestException "InvalidRequestException"
4837//   The request is invalid.
4838//
4839//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
4840//   The number of requests exceeds the limit. Resubmit your request later.
4841//
4842//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
4843//   The specified resource ARN was not found. Check the ARN and try your request
4844//   again.
4845//
4846//   * ErrCodeInternalServerException "InternalServerException"
4847//   An internal server error occurred. Retry your request.
4848//
4849// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/StopTrainingDocumentClassifier
4850func (c *Comprehend) StopTrainingDocumentClassifier(input *StopTrainingDocumentClassifierInput) (*StopTrainingDocumentClassifierOutput, error) {
4851	req, out := c.StopTrainingDocumentClassifierRequest(input)
4852	return out, req.Send()
4853}
4854
4855// StopTrainingDocumentClassifierWithContext is the same as StopTrainingDocumentClassifier with the addition of
4856// the ability to pass a context and additional request options.
4857//
4858// See StopTrainingDocumentClassifier for details on how to use this API operation.
4859//
4860// The context must be non-nil and will be used for request cancellation. If
4861// the context is nil a panic will occur. In the future the SDK may create
4862// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4863// for more information on using Contexts.
4864func (c *Comprehend) StopTrainingDocumentClassifierWithContext(ctx aws.Context, input *StopTrainingDocumentClassifierInput, opts ...request.Option) (*StopTrainingDocumentClassifierOutput, error) {
4865	req, out := c.StopTrainingDocumentClassifierRequest(input)
4866	req.SetContext(ctx)
4867	req.ApplyOptions(opts...)
4868	return out, req.Send()
4869}
4870
4871const opStopTrainingEntityRecognizer = "StopTrainingEntityRecognizer"
4872
4873// StopTrainingEntityRecognizerRequest generates a "aws/request.Request" representing the
4874// client's request for the StopTrainingEntityRecognizer operation. The "output" return
4875// value will be populated with the request's response once the request completes
4876// successfully.
4877//
4878// Use "Send" method on the returned Request to send the API call to the service.
4879// the "output" return value is not valid until after Send returns without error.
4880//
4881// See StopTrainingEntityRecognizer for more information on using the StopTrainingEntityRecognizer
4882// API call, and error handling.
4883//
4884// This method is useful when you want to inject custom logic or configuration
4885// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4886//
4887//
4888//    // Example sending a request using the StopTrainingEntityRecognizerRequest method.
4889//    req, resp := client.StopTrainingEntityRecognizerRequest(params)
4890//
4891//    err := req.Send()
4892//    if err == nil { // resp is now filled
4893//        fmt.Println(resp)
4894//    }
4895//
4896// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/StopTrainingEntityRecognizer
4897func (c *Comprehend) StopTrainingEntityRecognizerRequest(input *StopTrainingEntityRecognizerInput) (req *request.Request, output *StopTrainingEntityRecognizerOutput) {
4898	op := &request.Operation{
4899		Name:       opStopTrainingEntityRecognizer,
4900		HTTPMethod: "POST",
4901		HTTPPath:   "/",
4902	}
4903
4904	if input == nil {
4905		input = &StopTrainingEntityRecognizerInput{}
4906	}
4907
4908	output = &StopTrainingEntityRecognizerOutput{}
4909	req = c.newRequest(op, input, output)
4910	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4911	return
4912}
4913
4914// StopTrainingEntityRecognizer API operation for Amazon Comprehend.
4915//
4916// Stops an entity recognizer training job while in progress.
4917//
4918// If the training job state is TRAINING, the job is marked for termination
4919// and put into the STOP_REQUESTED state. If the training job completes before
4920// it can be stopped, it is put into the TRAINED; otherwise the training job
4921// is stopped and putted into the STOPPED state and the service sends back an
4922// HTTP 200 response with an empty HTTP body.
4923//
4924// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4925// with awserr.Error's Code and Message methods to get detailed information about
4926// the error.
4927//
4928// See the AWS API reference guide for Amazon Comprehend's
4929// API operation StopTrainingEntityRecognizer for usage and error information.
4930//
4931// Returned Error Codes:
4932//   * ErrCodeInvalidRequestException "InvalidRequestException"
4933//   The request is invalid.
4934//
4935//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
4936//   The number of requests exceeds the limit. Resubmit your request later.
4937//
4938//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
4939//   The specified resource ARN was not found. Check the ARN and try your request
4940//   again.
4941//
4942//   * ErrCodeInternalServerException "InternalServerException"
4943//   An internal server error occurred. Retry your request.
4944//
4945// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/StopTrainingEntityRecognizer
4946func (c *Comprehend) StopTrainingEntityRecognizer(input *StopTrainingEntityRecognizerInput) (*StopTrainingEntityRecognizerOutput, error) {
4947	req, out := c.StopTrainingEntityRecognizerRequest(input)
4948	return out, req.Send()
4949}
4950
4951// StopTrainingEntityRecognizerWithContext is the same as StopTrainingEntityRecognizer with the addition of
4952// the ability to pass a context and additional request options.
4953//
4954// See StopTrainingEntityRecognizer for details on how to use this API operation.
4955//
4956// The context must be non-nil and will be used for request cancellation. If
4957// the context is nil a panic will occur. In the future the SDK may create
4958// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4959// for more information on using Contexts.
4960func (c *Comprehend) StopTrainingEntityRecognizerWithContext(ctx aws.Context, input *StopTrainingEntityRecognizerInput, opts ...request.Option) (*StopTrainingEntityRecognizerOutput, error) {
4961	req, out := c.StopTrainingEntityRecognizerRequest(input)
4962	req.SetContext(ctx)
4963	req.ApplyOptions(opts...)
4964	return out, req.Send()
4965}
4966
4967const opTagResource = "TagResource"
4968
4969// TagResourceRequest generates a "aws/request.Request" representing the
4970// client's request for the TagResource operation. The "output" return
4971// value will be populated with the request's response once the request completes
4972// successfully.
4973//
4974// Use "Send" method on the returned Request to send the API call to the service.
4975// the "output" return value is not valid until after Send returns without error.
4976//
4977// See TagResource for more information on using the TagResource
4978// API call, and error handling.
4979//
4980// This method is useful when you want to inject custom logic or configuration
4981// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4982//
4983//
4984//    // Example sending a request using the TagResourceRequest method.
4985//    req, resp := client.TagResourceRequest(params)
4986//
4987//    err := req.Send()
4988//    if err == nil { // resp is now filled
4989//        fmt.Println(resp)
4990//    }
4991//
4992// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/TagResource
4993func (c *Comprehend) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
4994	op := &request.Operation{
4995		Name:       opTagResource,
4996		HTTPMethod: "POST",
4997		HTTPPath:   "/",
4998	}
4999
5000	if input == nil {
5001		input = &TagResourceInput{}
5002	}
5003
5004	output = &TagResourceOutput{}
5005	req = c.newRequest(op, input, output)
5006	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5007	return
5008}
5009
5010// TagResource API operation for Amazon Comprehend.
5011//
5012// Associates a specific tag with an Amazon Comprehend resource. A tag is a
5013// key-value pair that adds as a metadata to a resource used by Amazon Comprehend.
5014// For example, a tag with "Sales" as the key might be added to a resource to
5015// indicate its use by the sales department.
5016//
5017// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5018// with awserr.Error's Code and Message methods to get detailed information about
5019// the error.
5020//
5021// See the AWS API reference guide for Amazon Comprehend's
5022// API operation TagResource for usage and error information.
5023//
5024// Returned Error Codes:
5025//   * ErrCodeInvalidRequestException "InvalidRequestException"
5026//   The request is invalid.
5027//
5028//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
5029//   Concurrent modification of the tags associated with an Amazon Comprehend
5030//   resource is not supported.
5031//
5032//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
5033//   The specified resource ARN was not found. Check the ARN and try your request
5034//   again.
5035//
5036//   * ErrCodeTooManyTagsException "TooManyTagsException"
5037//   The request contains more tags than can be associated with a resource (50
5038//   tags per resource). The maximum number of tags includes both existing tags
5039//   and those included in your current request.
5040//
5041//   * ErrCodeInternalServerException "InternalServerException"
5042//   An internal server error occurred. Retry your request.
5043//
5044// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/TagResource
5045func (c *Comprehend) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
5046	req, out := c.TagResourceRequest(input)
5047	return out, req.Send()
5048}
5049
5050// TagResourceWithContext is the same as TagResource with the addition of
5051// the ability to pass a context and additional request options.
5052//
5053// See TagResource for details on how to use this API operation.
5054//
5055// The context must be non-nil and will be used for request cancellation. If
5056// the context is nil a panic will occur. In the future the SDK may create
5057// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5058// for more information on using Contexts.
5059func (c *Comprehend) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
5060	req, out := c.TagResourceRequest(input)
5061	req.SetContext(ctx)
5062	req.ApplyOptions(opts...)
5063	return out, req.Send()
5064}
5065
5066const opUntagResource = "UntagResource"
5067
5068// UntagResourceRequest generates a "aws/request.Request" representing the
5069// client's request for the UntagResource operation. The "output" return
5070// value will be populated with the request's response once the request completes
5071// successfully.
5072//
5073// Use "Send" method on the returned Request to send the API call to the service.
5074// the "output" return value is not valid until after Send returns without error.
5075//
5076// See UntagResource for more information on using the UntagResource
5077// API call, and error handling.
5078//
5079// This method is useful when you want to inject custom logic or configuration
5080// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5081//
5082//
5083//    // Example sending a request using the UntagResourceRequest method.
5084//    req, resp := client.UntagResourceRequest(params)
5085//
5086//    err := req.Send()
5087//    if err == nil { // resp is now filled
5088//        fmt.Println(resp)
5089//    }
5090//
5091// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/UntagResource
5092func (c *Comprehend) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
5093	op := &request.Operation{
5094		Name:       opUntagResource,
5095		HTTPMethod: "POST",
5096		HTTPPath:   "/",
5097	}
5098
5099	if input == nil {
5100		input = &UntagResourceInput{}
5101	}
5102
5103	output = &UntagResourceOutput{}
5104	req = c.newRequest(op, input, output)
5105	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5106	return
5107}
5108
5109// UntagResource API operation for Amazon Comprehend.
5110//
5111// Removes a specific tag associated with an Amazon Comprehend resource.
5112//
5113// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5114// with awserr.Error's Code and Message methods to get detailed information about
5115// the error.
5116//
5117// See the AWS API reference guide for Amazon Comprehend's
5118// API operation UntagResource for usage and error information.
5119//
5120// Returned Error Codes:
5121//   * ErrCodeTooManyTagKeysException "TooManyTagKeysException"
5122//   The request contains more tag keys than can be associated with a resource
5123//   (50 tag keys per resource).
5124//
5125//   * ErrCodeInvalidRequestException "InvalidRequestException"
5126//   The request is invalid.
5127//
5128//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
5129//   Concurrent modification of the tags associated with an Amazon Comprehend
5130//   resource is not supported.
5131//
5132//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
5133//   The specified resource ARN was not found. Check the ARN and try your request
5134//   again.
5135//
5136//   * ErrCodeInternalServerException "InternalServerException"
5137//   An internal server error occurred. Retry your request.
5138//
5139// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/UntagResource
5140func (c *Comprehend) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
5141	req, out := c.UntagResourceRequest(input)
5142	return out, req.Send()
5143}
5144
5145// UntagResourceWithContext is the same as UntagResource with the addition of
5146// the ability to pass a context and additional request options.
5147//
5148// See UntagResource for details on how to use this API operation.
5149//
5150// The context must be non-nil and will be used for request cancellation. If
5151// the context is nil a panic will occur. In the future the SDK may create
5152// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5153// for more information on using Contexts.
5154func (c *Comprehend) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
5155	req, out := c.UntagResourceRequest(input)
5156	req.SetContext(ctx)
5157	req.ApplyOptions(opts...)
5158	return out, req.Send()
5159}
5160
5161const opUpdateEndpoint = "UpdateEndpoint"
5162
5163// UpdateEndpointRequest generates a "aws/request.Request" representing the
5164// client's request for the UpdateEndpoint operation. The "output" return
5165// value will be populated with the request's response once the request completes
5166// successfully.
5167//
5168// Use "Send" method on the returned Request to send the API call to the service.
5169// the "output" return value is not valid until after Send returns without error.
5170//
5171// See UpdateEndpoint for more information on using the UpdateEndpoint
5172// API call, and error handling.
5173//
5174// This method is useful when you want to inject custom logic or configuration
5175// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5176//
5177//
5178//    // Example sending a request using the UpdateEndpointRequest method.
5179//    req, resp := client.UpdateEndpointRequest(params)
5180//
5181//    err := req.Send()
5182//    if err == nil { // resp is now filled
5183//        fmt.Println(resp)
5184//    }
5185//
5186// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/UpdateEndpoint
5187func (c *Comprehend) UpdateEndpointRequest(input *UpdateEndpointInput) (req *request.Request, output *UpdateEndpointOutput) {
5188	op := &request.Operation{
5189		Name:       opUpdateEndpoint,
5190		HTTPMethod: "POST",
5191		HTTPPath:   "/",
5192	}
5193
5194	if input == nil {
5195		input = &UpdateEndpointInput{}
5196	}
5197
5198	output = &UpdateEndpointOutput{}
5199	req = c.newRequest(op, input, output)
5200	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5201	return
5202}
5203
5204// UpdateEndpoint API operation for Amazon Comprehend.
5205//
5206// Updates information about the specified endpoint.
5207//
5208// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5209// with awserr.Error's Code and Message methods to get detailed information about
5210// the error.
5211//
5212// See the AWS API reference guide for Amazon Comprehend's
5213// API operation UpdateEndpoint for usage and error information.
5214//
5215// Returned Error Codes:
5216//   * ErrCodeInvalidRequestException "InvalidRequestException"
5217//   The request is invalid.
5218//
5219//   * ErrCodeTooManyRequestsException "TooManyRequestsException"
5220//   The number of requests exceeds the limit. Resubmit your request later.
5221//
5222//   * ErrCodeResourceInUseException "ResourceInUseException"
5223//   The specified name is already in use. Use a different name and try your request
5224//   again.
5225//
5226//   * ErrCodeResourceLimitExceededException "ResourceLimitExceededException"
5227//   The maximum number of recognizers per account has been exceeded. Review the
5228//   recognizers, perform cleanup, and then try your request again.
5229//
5230//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
5231//   The specified resource ARN was not found. Check the ARN and try your request
5232//   again.
5233//
5234//   * ErrCodeResourceUnavailableException "ResourceUnavailableException"
5235//   The specified resource is not available. Check to see if the resource is
5236//   in the TRAINED state and try your request again.
5237//
5238//   * ErrCodeInternalServerException "InternalServerException"
5239//   An internal server error occurred. Retry your request.
5240//
5241// See also, https://docs.aws.amazon.com/goto/WebAPI/comprehend-2017-11-27/UpdateEndpoint
5242func (c *Comprehend) UpdateEndpoint(input *UpdateEndpointInput) (*UpdateEndpointOutput, error) {
5243	req, out := c.UpdateEndpointRequest(input)
5244	return out, req.Send()
5245}
5246
5247// UpdateEndpointWithContext is the same as UpdateEndpoint with the addition of
5248// the ability to pass a context and additional request options.
5249//
5250// See UpdateEndpoint for details on how to use this API operation.
5251//
5252// The context must be non-nil and will be used for request cancellation. If
5253// the context is nil a panic will occur. In the future the SDK may create
5254// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5255// for more information on using Contexts.
5256func (c *Comprehend) UpdateEndpointWithContext(ctx aws.Context, input *UpdateEndpointInput, opts ...request.Option) (*UpdateEndpointOutput, error) {
5257	req, out := c.UpdateEndpointRequest(input)
5258	req.SetContext(ctx)
5259	req.ApplyOptions(opts...)
5260	return out, req.Send()
5261}
5262
5263type BatchDetectDominantLanguageInput struct {
5264	_ struct{} `type:"structure"`
5265
5266	// A list containing the text of the input documents. The list can contain a
5267	// maximum of 25 documents. Each document should contain at least 20 characters
5268	// and must contain fewer than 5,000 bytes of UTF-8 encoded characters.
5269	//
5270	// TextList is a required field
5271	TextList []*string `type:"list" required:"true"`
5272}
5273
5274// String returns the string representation
5275func (s BatchDetectDominantLanguageInput) String() string {
5276	return awsutil.Prettify(s)
5277}
5278
5279// GoString returns the string representation
5280func (s BatchDetectDominantLanguageInput) GoString() string {
5281	return s.String()
5282}
5283
5284// Validate inspects the fields of the type to determine if they are valid.
5285func (s *BatchDetectDominantLanguageInput) Validate() error {
5286	invalidParams := request.ErrInvalidParams{Context: "BatchDetectDominantLanguageInput"}
5287	if s.TextList == nil {
5288		invalidParams.Add(request.NewErrParamRequired("TextList"))
5289	}
5290
5291	if invalidParams.Len() > 0 {
5292		return invalidParams
5293	}
5294	return nil
5295}
5296
5297// SetTextList sets the TextList field's value.
5298func (s *BatchDetectDominantLanguageInput) SetTextList(v []*string) *BatchDetectDominantLanguageInput {
5299	s.TextList = v
5300	return s
5301}
5302
5303// The result of calling the operation. The operation returns one object for
5304// each document that is successfully processed by the operation.
5305type BatchDetectDominantLanguageItemResult struct {
5306	_ struct{} `type:"structure"`
5307
5308	// The zero-based index of the document in the input list.
5309	Index *int64 `type:"integer"`
5310
5311	// One or more DominantLanguage objects describing the dominant languages in
5312	// the document.
5313	Languages []*DominantLanguage `type:"list"`
5314}
5315
5316// String returns the string representation
5317func (s BatchDetectDominantLanguageItemResult) String() string {
5318	return awsutil.Prettify(s)
5319}
5320
5321// GoString returns the string representation
5322func (s BatchDetectDominantLanguageItemResult) GoString() string {
5323	return s.String()
5324}
5325
5326// SetIndex sets the Index field's value.
5327func (s *BatchDetectDominantLanguageItemResult) SetIndex(v int64) *BatchDetectDominantLanguageItemResult {
5328	s.Index = &v
5329	return s
5330}
5331
5332// SetLanguages sets the Languages field's value.
5333func (s *BatchDetectDominantLanguageItemResult) SetLanguages(v []*DominantLanguage) *BatchDetectDominantLanguageItemResult {
5334	s.Languages = v
5335	return s
5336}
5337
5338type BatchDetectDominantLanguageOutput struct {
5339	_ struct{} `type:"structure"`
5340
5341	// A list containing one object for each document that contained an error. The
5342	// results are sorted in ascending order by the Index field and match the order
5343	// of the documents in the input list. If there are no errors in the batch,
5344	// the ErrorList is empty.
5345	//
5346	// ErrorList is a required field
5347	ErrorList []*BatchItemError `type:"list" required:"true"`
5348
5349	// A list of objects containing the results of the operation. The results are
5350	// sorted in ascending order by the Index field and match the order of the documents
5351	// in the input list. If all of the documents contain an error, the ResultList
5352	// is empty.
5353	//
5354	// ResultList is a required field
5355	ResultList []*BatchDetectDominantLanguageItemResult `type:"list" required:"true"`
5356}
5357
5358// String returns the string representation
5359func (s BatchDetectDominantLanguageOutput) String() string {
5360	return awsutil.Prettify(s)
5361}
5362
5363// GoString returns the string representation
5364func (s BatchDetectDominantLanguageOutput) GoString() string {
5365	return s.String()
5366}
5367
5368// SetErrorList sets the ErrorList field's value.
5369func (s *BatchDetectDominantLanguageOutput) SetErrorList(v []*BatchItemError) *BatchDetectDominantLanguageOutput {
5370	s.ErrorList = v
5371	return s
5372}
5373
5374// SetResultList sets the ResultList field's value.
5375func (s *BatchDetectDominantLanguageOutput) SetResultList(v []*BatchDetectDominantLanguageItemResult) *BatchDetectDominantLanguageOutput {
5376	s.ResultList = v
5377	return s
5378}
5379
5380type BatchDetectEntitiesInput struct {
5381	_ struct{} `type:"structure"`
5382
5383	// The language of the input documents. You can specify any of the primary languages
5384	// supported by Amazon Comprehend. All documents must be in the same language.
5385	//
5386	// LanguageCode is a required field
5387	LanguageCode *string `type:"string" required:"true" enum:"LanguageCode"`
5388
5389	// A list containing the text of the input documents. The list can contain a
5390	// maximum of 25 documents. Each document must contain fewer than 5,000 bytes
5391	// of UTF-8 encoded characters.
5392	//
5393	// TextList is a required field
5394	TextList []*string `type:"list" required:"true"`
5395}
5396
5397// String returns the string representation
5398func (s BatchDetectEntitiesInput) String() string {
5399	return awsutil.Prettify(s)
5400}
5401
5402// GoString returns the string representation
5403func (s BatchDetectEntitiesInput) GoString() string {
5404	return s.String()
5405}
5406
5407// Validate inspects the fields of the type to determine if they are valid.
5408func (s *BatchDetectEntitiesInput) Validate() error {
5409	invalidParams := request.ErrInvalidParams{Context: "BatchDetectEntitiesInput"}
5410	if s.LanguageCode == nil {
5411		invalidParams.Add(request.NewErrParamRequired("LanguageCode"))
5412	}
5413	if s.TextList == nil {
5414		invalidParams.Add(request.NewErrParamRequired("TextList"))
5415	}
5416
5417	if invalidParams.Len() > 0 {
5418		return invalidParams
5419	}
5420	return nil
5421}
5422
5423// SetLanguageCode sets the LanguageCode field's value.
5424func (s *BatchDetectEntitiesInput) SetLanguageCode(v string) *BatchDetectEntitiesInput {
5425	s.LanguageCode = &v
5426	return s
5427}
5428
5429// SetTextList sets the TextList field's value.
5430func (s *BatchDetectEntitiesInput) SetTextList(v []*string) *BatchDetectEntitiesInput {
5431	s.TextList = v
5432	return s
5433}
5434
5435// The result of calling the operation. The operation returns one object for
5436// each document that is successfully processed by the operation.
5437type BatchDetectEntitiesItemResult struct {
5438	_ struct{} `type:"structure"`
5439
5440	// One or more Entity objects, one for each entity detected in the document.
5441	Entities []*Entity `type:"list"`
5442
5443	// The zero-based index of the document in the input list.
5444	Index *int64 `type:"integer"`
5445}
5446
5447// String returns the string representation
5448func (s BatchDetectEntitiesItemResult) String() string {
5449	return awsutil.Prettify(s)
5450}
5451
5452// GoString returns the string representation
5453func (s BatchDetectEntitiesItemResult) GoString() string {
5454	return s.String()
5455}
5456
5457// SetEntities sets the Entities field's value.
5458func (s *BatchDetectEntitiesItemResult) SetEntities(v []*Entity) *BatchDetectEntitiesItemResult {
5459	s.Entities = v
5460	return s
5461}
5462
5463// SetIndex sets the Index field's value.
5464func (s *BatchDetectEntitiesItemResult) SetIndex(v int64) *BatchDetectEntitiesItemResult {
5465	s.Index = &v
5466	return s
5467}
5468
5469type BatchDetectEntitiesOutput struct {
5470	_ struct{} `type:"structure"`
5471
5472	// A list containing one object for each document that contained an error. The
5473	// results are sorted in ascending order by the Index field and match the order
5474	// of the documents in the input list. If there are no errors in the batch,
5475	// the ErrorList is empty.
5476	//
5477	// ErrorList is a required field
5478	ErrorList []*BatchItemError `type:"list" required:"true"`
5479
5480	// A list of objects containing the results of the operation. The results are
5481	// sorted in ascending order by the Index field and match the order of the documents
5482	// in the input list. If all of the documents contain an error, the ResultList
5483	// is empty.
5484	//
5485	// ResultList is a required field
5486	ResultList []*BatchDetectEntitiesItemResult `type:"list" required:"true"`
5487}
5488
5489// String returns the string representation
5490func (s BatchDetectEntitiesOutput) String() string {
5491	return awsutil.Prettify(s)
5492}
5493
5494// GoString returns the string representation
5495func (s BatchDetectEntitiesOutput) GoString() string {
5496	return s.String()
5497}
5498
5499// SetErrorList sets the ErrorList field's value.
5500func (s *BatchDetectEntitiesOutput) SetErrorList(v []*BatchItemError) *BatchDetectEntitiesOutput {
5501	s.ErrorList = v
5502	return s
5503}
5504
5505// SetResultList sets the ResultList field's value.
5506func (s *BatchDetectEntitiesOutput) SetResultList(v []*BatchDetectEntitiesItemResult) *BatchDetectEntitiesOutput {
5507	s.ResultList = v
5508	return s
5509}
5510
5511type BatchDetectKeyPhrasesInput struct {
5512	_ struct{} `type:"structure"`
5513
5514	// The language of the input documents. You can specify any of the primary languages
5515	// supported by Amazon Comprehend. All documents must be in the same language.
5516	//
5517	// LanguageCode is a required field
5518	LanguageCode *string `type:"string" required:"true" enum:"LanguageCode"`
5519
5520	// A list containing the text of the input documents. The list can contain a
5521	// maximum of 25 documents. Each document must contain fewer that 5,000 bytes
5522	// of UTF-8 encoded characters.
5523	//
5524	// TextList is a required field
5525	TextList []*string `type:"list" required:"true"`
5526}
5527
5528// String returns the string representation
5529func (s BatchDetectKeyPhrasesInput) String() string {
5530	return awsutil.Prettify(s)
5531}
5532
5533// GoString returns the string representation
5534func (s BatchDetectKeyPhrasesInput) GoString() string {
5535	return s.String()
5536}
5537
5538// Validate inspects the fields of the type to determine if they are valid.
5539func (s *BatchDetectKeyPhrasesInput) Validate() error {
5540	invalidParams := request.ErrInvalidParams{Context: "BatchDetectKeyPhrasesInput"}
5541	if s.LanguageCode == nil {
5542		invalidParams.Add(request.NewErrParamRequired("LanguageCode"))
5543	}
5544	if s.TextList == nil {
5545		invalidParams.Add(request.NewErrParamRequired("TextList"))
5546	}
5547
5548	if invalidParams.Len() > 0 {
5549		return invalidParams
5550	}
5551	return nil
5552}
5553
5554// SetLanguageCode sets the LanguageCode field's value.
5555func (s *BatchDetectKeyPhrasesInput) SetLanguageCode(v string) *BatchDetectKeyPhrasesInput {
5556	s.LanguageCode = &v
5557	return s
5558}
5559
5560// SetTextList sets the TextList field's value.
5561func (s *BatchDetectKeyPhrasesInput) SetTextList(v []*string) *BatchDetectKeyPhrasesInput {
5562	s.TextList = v
5563	return s
5564}
5565
5566// The result of calling the operation. The operation returns one object for
5567// each document that is successfully processed by the operation.
5568type BatchDetectKeyPhrasesItemResult struct {
5569	_ struct{} `type:"structure"`
5570
5571	// The zero-based index of the document in the input list.
5572	Index *int64 `type:"integer"`
5573
5574	// One or more KeyPhrase objects, one for each key phrase detected in the document.
5575	KeyPhrases []*KeyPhrase `type:"list"`
5576}
5577
5578// String returns the string representation
5579func (s BatchDetectKeyPhrasesItemResult) String() string {
5580	return awsutil.Prettify(s)
5581}
5582
5583// GoString returns the string representation
5584func (s BatchDetectKeyPhrasesItemResult) GoString() string {
5585	return s.String()
5586}
5587
5588// SetIndex sets the Index field's value.
5589func (s *BatchDetectKeyPhrasesItemResult) SetIndex(v int64) *BatchDetectKeyPhrasesItemResult {
5590	s.Index = &v
5591	return s
5592}
5593
5594// SetKeyPhrases sets the KeyPhrases field's value.
5595func (s *BatchDetectKeyPhrasesItemResult) SetKeyPhrases(v []*KeyPhrase) *BatchDetectKeyPhrasesItemResult {
5596	s.KeyPhrases = v
5597	return s
5598}
5599
5600type BatchDetectKeyPhrasesOutput struct {
5601	_ struct{} `type:"structure"`
5602
5603	// A list containing one object for each document that contained an error. The
5604	// results are sorted in ascending order by the Index field and match the order
5605	// of the documents in the input list. If there are no errors in the batch,
5606	// the ErrorList is empty.
5607	//
5608	// ErrorList is a required field
5609	ErrorList []*BatchItemError `type:"list" required:"true"`
5610
5611	// A list of objects containing the results of the operation. The results are
5612	// sorted in ascending order by the Index field and match the order of the documents
5613	// in the input list. If all of the documents contain an error, the ResultList
5614	// is empty.
5615	//
5616	// ResultList is a required field
5617	ResultList []*BatchDetectKeyPhrasesItemResult `type:"list" required:"true"`
5618}
5619
5620// String returns the string representation
5621func (s BatchDetectKeyPhrasesOutput) String() string {
5622	return awsutil.Prettify(s)
5623}
5624
5625// GoString returns the string representation
5626func (s BatchDetectKeyPhrasesOutput) GoString() string {
5627	return s.String()
5628}
5629
5630// SetErrorList sets the ErrorList field's value.
5631func (s *BatchDetectKeyPhrasesOutput) SetErrorList(v []*BatchItemError) *BatchDetectKeyPhrasesOutput {
5632	s.ErrorList = v
5633	return s
5634}
5635
5636// SetResultList sets the ResultList field's value.
5637func (s *BatchDetectKeyPhrasesOutput) SetResultList(v []*BatchDetectKeyPhrasesItemResult) *BatchDetectKeyPhrasesOutput {
5638	s.ResultList = v
5639	return s
5640}
5641
5642type BatchDetectSentimentInput struct {
5643	_ struct{} `type:"structure"`
5644
5645	// The language of the input documents. You can specify any of the primary languages
5646	// supported by Amazon Comprehend. All documents must be in the same language.
5647	//
5648	// LanguageCode is a required field
5649	LanguageCode *string `type:"string" required:"true" enum:"LanguageCode"`
5650
5651	// A list containing the text of the input documents. The list can contain a
5652	// maximum of 25 documents. Each document must contain fewer that 5,000 bytes
5653	// of UTF-8 encoded characters.
5654	//
5655	// TextList is a required field
5656	TextList []*string `type:"list" required:"true"`
5657}
5658
5659// String returns the string representation
5660func (s BatchDetectSentimentInput) String() string {
5661	return awsutil.Prettify(s)
5662}
5663
5664// GoString returns the string representation
5665func (s BatchDetectSentimentInput) GoString() string {
5666	return s.String()
5667}
5668
5669// Validate inspects the fields of the type to determine if they are valid.
5670func (s *BatchDetectSentimentInput) Validate() error {
5671	invalidParams := request.ErrInvalidParams{Context: "BatchDetectSentimentInput"}
5672	if s.LanguageCode == nil {
5673		invalidParams.Add(request.NewErrParamRequired("LanguageCode"))
5674	}
5675	if s.TextList == nil {
5676		invalidParams.Add(request.NewErrParamRequired("TextList"))
5677	}
5678
5679	if invalidParams.Len() > 0 {
5680		return invalidParams
5681	}
5682	return nil
5683}
5684
5685// SetLanguageCode sets the LanguageCode field's value.
5686func (s *BatchDetectSentimentInput) SetLanguageCode(v string) *BatchDetectSentimentInput {
5687	s.LanguageCode = &v
5688	return s
5689}
5690
5691// SetTextList sets the TextList field's value.
5692func (s *BatchDetectSentimentInput) SetTextList(v []*string) *BatchDetectSentimentInput {
5693	s.TextList = v
5694	return s
5695}
5696
5697// The result of calling the operation. The operation returns one object for
5698// each document that is successfully processed by the operation.
5699type BatchDetectSentimentItemResult struct {
5700	_ struct{} `type:"structure"`
5701
5702	// The zero-based index of the document in the input list.
5703	Index *int64 `type:"integer"`
5704
5705	// The sentiment detected in the document.
5706	Sentiment *string `type:"string" enum:"SentimentType"`
5707
5708	// The level of confidence that Amazon Comprehend has in the accuracy of its
5709	// sentiment detection.
5710	SentimentScore *SentimentScore `type:"structure"`
5711}
5712
5713// String returns the string representation
5714func (s BatchDetectSentimentItemResult) String() string {
5715	return awsutil.Prettify(s)
5716}
5717
5718// GoString returns the string representation
5719func (s BatchDetectSentimentItemResult) GoString() string {
5720	return s.String()
5721}
5722
5723// SetIndex sets the Index field's value.
5724func (s *BatchDetectSentimentItemResult) SetIndex(v int64) *BatchDetectSentimentItemResult {
5725	s.Index = &v
5726	return s
5727}
5728
5729// SetSentiment sets the Sentiment field's value.
5730func (s *BatchDetectSentimentItemResult) SetSentiment(v string) *BatchDetectSentimentItemResult {
5731	s.Sentiment = &v
5732	return s
5733}
5734
5735// SetSentimentScore sets the SentimentScore field's value.
5736func (s *BatchDetectSentimentItemResult) SetSentimentScore(v *SentimentScore) *BatchDetectSentimentItemResult {
5737	s.SentimentScore = v
5738	return s
5739}
5740
5741type BatchDetectSentimentOutput struct {
5742	_ struct{} `type:"structure"`
5743
5744	// A list containing one object for each document that contained an error. The
5745	// results are sorted in ascending order by the Index field and match the order
5746	// of the documents in the input list. If there are no errors in the batch,
5747	// the ErrorList is empty.
5748	//
5749	// ErrorList is a required field
5750	ErrorList []*BatchItemError `type:"list" required:"true"`
5751
5752	// A list of objects containing the results of the operation. The results are
5753	// sorted in ascending order by the Index field and match the order of the documents
5754	// in the input list. If all of the documents contain an error, the ResultList
5755	// is empty.
5756	//
5757	// ResultList is a required field
5758	ResultList []*BatchDetectSentimentItemResult `type:"list" required:"true"`
5759}
5760
5761// String returns the string representation
5762func (s BatchDetectSentimentOutput) String() string {
5763	return awsutil.Prettify(s)
5764}
5765
5766// GoString returns the string representation
5767func (s BatchDetectSentimentOutput) GoString() string {
5768	return s.String()
5769}
5770
5771// SetErrorList sets the ErrorList field's value.
5772func (s *BatchDetectSentimentOutput) SetErrorList(v []*BatchItemError) *BatchDetectSentimentOutput {
5773	s.ErrorList = v
5774	return s
5775}
5776
5777// SetResultList sets the ResultList field's value.
5778func (s *BatchDetectSentimentOutput) SetResultList(v []*BatchDetectSentimentItemResult) *BatchDetectSentimentOutput {
5779	s.ResultList = v
5780	return s
5781}
5782
5783type BatchDetectSyntaxInput struct {
5784	_ struct{} `type:"structure"`
5785
5786	// The language of the input documents. You can specify any of the following
5787	// languages supported by Amazon Comprehend: German ("de"), English ("en"),
5788	// Spanish ("es"), French ("fr"), Italian ("it"), or Portuguese ("pt"). All
5789	// documents must be in the same language.
5790	//
5791	// LanguageCode is a required field
5792	LanguageCode *string `type:"string" required:"true" enum:"SyntaxLanguageCode"`
5793
5794	// A list containing the text of the input documents. The list can contain a
5795	// maximum of 25 documents. Each document must contain fewer that 5,000 bytes
5796	// of UTF-8 encoded characters.
5797	//
5798	// TextList is a required field
5799	TextList []*string `type:"list" required:"true"`
5800}
5801
5802// String returns the string representation
5803func (s BatchDetectSyntaxInput) String() string {
5804	return awsutil.Prettify(s)
5805}
5806
5807// GoString returns the string representation
5808func (s BatchDetectSyntaxInput) GoString() string {
5809	return s.String()
5810}
5811
5812// Validate inspects the fields of the type to determine if they are valid.
5813func (s *BatchDetectSyntaxInput) Validate() error {
5814	invalidParams := request.ErrInvalidParams{Context: "BatchDetectSyntaxInput"}
5815	if s.LanguageCode == nil {
5816		invalidParams.Add(request.NewErrParamRequired("LanguageCode"))
5817	}
5818	if s.TextList == nil {
5819		invalidParams.Add(request.NewErrParamRequired("TextList"))
5820	}
5821
5822	if invalidParams.Len() > 0 {
5823		return invalidParams
5824	}
5825	return nil
5826}
5827
5828// SetLanguageCode sets the LanguageCode field's value.
5829func (s *BatchDetectSyntaxInput) SetLanguageCode(v string) *BatchDetectSyntaxInput {
5830	s.LanguageCode = &v
5831	return s
5832}
5833
5834// SetTextList sets the TextList field's value.
5835func (s *BatchDetectSyntaxInput) SetTextList(v []*string) *BatchDetectSyntaxInput {
5836	s.TextList = v
5837	return s
5838}
5839
5840// The result of calling the operation. The operation returns one object that
5841// is successfully processed by the operation.
5842type BatchDetectSyntaxItemResult struct {
5843	_ struct{} `type:"structure"`
5844
5845	// The zero-based index of the document in the input list.
5846	Index *int64 `type:"integer"`
5847
5848	// The syntax tokens for the words in the document, one token for each word.
5849	SyntaxTokens []*SyntaxToken `type:"list"`
5850}
5851
5852// String returns the string representation
5853func (s BatchDetectSyntaxItemResult) String() string {
5854	return awsutil.Prettify(s)
5855}
5856
5857// GoString returns the string representation
5858func (s BatchDetectSyntaxItemResult) GoString() string {
5859	return s.String()
5860}
5861
5862// SetIndex sets the Index field's value.
5863func (s *BatchDetectSyntaxItemResult) SetIndex(v int64) *BatchDetectSyntaxItemResult {
5864	s.Index = &v
5865	return s
5866}
5867
5868// SetSyntaxTokens sets the SyntaxTokens field's value.
5869func (s *BatchDetectSyntaxItemResult) SetSyntaxTokens(v []*SyntaxToken) *BatchDetectSyntaxItemResult {
5870	s.SyntaxTokens = v
5871	return s
5872}
5873
5874type BatchDetectSyntaxOutput struct {
5875	_ struct{} `type:"structure"`
5876
5877	// A list containing one object for each document that contained an error. The
5878	// results are sorted in ascending order by the Index field and match the order
5879	// of the documents in the input list. If there are no errors in the batch,
5880	// the ErrorList is empty.
5881	//
5882	// ErrorList is a required field
5883	ErrorList []*BatchItemError `type:"list" required:"true"`
5884
5885	// A list of objects containing the results of the operation. The results are
5886	// sorted in ascending order by the Index field and match the order of the documents
5887	// in the input list. If all of the documents contain an error, the ResultList
5888	// is empty.
5889	//
5890	// ResultList is a required field
5891	ResultList []*BatchDetectSyntaxItemResult `type:"list" required:"true"`
5892}
5893
5894// String returns the string representation
5895func (s BatchDetectSyntaxOutput) String() string {
5896	return awsutil.Prettify(s)
5897}
5898
5899// GoString returns the string representation
5900func (s BatchDetectSyntaxOutput) GoString() string {
5901	return s.String()
5902}
5903
5904// SetErrorList sets the ErrorList field's value.
5905func (s *BatchDetectSyntaxOutput) SetErrorList(v []*BatchItemError) *BatchDetectSyntaxOutput {
5906	s.ErrorList = v
5907	return s
5908}
5909
5910// SetResultList sets the ResultList field's value.
5911func (s *BatchDetectSyntaxOutput) SetResultList(v []*BatchDetectSyntaxItemResult) *BatchDetectSyntaxOutput {
5912	s.ResultList = v
5913	return s
5914}
5915
5916// Describes an error that occurred while processing a document in a batch.
5917// The operation returns on BatchItemError object for each document that contained
5918// an error.
5919type BatchItemError struct {
5920	_ struct{} `type:"structure"`
5921
5922	// The numeric error code of the error.
5923	ErrorCode *string `min:"1" type:"string"`
5924
5925	// A text description of the error.
5926	ErrorMessage *string `min:"1" type:"string"`
5927
5928	// The zero-based index of the document in the input list.
5929	Index *int64 `type:"integer"`
5930}
5931
5932// String returns the string representation
5933func (s BatchItemError) String() string {
5934	return awsutil.Prettify(s)
5935}
5936
5937// GoString returns the string representation
5938func (s BatchItemError) GoString() string {
5939	return s.String()
5940}
5941
5942// SetErrorCode sets the ErrorCode field's value.
5943func (s *BatchItemError) SetErrorCode(v string) *BatchItemError {
5944	s.ErrorCode = &v
5945	return s
5946}
5947
5948// SetErrorMessage sets the ErrorMessage field's value.
5949func (s *BatchItemError) SetErrorMessage(v string) *BatchItemError {
5950	s.ErrorMessage = &v
5951	return s
5952}
5953
5954// SetIndex sets the Index field's value.
5955func (s *BatchItemError) SetIndex(v int64) *BatchItemError {
5956	s.Index = &v
5957	return s
5958}
5959
5960// Describes the result metrics for the test data associated with an documentation
5961// classifier.
5962type ClassifierEvaluationMetrics struct {
5963	_ struct{} `type:"structure"`
5964
5965	// The fraction of the labels that were correct recognized. It is computed by
5966	// dividing the number of labels in the test documents that were correctly recognized
5967	// by the total number of labels in the test documents.
5968	Accuracy *float64 `type:"double"`
5969
5970	// A measure of how accurate the classifier results are for the test data. It
5971	// is derived from the Precision and Recall values. The F1Score is the harmonic
5972	// average of the two scores. The highest score is 1, and the worst score is
5973	// 0.
5974	F1Score *float64 `type:"double"`
5975
5976	// A measure of the usefulness of the classifier results in the test data. High
5977	// precision means that the classifier returned substantially more relevant
5978	// results than irrelevant ones.
5979	Precision *float64 `type:"double"`
5980
5981	// A measure of how complete the classifier results are for the test data. High
5982	// recall means that the classifier returned most of the relevant results.
5983	Recall *float64 `type:"double"`
5984}
5985
5986// String returns the string representation
5987func (s ClassifierEvaluationMetrics) String() string {
5988	return awsutil.Prettify(s)
5989}
5990
5991// GoString returns the string representation
5992func (s ClassifierEvaluationMetrics) GoString() string {
5993	return s.String()
5994}
5995
5996// SetAccuracy sets the Accuracy field's value.
5997func (s *ClassifierEvaluationMetrics) SetAccuracy(v float64) *ClassifierEvaluationMetrics {
5998	s.Accuracy = &v
5999	return s
6000}
6001
6002// SetF1Score sets the F1Score field's value.
6003func (s *ClassifierEvaluationMetrics) SetF1Score(v float64) *ClassifierEvaluationMetrics {
6004	s.F1Score = &v
6005	return s
6006}
6007
6008// SetPrecision sets the Precision field's value.
6009func (s *ClassifierEvaluationMetrics) SetPrecision(v float64) *ClassifierEvaluationMetrics {
6010	s.Precision = &v
6011	return s
6012}
6013
6014// SetRecall sets the Recall field's value.
6015func (s *ClassifierEvaluationMetrics) SetRecall(v float64) *ClassifierEvaluationMetrics {
6016	s.Recall = &v
6017	return s
6018}
6019
6020// Provides information about a document classifier.
6021type ClassifierMetadata struct {
6022	_ struct{} `type:"structure"`
6023
6024	// Describes the result metrics for the test data associated with an documentation
6025	// classifier.
6026	EvaluationMetrics *ClassifierEvaluationMetrics `type:"structure"`
6027
6028	// The number of labels in the input data.
6029	NumberOfLabels *int64 `type:"integer"`
6030
6031	// The number of documents in the input data that were used to test the classifier.
6032	// Typically this is 10 to 20 percent of the input documents.
6033	NumberOfTestDocuments *int64 `type:"integer"`
6034
6035	// The number of documents in the input data that were used to train the classifier.
6036	// Typically this is 80 to 90 percent of the input documents.
6037	NumberOfTrainedDocuments *int64 `type:"integer"`
6038}
6039
6040// String returns the string representation
6041func (s ClassifierMetadata) String() string {
6042	return awsutil.Prettify(s)
6043}
6044
6045// GoString returns the string representation
6046func (s ClassifierMetadata) GoString() string {
6047	return s.String()
6048}
6049
6050// SetEvaluationMetrics sets the EvaluationMetrics field's value.
6051func (s *ClassifierMetadata) SetEvaluationMetrics(v *ClassifierEvaluationMetrics) *ClassifierMetadata {
6052	s.EvaluationMetrics = v
6053	return s
6054}
6055
6056// SetNumberOfLabels sets the NumberOfLabels field's value.
6057func (s *ClassifierMetadata) SetNumberOfLabels(v int64) *ClassifierMetadata {
6058	s.NumberOfLabels = &v
6059	return s
6060}
6061
6062// SetNumberOfTestDocuments sets the NumberOfTestDocuments field's value.
6063func (s *ClassifierMetadata) SetNumberOfTestDocuments(v int64) *ClassifierMetadata {
6064	s.NumberOfTestDocuments = &v
6065	return s
6066}
6067
6068// SetNumberOfTrainedDocuments sets the NumberOfTrainedDocuments field's value.
6069func (s *ClassifierMetadata) SetNumberOfTrainedDocuments(v int64) *ClassifierMetadata {
6070	s.NumberOfTrainedDocuments = &v
6071	return s
6072}
6073
6074type ClassifyDocumentInput struct {
6075	_ struct{} `type:"structure"`
6076
6077	// The Amazon Resource Number (ARN) of the endpoint.
6078	//
6079	// EndpointArn is a required field
6080	EndpointArn *string `type:"string" required:"true"`
6081
6082	// The document text to be analyzed.
6083	//
6084	// Text is a required field
6085	Text *string `min:"1" type:"string" required:"true"`
6086}
6087
6088// String returns the string representation
6089func (s ClassifyDocumentInput) String() string {
6090	return awsutil.Prettify(s)
6091}
6092
6093// GoString returns the string representation
6094func (s ClassifyDocumentInput) GoString() string {
6095	return s.String()
6096}
6097
6098// Validate inspects the fields of the type to determine if they are valid.
6099func (s *ClassifyDocumentInput) Validate() error {
6100	invalidParams := request.ErrInvalidParams{Context: "ClassifyDocumentInput"}
6101	if s.EndpointArn == nil {
6102		invalidParams.Add(request.NewErrParamRequired("EndpointArn"))
6103	}
6104	if s.Text == nil {
6105		invalidParams.Add(request.NewErrParamRequired("Text"))
6106	}
6107	if s.Text != nil && len(*s.Text) < 1 {
6108		invalidParams.Add(request.NewErrParamMinLen("Text", 1))
6109	}
6110
6111	if invalidParams.Len() > 0 {
6112		return invalidParams
6113	}
6114	return nil
6115}
6116
6117// SetEndpointArn sets the EndpointArn field's value.
6118func (s *ClassifyDocumentInput) SetEndpointArn(v string) *ClassifyDocumentInput {
6119	s.EndpointArn = &v
6120	return s
6121}
6122
6123// SetText sets the Text field's value.
6124func (s *ClassifyDocumentInput) SetText(v string) *ClassifyDocumentInput {
6125	s.Text = &v
6126	return s
6127}
6128
6129type ClassifyDocumentOutput struct {
6130	_ struct{} `type:"structure"`
6131
6132	// The classes used by the document being analyzed. These are used for multi-class
6133	// trained models. Individual classes are mutually exclusive and each document
6134	// is expected to have only a single class assigned to it. For example, an animal
6135	// can be a dog or a cat, but not both at the same time.
6136	Classes []*DocumentClass `type:"list"`
6137}
6138
6139// String returns the string representation
6140func (s ClassifyDocumentOutput) String() string {
6141	return awsutil.Prettify(s)
6142}
6143
6144// GoString returns the string representation
6145func (s ClassifyDocumentOutput) GoString() string {
6146	return s.String()
6147}
6148
6149// SetClasses sets the Classes field's value.
6150func (s *ClassifyDocumentOutput) SetClasses(v []*DocumentClass) *ClassifyDocumentOutput {
6151	s.Classes = v
6152	return s
6153}
6154
6155type CreateDocumentClassifierInput struct {
6156	_ struct{} `type:"structure"`
6157
6158	// A unique identifier for the request. If you don't set the client request
6159	// token, Amazon Comprehend generates one.
6160	ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
6161
6162	// The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role
6163	// that grants Amazon Comprehend read access to your input data.
6164	//
6165	// DataAccessRoleArn is a required field
6166	DataAccessRoleArn *string `min:"20" type:"string" required:"true"`
6167
6168	// The name of the document classifier.
6169	//
6170	// DocumentClassifierName is a required field
6171	DocumentClassifierName *string `type:"string" required:"true"`
6172
6173	// Specifies the format and location of the input data for the job.
6174	//
6175	// InputDataConfig is a required field
6176	InputDataConfig *DocumentClassifierInputDataConfig `type:"structure" required:"true"`
6177
6178	// The language of the input documents. You can specify any of the following
6179	// languages supported by Amazon Comprehend: German ("de"), English ("en"),
6180	// Spanish ("es"), French ("fr"), Italian ("it"), or Portuguese ("pt"). All
6181	// documents must be in the same language.
6182	//
6183	// LanguageCode is a required field
6184	LanguageCode *string `type:"string" required:"true" enum:"LanguageCode"`
6185
6186	// Enables the addition of output results configuration parameters for custom
6187	// classifier jobs.
6188	OutputDataConfig *DocumentClassifierOutputDataConfig `type:"structure"`
6189
6190	// Tags to be associated with the document classifier being created. A tag is
6191	// a key-value pair that adds as a metadata to a resource used by Amazon Comprehend.
6192	// For example, a tag with "Sales" as the key might be added to a resource to
6193	// indicate its use by the sales department.
6194	Tags []*Tag `type:"list"`
6195
6196	// ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses
6197	// to encrypt data on the storage volume attached to the ML compute instance(s)
6198	// that process the analysis job. The VolumeKmsKeyId can be either of the following
6199	// formats:
6200	//
6201	//    * KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab"
6202	//
6203	//    * Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
6204	VolumeKmsKeyId *string `type:"string"`
6205
6206	// Configuration parameters for an optional private Virtual Private Cloud (VPC)
6207	// containing the resources you are using for your custom classifier. For more
6208	// information, see Amazon VPC (https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html).
6209	VpcConfig *VpcConfig `type:"structure"`
6210}
6211
6212// String returns the string representation
6213func (s CreateDocumentClassifierInput) String() string {
6214	return awsutil.Prettify(s)
6215}
6216
6217// GoString returns the string representation
6218func (s CreateDocumentClassifierInput) GoString() string {
6219	return s.String()
6220}
6221
6222// Validate inspects the fields of the type to determine if they are valid.
6223func (s *CreateDocumentClassifierInput) Validate() error {
6224	invalidParams := request.ErrInvalidParams{Context: "CreateDocumentClassifierInput"}
6225	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
6226		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
6227	}
6228	if s.DataAccessRoleArn == nil {
6229		invalidParams.Add(request.NewErrParamRequired("DataAccessRoleArn"))
6230	}
6231	if s.DataAccessRoleArn != nil && len(*s.DataAccessRoleArn) < 20 {
6232		invalidParams.Add(request.NewErrParamMinLen("DataAccessRoleArn", 20))
6233	}
6234	if s.DocumentClassifierName == nil {
6235		invalidParams.Add(request.NewErrParamRequired("DocumentClassifierName"))
6236	}
6237	if s.InputDataConfig == nil {
6238		invalidParams.Add(request.NewErrParamRequired("InputDataConfig"))
6239	}
6240	if s.LanguageCode == nil {
6241		invalidParams.Add(request.NewErrParamRequired("LanguageCode"))
6242	}
6243	if s.InputDataConfig != nil {
6244		if err := s.InputDataConfig.Validate(); err != nil {
6245			invalidParams.AddNested("InputDataConfig", err.(request.ErrInvalidParams))
6246		}
6247	}
6248	if s.Tags != nil {
6249		for i, v := range s.Tags {
6250			if v == nil {
6251				continue
6252			}
6253			if err := v.Validate(); err != nil {
6254				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
6255			}
6256		}
6257	}
6258	if s.VpcConfig != nil {
6259		if err := s.VpcConfig.Validate(); err != nil {
6260			invalidParams.AddNested("VpcConfig", err.(request.ErrInvalidParams))
6261		}
6262	}
6263
6264	if invalidParams.Len() > 0 {
6265		return invalidParams
6266	}
6267	return nil
6268}
6269
6270// SetClientRequestToken sets the ClientRequestToken field's value.
6271func (s *CreateDocumentClassifierInput) SetClientRequestToken(v string) *CreateDocumentClassifierInput {
6272	s.ClientRequestToken = &v
6273	return s
6274}
6275
6276// SetDataAccessRoleArn sets the DataAccessRoleArn field's value.
6277func (s *CreateDocumentClassifierInput) SetDataAccessRoleArn(v string) *CreateDocumentClassifierInput {
6278	s.DataAccessRoleArn = &v
6279	return s
6280}
6281
6282// SetDocumentClassifierName sets the DocumentClassifierName field's value.
6283func (s *CreateDocumentClassifierInput) SetDocumentClassifierName(v string) *CreateDocumentClassifierInput {
6284	s.DocumentClassifierName = &v
6285	return s
6286}
6287
6288// SetInputDataConfig sets the InputDataConfig field's value.
6289func (s *CreateDocumentClassifierInput) SetInputDataConfig(v *DocumentClassifierInputDataConfig) *CreateDocumentClassifierInput {
6290	s.InputDataConfig = v
6291	return s
6292}
6293
6294// SetLanguageCode sets the LanguageCode field's value.
6295func (s *CreateDocumentClassifierInput) SetLanguageCode(v string) *CreateDocumentClassifierInput {
6296	s.LanguageCode = &v
6297	return s
6298}
6299
6300// SetOutputDataConfig sets the OutputDataConfig field's value.
6301func (s *CreateDocumentClassifierInput) SetOutputDataConfig(v *DocumentClassifierOutputDataConfig) *CreateDocumentClassifierInput {
6302	s.OutputDataConfig = v
6303	return s
6304}
6305
6306// SetTags sets the Tags field's value.
6307func (s *CreateDocumentClassifierInput) SetTags(v []*Tag) *CreateDocumentClassifierInput {
6308	s.Tags = v
6309	return s
6310}
6311
6312// SetVolumeKmsKeyId sets the VolumeKmsKeyId field's value.
6313func (s *CreateDocumentClassifierInput) SetVolumeKmsKeyId(v string) *CreateDocumentClassifierInput {
6314	s.VolumeKmsKeyId = &v
6315	return s
6316}
6317
6318// SetVpcConfig sets the VpcConfig field's value.
6319func (s *CreateDocumentClassifierInput) SetVpcConfig(v *VpcConfig) *CreateDocumentClassifierInput {
6320	s.VpcConfig = v
6321	return s
6322}
6323
6324type CreateDocumentClassifierOutput struct {
6325	_ struct{} `type:"structure"`
6326
6327	// The Amazon Resource Name (ARN) that identifies the document classifier.
6328	DocumentClassifierArn *string `type:"string"`
6329}
6330
6331// String returns the string representation
6332func (s CreateDocumentClassifierOutput) String() string {
6333	return awsutil.Prettify(s)
6334}
6335
6336// GoString returns the string representation
6337func (s CreateDocumentClassifierOutput) GoString() string {
6338	return s.String()
6339}
6340
6341// SetDocumentClassifierArn sets the DocumentClassifierArn field's value.
6342func (s *CreateDocumentClassifierOutput) SetDocumentClassifierArn(v string) *CreateDocumentClassifierOutput {
6343	s.DocumentClassifierArn = &v
6344	return s
6345}
6346
6347type CreateEndpointInput struct {
6348	_ struct{} `type:"structure"`
6349
6350	// An idempotency token provided by the customer. If this token matches a previous
6351	// endpoint creation request, Amazon Comprehend will not return a ResourceInUseException.
6352	ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
6353
6354	// The desired number of inference units to be used by the model using this
6355	// endpoint. Each inference unit represents of a throughput of 100 characters
6356	// per second.
6357	//
6358	// DesiredInferenceUnits is a required field
6359	DesiredInferenceUnits *int64 `min:"1" type:"integer" required:"true"`
6360
6361	// This is the descriptive suffix that becomes part of the EndpointArn used
6362	// for all subsequent requests to this resource.
6363	//
6364	// EndpointName is a required field
6365	EndpointName *string `type:"string" required:"true"`
6366
6367	// The Amazon Resource Number (ARN) of the model to which the endpoint will
6368	// be attached.
6369	//
6370	// ModelArn is a required field
6371	ModelArn *string `type:"string" required:"true"`
6372
6373	// Tags associated with the endpoint being created. A tag is a key-value pair
6374	// that adds metadata to the endpoint. For example, a tag with "Sales" as the
6375	// key might be added to an endpoint to indicate its use by the sales department.
6376	Tags []*Tag `type:"list"`
6377}
6378
6379// String returns the string representation
6380func (s CreateEndpointInput) String() string {
6381	return awsutil.Prettify(s)
6382}
6383
6384// GoString returns the string representation
6385func (s CreateEndpointInput) GoString() string {
6386	return s.String()
6387}
6388
6389// Validate inspects the fields of the type to determine if they are valid.
6390func (s *CreateEndpointInput) Validate() error {
6391	invalidParams := request.ErrInvalidParams{Context: "CreateEndpointInput"}
6392	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
6393		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
6394	}
6395	if s.DesiredInferenceUnits == nil {
6396		invalidParams.Add(request.NewErrParamRequired("DesiredInferenceUnits"))
6397	}
6398	if s.DesiredInferenceUnits != nil && *s.DesiredInferenceUnits < 1 {
6399		invalidParams.Add(request.NewErrParamMinValue("DesiredInferenceUnits", 1))
6400	}
6401	if s.EndpointName == nil {
6402		invalidParams.Add(request.NewErrParamRequired("EndpointName"))
6403	}
6404	if s.ModelArn == nil {
6405		invalidParams.Add(request.NewErrParamRequired("ModelArn"))
6406	}
6407	if s.Tags != nil {
6408		for i, v := range s.Tags {
6409			if v == nil {
6410				continue
6411			}
6412			if err := v.Validate(); err != nil {
6413				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
6414			}
6415		}
6416	}
6417
6418	if invalidParams.Len() > 0 {
6419		return invalidParams
6420	}
6421	return nil
6422}
6423
6424// SetClientRequestToken sets the ClientRequestToken field's value.
6425func (s *CreateEndpointInput) SetClientRequestToken(v string) *CreateEndpointInput {
6426	s.ClientRequestToken = &v
6427	return s
6428}
6429
6430// SetDesiredInferenceUnits sets the DesiredInferenceUnits field's value.
6431func (s *CreateEndpointInput) SetDesiredInferenceUnits(v int64) *CreateEndpointInput {
6432	s.DesiredInferenceUnits = &v
6433	return s
6434}
6435
6436// SetEndpointName sets the EndpointName field's value.
6437func (s *CreateEndpointInput) SetEndpointName(v string) *CreateEndpointInput {
6438	s.EndpointName = &v
6439	return s
6440}
6441
6442// SetModelArn sets the ModelArn field's value.
6443func (s *CreateEndpointInput) SetModelArn(v string) *CreateEndpointInput {
6444	s.ModelArn = &v
6445	return s
6446}
6447
6448// SetTags sets the Tags field's value.
6449func (s *CreateEndpointInput) SetTags(v []*Tag) *CreateEndpointInput {
6450	s.Tags = v
6451	return s
6452}
6453
6454type CreateEndpointOutput struct {
6455	_ struct{} `type:"structure"`
6456
6457	// The Amazon Resource Number (ARN) of the endpoint being created.
6458	EndpointArn *string `type:"string"`
6459}
6460
6461// String returns the string representation
6462func (s CreateEndpointOutput) String() string {
6463	return awsutil.Prettify(s)
6464}
6465
6466// GoString returns the string representation
6467func (s CreateEndpointOutput) GoString() string {
6468	return s.String()
6469}
6470
6471// SetEndpointArn sets the EndpointArn field's value.
6472func (s *CreateEndpointOutput) SetEndpointArn(v string) *CreateEndpointOutput {
6473	s.EndpointArn = &v
6474	return s
6475}
6476
6477type CreateEntityRecognizerInput struct {
6478	_ struct{} `type:"structure"`
6479
6480	// A unique identifier for the request. If you don't set the client request
6481	// token, Amazon Comprehend generates one.
6482	ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
6483
6484	// The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role
6485	// that grants Amazon Comprehend read access to your input data.
6486	//
6487	// DataAccessRoleArn is a required field
6488	DataAccessRoleArn *string `min:"20" type:"string" required:"true"`
6489
6490	// Specifies the format and location of the input data. The S3 bucket containing
6491	// the input data must be located in the same region as the entity recognizer
6492	// being created.
6493	//
6494	// InputDataConfig is a required field
6495	InputDataConfig *EntityRecognizerInputDataConfig `type:"structure" required:"true"`
6496
6497	// The language of the input documents. All documents must be in the same language.
6498	// Only English ("en") is currently supported.
6499	//
6500	// LanguageCode is a required field
6501	LanguageCode *string `type:"string" required:"true" enum:"LanguageCode"`
6502
6503	// The name given to the newly created recognizer. Recognizer names can be a
6504	// maximum of 256 characters. Alphanumeric characters, hyphens (-) and underscores
6505	// (_) are allowed. The name must be unique in the account/region.
6506	//
6507	// RecognizerName is a required field
6508	RecognizerName *string `type:"string" required:"true"`
6509
6510	// Tags to be associated with the entity recognizer being created. A tag is
6511	// a key-value pair that adds as a metadata to a resource used by Amazon Comprehend.
6512	// For example, a tag with "Sales" as the key might be added to a resource to
6513	// indicate its use by the sales department.
6514	Tags []*Tag `type:"list"`
6515
6516	// ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses
6517	// to encrypt data on the storage volume attached to the ML compute instance(s)
6518	// that process the analysis job. The VolumeKmsKeyId can be either of the following
6519	// formats:
6520	//
6521	//    * KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab"
6522	//
6523	//    * Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
6524	VolumeKmsKeyId *string `type:"string"`
6525
6526	// Configuration parameters for an optional private Virtual Private Cloud (VPC)
6527	// containing the resources you are using for your custom entity recognizer.
6528	// For more information, see Amazon VPC (https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html).
6529	VpcConfig *VpcConfig `type:"structure"`
6530}
6531
6532// String returns the string representation
6533func (s CreateEntityRecognizerInput) String() string {
6534	return awsutil.Prettify(s)
6535}
6536
6537// GoString returns the string representation
6538func (s CreateEntityRecognizerInput) GoString() string {
6539	return s.String()
6540}
6541
6542// Validate inspects the fields of the type to determine if they are valid.
6543func (s *CreateEntityRecognizerInput) Validate() error {
6544	invalidParams := request.ErrInvalidParams{Context: "CreateEntityRecognizerInput"}
6545	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
6546		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
6547	}
6548	if s.DataAccessRoleArn == nil {
6549		invalidParams.Add(request.NewErrParamRequired("DataAccessRoleArn"))
6550	}
6551	if s.DataAccessRoleArn != nil && len(*s.DataAccessRoleArn) < 20 {
6552		invalidParams.Add(request.NewErrParamMinLen("DataAccessRoleArn", 20))
6553	}
6554	if s.InputDataConfig == nil {
6555		invalidParams.Add(request.NewErrParamRequired("InputDataConfig"))
6556	}
6557	if s.LanguageCode == nil {
6558		invalidParams.Add(request.NewErrParamRequired("LanguageCode"))
6559	}
6560	if s.RecognizerName == nil {
6561		invalidParams.Add(request.NewErrParamRequired("RecognizerName"))
6562	}
6563	if s.InputDataConfig != nil {
6564		if err := s.InputDataConfig.Validate(); err != nil {
6565			invalidParams.AddNested("InputDataConfig", err.(request.ErrInvalidParams))
6566		}
6567	}
6568	if s.Tags != nil {
6569		for i, v := range s.Tags {
6570			if v == nil {
6571				continue
6572			}
6573			if err := v.Validate(); err != nil {
6574				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
6575			}
6576		}
6577	}
6578	if s.VpcConfig != nil {
6579		if err := s.VpcConfig.Validate(); err != nil {
6580			invalidParams.AddNested("VpcConfig", err.(request.ErrInvalidParams))
6581		}
6582	}
6583
6584	if invalidParams.Len() > 0 {
6585		return invalidParams
6586	}
6587	return nil
6588}
6589
6590// SetClientRequestToken sets the ClientRequestToken field's value.
6591func (s *CreateEntityRecognizerInput) SetClientRequestToken(v string) *CreateEntityRecognizerInput {
6592	s.ClientRequestToken = &v
6593	return s
6594}
6595
6596// SetDataAccessRoleArn sets the DataAccessRoleArn field's value.
6597func (s *CreateEntityRecognizerInput) SetDataAccessRoleArn(v string) *CreateEntityRecognizerInput {
6598	s.DataAccessRoleArn = &v
6599	return s
6600}
6601
6602// SetInputDataConfig sets the InputDataConfig field's value.
6603func (s *CreateEntityRecognizerInput) SetInputDataConfig(v *EntityRecognizerInputDataConfig) *CreateEntityRecognizerInput {
6604	s.InputDataConfig = v
6605	return s
6606}
6607
6608// SetLanguageCode sets the LanguageCode field's value.
6609func (s *CreateEntityRecognizerInput) SetLanguageCode(v string) *CreateEntityRecognizerInput {
6610	s.LanguageCode = &v
6611	return s
6612}
6613
6614// SetRecognizerName sets the RecognizerName field's value.
6615func (s *CreateEntityRecognizerInput) SetRecognizerName(v string) *CreateEntityRecognizerInput {
6616	s.RecognizerName = &v
6617	return s
6618}
6619
6620// SetTags sets the Tags field's value.
6621func (s *CreateEntityRecognizerInput) SetTags(v []*Tag) *CreateEntityRecognizerInput {
6622	s.Tags = v
6623	return s
6624}
6625
6626// SetVolumeKmsKeyId sets the VolumeKmsKeyId field's value.
6627func (s *CreateEntityRecognizerInput) SetVolumeKmsKeyId(v string) *CreateEntityRecognizerInput {
6628	s.VolumeKmsKeyId = &v
6629	return s
6630}
6631
6632// SetVpcConfig sets the VpcConfig field's value.
6633func (s *CreateEntityRecognizerInput) SetVpcConfig(v *VpcConfig) *CreateEntityRecognizerInput {
6634	s.VpcConfig = v
6635	return s
6636}
6637
6638type CreateEntityRecognizerOutput struct {
6639	_ struct{} `type:"structure"`
6640
6641	// The Amazon Resource Name (ARN) that identifies the entity recognizer.
6642	EntityRecognizerArn *string `type:"string"`
6643}
6644
6645// String returns the string representation
6646func (s CreateEntityRecognizerOutput) String() string {
6647	return awsutil.Prettify(s)
6648}
6649
6650// GoString returns the string representation
6651func (s CreateEntityRecognizerOutput) GoString() string {
6652	return s.String()
6653}
6654
6655// SetEntityRecognizerArn sets the EntityRecognizerArn field's value.
6656func (s *CreateEntityRecognizerOutput) SetEntityRecognizerArn(v string) *CreateEntityRecognizerOutput {
6657	s.EntityRecognizerArn = &v
6658	return s
6659}
6660
6661type DeleteDocumentClassifierInput struct {
6662	_ struct{} `type:"structure"`
6663
6664	// The Amazon Resource Name (ARN) that identifies the document classifier.
6665	//
6666	// DocumentClassifierArn is a required field
6667	DocumentClassifierArn *string `type:"string" required:"true"`
6668}
6669
6670// String returns the string representation
6671func (s DeleteDocumentClassifierInput) String() string {
6672	return awsutil.Prettify(s)
6673}
6674
6675// GoString returns the string representation
6676func (s DeleteDocumentClassifierInput) GoString() string {
6677	return s.String()
6678}
6679
6680// Validate inspects the fields of the type to determine if they are valid.
6681func (s *DeleteDocumentClassifierInput) Validate() error {
6682	invalidParams := request.ErrInvalidParams{Context: "DeleteDocumentClassifierInput"}
6683	if s.DocumentClassifierArn == nil {
6684		invalidParams.Add(request.NewErrParamRequired("DocumentClassifierArn"))
6685	}
6686
6687	if invalidParams.Len() > 0 {
6688		return invalidParams
6689	}
6690	return nil
6691}
6692
6693// SetDocumentClassifierArn sets the DocumentClassifierArn field's value.
6694func (s *DeleteDocumentClassifierInput) SetDocumentClassifierArn(v string) *DeleteDocumentClassifierInput {
6695	s.DocumentClassifierArn = &v
6696	return s
6697}
6698
6699type DeleteDocumentClassifierOutput struct {
6700	_ struct{} `type:"structure"`
6701}
6702
6703// String returns the string representation
6704func (s DeleteDocumentClassifierOutput) String() string {
6705	return awsutil.Prettify(s)
6706}
6707
6708// GoString returns the string representation
6709func (s DeleteDocumentClassifierOutput) GoString() string {
6710	return s.String()
6711}
6712
6713type DeleteEndpointInput struct {
6714	_ struct{} `type:"structure"`
6715
6716	// The Amazon Resource Number (ARN) of the endpoint being deleted.
6717	//
6718	// EndpointArn is a required field
6719	EndpointArn *string `type:"string" required:"true"`
6720}
6721
6722// String returns the string representation
6723func (s DeleteEndpointInput) String() string {
6724	return awsutil.Prettify(s)
6725}
6726
6727// GoString returns the string representation
6728func (s DeleteEndpointInput) GoString() string {
6729	return s.String()
6730}
6731
6732// Validate inspects the fields of the type to determine if they are valid.
6733func (s *DeleteEndpointInput) Validate() error {
6734	invalidParams := request.ErrInvalidParams{Context: "DeleteEndpointInput"}
6735	if s.EndpointArn == nil {
6736		invalidParams.Add(request.NewErrParamRequired("EndpointArn"))
6737	}
6738
6739	if invalidParams.Len() > 0 {
6740		return invalidParams
6741	}
6742	return nil
6743}
6744
6745// SetEndpointArn sets the EndpointArn field's value.
6746func (s *DeleteEndpointInput) SetEndpointArn(v string) *DeleteEndpointInput {
6747	s.EndpointArn = &v
6748	return s
6749}
6750
6751type DeleteEndpointOutput struct {
6752	_ struct{} `type:"structure"`
6753}
6754
6755// String returns the string representation
6756func (s DeleteEndpointOutput) String() string {
6757	return awsutil.Prettify(s)
6758}
6759
6760// GoString returns the string representation
6761func (s DeleteEndpointOutput) GoString() string {
6762	return s.String()
6763}
6764
6765type DeleteEntityRecognizerInput struct {
6766	_ struct{} `type:"structure"`
6767
6768	// The Amazon Resource Name (ARN) that identifies the entity recognizer.
6769	//
6770	// EntityRecognizerArn is a required field
6771	EntityRecognizerArn *string `type:"string" required:"true"`
6772}
6773
6774// String returns the string representation
6775func (s DeleteEntityRecognizerInput) String() string {
6776	return awsutil.Prettify(s)
6777}
6778
6779// GoString returns the string representation
6780func (s DeleteEntityRecognizerInput) GoString() string {
6781	return s.String()
6782}
6783
6784// Validate inspects the fields of the type to determine if they are valid.
6785func (s *DeleteEntityRecognizerInput) Validate() error {
6786	invalidParams := request.ErrInvalidParams{Context: "DeleteEntityRecognizerInput"}
6787	if s.EntityRecognizerArn == nil {
6788		invalidParams.Add(request.NewErrParamRequired("EntityRecognizerArn"))
6789	}
6790
6791	if invalidParams.Len() > 0 {
6792		return invalidParams
6793	}
6794	return nil
6795}
6796
6797// SetEntityRecognizerArn sets the EntityRecognizerArn field's value.
6798func (s *DeleteEntityRecognizerInput) SetEntityRecognizerArn(v string) *DeleteEntityRecognizerInput {
6799	s.EntityRecognizerArn = &v
6800	return s
6801}
6802
6803type DeleteEntityRecognizerOutput struct {
6804	_ struct{} `type:"structure"`
6805}
6806
6807// String returns the string representation
6808func (s DeleteEntityRecognizerOutput) String() string {
6809	return awsutil.Prettify(s)
6810}
6811
6812// GoString returns the string representation
6813func (s DeleteEntityRecognizerOutput) GoString() string {
6814	return s.String()
6815}
6816
6817type DescribeDocumentClassificationJobInput struct {
6818	_ struct{} `type:"structure"`
6819
6820	// The identifier that Amazon Comprehend generated for the job. The operation
6821	// returns this identifier in its response.
6822	//
6823	// JobId is a required field
6824	JobId *string `min:"1" type:"string" required:"true"`
6825}
6826
6827// String returns the string representation
6828func (s DescribeDocumentClassificationJobInput) String() string {
6829	return awsutil.Prettify(s)
6830}
6831
6832// GoString returns the string representation
6833func (s DescribeDocumentClassificationJobInput) GoString() string {
6834	return s.String()
6835}
6836
6837// Validate inspects the fields of the type to determine if they are valid.
6838func (s *DescribeDocumentClassificationJobInput) Validate() error {
6839	invalidParams := request.ErrInvalidParams{Context: "DescribeDocumentClassificationJobInput"}
6840	if s.JobId == nil {
6841		invalidParams.Add(request.NewErrParamRequired("JobId"))
6842	}
6843	if s.JobId != nil && len(*s.JobId) < 1 {
6844		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
6845	}
6846
6847	if invalidParams.Len() > 0 {
6848		return invalidParams
6849	}
6850	return nil
6851}
6852
6853// SetJobId sets the JobId field's value.
6854func (s *DescribeDocumentClassificationJobInput) SetJobId(v string) *DescribeDocumentClassificationJobInput {
6855	s.JobId = &v
6856	return s
6857}
6858
6859type DescribeDocumentClassificationJobOutput struct {
6860	_ struct{} `type:"structure"`
6861
6862	// An object that describes the properties associated with the document classification
6863	// job.
6864	DocumentClassificationJobProperties *DocumentClassificationJobProperties `type:"structure"`
6865}
6866
6867// String returns the string representation
6868func (s DescribeDocumentClassificationJobOutput) String() string {
6869	return awsutil.Prettify(s)
6870}
6871
6872// GoString returns the string representation
6873func (s DescribeDocumentClassificationJobOutput) GoString() string {
6874	return s.String()
6875}
6876
6877// SetDocumentClassificationJobProperties sets the DocumentClassificationJobProperties field's value.
6878func (s *DescribeDocumentClassificationJobOutput) SetDocumentClassificationJobProperties(v *DocumentClassificationJobProperties) *DescribeDocumentClassificationJobOutput {
6879	s.DocumentClassificationJobProperties = v
6880	return s
6881}
6882
6883type DescribeDocumentClassifierInput struct {
6884	_ struct{} `type:"structure"`
6885
6886	// The Amazon Resource Name (ARN) that identifies the document classifier. The
6887	// operation returns this identifier in its response.
6888	//
6889	// DocumentClassifierArn is a required field
6890	DocumentClassifierArn *string `type:"string" required:"true"`
6891}
6892
6893// String returns the string representation
6894func (s DescribeDocumentClassifierInput) String() string {
6895	return awsutil.Prettify(s)
6896}
6897
6898// GoString returns the string representation
6899func (s DescribeDocumentClassifierInput) GoString() string {
6900	return s.String()
6901}
6902
6903// Validate inspects the fields of the type to determine if they are valid.
6904func (s *DescribeDocumentClassifierInput) Validate() error {
6905	invalidParams := request.ErrInvalidParams{Context: "DescribeDocumentClassifierInput"}
6906	if s.DocumentClassifierArn == nil {
6907		invalidParams.Add(request.NewErrParamRequired("DocumentClassifierArn"))
6908	}
6909
6910	if invalidParams.Len() > 0 {
6911		return invalidParams
6912	}
6913	return nil
6914}
6915
6916// SetDocumentClassifierArn sets the DocumentClassifierArn field's value.
6917func (s *DescribeDocumentClassifierInput) SetDocumentClassifierArn(v string) *DescribeDocumentClassifierInput {
6918	s.DocumentClassifierArn = &v
6919	return s
6920}
6921
6922type DescribeDocumentClassifierOutput struct {
6923	_ struct{} `type:"structure"`
6924
6925	// An object that contains the properties associated with a document classifier.
6926	DocumentClassifierProperties *DocumentClassifierProperties `type:"structure"`
6927}
6928
6929// String returns the string representation
6930func (s DescribeDocumentClassifierOutput) String() string {
6931	return awsutil.Prettify(s)
6932}
6933
6934// GoString returns the string representation
6935func (s DescribeDocumentClassifierOutput) GoString() string {
6936	return s.String()
6937}
6938
6939// SetDocumentClassifierProperties sets the DocumentClassifierProperties field's value.
6940func (s *DescribeDocumentClassifierOutput) SetDocumentClassifierProperties(v *DocumentClassifierProperties) *DescribeDocumentClassifierOutput {
6941	s.DocumentClassifierProperties = v
6942	return s
6943}
6944
6945type DescribeDominantLanguageDetectionJobInput struct {
6946	_ struct{} `type:"structure"`
6947
6948	// The identifier that Amazon Comprehend generated for the job. The operation
6949	// returns this identifier in its response.
6950	//
6951	// JobId is a required field
6952	JobId *string `min:"1" type:"string" required:"true"`
6953}
6954
6955// String returns the string representation
6956func (s DescribeDominantLanguageDetectionJobInput) String() string {
6957	return awsutil.Prettify(s)
6958}
6959
6960// GoString returns the string representation
6961func (s DescribeDominantLanguageDetectionJobInput) GoString() string {
6962	return s.String()
6963}
6964
6965// Validate inspects the fields of the type to determine if they are valid.
6966func (s *DescribeDominantLanguageDetectionJobInput) Validate() error {
6967	invalidParams := request.ErrInvalidParams{Context: "DescribeDominantLanguageDetectionJobInput"}
6968	if s.JobId == nil {
6969		invalidParams.Add(request.NewErrParamRequired("JobId"))
6970	}
6971	if s.JobId != nil && len(*s.JobId) < 1 {
6972		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
6973	}
6974
6975	if invalidParams.Len() > 0 {
6976		return invalidParams
6977	}
6978	return nil
6979}
6980
6981// SetJobId sets the JobId field's value.
6982func (s *DescribeDominantLanguageDetectionJobInput) SetJobId(v string) *DescribeDominantLanguageDetectionJobInput {
6983	s.JobId = &v
6984	return s
6985}
6986
6987type DescribeDominantLanguageDetectionJobOutput struct {
6988	_ struct{} `type:"structure"`
6989
6990	// An object that contains the properties associated with a dominant language
6991	// detection job.
6992	DominantLanguageDetectionJobProperties *DominantLanguageDetectionJobProperties `type:"structure"`
6993}
6994
6995// String returns the string representation
6996func (s DescribeDominantLanguageDetectionJobOutput) String() string {
6997	return awsutil.Prettify(s)
6998}
6999
7000// GoString returns the string representation
7001func (s DescribeDominantLanguageDetectionJobOutput) GoString() string {
7002	return s.String()
7003}
7004
7005// SetDominantLanguageDetectionJobProperties sets the DominantLanguageDetectionJobProperties field's value.
7006func (s *DescribeDominantLanguageDetectionJobOutput) SetDominantLanguageDetectionJobProperties(v *DominantLanguageDetectionJobProperties) *DescribeDominantLanguageDetectionJobOutput {
7007	s.DominantLanguageDetectionJobProperties = v
7008	return s
7009}
7010
7011type DescribeEndpointInput struct {
7012	_ struct{} `type:"structure"`
7013
7014	// The Amazon Resource Number (ARN) of the endpoint being described.
7015	//
7016	// EndpointArn is a required field
7017	EndpointArn *string `type:"string" required:"true"`
7018}
7019
7020// String returns the string representation
7021func (s DescribeEndpointInput) String() string {
7022	return awsutil.Prettify(s)
7023}
7024
7025// GoString returns the string representation
7026func (s DescribeEndpointInput) GoString() string {
7027	return s.String()
7028}
7029
7030// Validate inspects the fields of the type to determine if they are valid.
7031func (s *DescribeEndpointInput) Validate() error {
7032	invalidParams := request.ErrInvalidParams{Context: "DescribeEndpointInput"}
7033	if s.EndpointArn == nil {
7034		invalidParams.Add(request.NewErrParamRequired("EndpointArn"))
7035	}
7036
7037	if invalidParams.Len() > 0 {
7038		return invalidParams
7039	}
7040	return nil
7041}
7042
7043// SetEndpointArn sets the EndpointArn field's value.
7044func (s *DescribeEndpointInput) SetEndpointArn(v string) *DescribeEndpointInput {
7045	s.EndpointArn = &v
7046	return s
7047}
7048
7049type DescribeEndpointOutput struct {
7050	_ struct{} `type:"structure"`
7051
7052	// Describes information associated with the specific endpoint.
7053	EndpointProperties *EndpointProperties `type:"structure"`
7054}
7055
7056// String returns the string representation
7057func (s DescribeEndpointOutput) String() string {
7058	return awsutil.Prettify(s)
7059}
7060
7061// GoString returns the string representation
7062func (s DescribeEndpointOutput) GoString() string {
7063	return s.String()
7064}
7065
7066// SetEndpointProperties sets the EndpointProperties field's value.
7067func (s *DescribeEndpointOutput) SetEndpointProperties(v *EndpointProperties) *DescribeEndpointOutput {
7068	s.EndpointProperties = v
7069	return s
7070}
7071
7072type DescribeEntitiesDetectionJobInput struct {
7073	_ struct{} `type:"structure"`
7074
7075	// The identifier that Amazon Comprehend generated for the job. The operation
7076	// returns this identifier in its response.
7077	//
7078	// JobId is a required field
7079	JobId *string `min:"1" type:"string" required:"true"`
7080}
7081
7082// String returns the string representation
7083func (s DescribeEntitiesDetectionJobInput) String() string {
7084	return awsutil.Prettify(s)
7085}
7086
7087// GoString returns the string representation
7088func (s DescribeEntitiesDetectionJobInput) GoString() string {
7089	return s.String()
7090}
7091
7092// Validate inspects the fields of the type to determine if they are valid.
7093func (s *DescribeEntitiesDetectionJobInput) Validate() error {
7094	invalidParams := request.ErrInvalidParams{Context: "DescribeEntitiesDetectionJobInput"}
7095	if s.JobId == nil {
7096		invalidParams.Add(request.NewErrParamRequired("JobId"))
7097	}
7098	if s.JobId != nil && len(*s.JobId) < 1 {
7099		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
7100	}
7101
7102	if invalidParams.Len() > 0 {
7103		return invalidParams
7104	}
7105	return nil
7106}
7107
7108// SetJobId sets the JobId field's value.
7109func (s *DescribeEntitiesDetectionJobInput) SetJobId(v string) *DescribeEntitiesDetectionJobInput {
7110	s.JobId = &v
7111	return s
7112}
7113
7114type DescribeEntitiesDetectionJobOutput struct {
7115	_ struct{} `type:"structure"`
7116
7117	// An object that contains the properties associated with an entities detection
7118	// job.
7119	EntitiesDetectionJobProperties *EntitiesDetectionJobProperties `type:"structure"`
7120}
7121
7122// String returns the string representation
7123func (s DescribeEntitiesDetectionJobOutput) String() string {
7124	return awsutil.Prettify(s)
7125}
7126
7127// GoString returns the string representation
7128func (s DescribeEntitiesDetectionJobOutput) GoString() string {
7129	return s.String()
7130}
7131
7132// SetEntitiesDetectionJobProperties sets the EntitiesDetectionJobProperties field's value.
7133func (s *DescribeEntitiesDetectionJobOutput) SetEntitiesDetectionJobProperties(v *EntitiesDetectionJobProperties) *DescribeEntitiesDetectionJobOutput {
7134	s.EntitiesDetectionJobProperties = v
7135	return s
7136}
7137
7138type DescribeEntityRecognizerInput struct {
7139	_ struct{} `type:"structure"`
7140
7141	// The Amazon Resource Name (ARN) that identifies the entity recognizer.
7142	//
7143	// EntityRecognizerArn is a required field
7144	EntityRecognizerArn *string `type:"string" required:"true"`
7145}
7146
7147// String returns the string representation
7148func (s DescribeEntityRecognizerInput) String() string {
7149	return awsutil.Prettify(s)
7150}
7151
7152// GoString returns the string representation
7153func (s DescribeEntityRecognizerInput) GoString() string {
7154	return s.String()
7155}
7156
7157// Validate inspects the fields of the type to determine if they are valid.
7158func (s *DescribeEntityRecognizerInput) Validate() error {
7159	invalidParams := request.ErrInvalidParams{Context: "DescribeEntityRecognizerInput"}
7160	if s.EntityRecognizerArn == nil {
7161		invalidParams.Add(request.NewErrParamRequired("EntityRecognizerArn"))
7162	}
7163
7164	if invalidParams.Len() > 0 {
7165		return invalidParams
7166	}
7167	return nil
7168}
7169
7170// SetEntityRecognizerArn sets the EntityRecognizerArn field's value.
7171func (s *DescribeEntityRecognizerInput) SetEntityRecognizerArn(v string) *DescribeEntityRecognizerInput {
7172	s.EntityRecognizerArn = &v
7173	return s
7174}
7175
7176type DescribeEntityRecognizerOutput struct {
7177	_ struct{} `type:"structure"`
7178
7179	// Describes information associated with an entity recognizer.
7180	EntityRecognizerProperties *EntityRecognizerProperties `type:"structure"`
7181}
7182
7183// String returns the string representation
7184func (s DescribeEntityRecognizerOutput) String() string {
7185	return awsutil.Prettify(s)
7186}
7187
7188// GoString returns the string representation
7189func (s DescribeEntityRecognizerOutput) GoString() string {
7190	return s.String()
7191}
7192
7193// SetEntityRecognizerProperties sets the EntityRecognizerProperties field's value.
7194func (s *DescribeEntityRecognizerOutput) SetEntityRecognizerProperties(v *EntityRecognizerProperties) *DescribeEntityRecognizerOutput {
7195	s.EntityRecognizerProperties = v
7196	return s
7197}
7198
7199type DescribeKeyPhrasesDetectionJobInput struct {
7200	_ struct{} `type:"structure"`
7201
7202	// The identifier that Amazon Comprehend generated for the job. The operation
7203	// returns this identifier in its response.
7204	//
7205	// JobId is a required field
7206	JobId *string `min:"1" type:"string" required:"true"`
7207}
7208
7209// String returns the string representation
7210func (s DescribeKeyPhrasesDetectionJobInput) String() string {
7211	return awsutil.Prettify(s)
7212}
7213
7214// GoString returns the string representation
7215func (s DescribeKeyPhrasesDetectionJobInput) GoString() string {
7216	return s.String()
7217}
7218
7219// Validate inspects the fields of the type to determine if they are valid.
7220func (s *DescribeKeyPhrasesDetectionJobInput) Validate() error {
7221	invalidParams := request.ErrInvalidParams{Context: "DescribeKeyPhrasesDetectionJobInput"}
7222	if s.JobId == nil {
7223		invalidParams.Add(request.NewErrParamRequired("JobId"))
7224	}
7225	if s.JobId != nil && len(*s.JobId) < 1 {
7226		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
7227	}
7228
7229	if invalidParams.Len() > 0 {
7230		return invalidParams
7231	}
7232	return nil
7233}
7234
7235// SetJobId sets the JobId field's value.
7236func (s *DescribeKeyPhrasesDetectionJobInput) SetJobId(v string) *DescribeKeyPhrasesDetectionJobInput {
7237	s.JobId = &v
7238	return s
7239}
7240
7241type DescribeKeyPhrasesDetectionJobOutput struct {
7242	_ struct{} `type:"structure"`
7243
7244	// An object that contains the properties associated with a key phrases detection
7245	// job.
7246	KeyPhrasesDetectionJobProperties *KeyPhrasesDetectionJobProperties `type:"structure"`
7247}
7248
7249// String returns the string representation
7250func (s DescribeKeyPhrasesDetectionJobOutput) String() string {
7251	return awsutil.Prettify(s)
7252}
7253
7254// GoString returns the string representation
7255func (s DescribeKeyPhrasesDetectionJobOutput) GoString() string {
7256	return s.String()
7257}
7258
7259// SetKeyPhrasesDetectionJobProperties sets the KeyPhrasesDetectionJobProperties field's value.
7260func (s *DescribeKeyPhrasesDetectionJobOutput) SetKeyPhrasesDetectionJobProperties(v *KeyPhrasesDetectionJobProperties) *DescribeKeyPhrasesDetectionJobOutput {
7261	s.KeyPhrasesDetectionJobProperties = v
7262	return s
7263}
7264
7265type DescribeSentimentDetectionJobInput struct {
7266	_ struct{} `type:"structure"`
7267
7268	// The identifier that Amazon Comprehend generated for the job. The operation
7269	// returns this identifier in its response.
7270	//
7271	// JobId is a required field
7272	JobId *string `min:"1" type:"string" required:"true"`
7273}
7274
7275// String returns the string representation
7276func (s DescribeSentimentDetectionJobInput) String() string {
7277	return awsutil.Prettify(s)
7278}
7279
7280// GoString returns the string representation
7281func (s DescribeSentimentDetectionJobInput) GoString() string {
7282	return s.String()
7283}
7284
7285// Validate inspects the fields of the type to determine if they are valid.
7286func (s *DescribeSentimentDetectionJobInput) Validate() error {
7287	invalidParams := request.ErrInvalidParams{Context: "DescribeSentimentDetectionJobInput"}
7288	if s.JobId == nil {
7289		invalidParams.Add(request.NewErrParamRequired("JobId"))
7290	}
7291	if s.JobId != nil && len(*s.JobId) < 1 {
7292		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
7293	}
7294
7295	if invalidParams.Len() > 0 {
7296		return invalidParams
7297	}
7298	return nil
7299}
7300
7301// SetJobId sets the JobId field's value.
7302func (s *DescribeSentimentDetectionJobInput) SetJobId(v string) *DescribeSentimentDetectionJobInput {
7303	s.JobId = &v
7304	return s
7305}
7306
7307type DescribeSentimentDetectionJobOutput struct {
7308	_ struct{} `type:"structure"`
7309
7310	// An object that contains the properties associated with a sentiment detection
7311	// job.
7312	SentimentDetectionJobProperties *SentimentDetectionJobProperties `type:"structure"`
7313}
7314
7315// String returns the string representation
7316func (s DescribeSentimentDetectionJobOutput) String() string {
7317	return awsutil.Prettify(s)
7318}
7319
7320// GoString returns the string representation
7321func (s DescribeSentimentDetectionJobOutput) GoString() string {
7322	return s.String()
7323}
7324
7325// SetSentimentDetectionJobProperties sets the SentimentDetectionJobProperties field's value.
7326func (s *DescribeSentimentDetectionJobOutput) SetSentimentDetectionJobProperties(v *SentimentDetectionJobProperties) *DescribeSentimentDetectionJobOutput {
7327	s.SentimentDetectionJobProperties = v
7328	return s
7329}
7330
7331type DescribeTopicsDetectionJobInput struct {
7332	_ struct{} `type:"structure"`
7333
7334	// The identifier assigned by the user to the detection job.
7335	//
7336	// JobId is a required field
7337	JobId *string `min:"1" type:"string" required:"true"`
7338}
7339
7340// String returns the string representation
7341func (s DescribeTopicsDetectionJobInput) String() string {
7342	return awsutil.Prettify(s)
7343}
7344
7345// GoString returns the string representation
7346func (s DescribeTopicsDetectionJobInput) GoString() string {
7347	return s.String()
7348}
7349
7350// Validate inspects the fields of the type to determine if they are valid.
7351func (s *DescribeTopicsDetectionJobInput) Validate() error {
7352	invalidParams := request.ErrInvalidParams{Context: "DescribeTopicsDetectionJobInput"}
7353	if s.JobId == nil {
7354		invalidParams.Add(request.NewErrParamRequired("JobId"))
7355	}
7356	if s.JobId != nil && len(*s.JobId) < 1 {
7357		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
7358	}
7359
7360	if invalidParams.Len() > 0 {
7361		return invalidParams
7362	}
7363	return nil
7364}
7365
7366// SetJobId sets the JobId field's value.
7367func (s *DescribeTopicsDetectionJobInput) SetJobId(v string) *DescribeTopicsDetectionJobInput {
7368	s.JobId = &v
7369	return s
7370}
7371
7372type DescribeTopicsDetectionJobOutput struct {
7373	_ struct{} `type:"structure"`
7374
7375	// The list of properties for the requested job.
7376	TopicsDetectionJobProperties *TopicsDetectionJobProperties `type:"structure"`
7377}
7378
7379// String returns the string representation
7380func (s DescribeTopicsDetectionJobOutput) String() string {
7381	return awsutil.Prettify(s)
7382}
7383
7384// GoString returns the string representation
7385func (s DescribeTopicsDetectionJobOutput) GoString() string {
7386	return s.String()
7387}
7388
7389// SetTopicsDetectionJobProperties sets the TopicsDetectionJobProperties field's value.
7390func (s *DescribeTopicsDetectionJobOutput) SetTopicsDetectionJobProperties(v *TopicsDetectionJobProperties) *DescribeTopicsDetectionJobOutput {
7391	s.TopicsDetectionJobProperties = v
7392	return s
7393}
7394
7395type DetectDominantLanguageInput struct {
7396	_ struct{} `type:"structure"`
7397
7398	// A UTF-8 text string. Each string should contain at least 20 characters and
7399	// must contain fewer that 5,000 bytes of UTF-8 encoded characters.
7400	//
7401	// Text is a required field
7402	Text *string `min:"1" type:"string" required:"true"`
7403}
7404
7405// String returns the string representation
7406func (s DetectDominantLanguageInput) String() string {
7407	return awsutil.Prettify(s)
7408}
7409
7410// GoString returns the string representation
7411func (s DetectDominantLanguageInput) GoString() string {
7412	return s.String()
7413}
7414
7415// Validate inspects the fields of the type to determine if they are valid.
7416func (s *DetectDominantLanguageInput) Validate() error {
7417	invalidParams := request.ErrInvalidParams{Context: "DetectDominantLanguageInput"}
7418	if s.Text == nil {
7419		invalidParams.Add(request.NewErrParamRequired("Text"))
7420	}
7421	if s.Text != nil && len(*s.Text) < 1 {
7422		invalidParams.Add(request.NewErrParamMinLen("Text", 1))
7423	}
7424
7425	if invalidParams.Len() > 0 {
7426		return invalidParams
7427	}
7428	return nil
7429}
7430
7431// SetText sets the Text field's value.
7432func (s *DetectDominantLanguageInput) SetText(v string) *DetectDominantLanguageInput {
7433	s.Text = &v
7434	return s
7435}
7436
7437type DetectDominantLanguageOutput struct {
7438	_ struct{} `type:"structure"`
7439
7440	// The languages that Amazon Comprehend detected in the input text. For each
7441	// language, the response returns the RFC 5646 language code and the level of
7442	// confidence that Amazon Comprehend has in the accuracy of its inference. For
7443	// more information about RFC 5646, see Tags for Identifying Languages (https://tools.ietf.org/html/rfc5646)
7444	// on the IETF Tools web site.
7445	Languages []*DominantLanguage `type:"list"`
7446}
7447
7448// String returns the string representation
7449func (s DetectDominantLanguageOutput) String() string {
7450	return awsutil.Prettify(s)
7451}
7452
7453// GoString returns the string representation
7454func (s DetectDominantLanguageOutput) GoString() string {
7455	return s.String()
7456}
7457
7458// SetLanguages sets the Languages field's value.
7459func (s *DetectDominantLanguageOutput) SetLanguages(v []*DominantLanguage) *DetectDominantLanguageOutput {
7460	s.Languages = v
7461	return s
7462}
7463
7464type DetectEntitiesInput struct {
7465	_ struct{} `type:"structure"`
7466
7467	// The language of the input documents. You can specify any of the primary languages
7468	// supported by Amazon Comprehend. All documents must be in the same language.
7469	//
7470	// LanguageCode is a required field
7471	LanguageCode *string `type:"string" required:"true" enum:"LanguageCode"`
7472
7473	// A UTF-8 text string. Each string must contain fewer that 5,000 bytes of UTF-8
7474	// encoded characters.
7475	//
7476	// Text is a required field
7477	Text *string `min:"1" type:"string" required:"true"`
7478}
7479
7480// String returns the string representation
7481func (s DetectEntitiesInput) String() string {
7482	return awsutil.Prettify(s)
7483}
7484
7485// GoString returns the string representation
7486func (s DetectEntitiesInput) GoString() string {
7487	return s.String()
7488}
7489
7490// Validate inspects the fields of the type to determine if they are valid.
7491func (s *DetectEntitiesInput) Validate() error {
7492	invalidParams := request.ErrInvalidParams{Context: "DetectEntitiesInput"}
7493	if s.LanguageCode == nil {
7494		invalidParams.Add(request.NewErrParamRequired("LanguageCode"))
7495	}
7496	if s.Text == nil {
7497		invalidParams.Add(request.NewErrParamRequired("Text"))
7498	}
7499	if s.Text != nil && len(*s.Text) < 1 {
7500		invalidParams.Add(request.NewErrParamMinLen("Text", 1))
7501	}
7502
7503	if invalidParams.Len() > 0 {
7504		return invalidParams
7505	}
7506	return nil
7507}
7508
7509// SetLanguageCode sets the LanguageCode field's value.
7510func (s *DetectEntitiesInput) SetLanguageCode(v string) *DetectEntitiesInput {
7511	s.LanguageCode = &v
7512	return s
7513}
7514
7515// SetText sets the Text field's value.
7516func (s *DetectEntitiesInput) SetText(v string) *DetectEntitiesInput {
7517	s.Text = &v
7518	return s
7519}
7520
7521type DetectEntitiesOutput struct {
7522	_ struct{} `type:"structure"`
7523
7524	// A collection of entities identified in the input text. For each entity, the
7525	// response provides the entity text, entity type, where the entity text begins
7526	// and ends, and the level of confidence that Amazon Comprehend has in the detection.
7527	// For a list of entity types, see how-entities.
7528	Entities []*Entity `type:"list"`
7529}
7530
7531// String returns the string representation
7532func (s DetectEntitiesOutput) String() string {
7533	return awsutil.Prettify(s)
7534}
7535
7536// GoString returns the string representation
7537func (s DetectEntitiesOutput) GoString() string {
7538	return s.String()
7539}
7540
7541// SetEntities sets the Entities field's value.
7542func (s *DetectEntitiesOutput) SetEntities(v []*Entity) *DetectEntitiesOutput {
7543	s.Entities = v
7544	return s
7545}
7546
7547type DetectKeyPhrasesInput struct {
7548	_ struct{} `type:"structure"`
7549
7550	// The language of the input documents. You can specify any of the primary languages
7551	// supported by Amazon Comprehend. All documents must be in the same language.
7552	//
7553	// LanguageCode is a required field
7554	LanguageCode *string `type:"string" required:"true" enum:"LanguageCode"`
7555
7556	// A UTF-8 text string. Each string must contain fewer that 5,000 bytes of UTF-8
7557	// encoded characters.
7558	//
7559	// Text is a required field
7560	Text *string `min:"1" type:"string" required:"true"`
7561}
7562
7563// String returns the string representation
7564func (s DetectKeyPhrasesInput) String() string {
7565	return awsutil.Prettify(s)
7566}
7567
7568// GoString returns the string representation
7569func (s DetectKeyPhrasesInput) GoString() string {
7570	return s.String()
7571}
7572
7573// Validate inspects the fields of the type to determine if they are valid.
7574func (s *DetectKeyPhrasesInput) Validate() error {
7575	invalidParams := request.ErrInvalidParams{Context: "DetectKeyPhrasesInput"}
7576	if s.LanguageCode == nil {
7577		invalidParams.Add(request.NewErrParamRequired("LanguageCode"))
7578	}
7579	if s.Text == nil {
7580		invalidParams.Add(request.NewErrParamRequired("Text"))
7581	}
7582	if s.Text != nil && len(*s.Text) < 1 {
7583		invalidParams.Add(request.NewErrParamMinLen("Text", 1))
7584	}
7585
7586	if invalidParams.Len() > 0 {
7587		return invalidParams
7588	}
7589	return nil
7590}
7591
7592// SetLanguageCode sets the LanguageCode field's value.
7593func (s *DetectKeyPhrasesInput) SetLanguageCode(v string) *DetectKeyPhrasesInput {
7594	s.LanguageCode = &v
7595	return s
7596}
7597
7598// SetText sets the Text field's value.
7599func (s *DetectKeyPhrasesInput) SetText(v string) *DetectKeyPhrasesInput {
7600	s.Text = &v
7601	return s
7602}
7603
7604type DetectKeyPhrasesOutput struct {
7605	_ struct{} `type:"structure"`
7606
7607	// A collection of key phrases that Amazon Comprehend identified in the input
7608	// text. For each key phrase, the response provides the text of the key phrase,
7609	// where the key phrase begins and ends, and the level of confidence that Amazon
7610	// Comprehend has in the accuracy of the detection.
7611	KeyPhrases []*KeyPhrase `type:"list"`
7612}
7613
7614// String returns the string representation
7615func (s DetectKeyPhrasesOutput) String() string {
7616	return awsutil.Prettify(s)
7617}
7618
7619// GoString returns the string representation
7620func (s DetectKeyPhrasesOutput) GoString() string {
7621	return s.String()
7622}
7623
7624// SetKeyPhrases sets the KeyPhrases field's value.
7625func (s *DetectKeyPhrasesOutput) SetKeyPhrases(v []*KeyPhrase) *DetectKeyPhrasesOutput {
7626	s.KeyPhrases = v
7627	return s
7628}
7629
7630type DetectSentimentInput struct {
7631	_ struct{} `type:"structure"`
7632
7633	// The language of the input documents. You can specify any of the primary languages
7634	// supported by Amazon Comprehend. All documents must be in the same language.
7635	//
7636	// LanguageCode is a required field
7637	LanguageCode *string `type:"string" required:"true" enum:"LanguageCode"`
7638
7639	// A UTF-8 text string. Each string must contain fewer that 5,000 bytes of UTF-8
7640	// encoded characters.
7641	//
7642	// Text is a required field
7643	Text *string `min:"1" type:"string" required:"true"`
7644}
7645
7646// String returns the string representation
7647func (s DetectSentimentInput) String() string {
7648	return awsutil.Prettify(s)
7649}
7650
7651// GoString returns the string representation
7652func (s DetectSentimentInput) GoString() string {
7653	return s.String()
7654}
7655
7656// Validate inspects the fields of the type to determine if they are valid.
7657func (s *DetectSentimentInput) Validate() error {
7658	invalidParams := request.ErrInvalidParams{Context: "DetectSentimentInput"}
7659	if s.LanguageCode == nil {
7660		invalidParams.Add(request.NewErrParamRequired("LanguageCode"))
7661	}
7662	if s.Text == nil {
7663		invalidParams.Add(request.NewErrParamRequired("Text"))
7664	}
7665	if s.Text != nil && len(*s.Text) < 1 {
7666		invalidParams.Add(request.NewErrParamMinLen("Text", 1))
7667	}
7668
7669	if invalidParams.Len() > 0 {
7670		return invalidParams
7671	}
7672	return nil
7673}
7674
7675// SetLanguageCode sets the LanguageCode field's value.
7676func (s *DetectSentimentInput) SetLanguageCode(v string) *DetectSentimentInput {
7677	s.LanguageCode = &v
7678	return s
7679}
7680
7681// SetText sets the Text field's value.
7682func (s *DetectSentimentInput) SetText(v string) *DetectSentimentInput {
7683	s.Text = &v
7684	return s
7685}
7686
7687type DetectSentimentOutput struct {
7688	_ struct{} `type:"structure"`
7689
7690	// The inferred sentiment that Amazon Comprehend has the highest level of confidence
7691	// in.
7692	Sentiment *string `type:"string" enum:"SentimentType"`
7693
7694	// An object that lists the sentiments, and their corresponding confidence levels.
7695	SentimentScore *SentimentScore `type:"structure"`
7696}
7697
7698// String returns the string representation
7699func (s DetectSentimentOutput) String() string {
7700	return awsutil.Prettify(s)
7701}
7702
7703// GoString returns the string representation
7704func (s DetectSentimentOutput) GoString() string {
7705	return s.String()
7706}
7707
7708// SetSentiment sets the Sentiment field's value.
7709func (s *DetectSentimentOutput) SetSentiment(v string) *DetectSentimentOutput {
7710	s.Sentiment = &v
7711	return s
7712}
7713
7714// SetSentimentScore sets the SentimentScore field's value.
7715func (s *DetectSentimentOutput) SetSentimentScore(v *SentimentScore) *DetectSentimentOutput {
7716	s.SentimentScore = v
7717	return s
7718}
7719
7720type DetectSyntaxInput struct {
7721	_ struct{} `type:"structure"`
7722
7723	// The language code of the input documents. You can specify any of the following
7724	// languages supported by Amazon Comprehend: German ("de"), English ("en"),
7725	// Spanish ("es"), French ("fr"), Italian ("it"), or Portuguese ("pt").
7726	//
7727	// LanguageCode is a required field
7728	LanguageCode *string `type:"string" required:"true" enum:"SyntaxLanguageCode"`
7729
7730	// A UTF-8 string. Each string must contain fewer that 5,000 bytes of UTF encoded
7731	// characters.
7732	//
7733	// Text is a required field
7734	Text *string `min:"1" type:"string" required:"true"`
7735}
7736
7737// String returns the string representation
7738func (s DetectSyntaxInput) String() string {
7739	return awsutil.Prettify(s)
7740}
7741
7742// GoString returns the string representation
7743func (s DetectSyntaxInput) GoString() string {
7744	return s.String()
7745}
7746
7747// Validate inspects the fields of the type to determine if they are valid.
7748func (s *DetectSyntaxInput) Validate() error {
7749	invalidParams := request.ErrInvalidParams{Context: "DetectSyntaxInput"}
7750	if s.LanguageCode == nil {
7751		invalidParams.Add(request.NewErrParamRequired("LanguageCode"))
7752	}
7753	if s.Text == nil {
7754		invalidParams.Add(request.NewErrParamRequired("Text"))
7755	}
7756	if s.Text != nil && len(*s.Text) < 1 {
7757		invalidParams.Add(request.NewErrParamMinLen("Text", 1))
7758	}
7759
7760	if invalidParams.Len() > 0 {
7761		return invalidParams
7762	}
7763	return nil
7764}
7765
7766// SetLanguageCode sets the LanguageCode field's value.
7767func (s *DetectSyntaxInput) SetLanguageCode(v string) *DetectSyntaxInput {
7768	s.LanguageCode = &v
7769	return s
7770}
7771
7772// SetText sets the Text field's value.
7773func (s *DetectSyntaxInput) SetText(v string) *DetectSyntaxInput {
7774	s.Text = &v
7775	return s
7776}
7777
7778type DetectSyntaxOutput struct {
7779	_ struct{} `type:"structure"`
7780
7781	// A collection of syntax tokens describing the text. For each token, the response
7782	// provides the text, the token type, where the text begins and ends, and the
7783	// level of confidence that Amazon Comprehend has that the token is correct.
7784	// For a list of token types, see how-syntax.
7785	SyntaxTokens []*SyntaxToken `type:"list"`
7786}
7787
7788// String returns the string representation
7789func (s DetectSyntaxOutput) String() string {
7790	return awsutil.Prettify(s)
7791}
7792
7793// GoString returns the string representation
7794func (s DetectSyntaxOutput) GoString() string {
7795	return s.String()
7796}
7797
7798// SetSyntaxTokens sets the SyntaxTokens field's value.
7799func (s *DetectSyntaxOutput) SetSyntaxTokens(v []*SyntaxToken) *DetectSyntaxOutput {
7800	s.SyntaxTokens = v
7801	return s
7802}
7803
7804// Specifies the class that categorizes the document being analyzed
7805type DocumentClass struct {
7806	_ struct{} `type:"structure"`
7807
7808	// The name of the class.
7809	Name *string `min:"1" type:"string"`
7810
7811	// The confidence score that Amazon Comprehend has this class correctly attributed.
7812	Score *float64 `type:"float"`
7813}
7814
7815// String returns the string representation
7816func (s DocumentClass) String() string {
7817	return awsutil.Prettify(s)
7818}
7819
7820// GoString returns the string representation
7821func (s DocumentClass) GoString() string {
7822	return s.String()
7823}
7824
7825// SetName sets the Name field's value.
7826func (s *DocumentClass) SetName(v string) *DocumentClass {
7827	s.Name = &v
7828	return s
7829}
7830
7831// SetScore sets the Score field's value.
7832func (s *DocumentClass) SetScore(v float64) *DocumentClass {
7833	s.Score = &v
7834	return s
7835}
7836
7837// Provides information for filtering a list of document classification jobs.
7838// For more information, see the operation. You can provide only one filter
7839// parameter in each request.
7840type DocumentClassificationJobFilter struct {
7841	_ struct{} `type:"structure"`
7842
7843	// Filters on the name of the job.
7844	JobName *string `min:"1" type:"string"`
7845
7846	// Filters the list based on job status. Returns only jobs with the specified
7847	// status.
7848	JobStatus *string `type:"string" enum:"JobStatus"`
7849
7850	// Filters the list of jobs based on the time that the job was submitted for
7851	// processing. Returns only jobs submitted before the specified time. Jobs are
7852	// returned in descending order, newest to oldest.
7853	SubmitTimeAfter *time.Time `type:"timestamp"`
7854
7855	// Filters the list of jobs based on the time that the job was submitted for
7856	// processing. Returns only jobs submitted after the specified time. Jobs are
7857	// returned in ascending order, oldest to newest.
7858	SubmitTimeBefore *time.Time `type:"timestamp"`
7859}
7860
7861// String returns the string representation
7862func (s DocumentClassificationJobFilter) String() string {
7863	return awsutil.Prettify(s)
7864}
7865
7866// GoString returns the string representation
7867func (s DocumentClassificationJobFilter) GoString() string {
7868	return s.String()
7869}
7870
7871// Validate inspects the fields of the type to determine if they are valid.
7872func (s *DocumentClassificationJobFilter) Validate() error {
7873	invalidParams := request.ErrInvalidParams{Context: "DocumentClassificationJobFilter"}
7874	if s.JobName != nil && len(*s.JobName) < 1 {
7875		invalidParams.Add(request.NewErrParamMinLen("JobName", 1))
7876	}
7877
7878	if invalidParams.Len() > 0 {
7879		return invalidParams
7880	}
7881	return nil
7882}
7883
7884// SetJobName sets the JobName field's value.
7885func (s *DocumentClassificationJobFilter) SetJobName(v string) *DocumentClassificationJobFilter {
7886	s.JobName = &v
7887	return s
7888}
7889
7890// SetJobStatus sets the JobStatus field's value.
7891func (s *DocumentClassificationJobFilter) SetJobStatus(v string) *DocumentClassificationJobFilter {
7892	s.JobStatus = &v
7893	return s
7894}
7895
7896// SetSubmitTimeAfter sets the SubmitTimeAfter field's value.
7897func (s *DocumentClassificationJobFilter) SetSubmitTimeAfter(v time.Time) *DocumentClassificationJobFilter {
7898	s.SubmitTimeAfter = &v
7899	return s
7900}
7901
7902// SetSubmitTimeBefore sets the SubmitTimeBefore field's value.
7903func (s *DocumentClassificationJobFilter) SetSubmitTimeBefore(v time.Time) *DocumentClassificationJobFilter {
7904	s.SubmitTimeBefore = &v
7905	return s
7906}
7907
7908// Provides information about a document classification job.
7909type DocumentClassificationJobProperties struct {
7910	_ struct{} `type:"structure"`
7911
7912	// The Amazon Resource Name (ARN) of the AWS identity and Access Management
7913	// (IAM) role that grants Amazon Comprehend read access to your input data.
7914	DataAccessRoleArn *string `min:"20" type:"string"`
7915
7916	// The Amazon Resource Name (ARN) that identifies the document classifier.
7917	DocumentClassifierArn *string `type:"string"`
7918
7919	// The time that the document classification job completed.
7920	EndTime *time.Time `type:"timestamp"`
7921
7922	// The input data configuration that you supplied when you created the document
7923	// classification job.
7924	InputDataConfig *InputDataConfig `type:"structure"`
7925
7926	// The identifier assigned to the document classification job.
7927	JobId *string `min:"1" type:"string"`
7928
7929	// The name that you assigned to the document classification job.
7930	JobName *string `min:"1" type:"string"`
7931
7932	// The current status of the document classification job. If the status is FAILED,
7933	// the Message field shows the reason for the failure.
7934	JobStatus *string `type:"string" enum:"JobStatus"`
7935
7936	// A description of the status of the job.
7937	Message *string `type:"string"`
7938
7939	// The output data configuration that you supplied when you created the document
7940	// classification job.
7941	OutputDataConfig *OutputDataConfig `type:"structure"`
7942
7943	// The time that the document classification job was submitted for processing.
7944	SubmitTime *time.Time `type:"timestamp"`
7945
7946	// ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses
7947	// to encrypt data on the storage volume attached to the ML compute instance(s)
7948	// that process the analysis job. The VolumeKmsKeyId can be either of the following
7949	// formats:
7950	//
7951	//    * KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab"
7952	//
7953	//    * Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
7954	VolumeKmsKeyId *string `type:"string"`
7955
7956	// Configuration parameters for a private Virtual Private Cloud (VPC) containing
7957	// the resources you are using for your document classification job. For more
7958	// information, see Amazon VPC (https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html).
7959	VpcConfig *VpcConfig `type:"structure"`
7960}
7961
7962// String returns the string representation
7963func (s DocumentClassificationJobProperties) String() string {
7964	return awsutil.Prettify(s)
7965}
7966
7967// GoString returns the string representation
7968func (s DocumentClassificationJobProperties) GoString() string {
7969	return s.String()
7970}
7971
7972// SetDataAccessRoleArn sets the DataAccessRoleArn field's value.
7973func (s *DocumentClassificationJobProperties) SetDataAccessRoleArn(v string) *DocumentClassificationJobProperties {
7974	s.DataAccessRoleArn = &v
7975	return s
7976}
7977
7978// SetDocumentClassifierArn sets the DocumentClassifierArn field's value.
7979func (s *DocumentClassificationJobProperties) SetDocumentClassifierArn(v string) *DocumentClassificationJobProperties {
7980	s.DocumentClassifierArn = &v
7981	return s
7982}
7983
7984// SetEndTime sets the EndTime field's value.
7985func (s *DocumentClassificationJobProperties) SetEndTime(v time.Time) *DocumentClassificationJobProperties {
7986	s.EndTime = &v
7987	return s
7988}
7989
7990// SetInputDataConfig sets the InputDataConfig field's value.
7991func (s *DocumentClassificationJobProperties) SetInputDataConfig(v *InputDataConfig) *DocumentClassificationJobProperties {
7992	s.InputDataConfig = v
7993	return s
7994}
7995
7996// SetJobId sets the JobId field's value.
7997func (s *DocumentClassificationJobProperties) SetJobId(v string) *DocumentClassificationJobProperties {
7998	s.JobId = &v
7999	return s
8000}
8001
8002// SetJobName sets the JobName field's value.
8003func (s *DocumentClassificationJobProperties) SetJobName(v string) *DocumentClassificationJobProperties {
8004	s.JobName = &v
8005	return s
8006}
8007
8008// SetJobStatus sets the JobStatus field's value.
8009func (s *DocumentClassificationJobProperties) SetJobStatus(v string) *DocumentClassificationJobProperties {
8010	s.JobStatus = &v
8011	return s
8012}
8013
8014// SetMessage sets the Message field's value.
8015func (s *DocumentClassificationJobProperties) SetMessage(v string) *DocumentClassificationJobProperties {
8016	s.Message = &v
8017	return s
8018}
8019
8020// SetOutputDataConfig sets the OutputDataConfig field's value.
8021func (s *DocumentClassificationJobProperties) SetOutputDataConfig(v *OutputDataConfig) *DocumentClassificationJobProperties {
8022	s.OutputDataConfig = v
8023	return s
8024}
8025
8026// SetSubmitTime sets the SubmitTime field's value.
8027func (s *DocumentClassificationJobProperties) SetSubmitTime(v time.Time) *DocumentClassificationJobProperties {
8028	s.SubmitTime = &v
8029	return s
8030}
8031
8032// SetVolumeKmsKeyId sets the VolumeKmsKeyId field's value.
8033func (s *DocumentClassificationJobProperties) SetVolumeKmsKeyId(v string) *DocumentClassificationJobProperties {
8034	s.VolumeKmsKeyId = &v
8035	return s
8036}
8037
8038// SetVpcConfig sets the VpcConfig field's value.
8039func (s *DocumentClassificationJobProperties) SetVpcConfig(v *VpcConfig) *DocumentClassificationJobProperties {
8040	s.VpcConfig = v
8041	return s
8042}
8043
8044// Provides information for filtering a list of document classifiers. You can
8045// only specify one filtering parameter in a request. For more information,
8046// see the operation.
8047type DocumentClassifierFilter struct {
8048	_ struct{} `type:"structure"`
8049
8050	// Filters the list of classifiers based on status.
8051	Status *string `type:"string" enum:"ModelStatus"`
8052
8053	// Filters the list of classifiers based on the time that the classifier was
8054	// submitted for processing. Returns only classifiers submitted after the specified
8055	// time. Classifiers are returned in descending order, newest to oldest.
8056	SubmitTimeAfter *time.Time `type:"timestamp"`
8057
8058	// Filters the list of classifiers based on the time that the classifier was
8059	// submitted for processing. Returns only classifiers submitted before the specified
8060	// time. Classifiers are returned in ascending order, oldest to newest.
8061	SubmitTimeBefore *time.Time `type:"timestamp"`
8062}
8063
8064// String returns the string representation
8065func (s DocumentClassifierFilter) String() string {
8066	return awsutil.Prettify(s)
8067}
8068
8069// GoString returns the string representation
8070func (s DocumentClassifierFilter) GoString() string {
8071	return s.String()
8072}
8073
8074// SetStatus sets the Status field's value.
8075func (s *DocumentClassifierFilter) SetStatus(v string) *DocumentClassifierFilter {
8076	s.Status = &v
8077	return s
8078}
8079
8080// SetSubmitTimeAfter sets the SubmitTimeAfter field's value.
8081func (s *DocumentClassifierFilter) SetSubmitTimeAfter(v time.Time) *DocumentClassifierFilter {
8082	s.SubmitTimeAfter = &v
8083	return s
8084}
8085
8086// SetSubmitTimeBefore sets the SubmitTimeBefore field's value.
8087func (s *DocumentClassifierFilter) SetSubmitTimeBefore(v time.Time) *DocumentClassifierFilter {
8088	s.SubmitTimeBefore = &v
8089	return s
8090}
8091
8092// The input properties for training a document classifier.
8093//
8094// For more information on how the input file is formatted, see how-document-classification-training-data.
8095type DocumentClassifierInputDataConfig struct {
8096	_ struct{} `type:"structure"`
8097
8098	// The Amazon S3 URI for the input data. The S3 bucket must be in the same region
8099	// as the API endpoint that you are calling. The URI can point to a single input
8100	// file or it can provide the prefix for a collection of input files.
8101	//
8102	// For example, if you use the URI S3://bucketName/prefix, if the prefix is
8103	// a single file, Amazon Comprehend uses that file as input. If more than one
8104	// file begins with the prefix, Amazon Comprehend uses all of them as input.
8105	//
8106	// S3Uri is a required field
8107	S3Uri *string `type:"string" required:"true"`
8108}
8109
8110// String returns the string representation
8111func (s DocumentClassifierInputDataConfig) String() string {
8112	return awsutil.Prettify(s)
8113}
8114
8115// GoString returns the string representation
8116func (s DocumentClassifierInputDataConfig) GoString() string {
8117	return s.String()
8118}
8119
8120// Validate inspects the fields of the type to determine if they are valid.
8121func (s *DocumentClassifierInputDataConfig) Validate() error {
8122	invalidParams := request.ErrInvalidParams{Context: "DocumentClassifierInputDataConfig"}
8123	if s.S3Uri == nil {
8124		invalidParams.Add(request.NewErrParamRequired("S3Uri"))
8125	}
8126
8127	if invalidParams.Len() > 0 {
8128		return invalidParams
8129	}
8130	return nil
8131}
8132
8133// SetS3Uri sets the S3Uri field's value.
8134func (s *DocumentClassifierInputDataConfig) SetS3Uri(v string) *DocumentClassifierInputDataConfig {
8135	s.S3Uri = &v
8136	return s
8137}
8138
8139// Provides output results configuration parameters for custom classifier jobs.
8140type DocumentClassifierOutputDataConfig struct {
8141	_ struct{} `type:"structure"`
8142
8143	// ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses
8144	// to encrypt the output results from an analysis job. The KmsKeyId can be one
8145	// of the following formats:
8146	//
8147	//    * KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab"
8148	//
8149	//    * Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
8150	//
8151	//    * KMS Key Alias: "alias/ExampleAlias"
8152	//
8153	//    * ARN of a KMS Key Alias: "arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias"
8154	KmsKeyId *string `type:"string"`
8155
8156	// When you use the OutputDataConfig object while creating a custom classifier,
8157	// you specify the Amazon S3 location where you want to write the confusion
8158	// matrix. The URI must be in the same region as the API endpoint that you are
8159	// calling. The location is used as the prefix for the actual location of this
8160	// output file.
8161	//
8162	// When the custom classifier job is finished, the service creates the output
8163	// file in a directory specific to the job. The S3Uri field contains the location
8164	// of the output file, called output.tar.gz. It is a compressed archive that
8165	// contains the confusion matrix.
8166	S3Uri *string `type:"string"`
8167}
8168
8169// String returns the string representation
8170func (s DocumentClassifierOutputDataConfig) String() string {
8171	return awsutil.Prettify(s)
8172}
8173
8174// GoString returns the string representation
8175func (s DocumentClassifierOutputDataConfig) GoString() string {
8176	return s.String()
8177}
8178
8179// SetKmsKeyId sets the KmsKeyId field's value.
8180func (s *DocumentClassifierOutputDataConfig) SetKmsKeyId(v string) *DocumentClassifierOutputDataConfig {
8181	s.KmsKeyId = &v
8182	return s
8183}
8184
8185// SetS3Uri sets the S3Uri field's value.
8186func (s *DocumentClassifierOutputDataConfig) SetS3Uri(v string) *DocumentClassifierOutputDataConfig {
8187	s.S3Uri = &v
8188	return s
8189}
8190
8191// Provides information about a document classifier.
8192type DocumentClassifierProperties struct {
8193	_ struct{} `type:"structure"`
8194
8195	// Information about the document classifier, including the number of documents
8196	// used for training the classifier, the number of documents used for test the
8197	// classifier, and an accuracy rating.
8198	ClassifierMetadata *ClassifierMetadata `type:"structure"`
8199
8200	// The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role
8201	// that grants Amazon Comprehend read access to your input data.
8202	DataAccessRoleArn *string `min:"20" type:"string"`
8203
8204	// The Amazon Resource Name (ARN) that identifies the document classifier.
8205	DocumentClassifierArn *string `type:"string"`
8206
8207	// The time that training the document classifier completed.
8208	EndTime *time.Time `type:"timestamp"`
8209
8210	// The input data configuration that you supplied when you created the document
8211	// classifier for training.
8212	InputDataConfig *DocumentClassifierInputDataConfig `type:"structure"`
8213
8214	// The language code for the language of the documents that the classifier was
8215	// trained on.
8216	LanguageCode *string `type:"string" enum:"LanguageCode"`
8217
8218	// Additional information about the status of the classifier.
8219	Message *string `type:"string"`
8220
8221	// Provides output results configuration parameters for custom classifier jobs.
8222	OutputDataConfig *DocumentClassifierOutputDataConfig `type:"structure"`
8223
8224	// The status of the document classifier. If the status is TRAINED the classifier
8225	// is ready to use. If the status is FAILED you can see additional information
8226	// about why the classifier wasn't trained in the Message field.
8227	Status *string `type:"string" enum:"ModelStatus"`
8228
8229	// The time that the document classifier was submitted for training.
8230	SubmitTime *time.Time `type:"timestamp"`
8231
8232	// The time that training of the document classifier was completed. Indicates
8233	// the time when the training completes on documentation classifiers. You are
8234	// billed for the time interval between this time and the value of TrainingStartTime.
8235	TrainingEndTime *time.Time `type:"timestamp"`
8236
8237	// Indicates the time when the training starts on documentation classifiers.
8238	// You are billed for the time interval between this time and the value of TrainingEndTime.
8239	TrainingStartTime *time.Time `type:"timestamp"`
8240
8241	// ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses
8242	// to encrypt data on the storage volume attached to the ML compute instance(s)
8243	// that process the analysis job. The VolumeKmsKeyId can be either of the following
8244	// formats:
8245	//
8246	//    * KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab"
8247	//
8248	//    * Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
8249	VolumeKmsKeyId *string `type:"string"`
8250
8251	// Configuration parameters for a private Virtual Private Cloud (VPC) containing
8252	// the resources you are using for your custom classifier. For more information,
8253	// see Amazon VPC (https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html).
8254	VpcConfig *VpcConfig `type:"structure"`
8255}
8256
8257// String returns the string representation
8258func (s DocumentClassifierProperties) String() string {
8259	return awsutil.Prettify(s)
8260}
8261
8262// GoString returns the string representation
8263func (s DocumentClassifierProperties) GoString() string {
8264	return s.String()
8265}
8266
8267// SetClassifierMetadata sets the ClassifierMetadata field's value.
8268func (s *DocumentClassifierProperties) SetClassifierMetadata(v *ClassifierMetadata) *DocumentClassifierProperties {
8269	s.ClassifierMetadata = v
8270	return s
8271}
8272
8273// SetDataAccessRoleArn sets the DataAccessRoleArn field's value.
8274func (s *DocumentClassifierProperties) SetDataAccessRoleArn(v string) *DocumentClassifierProperties {
8275	s.DataAccessRoleArn = &v
8276	return s
8277}
8278
8279// SetDocumentClassifierArn sets the DocumentClassifierArn field's value.
8280func (s *DocumentClassifierProperties) SetDocumentClassifierArn(v string) *DocumentClassifierProperties {
8281	s.DocumentClassifierArn = &v
8282	return s
8283}
8284
8285// SetEndTime sets the EndTime field's value.
8286func (s *DocumentClassifierProperties) SetEndTime(v time.Time) *DocumentClassifierProperties {
8287	s.EndTime = &v
8288	return s
8289}
8290
8291// SetInputDataConfig sets the InputDataConfig field's value.
8292func (s *DocumentClassifierProperties) SetInputDataConfig(v *DocumentClassifierInputDataConfig) *DocumentClassifierProperties {
8293	s.InputDataConfig = v
8294	return s
8295}
8296
8297// SetLanguageCode sets the LanguageCode field's value.
8298func (s *DocumentClassifierProperties) SetLanguageCode(v string) *DocumentClassifierProperties {
8299	s.LanguageCode = &v
8300	return s
8301}
8302
8303// SetMessage sets the Message field's value.
8304func (s *DocumentClassifierProperties) SetMessage(v string) *DocumentClassifierProperties {
8305	s.Message = &v
8306	return s
8307}
8308
8309// SetOutputDataConfig sets the OutputDataConfig field's value.
8310func (s *DocumentClassifierProperties) SetOutputDataConfig(v *DocumentClassifierOutputDataConfig) *DocumentClassifierProperties {
8311	s.OutputDataConfig = v
8312	return s
8313}
8314
8315// SetStatus sets the Status field's value.
8316func (s *DocumentClassifierProperties) SetStatus(v string) *DocumentClassifierProperties {
8317	s.Status = &v
8318	return s
8319}
8320
8321// SetSubmitTime sets the SubmitTime field's value.
8322func (s *DocumentClassifierProperties) SetSubmitTime(v time.Time) *DocumentClassifierProperties {
8323	s.SubmitTime = &v
8324	return s
8325}
8326
8327// SetTrainingEndTime sets the TrainingEndTime field's value.
8328func (s *DocumentClassifierProperties) SetTrainingEndTime(v time.Time) *DocumentClassifierProperties {
8329	s.TrainingEndTime = &v
8330	return s
8331}
8332
8333// SetTrainingStartTime sets the TrainingStartTime field's value.
8334func (s *DocumentClassifierProperties) SetTrainingStartTime(v time.Time) *DocumentClassifierProperties {
8335	s.TrainingStartTime = &v
8336	return s
8337}
8338
8339// SetVolumeKmsKeyId sets the VolumeKmsKeyId field's value.
8340func (s *DocumentClassifierProperties) SetVolumeKmsKeyId(v string) *DocumentClassifierProperties {
8341	s.VolumeKmsKeyId = &v
8342	return s
8343}
8344
8345// SetVpcConfig sets the VpcConfig field's value.
8346func (s *DocumentClassifierProperties) SetVpcConfig(v *VpcConfig) *DocumentClassifierProperties {
8347	s.VpcConfig = v
8348	return s
8349}
8350
8351// Returns the code for the dominant language in the input text and the level
8352// of confidence that Amazon Comprehend has in the accuracy of the detection.
8353type DominantLanguage struct {
8354	_ struct{} `type:"structure"`
8355
8356	// The RFC 5646 language code for the dominant language. For more information
8357	// about RFC 5646, see Tags for Identifying Languages (https://tools.ietf.org/html/rfc5646)
8358	// on the IETF Tools web site.
8359	LanguageCode *string `min:"1" type:"string"`
8360
8361	// The level of confidence that Amazon Comprehend has in the accuracy of the
8362	// detection.
8363	Score *float64 `type:"float"`
8364}
8365
8366// String returns the string representation
8367func (s DominantLanguage) String() string {
8368	return awsutil.Prettify(s)
8369}
8370
8371// GoString returns the string representation
8372func (s DominantLanguage) GoString() string {
8373	return s.String()
8374}
8375
8376// SetLanguageCode sets the LanguageCode field's value.
8377func (s *DominantLanguage) SetLanguageCode(v string) *DominantLanguage {
8378	s.LanguageCode = &v
8379	return s
8380}
8381
8382// SetScore sets the Score field's value.
8383func (s *DominantLanguage) SetScore(v float64) *DominantLanguage {
8384	s.Score = &v
8385	return s
8386}
8387
8388// Provides information for filtering a list of dominant language detection
8389// jobs. For more information, see the operation.
8390type DominantLanguageDetectionJobFilter struct {
8391	_ struct{} `type:"structure"`
8392
8393	// Filters on the name of the job.
8394	JobName *string `min:"1" type:"string"`
8395
8396	// Filters the list of jobs based on job status. Returns only jobs with the
8397	// specified status.
8398	JobStatus *string `type:"string" enum:"JobStatus"`
8399
8400	// Filters the list of jobs based on the time that the job was submitted for
8401	// processing. Returns only jobs submitted after the specified time. Jobs are
8402	// returned in descending order, newest to oldest.
8403	SubmitTimeAfter *time.Time `type:"timestamp"`
8404
8405	// Filters the list of jobs based on the time that the job was submitted for
8406	// processing. Returns only jobs submitted before the specified time. Jobs are
8407	// returned in ascending order, oldest to newest.
8408	SubmitTimeBefore *time.Time `type:"timestamp"`
8409}
8410
8411// String returns the string representation
8412func (s DominantLanguageDetectionJobFilter) String() string {
8413	return awsutil.Prettify(s)
8414}
8415
8416// GoString returns the string representation
8417func (s DominantLanguageDetectionJobFilter) GoString() string {
8418	return s.String()
8419}
8420
8421// Validate inspects the fields of the type to determine if they are valid.
8422func (s *DominantLanguageDetectionJobFilter) Validate() error {
8423	invalidParams := request.ErrInvalidParams{Context: "DominantLanguageDetectionJobFilter"}
8424	if s.JobName != nil && len(*s.JobName) < 1 {
8425		invalidParams.Add(request.NewErrParamMinLen("JobName", 1))
8426	}
8427
8428	if invalidParams.Len() > 0 {
8429		return invalidParams
8430	}
8431	return nil
8432}
8433
8434// SetJobName sets the JobName field's value.
8435func (s *DominantLanguageDetectionJobFilter) SetJobName(v string) *DominantLanguageDetectionJobFilter {
8436	s.JobName = &v
8437	return s
8438}
8439
8440// SetJobStatus sets the JobStatus field's value.
8441func (s *DominantLanguageDetectionJobFilter) SetJobStatus(v string) *DominantLanguageDetectionJobFilter {
8442	s.JobStatus = &v
8443	return s
8444}
8445
8446// SetSubmitTimeAfter sets the SubmitTimeAfter field's value.
8447func (s *DominantLanguageDetectionJobFilter) SetSubmitTimeAfter(v time.Time) *DominantLanguageDetectionJobFilter {
8448	s.SubmitTimeAfter = &v
8449	return s
8450}
8451
8452// SetSubmitTimeBefore sets the SubmitTimeBefore field's value.
8453func (s *DominantLanguageDetectionJobFilter) SetSubmitTimeBefore(v time.Time) *DominantLanguageDetectionJobFilter {
8454	s.SubmitTimeBefore = &v
8455	return s
8456}
8457
8458// Provides information about a dominant language detection job.
8459type DominantLanguageDetectionJobProperties struct {
8460	_ struct{} `type:"structure"`
8461
8462	// The Amazon Resource Name (ARN) that gives Amazon Comprehend read access to
8463	// your input data.
8464	DataAccessRoleArn *string `min:"20" type:"string"`
8465
8466	// The time that the dominant language detection job completed.
8467	EndTime *time.Time `type:"timestamp"`
8468
8469	// The input data configuration that you supplied when you created the dominant
8470	// language detection job.
8471	InputDataConfig *InputDataConfig `type:"structure"`
8472
8473	// The identifier assigned to the dominant language detection job.
8474	JobId *string `min:"1" type:"string"`
8475
8476	// The name that you assigned to the dominant language detection job.
8477	JobName *string `min:"1" type:"string"`
8478
8479	// The current status of the dominant language detection job. If the status
8480	// is FAILED, the Message field shows the reason for the failure.
8481	JobStatus *string `type:"string" enum:"JobStatus"`
8482
8483	// A description for the status of a job.
8484	Message *string `type:"string"`
8485
8486	// The output data configuration that you supplied when you created the dominant
8487	// language detection job.
8488	OutputDataConfig *OutputDataConfig `type:"structure"`
8489
8490	// The time that the dominant language detection job was submitted for processing.
8491	SubmitTime *time.Time `type:"timestamp"`
8492
8493	// ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses
8494	// to encrypt data on the storage volume attached to the ML compute instance(s)
8495	// that process the analysis job. The VolumeKmsKeyId can be either of the following
8496	// formats:
8497	//
8498	//    * KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab"
8499	//
8500	//    * Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
8501	VolumeKmsKeyId *string `type:"string"`
8502
8503	// Configuration parameters for a private Virtual Private Cloud (VPC) containing
8504	// the resources you are using for your dominant language detection job. For
8505	// more information, see Amazon VPC (https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html).
8506	VpcConfig *VpcConfig `type:"structure"`
8507}
8508
8509// String returns the string representation
8510func (s DominantLanguageDetectionJobProperties) String() string {
8511	return awsutil.Prettify(s)
8512}
8513
8514// GoString returns the string representation
8515func (s DominantLanguageDetectionJobProperties) GoString() string {
8516	return s.String()
8517}
8518
8519// SetDataAccessRoleArn sets the DataAccessRoleArn field's value.
8520func (s *DominantLanguageDetectionJobProperties) SetDataAccessRoleArn(v string) *DominantLanguageDetectionJobProperties {
8521	s.DataAccessRoleArn = &v
8522	return s
8523}
8524
8525// SetEndTime sets the EndTime field's value.
8526func (s *DominantLanguageDetectionJobProperties) SetEndTime(v time.Time) *DominantLanguageDetectionJobProperties {
8527	s.EndTime = &v
8528	return s
8529}
8530
8531// SetInputDataConfig sets the InputDataConfig field's value.
8532func (s *DominantLanguageDetectionJobProperties) SetInputDataConfig(v *InputDataConfig) *DominantLanguageDetectionJobProperties {
8533	s.InputDataConfig = v
8534	return s
8535}
8536
8537// SetJobId sets the JobId field's value.
8538func (s *DominantLanguageDetectionJobProperties) SetJobId(v string) *DominantLanguageDetectionJobProperties {
8539	s.JobId = &v
8540	return s
8541}
8542
8543// SetJobName sets the JobName field's value.
8544func (s *DominantLanguageDetectionJobProperties) SetJobName(v string) *DominantLanguageDetectionJobProperties {
8545	s.JobName = &v
8546	return s
8547}
8548
8549// SetJobStatus sets the JobStatus field's value.
8550func (s *DominantLanguageDetectionJobProperties) SetJobStatus(v string) *DominantLanguageDetectionJobProperties {
8551	s.JobStatus = &v
8552	return s
8553}
8554
8555// SetMessage sets the Message field's value.
8556func (s *DominantLanguageDetectionJobProperties) SetMessage(v string) *DominantLanguageDetectionJobProperties {
8557	s.Message = &v
8558	return s
8559}
8560
8561// SetOutputDataConfig sets the OutputDataConfig field's value.
8562func (s *DominantLanguageDetectionJobProperties) SetOutputDataConfig(v *OutputDataConfig) *DominantLanguageDetectionJobProperties {
8563	s.OutputDataConfig = v
8564	return s
8565}
8566
8567// SetSubmitTime sets the SubmitTime field's value.
8568func (s *DominantLanguageDetectionJobProperties) SetSubmitTime(v time.Time) *DominantLanguageDetectionJobProperties {
8569	s.SubmitTime = &v
8570	return s
8571}
8572
8573// SetVolumeKmsKeyId sets the VolumeKmsKeyId field's value.
8574func (s *DominantLanguageDetectionJobProperties) SetVolumeKmsKeyId(v string) *DominantLanguageDetectionJobProperties {
8575	s.VolumeKmsKeyId = &v
8576	return s
8577}
8578
8579// SetVpcConfig sets the VpcConfig field's value.
8580func (s *DominantLanguageDetectionJobProperties) SetVpcConfig(v *VpcConfig) *DominantLanguageDetectionJobProperties {
8581	s.VpcConfig = v
8582	return s
8583}
8584
8585// The filter used to determine which endpoints are are returned. You can filter
8586// jobs on their name, model, status, or the date and time that they were created.
8587// You can only set one filter at a time.
8588type EndpointFilter struct {
8589	_ struct{} `type:"structure"`
8590
8591	// Specifies a date after which the returned endpoint or endpoints were created.
8592	CreationTimeAfter *time.Time `type:"timestamp"`
8593
8594	// Specifies a date before which the returned endpoint or endpoints were created.
8595	CreationTimeBefore *time.Time `type:"timestamp"`
8596
8597	// The Amazon Resource Number (ARN) of the model to which the endpoint is attached.
8598	ModelArn *string `type:"string"`
8599
8600	// Specifies the status of the endpoint being returned. Possible values are:
8601	// Creating, Ready, Updating, Deleting, Failed.
8602	Status *string `type:"string" enum:"EndpointStatus"`
8603}
8604
8605// String returns the string representation
8606func (s EndpointFilter) String() string {
8607	return awsutil.Prettify(s)
8608}
8609
8610// GoString returns the string representation
8611func (s EndpointFilter) GoString() string {
8612	return s.String()
8613}
8614
8615// SetCreationTimeAfter sets the CreationTimeAfter field's value.
8616func (s *EndpointFilter) SetCreationTimeAfter(v time.Time) *EndpointFilter {
8617	s.CreationTimeAfter = &v
8618	return s
8619}
8620
8621// SetCreationTimeBefore sets the CreationTimeBefore field's value.
8622func (s *EndpointFilter) SetCreationTimeBefore(v time.Time) *EndpointFilter {
8623	s.CreationTimeBefore = &v
8624	return s
8625}
8626
8627// SetModelArn sets the ModelArn field's value.
8628func (s *EndpointFilter) SetModelArn(v string) *EndpointFilter {
8629	s.ModelArn = &v
8630	return s
8631}
8632
8633// SetStatus sets the Status field's value.
8634func (s *EndpointFilter) SetStatus(v string) *EndpointFilter {
8635	s.Status = &v
8636	return s
8637}
8638
8639// Specifies information about the specified endpoint.
8640type EndpointProperties struct {
8641	_ struct{} `type:"structure"`
8642
8643	// The creation date and time of the endpoint.
8644	CreationTime *time.Time `type:"timestamp"`
8645
8646	// The number of inference units currently used by the model using this endpoint.
8647	CurrentInferenceUnits *int64 `min:"1" type:"integer"`
8648
8649	// The desired number of inference units to be used by the model using this
8650	// endpoint. Each inference unit represents of a throughput of 100 characters
8651	// per second.
8652	DesiredInferenceUnits *int64 `min:"1" type:"integer"`
8653
8654	// The Amazon Resource Number (ARN) of the endpoint.
8655	EndpointArn *string `type:"string"`
8656
8657	// The date and time that the endpoint was last modified.
8658	LastModifiedTime *time.Time `type:"timestamp"`
8659
8660	// Specifies a reason for failure in cases of Failed status.
8661	Message *string `type:"string"`
8662
8663	// The Amazon Resource Number (ARN) of the model to which the endpoint is attached.
8664	ModelArn *string `type:"string"`
8665
8666	// Specifies the status of the endpoint. Because the endpoint updates and creation
8667	// are asynchronous, so customers will need to wait for the endpoint to be Ready
8668	// status before making inference requests.
8669	Status *string `type:"string" enum:"EndpointStatus"`
8670}
8671
8672// String returns the string representation
8673func (s EndpointProperties) String() string {
8674	return awsutil.Prettify(s)
8675}
8676
8677// GoString returns the string representation
8678func (s EndpointProperties) GoString() string {
8679	return s.String()
8680}
8681
8682// SetCreationTime sets the CreationTime field's value.
8683func (s *EndpointProperties) SetCreationTime(v time.Time) *EndpointProperties {
8684	s.CreationTime = &v
8685	return s
8686}
8687
8688// SetCurrentInferenceUnits sets the CurrentInferenceUnits field's value.
8689func (s *EndpointProperties) SetCurrentInferenceUnits(v int64) *EndpointProperties {
8690	s.CurrentInferenceUnits = &v
8691	return s
8692}
8693
8694// SetDesiredInferenceUnits sets the DesiredInferenceUnits field's value.
8695func (s *EndpointProperties) SetDesiredInferenceUnits(v int64) *EndpointProperties {
8696	s.DesiredInferenceUnits = &v
8697	return s
8698}
8699
8700// SetEndpointArn sets the EndpointArn field's value.
8701func (s *EndpointProperties) SetEndpointArn(v string) *EndpointProperties {
8702	s.EndpointArn = &v
8703	return s
8704}
8705
8706// SetLastModifiedTime sets the LastModifiedTime field's value.
8707func (s *EndpointProperties) SetLastModifiedTime(v time.Time) *EndpointProperties {
8708	s.LastModifiedTime = &v
8709	return s
8710}
8711
8712// SetMessage sets the Message field's value.
8713func (s *EndpointProperties) SetMessage(v string) *EndpointProperties {
8714	s.Message = &v
8715	return s
8716}
8717
8718// SetModelArn sets the ModelArn field's value.
8719func (s *EndpointProperties) SetModelArn(v string) *EndpointProperties {
8720	s.ModelArn = &v
8721	return s
8722}
8723
8724// SetStatus sets the Status field's value.
8725func (s *EndpointProperties) SetStatus(v string) *EndpointProperties {
8726	s.Status = &v
8727	return s
8728}
8729
8730// Provides information for filtering a list of dominant language detection
8731// jobs. For more information, see the operation.
8732type EntitiesDetectionJobFilter struct {
8733	_ struct{} `type:"structure"`
8734
8735	// Filters on the name of the job.
8736	JobName *string `min:"1" type:"string"`
8737
8738	// Filters the list of jobs based on job status. Returns only jobs with the
8739	// specified status.
8740	JobStatus *string `type:"string" enum:"JobStatus"`
8741
8742	// Filters the list of jobs based on the time that the job was submitted for
8743	// processing. Returns only jobs submitted after the specified time. Jobs are
8744	// returned in descending order, newest to oldest.
8745	SubmitTimeAfter *time.Time `type:"timestamp"`
8746
8747	// Filters the list of jobs based on the time that the job was submitted for
8748	// processing. Returns only jobs submitted before the specified time. Jobs are
8749	// returned in ascending order, oldest to newest.
8750	SubmitTimeBefore *time.Time `type:"timestamp"`
8751}
8752
8753// String returns the string representation
8754func (s EntitiesDetectionJobFilter) String() string {
8755	return awsutil.Prettify(s)
8756}
8757
8758// GoString returns the string representation
8759func (s EntitiesDetectionJobFilter) GoString() string {
8760	return s.String()
8761}
8762
8763// Validate inspects the fields of the type to determine if they are valid.
8764func (s *EntitiesDetectionJobFilter) Validate() error {
8765	invalidParams := request.ErrInvalidParams{Context: "EntitiesDetectionJobFilter"}
8766	if s.JobName != nil && len(*s.JobName) < 1 {
8767		invalidParams.Add(request.NewErrParamMinLen("JobName", 1))
8768	}
8769
8770	if invalidParams.Len() > 0 {
8771		return invalidParams
8772	}
8773	return nil
8774}
8775
8776// SetJobName sets the JobName field's value.
8777func (s *EntitiesDetectionJobFilter) SetJobName(v string) *EntitiesDetectionJobFilter {
8778	s.JobName = &v
8779	return s
8780}
8781
8782// SetJobStatus sets the JobStatus field's value.
8783func (s *EntitiesDetectionJobFilter) SetJobStatus(v string) *EntitiesDetectionJobFilter {
8784	s.JobStatus = &v
8785	return s
8786}
8787
8788// SetSubmitTimeAfter sets the SubmitTimeAfter field's value.
8789func (s *EntitiesDetectionJobFilter) SetSubmitTimeAfter(v time.Time) *EntitiesDetectionJobFilter {
8790	s.SubmitTimeAfter = &v
8791	return s
8792}
8793
8794// SetSubmitTimeBefore sets the SubmitTimeBefore field's value.
8795func (s *EntitiesDetectionJobFilter) SetSubmitTimeBefore(v time.Time) *EntitiesDetectionJobFilter {
8796	s.SubmitTimeBefore = &v
8797	return s
8798}
8799
8800// Provides information about an entities detection job.
8801type EntitiesDetectionJobProperties struct {
8802	_ struct{} `type:"structure"`
8803
8804	// The Amazon Resource Name (ARN) that gives Amazon Comprehend read access to
8805	// your input data.
8806	DataAccessRoleArn *string `min:"20" type:"string"`
8807
8808	// The time that the entities detection job completed
8809	EndTime *time.Time `type:"timestamp"`
8810
8811	// The Amazon Resource Name (ARN) that identifies the entity recognizer.
8812	EntityRecognizerArn *string `type:"string"`
8813
8814	// The input data configuration that you supplied when you created the entities
8815	// detection job.
8816	InputDataConfig *InputDataConfig `type:"structure"`
8817
8818	// The identifier assigned to the entities detection job.
8819	JobId *string `min:"1" type:"string"`
8820
8821	// The name that you assigned the entities detection job.
8822	JobName *string `min:"1" type:"string"`
8823
8824	// The current status of the entities detection job. If the status is FAILED,
8825	// the Message field shows the reason for the failure.
8826	JobStatus *string `type:"string" enum:"JobStatus"`
8827
8828	// The language code of the input documents.
8829	LanguageCode *string `type:"string" enum:"LanguageCode"`
8830
8831	// A description of the status of a job.
8832	Message *string `type:"string"`
8833
8834	// The output data configuration that you supplied when you created the entities
8835	// detection job.
8836	OutputDataConfig *OutputDataConfig `type:"structure"`
8837
8838	// The time that the entities detection job was submitted for processing.
8839	SubmitTime *time.Time `type:"timestamp"`
8840
8841	// ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses
8842	// to encrypt data on the storage volume attached to the ML compute instance(s)
8843	// that process the analysis job. The VolumeKmsKeyId can be either of the following
8844	// formats:
8845	//
8846	//    * KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab"
8847	//
8848	//    * Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
8849	VolumeKmsKeyId *string `type:"string"`
8850
8851	// Configuration parameters for a private Virtual Private Cloud (VPC) containing
8852	// the resources you are using for your entity detection job. For more information,
8853	// see Amazon VPC (https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html).
8854	VpcConfig *VpcConfig `type:"structure"`
8855}
8856
8857// String returns the string representation
8858func (s EntitiesDetectionJobProperties) String() string {
8859	return awsutil.Prettify(s)
8860}
8861
8862// GoString returns the string representation
8863func (s EntitiesDetectionJobProperties) GoString() string {
8864	return s.String()
8865}
8866
8867// SetDataAccessRoleArn sets the DataAccessRoleArn field's value.
8868func (s *EntitiesDetectionJobProperties) SetDataAccessRoleArn(v string) *EntitiesDetectionJobProperties {
8869	s.DataAccessRoleArn = &v
8870	return s
8871}
8872
8873// SetEndTime sets the EndTime field's value.
8874func (s *EntitiesDetectionJobProperties) SetEndTime(v time.Time) *EntitiesDetectionJobProperties {
8875	s.EndTime = &v
8876	return s
8877}
8878
8879// SetEntityRecognizerArn sets the EntityRecognizerArn field's value.
8880func (s *EntitiesDetectionJobProperties) SetEntityRecognizerArn(v string) *EntitiesDetectionJobProperties {
8881	s.EntityRecognizerArn = &v
8882	return s
8883}
8884
8885// SetInputDataConfig sets the InputDataConfig field's value.
8886func (s *EntitiesDetectionJobProperties) SetInputDataConfig(v *InputDataConfig) *EntitiesDetectionJobProperties {
8887	s.InputDataConfig = v
8888	return s
8889}
8890
8891// SetJobId sets the JobId field's value.
8892func (s *EntitiesDetectionJobProperties) SetJobId(v string) *EntitiesDetectionJobProperties {
8893	s.JobId = &v
8894	return s
8895}
8896
8897// SetJobName sets the JobName field's value.
8898func (s *EntitiesDetectionJobProperties) SetJobName(v string) *EntitiesDetectionJobProperties {
8899	s.JobName = &v
8900	return s
8901}
8902
8903// SetJobStatus sets the JobStatus field's value.
8904func (s *EntitiesDetectionJobProperties) SetJobStatus(v string) *EntitiesDetectionJobProperties {
8905	s.JobStatus = &v
8906	return s
8907}
8908
8909// SetLanguageCode sets the LanguageCode field's value.
8910func (s *EntitiesDetectionJobProperties) SetLanguageCode(v string) *EntitiesDetectionJobProperties {
8911	s.LanguageCode = &v
8912	return s
8913}
8914
8915// SetMessage sets the Message field's value.
8916func (s *EntitiesDetectionJobProperties) SetMessage(v string) *EntitiesDetectionJobProperties {
8917	s.Message = &v
8918	return s
8919}
8920
8921// SetOutputDataConfig sets the OutputDataConfig field's value.
8922func (s *EntitiesDetectionJobProperties) SetOutputDataConfig(v *OutputDataConfig) *EntitiesDetectionJobProperties {
8923	s.OutputDataConfig = v
8924	return s
8925}
8926
8927// SetSubmitTime sets the SubmitTime field's value.
8928func (s *EntitiesDetectionJobProperties) SetSubmitTime(v time.Time) *EntitiesDetectionJobProperties {
8929	s.SubmitTime = &v
8930	return s
8931}
8932
8933// SetVolumeKmsKeyId sets the VolumeKmsKeyId field's value.
8934func (s *EntitiesDetectionJobProperties) SetVolumeKmsKeyId(v string) *EntitiesDetectionJobProperties {
8935	s.VolumeKmsKeyId = &v
8936	return s
8937}
8938
8939// SetVpcConfig sets the VpcConfig field's value.
8940func (s *EntitiesDetectionJobProperties) SetVpcConfig(v *VpcConfig) *EntitiesDetectionJobProperties {
8941	s.VpcConfig = v
8942	return s
8943}
8944
8945// Provides information about an entity.
8946type Entity struct {
8947	_ struct{} `type:"structure"`
8948
8949	// A character offset in the input text that shows where the entity begins (the
8950	// first character is at position 0). The offset returns the position of each
8951	// UTF-8 code point in the string. A code point is the abstract character from
8952	// a particular graphical representation. For example, a multi-byte UTF-8 character
8953	// maps to a single code point.
8954	BeginOffset *int64 `type:"integer"`
8955
8956	// A character offset in the input text that shows where the entity ends. The
8957	// offset returns the position of each UTF-8 code point in the string. A code
8958	// point is the abstract character from a particular graphical representation.
8959	// For example, a multi-byte UTF-8 character maps to a single code point.
8960	EndOffset *int64 `type:"integer"`
8961
8962	// The level of confidence that Amazon Comprehend has in the accuracy of the
8963	// detection.
8964	Score *float64 `type:"float"`
8965
8966	// The text of the entity.
8967	Text *string `min:"1" type:"string"`
8968
8969	// The entity's type.
8970	Type *string `type:"string" enum:"EntityType"`
8971}
8972
8973// String returns the string representation
8974func (s Entity) String() string {
8975	return awsutil.Prettify(s)
8976}
8977
8978// GoString returns the string representation
8979func (s Entity) GoString() string {
8980	return s.String()
8981}
8982
8983// SetBeginOffset sets the BeginOffset field's value.
8984func (s *Entity) SetBeginOffset(v int64) *Entity {
8985	s.BeginOffset = &v
8986	return s
8987}
8988
8989// SetEndOffset sets the EndOffset field's value.
8990func (s *Entity) SetEndOffset(v int64) *Entity {
8991	s.EndOffset = &v
8992	return s
8993}
8994
8995// SetScore sets the Score field's value.
8996func (s *Entity) SetScore(v float64) *Entity {
8997	s.Score = &v
8998	return s
8999}
9000
9001// SetText sets the Text field's value.
9002func (s *Entity) SetText(v string) *Entity {
9003	s.Text = &v
9004	return s
9005}
9006
9007// SetType sets the Type field's value.
9008func (s *Entity) SetType(v string) *Entity {
9009	s.Type = &v
9010	return s
9011}
9012
9013// Describes the annotations associated with a entity recognizer.
9014type EntityRecognizerAnnotations struct {
9015	_ struct{} `type:"structure"`
9016
9017	// Specifies the Amazon S3 location where the annotations for an entity recognizer
9018	// are located. The URI must be in the same region as the API endpoint that
9019	// you are calling.
9020	//
9021	// S3Uri is a required field
9022	S3Uri *string `type:"string" required:"true"`
9023}
9024
9025// String returns the string representation
9026func (s EntityRecognizerAnnotations) String() string {
9027	return awsutil.Prettify(s)
9028}
9029
9030// GoString returns the string representation
9031func (s EntityRecognizerAnnotations) GoString() string {
9032	return s.String()
9033}
9034
9035// Validate inspects the fields of the type to determine if they are valid.
9036func (s *EntityRecognizerAnnotations) Validate() error {
9037	invalidParams := request.ErrInvalidParams{Context: "EntityRecognizerAnnotations"}
9038	if s.S3Uri == nil {
9039		invalidParams.Add(request.NewErrParamRequired("S3Uri"))
9040	}
9041
9042	if invalidParams.Len() > 0 {
9043		return invalidParams
9044	}
9045	return nil
9046}
9047
9048// SetS3Uri sets the S3Uri field's value.
9049func (s *EntityRecognizerAnnotations) SetS3Uri(v string) *EntityRecognizerAnnotations {
9050	s.S3Uri = &v
9051	return s
9052}
9053
9054// Describes the training documents submitted with an entity recognizer.
9055type EntityRecognizerDocuments struct {
9056	_ struct{} `type:"structure"`
9057
9058	// Specifies the Amazon S3 location where the training documents for an entity
9059	// recognizer are located. The URI must be in the same region as the API endpoint
9060	// that you are calling.
9061	//
9062	// S3Uri is a required field
9063	S3Uri *string `type:"string" required:"true"`
9064}
9065
9066// String returns the string representation
9067func (s EntityRecognizerDocuments) String() string {
9068	return awsutil.Prettify(s)
9069}
9070
9071// GoString returns the string representation
9072func (s EntityRecognizerDocuments) GoString() string {
9073	return s.String()
9074}
9075
9076// Validate inspects the fields of the type to determine if they are valid.
9077func (s *EntityRecognizerDocuments) Validate() error {
9078	invalidParams := request.ErrInvalidParams{Context: "EntityRecognizerDocuments"}
9079	if s.S3Uri == nil {
9080		invalidParams.Add(request.NewErrParamRequired("S3Uri"))
9081	}
9082
9083	if invalidParams.Len() > 0 {
9084		return invalidParams
9085	}
9086	return nil
9087}
9088
9089// SetS3Uri sets the S3Uri field's value.
9090func (s *EntityRecognizerDocuments) SetS3Uri(v string) *EntityRecognizerDocuments {
9091	s.S3Uri = &v
9092	return s
9093}
9094
9095// Describes the entity recognizer submitted with an entity recognizer.
9096type EntityRecognizerEntityList struct {
9097	_ struct{} `type:"structure"`
9098
9099	// Specifies the Amazon S3 location where the entity list is located. The URI
9100	// must be in the same region as the API endpoint that you are calling.
9101	//
9102	// S3Uri is a required field
9103	S3Uri *string `type:"string" required:"true"`
9104}
9105
9106// String returns the string representation
9107func (s EntityRecognizerEntityList) String() string {
9108	return awsutil.Prettify(s)
9109}
9110
9111// GoString returns the string representation
9112func (s EntityRecognizerEntityList) GoString() string {
9113	return s.String()
9114}
9115
9116// Validate inspects the fields of the type to determine if they are valid.
9117func (s *EntityRecognizerEntityList) Validate() error {
9118	invalidParams := request.ErrInvalidParams{Context: "EntityRecognizerEntityList"}
9119	if s.S3Uri == nil {
9120		invalidParams.Add(request.NewErrParamRequired("S3Uri"))
9121	}
9122
9123	if invalidParams.Len() > 0 {
9124		return invalidParams
9125	}
9126	return nil
9127}
9128
9129// SetS3Uri sets the S3Uri field's value.
9130func (s *EntityRecognizerEntityList) SetS3Uri(v string) *EntityRecognizerEntityList {
9131	s.S3Uri = &v
9132	return s
9133}
9134
9135// Detailed information about the accuracy of an entity recognizer.
9136type EntityRecognizerEvaluationMetrics struct {
9137	_ struct{} `type:"structure"`
9138
9139	// A measure of how accurate the recognizer results are for the test data. It
9140	// is derived from the Precision and Recall values. The F1Score is the harmonic
9141	// average of the two scores. The highest score is 1, and the worst score is
9142	// 0.
9143	F1Score *float64 `type:"double"`
9144
9145	// A measure of the usefulness of the recognizer results in the test data. High
9146	// precision means that the recognizer returned substantially more relevant
9147	// results than irrelevant ones.
9148	Precision *float64 `type:"double"`
9149
9150	// A measure of how complete the recognizer results are for the test data. High
9151	// recall means that the recognizer returned most of the relevant results.
9152	Recall *float64 `type:"double"`
9153}
9154
9155// String returns the string representation
9156func (s EntityRecognizerEvaluationMetrics) String() string {
9157	return awsutil.Prettify(s)
9158}
9159
9160// GoString returns the string representation
9161func (s EntityRecognizerEvaluationMetrics) GoString() string {
9162	return s.String()
9163}
9164
9165// SetF1Score sets the F1Score field's value.
9166func (s *EntityRecognizerEvaluationMetrics) SetF1Score(v float64) *EntityRecognizerEvaluationMetrics {
9167	s.F1Score = &v
9168	return s
9169}
9170
9171// SetPrecision sets the Precision field's value.
9172func (s *EntityRecognizerEvaluationMetrics) SetPrecision(v float64) *EntityRecognizerEvaluationMetrics {
9173	s.Precision = &v
9174	return s
9175}
9176
9177// SetRecall sets the Recall field's value.
9178func (s *EntityRecognizerEvaluationMetrics) SetRecall(v float64) *EntityRecognizerEvaluationMetrics {
9179	s.Recall = &v
9180	return s
9181}
9182
9183// Provides information for filtering a list of entity recognizers. You can
9184// only specify one filtering parameter in a request. For more information,
9185// see the operation./>
9186type EntityRecognizerFilter struct {
9187	_ struct{} `type:"structure"`
9188
9189	// The status of an entity recognizer.
9190	Status *string `type:"string" enum:"ModelStatus"`
9191
9192	// Filters the list of entities based on the time that the list was submitted
9193	// for processing. Returns only jobs submitted after the specified time. Jobs
9194	// are returned in ascending order, oldest to newest.
9195	SubmitTimeAfter *time.Time `type:"timestamp"`
9196
9197	// Filters the list of entities based on the time that the list was submitted
9198	// for processing. Returns only jobs submitted before the specified time. Jobs
9199	// are returned in descending order, newest to oldest.
9200	SubmitTimeBefore *time.Time `type:"timestamp"`
9201}
9202
9203// String returns the string representation
9204func (s EntityRecognizerFilter) String() string {
9205	return awsutil.Prettify(s)
9206}
9207
9208// GoString returns the string representation
9209func (s EntityRecognizerFilter) GoString() string {
9210	return s.String()
9211}
9212
9213// SetStatus sets the Status field's value.
9214func (s *EntityRecognizerFilter) SetStatus(v string) *EntityRecognizerFilter {
9215	s.Status = &v
9216	return s
9217}
9218
9219// SetSubmitTimeAfter sets the SubmitTimeAfter field's value.
9220func (s *EntityRecognizerFilter) SetSubmitTimeAfter(v time.Time) *EntityRecognizerFilter {
9221	s.SubmitTimeAfter = &v
9222	return s
9223}
9224
9225// SetSubmitTimeBefore sets the SubmitTimeBefore field's value.
9226func (s *EntityRecognizerFilter) SetSubmitTimeBefore(v time.Time) *EntityRecognizerFilter {
9227	s.SubmitTimeBefore = &v
9228	return s
9229}
9230
9231// Specifies the format and location of the input data.
9232type EntityRecognizerInputDataConfig struct {
9233	_ struct{} `type:"structure"`
9234
9235	// S3 location of the annotations file for an entity recognizer.
9236	Annotations *EntityRecognizerAnnotations `type:"structure"`
9237
9238	// S3 location of the documents folder for an entity recognizer
9239	//
9240	// Documents is a required field
9241	Documents *EntityRecognizerDocuments `type:"structure" required:"true"`
9242
9243	// S3 location of the entity list for an entity recognizer.
9244	EntityList *EntityRecognizerEntityList `type:"structure"`
9245
9246	// The entity types in the input data for an entity recognizer. A maximum of
9247	// 12 entity types can be used at one time to train an entity recognizer.
9248	//
9249	// EntityTypes is a required field
9250	EntityTypes []*EntityTypesListItem `type:"list" required:"true"`
9251}
9252
9253// String returns the string representation
9254func (s EntityRecognizerInputDataConfig) String() string {
9255	return awsutil.Prettify(s)
9256}
9257
9258// GoString returns the string representation
9259func (s EntityRecognizerInputDataConfig) GoString() string {
9260	return s.String()
9261}
9262
9263// Validate inspects the fields of the type to determine if they are valid.
9264func (s *EntityRecognizerInputDataConfig) Validate() error {
9265	invalidParams := request.ErrInvalidParams{Context: "EntityRecognizerInputDataConfig"}
9266	if s.Documents == nil {
9267		invalidParams.Add(request.NewErrParamRequired("Documents"))
9268	}
9269	if s.EntityTypes == nil {
9270		invalidParams.Add(request.NewErrParamRequired("EntityTypes"))
9271	}
9272	if s.Annotations != nil {
9273		if err := s.Annotations.Validate(); err != nil {
9274			invalidParams.AddNested("Annotations", err.(request.ErrInvalidParams))
9275		}
9276	}
9277	if s.Documents != nil {
9278		if err := s.Documents.Validate(); err != nil {
9279			invalidParams.AddNested("Documents", err.(request.ErrInvalidParams))
9280		}
9281	}
9282	if s.EntityList != nil {
9283		if err := s.EntityList.Validate(); err != nil {
9284			invalidParams.AddNested("EntityList", err.(request.ErrInvalidParams))
9285		}
9286	}
9287	if s.EntityTypes != nil {
9288		for i, v := range s.EntityTypes {
9289			if v == nil {
9290				continue
9291			}
9292			if err := v.Validate(); err != nil {
9293				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EntityTypes", i), err.(request.ErrInvalidParams))
9294			}
9295		}
9296	}
9297
9298	if invalidParams.Len() > 0 {
9299		return invalidParams
9300	}
9301	return nil
9302}
9303
9304// SetAnnotations sets the Annotations field's value.
9305func (s *EntityRecognizerInputDataConfig) SetAnnotations(v *EntityRecognizerAnnotations) *EntityRecognizerInputDataConfig {
9306	s.Annotations = v
9307	return s
9308}
9309
9310// SetDocuments sets the Documents field's value.
9311func (s *EntityRecognizerInputDataConfig) SetDocuments(v *EntityRecognizerDocuments) *EntityRecognizerInputDataConfig {
9312	s.Documents = v
9313	return s
9314}
9315
9316// SetEntityList sets the EntityList field's value.
9317func (s *EntityRecognizerInputDataConfig) SetEntityList(v *EntityRecognizerEntityList) *EntityRecognizerInputDataConfig {
9318	s.EntityList = v
9319	return s
9320}
9321
9322// SetEntityTypes sets the EntityTypes field's value.
9323func (s *EntityRecognizerInputDataConfig) SetEntityTypes(v []*EntityTypesListItem) *EntityRecognizerInputDataConfig {
9324	s.EntityTypes = v
9325	return s
9326}
9327
9328// Detailed information about an entity recognizer.
9329type EntityRecognizerMetadata struct {
9330	_ struct{} `type:"structure"`
9331
9332	// Entity types from the metadata of an entity recognizer.
9333	EntityTypes []*EntityRecognizerMetadataEntityTypesListItem `type:"list"`
9334
9335	// Detailed information about the accuracy of an entity recognizer.
9336	EvaluationMetrics *EntityRecognizerEvaluationMetrics `type:"structure"`
9337
9338	// The number of documents in the input data that were used to test the entity
9339	// recognizer. Typically this is 10 to 20 percent of the input documents.
9340	NumberOfTestDocuments *int64 `type:"integer"`
9341
9342	// The number of documents in the input data that were used to train the entity
9343	// recognizer. Typically this is 80 to 90 percent of the input documents.
9344	NumberOfTrainedDocuments *int64 `type:"integer"`
9345}
9346
9347// String returns the string representation
9348func (s EntityRecognizerMetadata) String() string {
9349	return awsutil.Prettify(s)
9350}
9351
9352// GoString returns the string representation
9353func (s EntityRecognizerMetadata) GoString() string {
9354	return s.String()
9355}
9356
9357// SetEntityTypes sets the EntityTypes field's value.
9358func (s *EntityRecognizerMetadata) SetEntityTypes(v []*EntityRecognizerMetadataEntityTypesListItem) *EntityRecognizerMetadata {
9359	s.EntityTypes = v
9360	return s
9361}
9362
9363// SetEvaluationMetrics sets the EvaluationMetrics field's value.
9364func (s *EntityRecognizerMetadata) SetEvaluationMetrics(v *EntityRecognizerEvaluationMetrics) *EntityRecognizerMetadata {
9365	s.EvaluationMetrics = v
9366	return s
9367}
9368
9369// SetNumberOfTestDocuments sets the NumberOfTestDocuments field's value.
9370func (s *EntityRecognizerMetadata) SetNumberOfTestDocuments(v int64) *EntityRecognizerMetadata {
9371	s.NumberOfTestDocuments = &v
9372	return s
9373}
9374
9375// SetNumberOfTrainedDocuments sets the NumberOfTrainedDocuments field's value.
9376func (s *EntityRecognizerMetadata) SetNumberOfTrainedDocuments(v int64) *EntityRecognizerMetadata {
9377	s.NumberOfTrainedDocuments = &v
9378	return s
9379}
9380
9381// Individual item from the list of entity types in the metadata of an entity
9382// recognizer.
9383type EntityRecognizerMetadataEntityTypesListItem struct {
9384	_ struct{} `type:"structure"`
9385
9386	// Detailed information about the accuracy of the entity recognizer for a specific
9387	// item on the list of entity types.
9388	EvaluationMetrics *EntityTypesEvaluationMetrics `type:"structure"`
9389
9390	// Indicates the number of times the given entity type was seen in the training
9391	// data.
9392	NumberOfTrainMentions *int64 `type:"integer"`
9393
9394	// Type of entity from the list of entity types in the metadata of an entity
9395	// recognizer.
9396	Type *string `type:"string"`
9397}
9398
9399// String returns the string representation
9400func (s EntityRecognizerMetadataEntityTypesListItem) String() string {
9401	return awsutil.Prettify(s)
9402}
9403
9404// GoString returns the string representation
9405func (s EntityRecognizerMetadataEntityTypesListItem) GoString() string {
9406	return s.String()
9407}
9408
9409// SetEvaluationMetrics sets the EvaluationMetrics field's value.
9410func (s *EntityRecognizerMetadataEntityTypesListItem) SetEvaluationMetrics(v *EntityTypesEvaluationMetrics) *EntityRecognizerMetadataEntityTypesListItem {
9411	s.EvaluationMetrics = v
9412	return s
9413}
9414
9415// SetNumberOfTrainMentions sets the NumberOfTrainMentions field's value.
9416func (s *EntityRecognizerMetadataEntityTypesListItem) SetNumberOfTrainMentions(v int64) *EntityRecognizerMetadataEntityTypesListItem {
9417	s.NumberOfTrainMentions = &v
9418	return s
9419}
9420
9421// SetType sets the Type field's value.
9422func (s *EntityRecognizerMetadataEntityTypesListItem) SetType(v string) *EntityRecognizerMetadataEntityTypesListItem {
9423	s.Type = &v
9424	return s
9425}
9426
9427// Describes information about an entity recognizer.
9428type EntityRecognizerProperties struct {
9429	_ struct{} `type:"structure"`
9430
9431	// The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role
9432	// that grants Amazon Comprehend read access to your input data.
9433	DataAccessRoleArn *string `min:"20" type:"string"`
9434
9435	// The time that the recognizer creation completed.
9436	EndTime *time.Time `type:"timestamp"`
9437
9438	// The Amazon Resource Name (ARN) that identifies the entity recognizer.
9439	EntityRecognizerArn *string `type:"string"`
9440
9441	// The input data properties of an entity recognizer.
9442	InputDataConfig *EntityRecognizerInputDataConfig `type:"structure"`
9443
9444	// The language of the input documents. All documents must be in the same language.
9445	// Only English ("en") is currently supported.
9446	LanguageCode *string `type:"string" enum:"LanguageCode"`
9447
9448	// A description of the status of the recognizer.
9449	Message *string `type:"string"`
9450
9451	// Provides information about an entity recognizer.
9452	RecognizerMetadata *EntityRecognizerMetadata `type:"structure"`
9453
9454	// Provides the status of the entity recognizer.
9455	Status *string `type:"string" enum:"ModelStatus"`
9456
9457	// The time that the recognizer was submitted for processing.
9458	SubmitTime *time.Time `type:"timestamp"`
9459
9460	// The time that training of the entity recognizer was completed.
9461	TrainingEndTime *time.Time `type:"timestamp"`
9462
9463	// The time that training of the entity recognizer started.
9464	TrainingStartTime *time.Time `type:"timestamp"`
9465
9466	// ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses
9467	// to encrypt data on the storage volume attached to the ML compute instance(s)
9468	// that process the analysis job. The VolumeKmsKeyId can be either of the following
9469	// formats:
9470	//
9471	//    * KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab"
9472	//
9473	//    * Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
9474	VolumeKmsKeyId *string `type:"string"`
9475
9476	// Configuration parameters for a private Virtual Private Cloud (VPC) containing
9477	// the resources you are using for your custom entity recognizer. For more information,
9478	// see Amazon VPC (https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html).
9479	VpcConfig *VpcConfig `type:"structure"`
9480}
9481
9482// String returns the string representation
9483func (s EntityRecognizerProperties) String() string {
9484	return awsutil.Prettify(s)
9485}
9486
9487// GoString returns the string representation
9488func (s EntityRecognizerProperties) GoString() string {
9489	return s.String()
9490}
9491
9492// SetDataAccessRoleArn sets the DataAccessRoleArn field's value.
9493func (s *EntityRecognizerProperties) SetDataAccessRoleArn(v string) *EntityRecognizerProperties {
9494	s.DataAccessRoleArn = &v
9495	return s
9496}
9497
9498// SetEndTime sets the EndTime field's value.
9499func (s *EntityRecognizerProperties) SetEndTime(v time.Time) *EntityRecognizerProperties {
9500	s.EndTime = &v
9501	return s
9502}
9503
9504// SetEntityRecognizerArn sets the EntityRecognizerArn field's value.
9505func (s *EntityRecognizerProperties) SetEntityRecognizerArn(v string) *EntityRecognizerProperties {
9506	s.EntityRecognizerArn = &v
9507	return s
9508}
9509
9510// SetInputDataConfig sets the InputDataConfig field's value.
9511func (s *EntityRecognizerProperties) SetInputDataConfig(v *EntityRecognizerInputDataConfig) *EntityRecognizerProperties {
9512	s.InputDataConfig = v
9513	return s
9514}
9515
9516// SetLanguageCode sets the LanguageCode field's value.
9517func (s *EntityRecognizerProperties) SetLanguageCode(v string) *EntityRecognizerProperties {
9518	s.LanguageCode = &v
9519	return s
9520}
9521
9522// SetMessage sets the Message field's value.
9523func (s *EntityRecognizerProperties) SetMessage(v string) *EntityRecognizerProperties {
9524	s.Message = &v
9525	return s
9526}
9527
9528// SetRecognizerMetadata sets the RecognizerMetadata field's value.
9529func (s *EntityRecognizerProperties) SetRecognizerMetadata(v *EntityRecognizerMetadata) *EntityRecognizerProperties {
9530	s.RecognizerMetadata = v
9531	return s
9532}
9533
9534// SetStatus sets the Status field's value.
9535func (s *EntityRecognizerProperties) SetStatus(v string) *EntityRecognizerProperties {
9536	s.Status = &v
9537	return s
9538}
9539
9540// SetSubmitTime sets the SubmitTime field's value.
9541func (s *EntityRecognizerProperties) SetSubmitTime(v time.Time) *EntityRecognizerProperties {
9542	s.SubmitTime = &v
9543	return s
9544}
9545
9546// SetTrainingEndTime sets the TrainingEndTime field's value.
9547func (s *EntityRecognizerProperties) SetTrainingEndTime(v time.Time) *EntityRecognizerProperties {
9548	s.TrainingEndTime = &v
9549	return s
9550}
9551
9552// SetTrainingStartTime sets the TrainingStartTime field's value.
9553func (s *EntityRecognizerProperties) SetTrainingStartTime(v time.Time) *EntityRecognizerProperties {
9554	s.TrainingStartTime = &v
9555	return s
9556}
9557
9558// SetVolumeKmsKeyId sets the VolumeKmsKeyId field's value.
9559func (s *EntityRecognizerProperties) SetVolumeKmsKeyId(v string) *EntityRecognizerProperties {
9560	s.VolumeKmsKeyId = &v
9561	return s
9562}
9563
9564// SetVpcConfig sets the VpcConfig field's value.
9565func (s *EntityRecognizerProperties) SetVpcConfig(v *VpcConfig) *EntityRecognizerProperties {
9566	s.VpcConfig = v
9567	return s
9568}
9569
9570// Detailed information about the accuracy of an entity recognizer for a specific
9571// entity type.
9572type EntityTypesEvaluationMetrics struct {
9573	_ struct{} `type:"structure"`
9574
9575	// A measure of how accurate the recognizer results are for for a specific entity
9576	// type in the test data. It is derived from the Precision and Recall values.
9577	// The F1Score is the harmonic average of the two scores. The highest score
9578	// is 1, and the worst score is 0.
9579	F1Score *float64 `type:"double"`
9580
9581	// A measure of the usefulness of the recognizer results for a specific entity
9582	// type in the test data. High precision means that the recognizer returned
9583	// substantially more relevant results than irrelevant ones.
9584	Precision *float64 `type:"double"`
9585
9586	// A measure of how complete the recognizer results are for a specific entity
9587	// type in the test data. High recall means that the recognizer returned most
9588	// of the relevant results.
9589	Recall *float64 `type:"double"`
9590}
9591
9592// String returns the string representation
9593func (s EntityTypesEvaluationMetrics) String() string {
9594	return awsutil.Prettify(s)
9595}
9596
9597// GoString returns the string representation
9598func (s EntityTypesEvaluationMetrics) GoString() string {
9599	return s.String()
9600}
9601
9602// SetF1Score sets the F1Score field's value.
9603func (s *EntityTypesEvaluationMetrics) SetF1Score(v float64) *EntityTypesEvaluationMetrics {
9604	s.F1Score = &v
9605	return s
9606}
9607
9608// SetPrecision sets the Precision field's value.
9609func (s *EntityTypesEvaluationMetrics) SetPrecision(v float64) *EntityTypesEvaluationMetrics {
9610	s.Precision = &v
9611	return s
9612}
9613
9614// SetRecall sets the Recall field's value.
9615func (s *EntityTypesEvaluationMetrics) SetRecall(v float64) *EntityTypesEvaluationMetrics {
9616	s.Recall = &v
9617	return s
9618}
9619
9620// Information about an individual item on a list of entity types.
9621type EntityTypesListItem struct {
9622	_ struct{} `type:"structure"`
9623
9624	// Entity type of an item on an entity type list.
9625	//
9626	// Type is a required field
9627	Type *string `type:"string" required:"true"`
9628}
9629
9630// String returns the string representation
9631func (s EntityTypesListItem) String() string {
9632	return awsutil.Prettify(s)
9633}
9634
9635// GoString returns the string representation
9636func (s EntityTypesListItem) GoString() string {
9637	return s.String()
9638}
9639
9640// Validate inspects the fields of the type to determine if they are valid.
9641func (s *EntityTypesListItem) Validate() error {
9642	invalidParams := request.ErrInvalidParams{Context: "EntityTypesListItem"}
9643	if s.Type == nil {
9644		invalidParams.Add(request.NewErrParamRequired("Type"))
9645	}
9646
9647	if invalidParams.Len() > 0 {
9648		return invalidParams
9649	}
9650	return nil
9651}
9652
9653// SetType sets the Type field's value.
9654func (s *EntityTypesListItem) SetType(v string) *EntityTypesListItem {
9655	s.Type = &v
9656	return s
9657}
9658
9659// The input properties for a topic detection job.
9660type InputDataConfig struct {
9661	_ struct{} `type:"structure"`
9662
9663	// Specifies how the text in an input file should be processed:
9664	//
9665	//    * ONE_DOC_PER_FILE - Each file is considered a separate document. Use
9666	//    this option when you are processing large documents, such as newspaper
9667	//    articles or scientific papers.
9668	//
9669	//    * ONE_DOC_PER_LINE - Each line in a file is considered a separate document.
9670	//    Use this option when you are processing many short documents, such as
9671	//    text messages.
9672	InputFormat *string `type:"string" enum:"InputFormat"`
9673
9674	// The Amazon S3 URI for the input data. The URI must be in same region as the
9675	// API endpoint that you are calling. The URI can point to a single input file
9676	// or it can provide the prefix for a collection of data files.
9677	//
9678	// For example, if you use the URI S3://bucketName/prefix, if the prefix is
9679	// a single file, Amazon Comprehend uses that file as input. If more than one
9680	// file begins with the prefix, Amazon Comprehend uses all of them as input.
9681	//
9682	// S3Uri is a required field
9683	S3Uri *string `type:"string" required:"true"`
9684}
9685
9686// String returns the string representation
9687func (s InputDataConfig) String() string {
9688	return awsutil.Prettify(s)
9689}
9690
9691// GoString returns the string representation
9692func (s InputDataConfig) GoString() string {
9693	return s.String()
9694}
9695
9696// Validate inspects the fields of the type to determine if they are valid.
9697func (s *InputDataConfig) Validate() error {
9698	invalidParams := request.ErrInvalidParams{Context: "InputDataConfig"}
9699	if s.S3Uri == nil {
9700		invalidParams.Add(request.NewErrParamRequired("S3Uri"))
9701	}
9702
9703	if invalidParams.Len() > 0 {
9704		return invalidParams
9705	}
9706	return nil
9707}
9708
9709// SetInputFormat sets the InputFormat field's value.
9710func (s *InputDataConfig) SetInputFormat(v string) *InputDataConfig {
9711	s.InputFormat = &v
9712	return s
9713}
9714
9715// SetS3Uri sets the S3Uri field's value.
9716func (s *InputDataConfig) SetS3Uri(v string) *InputDataConfig {
9717	s.S3Uri = &v
9718	return s
9719}
9720
9721// Describes a key noun phrase.
9722type KeyPhrase struct {
9723	_ struct{} `type:"structure"`
9724
9725	// A character offset in the input text that shows where the key phrase begins
9726	// (the first character is at position 0). The offset returns the position of
9727	// each UTF-8 code point in the string. A code point is the abstract character
9728	// from a particular graphical representation. For example, a multi-byte UTF-8
9729	// character maps to a single code point.
9730	BeginOffset *int64 `type:"integer"`
9731
9732	// A character offset in the input text where the key phrase ends. The offset
9733	// returns the position of each UTF-8 code point in the string. A code point
9734	// is the abstract character from a particular graphical representation. For
9735	// example, a multi-byte UTF-8 character maps to a single code point.
9736	EndOffset *int64 `type:"integer"`
9737
9738	// The level of confidence that Amazon Comprehend has in the accuracy of the
9739	// detection.
9740	Score *float64 `type:"float"`
9741
9742	// The text of a key noun phrase.
9743	Text *string `min:"1" type:"string"`
9744}
9745
9746// String returns the string representation
9747func (s KeyPhrase) String() string {
9748	return awsutil.Prettify(s)
9749}
9750
9751// GoString returns the string representation
9752func (s KeyPhrase) GoString() string {
9753	return s.String()
9754}
9755
9756// SetBeginOffset sets the BeginOffset field's value.
9757func (s *KeyPhrase) SetBeginOffset(v int64) *KeyPhrase {
9758	s.BeginOffset = &v
9759	return s
9760}
9761
9762// SetEndOffset sets the EndOffset field's value.
9763func (s *KeyPhrase) SetEndOffset(v int64) *KeyPhrase {
9764	s.EndOffset = &v
9765	return s
9766}
9767
9768// SetScore sets the Score field's value.
9769func (s *KeyPhrase) SetScore(v float64) *KeyPhrase {
9770	s.Score = &v
9771	return s
9772}
9773
9774// SetText sets the Text field's value.
9775func (s *KeyPhrase) SetText(v string) *KeyPhrase {
9776	s.Text = &v
9777	return s
9778}
9779
9780// Provides information for filtering a list of dominant language detection
9781// jobs. For more information, see the operation.
9782type KeyPhrasesDetectionJobFilter struct {
9783	_ struct{} `type:"structure"`
9784
9785	// Filters on the name of the job.
9786	JobName *string `min:"1" type:"string"`
9787
9788	// Filters the list of jobs based on job status. Returns only jobs with the
9789	// specified status.
9790	JobStatus *string `type:"string" enum:"JobStatus"`
9791
9792	// Filters the list of jobs based on the time that the job was submitted for
9793	// processing. Returns only jobs submitted after the specified time. Jobs are
9794	// returned in descending order, newest to oldest.
9795	SubmitTimeAfter *time.Time `type:"timestamp"`
9796
9797	// Filters the list of jobs based on the time that the job was submitted for
9798	// processing. Returns only jobs submitted before the specified time. Jobs are
9799	// returned in ascending order, oldest to newest.
9800	SubmitTimeBefore *time.Time `type:"timestamp"`
9801}
9802
9803// String returns the string representation
9804func (s KeyPhrasesDetectionJobFilter) String() string {
9805	return awsutil.Prettify(s)
9806}
9807
9808// GoString returns the string representation
9809func (s KeyPhrasesDetectionJobFilter) GoString() string {
9810	return s.String()
9811}
9812
9813// Validate inspects the fields of the type to determine if they are valid.
9814func (s *KeyPhrasesDetectionJobFilter) Validate() error {
9815	invalidParams := request.ErrInvalidParams{Context: "KeyPhrasesDetectionJobFilter"}
9816	if s.JobName != nil && len(*s.JobName) < 1 {
9817		invalidParams.Add(request.NewErrParamMinLen("JobName", 1))
9818	}
9819
9820	if invalidParams.Len() > 0 {
9821		return invalidParams
9822	}
9823	return nil
9824}
9825
9826// SetJobName sets the JobName field's value.
9827func (s *KeyPhrasesDetectionJobFilter) SetJobName(v string) *KeyPhrasesDetectionJobFilter {
9828	s.JobName = &v
9829	return s
9830}
9831
9832// SetJobStatus sets the JobStatus field's value.
9833func (s *KeyPhrasesDetectionJobFilter) SetJobStatus(v string) *KeyPhrasesDetectionJobFilter {
9834	s.JobStatus = &v
9835	return s
9836}
9837
9838// SetSubmitTimeAfter sets the SubmitTimeAfter field's value.
9839func (s *KeyPhrasesDetectionJobFilter) SetSubmitTimeAfter(v time.Time) *KeyPhrasesDetectionJobFilter {
9840	s.SubmitTimeAfter = &v
9841	return s
9842}
9843
9844// SetSubmitTimeBefore sets the SubmitTimeBefore field's value.
9845func (s *KeyPhrasesDetectionJobFilter) SetSubmitTimeBefore(v time.Time) *KeyPhrasesDetectionJobFilter {
9846	s.SubmitTimeBefore = &v
9847	return s
9848}
9849
9850// Provides information about a key phrases detection job.
9851type KeyPhrasesDetectionJobProperties struct {
9852	_ struct{} `type:"structure"`
9853
9854	// The Amazon Resource Name (ARN) that gives Amazon Comprehend read access to
9855	// your input data.
9856	DataAccessRoleArn *string `min:"20" type:"string"`
9857
9858	// The time that the key phrases detection job completed.
9859	EndTime *time.Time `type:"timestamp"`
9860
9861	// The input data configuration that you supplied when you created the key phrases
9862	// detection job.
9863	InputDataConfig *InputDataConfig `type:"structure"`
9864
9865	// The identifier assigned to the key phrases detection job.
9866	JobId *string `min:"1" type:"string"`
9867
9868	// The name that you assigned the key phrases detection job.
9869	JobName *string `min:"1" type:"string"`
9870
9871	// The current status of the key phrases detection job. If the status is FAILED,
9872	// the Message field shows the reason for the failure.
9873	JobStatus *string `type:"string" enum:"JobStatus"`
9874
9875	// The language code of the input documents.
9876	LanguageCode *string `type:"string" enum:"LanguageCode"`
9877
9878	// A description of the status of a job.
9879	Message *string `type:"string"`
9880
9881	// The output data configuration that you supplied when you created the key
9882	// phrases detection job.
9883	OutputDataConfig *OutputDataConfig `type:"structure"`
9884
9885	// The time that the key phrases detection job was submitted for processing.
9886	SubmitTime *time.Time `type:"timestamp"`
9887
9888	// ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses
9889	// to encrypt data on the storage volume attached to the ML compute instance(s)
9890	// that process the analysis job. The VolumeKmsKeyId can be either of the following
9891	// formats:
9892	//
9893	//    * KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab"
9894	//
9895	//    * Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
9896	VolumeKmsKeyId *string `type:"string"`
9897
9898	// Configuration parameters for a private Virtual Private Cloud (VPC) containing
9899	// the resources you are using for your key phrases detection job. For more
9900	// information, see Amazon VPC (https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html).
9901	VpcConfig *VpcConfig `type:"structure"`
9902}
9903
9904// String returns the string representation
9905func (s KeyPhrasesDetectionJobProperties) String() string {
9906	return awsutil.Prettify(s)
9907}
9908
9909// GoString returns the string representation
9910func (s KeyPhrasesDetectionJobProperties) GoString() string {
9911	return s.String()
9912}
9913
9914// SetDataAccessRoleArn sets the DataAccessRoleArn field's value.
9915func (s *KeyPhrasesDetectionJobProperties) SetDataAccessRoleArn(v string) *KeyPhrasesDetectionJobProperties {
9916	s.DataAccessRoleArn = &v
9917	return s
9918}
9919
9920// SetEndTime sets the EndTime field's value.
9921func (s *KeyPhrasesDetectionJobProperties) SetEndTime(v time.Time) *KeyPhrasesDetectionJobProperties {
9922	s.EndTime = &v
9923	return s
9924}
9925
9926// SetInputDataConfig sets the InputDataConfig field's value.
9927func (s *KeyPhrasesDetectionJobProperties) SetInputDataConfig(v *InputDataConfig) *KeyPhrasesDetectionJobProperties {
9928	s.InputDataConfig = v
9929	return s
9930}
9931
9932// SetJobId sets the JobId field's value.
9933func (s *KeyPhrasesDetectionJobProperties) SetJobId(v string) *KeyPhrasesDetectionJobProperties {
9934	s.JobId = &v
9935	return s
9936}
9937
9938// SetJobName sets the JobName field's value.
9939func (s *KeyPhrasesDetectionJobProperties) SetJobName(v string) *KeyPhrasesDetectionJobProperties {
9940	s.JobName = &v
9941	return s
9942}
9943
9944// SetJobStatus sets the JobStatus field's value.
9945func (s *KeyPhrasesDetectionJobProperties) SetJobStatus(v string) *KeyPhrasesDetectionJobProperties {
9946	s.JobStatus = &v
9947	return s
9948}
9949
9950// SetLanguageCode sets the LanguageCode field's value.
9951func (s *KeyPhrasesDetectionJobProperties) SetLanguageCode(v string) *KeyPhrasesDetectionJobProperties {
9952	s.LanguageCode = &v
9953	return s
9954}
9955
9956// SetMessage sets the Message field's value.
9957func (s *KeyPhrasesDetectionJobProperties) SetMessage(v string) *KeyPhrasesDetectionJobProperties {
9958	s.Message = &v
9959	return s
9960}
9961
9962// SetOutputDataConfig sets the OutputDataConfig field's value.
9963func (s *KeyPhrasesDetectionJobProperties) SetOutputDataConfig(v *OutputDataConfig) *KeyPhrasesDetectionJobProperties {
9964	s.OutputDataConfig = v
9965	return s
9966}
9967
9968// SetSubmitTime sets the SubmitTime field's value.
9969func (s *KeyPhrasesDetectionJobProperties) SetSubmitTime(v time.Time) *KeyPhrasesDetectionJobProperties {
9970	s.SubmitTime = &v
9971	return s
9972}
9973
9974// SetVolumeKmsKeyId sets the VolumeKmsKeyId field's value.
9975func (s *KeyPhrasesDetectionJobProperties) SetVolumeKmsKeyId(v string) *KeyPhrasesDetectionJobProperties {
9976	s.VolumeKmsKeyId = &v
9977	return s
9978}
9979
9980// SetVpcConfig sets the VpcConfig field's value.
9981func (s *KeyPhrasesDetectionJobProperties) SetVpcConfig(v *VpcConfig) *KeyPhrasesDetectionJobProperties {
9982	s.VpcConfig = v
9983	return s
9984}
9985
9986type ListDocumentClassificationJobsInput struct {
9987	_ struct{} `type:"structure"`
9988
9989	// Filters the jobs that are returned. You can filter jobs on their names, status,
9990	// or the date and time that they were submitted. You can only set one filter
9991	// at a time.
9992	Filter *DocumentClassificationJobFilter `type:"structure"`
9993
9994	// The maximum number of results to return in each page. The default is 100.
9995	MaxResults *int64 `min:"1" type:"integer"`
9996
9997	// Identifies the next page of results to return.
9998	NextToken *string `min:"1" type:"string"`
9999}
10000
10001// String returns the string representation
10002func (s ListDocumentClassificationJobsInput) String() string {
10003	return awsutil.Prettify(s)
10004}
10005
10006// GoString returns the string representation
10007func (s ListDocumentClassificationJobsInput) GoString() string {
10008	return s.String()
10009}
10010
10011// Validate inspects the fields of the type to determine if they are valid.
10012func (s *ListDocumentClassificationJobsInput) Validate() error {
10013	invalidParams := request.ErrInvalidParams{Context: "ListDocumentClassificationJobsInput"}
10014	if s.MaxResults != nil && *s.MaxResults < 1 {
10015		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10016	}
10017	if s.NextToken != nil && len(*s.NextToken) < 1 {
10018		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
10019	}
10020	if s.Filter != nil {
10021		if err := s.Filter.Validate(); err != nil {
10022			invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
10023		}
10024	}
10025
10026	if invalidParams.Len() > 0 {
10027		return invalidParams
10028	}
10029	return nil
10030}
10031
10032// SetFilter sets the Filter field's value.
10033func (s *ListDocumentClassificationJobsInput) SetFilter(v *DocumentClassificationJobFilter) *ListDocumentClassificationJobsInput {
10034	s.Filter = v
10035	return s
10036}
10037
10038// SetMaxResults sets the MaxResults field's value.
10039func (s *ListDocumentClassificationJobsInput) SetMaxResults(v int64) *ListDocumentClassificationJobsInput {
10040	s.MaxResults = &v
10041	return s
10042}
10043
10044// SetNextToken sets the NextToken field's value.
10045func (s *ListDocumentClassificationJobsInput) SetNextToken(v string) *ListDocumentClassificationJobsInput {
10046	s.NextToken = &v
10047	return s
10048}
10049
10050type ListDocumentClassificationJobsOutput struct {
10051	_ struct{} `type:"structure"`
10052
10053	// A list containing the properties of each job returned.
10054	DocumentClassificationJobPropertiesList []*DocumentClassificationJobProperties `type:"list"`
10055
10056	// Identifies the next page of results to return.
10057	NextToken *string `min:"1" type:"string"`
10058}
10059
10060// String returns the string representation
10061func (s ListDocumentClassificationJobsOutput) String() string {
10062	return awsutil.Prettify(s)
10063}
10064
10065// GoString returns the string representation
10066func (s ListDocumentClassificationJobsOutput) GoString() string {
10067	return s.String()
10068}
10069
10070// SetDocumentClassificationJobPropertiesList sets the DocumentClassificationJobPropertiesList field's value.
10071func (s *ListDocumentClassificationJobsOutput) SetDocumentClassificationJobPropertiesList(v []*DocumentClassificationJobProperties) *ListDocumentClassificationJobsOutput {
10072	s.DocumentClassificationJobPropertiesList = v
10073	return s
10074}
10075
10076// SetNextToken sets the NextToken field's value.
10077func (s *ListDocumentClassificationJobsOutput) SetNextToken(v string) *ListDocumentClassificationJobsOutput {
10078	s.NextToken = &v
10079	return s
10080}
10081
10082type ListDocumentClassifiersInput struct {
10083	_ struct{} `type:"structure"`
10084
10085	// Filters the jobs that are returned. You can filter jobs on their name, status,
10086	// or the date and time that they were submitted. You can only set one filter
10087	// at a time.
10088	Filter *DocumentClassifierFilter `type:"structure"`
10089
10090	// The maximum number of results to return in each page. The default is 100.
10091	MaxResults *int64 `min:"1" type:"integer"`
10092
10093	// Identifies the next page of results to return.
10094	NextToken *string `min:"1" type:"string"`
10095}
10096
10097// String returns the string representation
10098func (s ListDocumentClassifiersInput) String() string {
10099	return awsutil.Prettify(s)
10100}
10101
10102// GoString returns the string representation
10103func (s ListDocumentClassifiersInput) GoString() string {
10104	return s.String()
10105}
10106
10107// Validate inspects the fields of the type to determine if they are valid.
10108func (s *ListDocumentClassifiersInput) Validate() error {
10109	invalidParams := request.ErrInvalidParams{Context: "ListDocumentClassifiersInput"}
10110	if s.MaxResults != nil && *s.MaxResults < 1 {
10111		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10112	}
10113	if s.NextToken != nil && len(*s.NextToken) < 1 {
10114		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
10115	}
10116
10117	if invalidParams.Len() > 0 {
10118		return invalidParams
10119	}
10120	return nil
10121}
10122
10123// SetFilter sets the Filter field's value.
10124func (s *ListDocumentClassifiersInput) SetFilter(v *DocumentClassifierFilter) *ListDocumentClassifiersInput {
10125	s.Filter = v
10126	return s
10127}
10128
10129// SetMaxResults sets the MaxResults field's value.
10130func (s *ListDocumentClassifiersInput) SetMaxResults(v int64) *ListDocumentClassifiersInput {
10131	s.MaxResults = &v
10132	return s
10133}
10134
10135// SetNextToken sets the NextToken field's value.
10136func (s *ListDocumentClassifiersInput) SetNextToken(v string) *ListDocumentClassifiersInput {
10137	s.NextToken = &v
10138	return s
10139}
10140
10141type ListDocumentClassifiersOutput struct {
10142	_ struct{} `type:"structure"`
10143
10144	// A list containing the properties of each job returned.
10145	DocumentClassifierPropertiesList []*DocumentClassifierProperties `type:"list"`
10146
10147	// Identifies the next page of results to return.
10148	NextToken *string `min:"1" type:"string"`
10149}
10150
10151// String returns the string representation
10152func (s ListDocumentClassifiersOutput) String() string {
10153	return awsutil.Prettify(s)
10154}
10155
10156// GoString returns the string representation
10157func (s ListDocumentClassifiersOutput) GoString() string {
10158	return s.String()
10159}
10160
10161// SetDocumentClassifierPropertiesList sets the DocumentClassifierPropertiesList field's value.
10162func (s *ListDocumentClassifiersOutput) SetDocumentClassifierPropertiesList(v []*DocumentClassifierProperties) *ListDocumentClassifiersOutput {
10163	s.DocumentClassifierPropertiesList = v
10164	return s
10165}
10166
10167// SetNextToken sets the NextToken field's value.
10168func (s *ListDocumentClassifiersOutput) SetNextToken(v string) *ListDocumentClassifiersOutput {
10169	s.NextToken = &v
10170	return s
10171}
10172
10173type ListDominantLanguageDetectionJobsInput struct {
10174	_ struct{} `type:"structure"`
10175
10176	// Filters that jobs that are returned. You can filter jobs on their name, status,
10177	// or the date and time that they were submitted. You can only set one filter
10178	// at a time.
10179	Filter *DominantLanguageDetectionJobFilter `type:"structure"`
10180
10181	// The maximum number of results to return in each page. The default is 100.
10182	MaxResults *int64 `min:"1" type:"integer"`
10183
10184	// Identifies the next page of results to return.
10185	NextToken *string `min:"1" type:"string"`
10186}
10187
10188// String returns the string representation
10189func (s ListDominantLanguageDetectionJobsInput) String() string {
10190	return awsutil.Prettify(s)
10191}
10192
10193// GoString returns the string representation
10194func (s ListDominantLanguageDetectionJobsInput) GoString() string {
10195	return s.String()
10196}
10197
10198// Validate inspects the fields of the type to determine if they are valid.
10199func (s *ListDominantLanguageDetectionJobsInput) Validate() error {
10200	invalidParams := request.ErrInvalidParams{Context: "ListDominantLanguageDetectionJobsInput"}
10201	if s.MaxResults != nil && *s.MaxResults < 1 {
10202		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10203	}
10204	if s.NextToken != nil && len(*s.NextToken) < 1 {
10205		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
10206	}
10207	if s.Filter != nil {
10208		if err := s.Filter.Validate(); err != nil {
10209			invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
10210		}
10211	}
10212
10213	if invalidParams.Len() > 0 {
10214		return invalidParams
10215	}
10216	return nil
10217}
10218
10219// SetFilter sets the Filter field's value.
10220func (s *ListDominantLanguageDetectionJobsInput) SetFilter(v *DominantLanguageDetectionJobFilter) *ListDominantLanguageDetectionJobsInput {
10221	s.Filter = v
10222	return s
10223}
10224
10225// SetMaxResults sets the MaxResults field's value.
10226func (s *ListDominantLanguageDetectionJobsInput) SetMaxResults(v int64) *ListDominantLanguageDetectionJobsInput {
10227	s.MaxResults = &v
10228	return s
10229}
10230
10231// SetNextToken sets the NextToken field's value.
10232func (s *ListDominantLanguageDetectionJobsInput) SetNextToken(v string) *ListDominantLanguageDetectionJobsInput {
10233	s.NextToken = &v
10234	return s
10235}
10236
10237type ListDominantLanguageDetectionJobsOutput struct {
10238	_ struct{} `type:"structure"`
10239
10240	// A list containing the properties of each job that is returned.
10241	DominantLanguageDetectionJobPropertiesList []*DominantLanguageDetectionJobProperties `type:"list"`
10242
10243	// Identifies the next page of results to return.
10244	NextToken *string `min:"1" type:"string"`
10245}
10246
10247// String returns the string representation
10248func (s ListDominantLanguageDetectionJobsOutput) String() string {
10249	return awsutil.Prettify(s)
10250}
10251
10252// GoString returns the string representation
10253func (s ListDominantLanguageDetectionJobsOutput) GoString() string {
10254	return s.String()
10255}
10256
10257// SetDominantLanguageDetectionJobPropertiesList sets the DominantLanguageDetectionJobPropertiesList field's value.
10258func (s *ListDominantLanguageDetectionJobsOutput) SetDominantLanguageDetectionJobPropertiesList(v []*DominantLanguageDetectionJobProperties) *ListDominantLanguageDetectionJobsOutput {
10259	s.DominantLanguageDetectionJobPropertiesList = v
10260	return s
10261}
10262
10263// SetNextToken sets the NextToken field's value.
10264func (s *ListDominantLanguageDetectionJobsOutput) SetNextToken(v string) *ListDominantLanguageDetectionJobsOutput {
10265	s.NextToken = &v
10266	return s
10267}
10268
10269type ListEndpointsInput struct {
10270	_ struct{} `type:"structure"`
10271
10272	// Filters the endpoints that are returned. You can filter endpoints on their
10273	// name, model, status, or the date and time that they were created. You can
10274	// only set one filter at a time.
10275	Filter *EndpointFilter `type:"structure"`
10276
10277	// The maximum number of results to return in each page. The default is 100.
10278	MaxResults *int64 `min:"1" type:"integer"`
10279
10280	// Identifies the next page of results to return.
10281	NextToken *string `min:"1" type:"string"`
10282}
10283
10284// String returns the string representation
10285func (s ListEndpointsInput) String() string {
10286	return awsutil.Prettify(s)
10287}
10288
10289// GoString returns the string representation
10290func (s ListEndpointsInput) GoString() string {
10291	return s.String()
10292}
10293
10294// Validate inspects the fields of the type to determine if they are valid.
10295func (s *ListEndpointsInput) Validate() error {
10296	invalidParams := request.ErrInvalidParams{Context: "ListEndpointsInput"}
10297	if s.MaxResults != nil && *s.MaxResults < 1 {
10298		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10299	}
10300	if s.NextToken != nil && len(*s.NextToken) < 1 {
10301		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
10302	}
10303
10304	if invalidParams.Len() > 0 {
10305		return invalidParams
10306	}
10307	return nil
10308}
10309
10310// SetFilter sets the Filter field's value.
10311func (s *ListEndpointsInput) SetFilter(v *EndpointFilter) *ListEndpointsInput {
10312	s.Filter = v
10313	return s
10314}
10315
10316// SetMaxResults sets the MaxResults field's value.
10317func (s *ListEndpointsInput) SetMaxResults(v int64) *ListEndpointsInput {
10318	s.MaxResults = &v
10319	return s
10320}
10321
10322// SetNextToken sets the NextToken field's value.
10323func (s *ListEndpointsInput) SetNextToken(v string) *ListEndpointsInput {
10324	s.NextToken = &v
10325	return s
10326}
10327
10328type ListEndpointsOutput struct {
10329	_ struct{} `type:"structure"`
10330
10331	// Displays a list of endpoint properties being retrieved by the service in
10332	// response to the request.
10333	EndpointPropertiesList []*EndpointProperties `type:"list"`
10334
10335	// Identifies the next page of results to return.
10336	NextToken *string `min:"1" type:"string"`
10337}
10338
10339// String returns the string representation
10340func (s ListEndpointsOutput) String() string {
10341	return awsutil.Prettify(s)
10342}
10343
10344// GoString returns the string representation
10345func (s ListEndpointsOutput) GoString() string {
10346	return s.String()
10347}
10348
10349// SetEndpointPropertiesList sets the EndpointPropertiesList field's value.
10350func (s *ListEndpointsOutput) SetEndpointPropertiesList(v []*EndpointProperties) *ListEndpointsOutput {
10351	s.EndpointPropertiesList = v
10352	return s
10353}
10354
10355// SetNextToken sets the NextToken field's value.
10356func (s *ListEndpointsOutput) SetNextToken(v string) *ListEndpointsOutput {
10357	s.NextToken = &v
10358	return s
10359}
10360
10361type ListEntitiesDetectionJobsInput struct {
10362	_ struct{} `type:"structure"`
10363
10364	// Filters the jobs that are returned. You can filter jobs on their name, status,
10365	// or the date and time that they were submitted. You can only set one filter
10366	// at a time.
10367	Filter *EntitiesDetectionJobFilter `type:"structure"`
10368
10369	// The maximum number of results to return in each page. The default is 100.
10370	MaxResults *int64 `min:"1" type:"integer"`
10371
10372	// Identifies the next page of results to return.
10373	NextToken *string `min:"1" type:"string"`
10374}
10375
10376// String returns the string representation
10377func (s ListEntitiesDetectionJobsInput) String() string {
10378	return awsutil.Prettify(s)
10379}
10380
10381// GoString returns the string representation
10382func (s ListEntitiesDetectionJobsInput) GoString() string {
10383	return s.String()
10384}
10385
10386// Validate inspects the fields of the type to determine if they are valid.
10387func (s *ListEntitiesDetectionJobsInput) Validate() error {
10388	invalidParams := request.ErrInvalidParams{Context: "ListEntitiesDetectionJobsInput"}
10389	if s.MaxResults != nil && *s.MaxResults < 1 {
10390		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10391	}
10392	if s.NextToken != nil && len(*s.NextToken) < 1 {
10393		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
10394	}
10395	if s.Filter != nil {
10396		if err := s.Filter.Validate(); err != nil {
10397			invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
10398		}
10399	}
10400
10401	if invalidParams.Len() > 0 {
10402		return invalidParams
10403	}
10404	return nil
10405}
10406
10407// SetFilter sets the Filter field's value.
10408func (s *ListEntitiesDetectionJobsInput) SetFilter(v *EntitiesDetectionJobFilter) *ListEntitiesDetectionJobsInput {
10409	s.Filter = v
10410	return s
10411}
10412
10413// SetMaxResults sets the MaxResults field's value.
10414func (s *ListEntitiesDetectionJobsInput) SetMaxResults(v int64) *ListEntitiesDetectionJobsInput {
10415	s.MaxResults = &v
10416	return s
10417}
10418
10419// SetNextToken sets the NextToken field's value.
10420func (s *ListEntitiesDetectionJobsInput) SetNextToken(v string) *ListEntitiesDetectionJobsInput {
10421	s.NextToken = &v
10422	return s
10423}
10424
10425type ListEntitiesDetectionJobsOutput struct {
10426	_ struct{} `type:"structure"`
10427
10428	// A list containing the properties of each job that is returned.
10429	EntitiesDetectionJobPropertiesList []*EntitiesDetectionJobProperties `type:"list"`
10430
10431	// Identifies the next page of results to return.
10432	NextToken *string `min:"1" type:"string"`
10433}
10434
10435// String returns the string representation
10436func (s ListEntitiesDetectionJobsOutput) String() string {
10437	return awsutil.Prettify(s)
10438}
10439
10440// GoString returns the string representation
10441func (s ListEntitiesDetectionJobsOutput) GoString() string {
10442	return s.String()
10443}
10444
10445// SetEntitiesDetectionJobPropertiesList sets the EntitiesDetectionJobPropertiesList field's value.
10446func (s *ListEntitiesDetectionJobsOutput) SetEntitiesDetectionJobPropertiesList(v []*EntitiesDetectionJobProperties) *ListEntitiesDetectionJobsOutput {
10447	s.EntitiesDetectionJobPropertiesList = v
10448	return s
10449}
10450
10451// SetNextToken sets the NextToken field's value.
10452func (s *ListEntitiesDetectionJobsOutput) SetNextToken(v string) *ListEntitiesDetectionJobsOutput {
10453	s.NextToken = &v
10454	return s
10455}
10456
10457type ListEntityRecognizersInput struct {
10458	_ struct{} `type:"structure"`
10459
10460	// Filters the list of entities returned. You can filter on Status, SubmitTimeBefore,
10461	// or SubmitTimeAfter. You can only set one filter at a time.
10462	Filter *EntityRecognizerFilter `type:"structure"`
10463
10464	// The maximum number of results to return on each page. The default is 100.
10465	MaxResults *int64 `min:"1" type:"integer"`
10466
10467	// Identifies the next page of results to return.
10468	NextToken *string `min:"1" type:"string"`
10469}
10470
10471// String returns the string representation
10472func (s ListEntityRecognizersInput) String() string {
10473	return awsutil.Prettify(s)
10474}
10475
10476// GoString returns the string representation
10477func (s ListEntityRecognizersInput) GoString() string {
10478	return s.String()
10479}
10480
10481// Validate inspects the fields of the type to determine if they are valid.
10482func (s *ListEntityRecognizersInput) Validate() error {
10483	invalidParams := request.ErrInvalidParams{Context: "ListEntityRecognizersInput"}
10484	if s.MaxResults != nil && *s.MaxResults < 1 {
10485		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10486	}
10487	if s.NextToken != nil && len(*s.NextToken) < 1 {
10488		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
10489	}
10490
10491	if invalidParams.Len() > 0 {
10492		return invalidParams
10493	}
10494	return nil
10495}
10496
10497// SetFilter sets the Filter field's value.
10498func (s *ListEntityRecognizersInput) SetFilter(v *EntityRecognizerFilter) *ListEntityRecognizersInput {
10499	s.Filter = v
10500	return s
10501}
10502
10503// SetMaxResults sets the MaxResults field's value.
10504func (s *ListEntityRecognizersInput) SetMaxResults(v int64) *ListEntityRecognizersInput {
10505	s.MaxResults = &v
10506	return s
10507}
10508
10509// SetNextToken sets the NextToken field's value.
10510func (s *ListEntityRecognizersInput) SetNextToken(v string) *ListEntityRecognizersInput {
10511	s.NextToken = &v
10512	return s
10513}
10514
10515type ListEntityRecognizersOutput struct {
10516	_ struct{} `type:"structure"`
10517
10518	// The list of properties of an entity recognizer.
10519	EntityRecognizerPropertiesList []*EntityRecognizerProperties `type:"list"`
10520
10521	// Identifies the next page of results to return.
10522	NextToken *string `min:"1" type:"string"`
10523}
10524
10525// String returns the string representation
10526func (s ListEntityRecognizersOutput) String() string {
10527	return awsutil.Prettify(s)
10528}
10529
10530// GoString returns the string representation
10531func (s ListEntityRecognizersOutput) GoString() string {
10532	return s.String()
10533}
10534
10535// SetEntityRecognizerPropertiesList sets the EntityRecognizerPropertiesList field's value.
10536func (s *ListEntityRecognizersOutput) SetEntityRecognizerPropertiesList(v []*EntityRecognizerProperties) *ListEntityRecognizersOutput {
10537	s.EntityRecognizerPropertiesList = v
10538	return s
10539}
10540
10541// SetNextToken sets the NextToken field's value.
10542func (s *ListEntityRecognizersOutput) SetNextToken(v string) *ListEntityRecognizersOutput {
10543	s.NextToken = &v
10544	return s
10545}
10546
10547type ListKeyPhrasesDetectionJobsInput struct {
10548	_ struct{} `type:"structure"`
10549
10550	// Filters the jobs that are returned. You can filter jobs on their name, status,
10551	// or the date and time that they were submitted. You can only set one filter
10552	// at a time.
10553	Filter *KeyPhrasesDetectionJobFilter `type:"structure"`
10554
10555	// The maximum number of results to return in each page. The default is 100.
10556	MaxResults *int64 `min:"1" type:"integer"`
10557
10558	// Identifies the next page of results to return.
10559	NextToken *string `min:"1" type:"string"`
10560}
10561
10562// String returns the string representation
10563func (s ListKeyPhrasesDetectionJobsInput) String() string {
10564	return awsutil.Prettify(s)
10565}
10566
10567// GoString returns the string representation
10568func (s ListKeyPhrasesDetectionJobsInput) GoString() string {
10569	return s.String()
10570}
10571
10572// Validate inspects the fields of the type to determine if they are valid.
10573func (s *ListKeyPhrasesDetectionJobsInput) Validate() error {
10574	invalidParams := request.ErrInvalidParams{Context: "ListKeyPhrasesDetectionJobsInput"}
10575	if s.MaxResults != nil && *s.MaxResults < 1 {
10576		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10577	}
10578	if s.NextToken != nil && len(*s.NextToken) < 1 {
10579		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
10580	}
10581	if s.Filter != nil {
10582		if err := s.Filter.Validate(); err != nil {
10583			invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
10584		}
10585	}
10586
10587	if invalidParams.Len() > 0 {
10588		return invalidParams
10589	}
10590	return nil
10591}
10592
10593// SetFilter sets the Filter field's value.
10594func (s *ListKeyPhrasesDetectionJobsInput) SetFilter(v *KeyPhrasesDetectionJobFilter) *ListKeyPhrasesDetectionJobsInput {
10595	s.Filter = v
10596	return s
10597}
10598
10599// SetMaxResults sets the MaxResults field's value.
10600func (s *ListKeyPhrasesDetectionJobsInput) SetMaxResults(v int64) *ListKeyPhrasesDetectionJobsInput {
10601	s.MaxResults = &v
10602	return s
10603}
10604
10605// SetNextToken sets the NextToken field's value.
10606func (s *ListKeyPhrasesDetectionJobsInput) SetNextToken(v string) *ListKeyPhrasesDetectionJobsInput {
10607	s.NextToken = &v
10608	return s
10609}
10610
10611type ListKeyPhrasesDetectionJobsOutput struct {
10612	_ struct{} `type:"structure"`
10613
10614	// A list containing the properties of each job that is returned.
10615	KeyPhrasesDetectionJobPropertiesList []*KeyPhrasesDetectionJobProperties `type:"list"`
10616
10617	// Identifies the next page of results to return.
10618	NextToken *string `min:"1" type:"string"`
10619}
10620
10621// String returns the string representation
10622func (s ListKeyPhrasesDetectionJobsOutput) String() string {
10623	return awsutil.Prettify(s)
10624}
10625
10626// GoString returns the string representation
10627func (s ListKeyPhrasesDetectionJobsOutput) GoString() string {
10628	return s.String()
10629}
10630
10631// SetKeyPhrasesDetectionJobPropertiesList sets the KeyPhrasesDetectionJobPropertiesList field's value.
10632func (s *ListKeyPhrasesDetectionJobsOutput) SetKeyPhrasesDetectionJobPropertiesList(v []*KeyPhrasesDetectionJobProperties) *ListKeyPhrasesDetectionJobsOutput {
10633	s.KeyPhrasesDetectionJobPropertiesList = v
10634	return s
10635}
10636
10637// SetNextToken sets the NextToken field's value.
10638func (s *ListKeyPhrasesDetectionJobsOutput) SetNextToken(v string) *ListKeyPhrasesDetectionJobsOutput {
10639	s.NextToken = &v
10640	return s
10641}
10642
10643type ListSentimentDetectionJobsInput struct {
10644	_ struct{} `type:"structure"`
10645
10646	// Filters the jobs that are returned. You can filter jobs on their name, status,
10647	// or the date and time that they were submitted. You can only set one filter
10648	// at a time.
10649	Filter *SentimentDetectionJobFilter `type:"structure"`
10650
10651	// The maximum number of results to return in each page. The default is 100.
10652	MaxResults *int64 `min:"1" type:"integer"`
10653
10654	// Identifies the next page of results to return.
10655	NextToken *string `min:"1" type:"string"`
10656}
10657
10658// String returns the string representation
10659func (s ListSentimentDetectionJobsInput) String() string {
10660	return awsutil.Prettify(s)
10661}
10662
10663// GoString returns the string representation
10664func (s ListSentimentDetectionJobsInput) GoString() string {
10665	return s.String()
10666}
10667
10668// Validate inspects the fields of the type to determine if they are valid.
10669func (s *ListSentimentDetectionJobsInput) Validate() error {
10670	invalidParams := request.ErrInvalidParams{Context: "ListSentimentDetectionJobsInput"}
10671	if s.MaxResults != nil && *s.MaxResults < 1 {
10672		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10673	}
10674	if s.NextToken != nil && len(*s.NextToken) < 1 {
10675		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
10676	}
10677	if s.Filter != nil {
10678		if err := s.Filter.Validate(); err != nil {
10679			invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
10680		}
10681	}
10682
10683	if invalidParams.Len() > 0 {
10684		return invalidParams
10685	}
10686	return nil
10687}
10688
10689// SetFilter sets the Filter field's value.
10690func (s *ListSentimentDetectionJobsInput) SetFilter(v *SentimentDetectionJobFilter) *ListSentimentDetectionJobsInput {
10691	s.Filter = v
10692	return s
10693}
10694
10695// SetMaxResults sets the MaxResults field's value.
10696func (s *ListSentimentDetectionJobsInput) SetMaxResults(v int64) *ListSentimentDetectionJobsInput {
10697	s.MaxResults = &v
10698	return s
10699}
10700
10701// SetNextToken sets the NextToken field's value.
10702func (s *ListSentimentDetectionJobsInput) SetNextToken(v string) *ListSentimentDetectionJobsInput {
10703	s.NextToken = &v
10704	return s
10705}
10706
10707type ListSentimentDetectionJobsOutput struct {
10708	_ struct{} `type:"structure"`
10709
10710	// Identifies the next page of results to return.
10711	NextToken *string `min:"1" type:"string"`
10712
10713	// A list containing the properties of each job that is returned.
10714	SentimentDetectionJobPropertiesList []*SentimentDetectionJobProperties `type:"list"`
10715}
10716
10717// String returns the string representation
10718func (s ListSentimentDetectionJobsOutput) String() string {
10719	return awsutil.Prettify(s)
10720}
10721
10722// GoString returns the string representation
10723func (s ListSentimentDetectionJobsOutput) GoString() string {
10724	return s.String()
10725}
10726
10727// SetNextToken sets the NextToken field's value.
10728func (s *ListSentimentDetectionJobsOutput) SetNextToken(v string) *ListSentimentDetectionJobsOutput {
10729	s.NextToken = &v
10730	return s
10731}
10732
10733// SetSentimentDetectionJobPropertiesList sets the SentimentDetectionJobPropertiesList field's value.
10734func (s *ListSentimentDetectionJobsOutput) SetSentimentDetectionJobPropertiesList(v []*SentimentDetectionJobProperties) *ListSentimentDetectionJobsOutput {
10735	s.SentimentDetectionJobPropertiesList = v
10736	return s
10737}
10738
10739type ListTagsForResourceInput struct {
10740	_ struct{} `type:"structure"`
10741
10742	// The Amazon Resource Name (ARN) of the given Amazon Comprehend resource you
10743	// are querying.
10744	//
10745	// ResourceArn is a required field
10746	ResourceArn *string `type:"string" required:"true"`
10747}
10748
10749// String returns the string representation
10750func (s ListTagsForResourceInput) String() string {
10751	return awsutil.Prettify(s)
10752}
10753
10754// GoString returns the string representation
10755func (s ListTagsForResourceInput) GoString() string {
10756	return s.String()
10757}
10758
10759// Validate inspects the fields of the type to determine if they are valid.
10760func (s *ListTagsForResourceInput) Validate() error {
10761	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
10762	if s.ResourceArn == nil {
10763		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
10764	}
10765
10766	if invalidParams.Len() > 0 {
10767		return invalidParams
10768	}
10769	return nil
10770}
10771
10772// SetResourceArn sets the ResourceArn field's value.
10773func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
10774	s.ResourceArn = &v
10775	return s
10776}
10777
10778type ListTagsForResourceOutput struct {
10779	_ struct{} `type:"structure"`
10780
10781	// The Amazon Resource Name (ARN) of the given Amazon Comprehend resource you
10782	// are querying.
10783	ResourceArn *string `type:"string"`
10784
10785	// Tags associated with the Amazon Comprehend resource being queried. A tag
10786	// is a key-value pair that adds as a metadata to a resource used by Amazon
10787	// Comprehend. For example, a tag with "Sales" as the key might be added to
10788	// a resource to indicate its use by the sales department.
10789	Tags []*Tag `type:"list"`
10790}
10791
10792// String returns the string representation
10793func (s ListTagsForResourceOutput) String() string {
10794	return awsutil.Prettify(s)
10795}
10796
10797// GoString returns the string representation
10798func (s ListTagsForResourceOutput) GoString() string {
10799	return s.String()
10800}
10801
10802// SetResourceArn sets the ResourceArn field's value.
10803func (s *ListTagsForResourceOutput) SetResourceArn(v string) *ListTagsForResourceOutput {
10804	s.ResourceArn = &v
10805	return s
10806}
10807
10808// SetTags sets the Tags field's value.
10809func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
10810	s.Tags = v
10811	return s
10812}
10813
10814type ListTopicsDetectionJobsInput struct {
10815	_ struct{} `type:"structure"`
10816
10817	// Filters the jobs that are returned. Jobs can be filtered on their name, status,
10818	// or the date and time that they were submitted. You can set only one filter
10819	// at a time.
10820	Filter *TopicsDetectionJobFilter `type:"structure"`
10821
10822	// The maximum number of results to return in each page. The default is 100.
10823	MaxResults *int64 `min:"1" type:"integer"`
10824
10825	// Identifies the next page of results to return.
10826	NextToken *string `min:"1" type:"string"`
10827}
10828
10829// String returns the string representation
10830func (s ListTopicsDetectionJobsInput) String() string {
10831	return awsutil.Prettify(s)
10832}
10833
10834// GoString returns the string representation
10835func (s ListTopicsDetectionJobsInput) GoString() string {
10836	return s.String()
10837}
10838
10839// Validate inspects the fields of the type to determine if they are valid.
10840func (s *ListTopicsDetectionJobsInput) Validate() error {
10841	invalidParams := request.ErrInvalidParams{Context: "ListTopicsDetectionJobsInput"}
10842	if s.MaxResults != nil && *s.MaxResults < 1 {
10843		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10844	}
10845	if s.NextToken != nil && len(*s.NextToken) < 1 {
10846		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
10847	}
10848	if s.Filter != nil {
10849		if err := s.Filter.Validate(); err != nil {
10850			invalidParams.AddNested("Filter", err.(request.ErrInvalidParams))
10851		}
10852	}
10853
10854	if invalidParams.Len() > 0 {
10855		return invalidParams
10856	}
10857	return nil
10858}
10859
10860// SetFilter sets the Filter field's value.
10861func (s *ListTopicsDetectionJobsInput) SetFilter(v *TopicsDetectionJobFilter) *ListTopicsDetectionJobsInput {
10862	s.Filter = v
10863	return s
10864}
10865
10866// SetMaxResults sets the MaxResults field's value.
10867func (s *ListTopicsDetectionJobsInput) SetMaxResults(v int64) *ListTopicsDetectionJobsInput {
10868	s.MaxResults = &v
10869	return s
10870}
10871
10872// SetNextToken sets the NextToken field's value.
10873func (s *ListTopicsDetectionJobsInput) SetNextToken(v string) *ListTopicsDetectionJobsInput {
10874	s.NextToken = &v
10875	return s
10876}
10877
10878type ListTopicsDetectionJobsOutput struct {
10879	_ struct{} `type:"structure"`
10880
10881	// Identifies the next page of results to return.
10882	NextToken *string `min:"1" type:"string"`
10883
10884	// A list containing the properties of each job that is returned.
10885	TopicsDetectionJobPropertiesList []*TopicsDetectionJobProperties `type:"list"`
10886}
10887
10888// String returns the string representation
10889func (s ListTopicsDetectionJobsOutput) String() string {
10890	return awsutil.Prettify(s)
10891}
10892
10893// GoString returns the string representation
10894func (s ListTopicsDetectionJobsOutput) GoString() string {
10895	return s.String()
10896}
10897
10898// SetNextToken sets the NextToken field's value.
10899func (s *ListTopicsDetectionJobsOutput) SetNextToken(v string) *ListTopicsDetectionJobsOutput {
10900	s.NextToken = &v
10901	return s
10902}
10903
10904// SetTopicsDetectionJobPropertiesList sets the TopicsDetectionJobPropertiesList field's value.
10905func (s *ListTopicsDetectionJobsOutput) SetTopicsDetectionJobPropertiesList(v []*TopicsDetectionJobProperties) *ListTopicsDetectionJobsOutput {
10906	s.TopicsDetectionJobPropertiesList = v
10907	return s
10908}
10909
10910// Provides configuration parameters for the output of topic detection jobs.
10911type OutputDataConfig struct {
10912	_ struct{} `type:"structure"`
10913
10914	// ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses
10915	// to encrypt the output results from an analysis job. The KmsKeyId can be one
10916	// of the following formats:
10917	//
10918	//    * KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab"
10919	//
10920	//    * Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
10921	//
10922	//    * KMS Key Alias: "alias/ExampleAlias"
10923	//
10924	//    * ARN of a KMS Key Alias: "arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias"
10925	KmsKeyId *string `type:"string"`
10926
10927	// When you use the OutputDataConfig object with asynchronous operations, you
10928	// specify the Amazon S3 location where you want to write the output data. The
10929	// URI must be in the same region as the API endpoint that you are calling.
10930	// The location is used as the prefix for the actual location of the output
10931	// file.
10932	//
10933	// When the topic detection job is finished, the service creates an output file
10934	// in a directory specific to the job. The S3Uri field contains the location
10935	// of the output file, called output.tar.gz. It is a compressed archive that
10936	// contains the ouput of the operation.
10937	//
10938	// S3Uri is a required field
10939	S3Uri *string `type:"string" required:"true"`
10940}
10941
10942// String returns the string representation
10943func (s OutputDataConfig) String() string {
10944	return awsutil.Prettify(s)
10945}
10946
10947// GoString returns the string representation
10948func (s OutputDataConfig) GoString() string {
10949	return s.String()
10950}
10951
10952// Validate inspects the fields of the type to determine if they are valid.
10953func (s *OutputDataConfig) Validate() error {
10954	invalidParams := request.ErrInvalidParams{Context: "OutputDataConfig"}
10955	if s.S3Uri == nil {
10956		invalidParams.Add(request.NewErrParamRequired("S3Uri"))
10957	}
10958
10959	if invalidParams.Len() > 0 {
10960		return invalidParams
10961	}
10962	return nil
10963}
10964
10965// SetKmsKeyId sets the KmsKeyId field's value.
10966func (s *OutputDataConfig) SetKmsKeyId(v string) *OutputDataConfig {
10967	s.KmsKeyId = &v
10968	return s
10969}
10970
10971// SetS3Uri sets the S3Uri field's value.
10972func (s *OutputDataConfig) SetS3Uri(v string) *OutputDataConfig {
10973	s.S3Uri = &v
10974	return s
10975}
10976
10977// Identifies the part of speech represented by the token and gives the confidence
10978// that Amazon Comprehend has that the part of speech was correctly identified.
10979// For more information about the parts of speech that Amazon Comprehend can
10980// identify, see how-syntax.
10981type PartOfSpeechTag struct {
10982	_ struct{} `type:"structure"`
10983
10984	// The confidence that Amazon Comprehend has that the part of speech was correctly
10985	// identified.
10986	Score *float64 `type:"float"`
10987
10988	// Identifies the part of speech that the token represents.
10989	Tag *string `type:"string" enum:"PartOfSpeechTagType"`
10990}
10991
10992// String returns the string representation
10993func (s PartOfSpeechTag) String() string {
10994	return awsutil.Prettify(s)
10995}
10996
10997// GoString returns the string representation
10998func (s PartOfSpeechTag) GoString() string {
10999	return s.String()
11000}
11001
11002// SetScore sets the Score field's value.
11003func (s *PartOfSpeechTag) SetScore(v float64) *PartOfSpeechTag {
11004	s.Score = &v
11005	return s
11006}
11007
11008// SetTag sets the Tag field's value.
11009func (s *PartOfSpeechTag) SetTag(v string) *PartOfSpeechTag {
11010	s.Tag = &v
11011	return s
11012}
11013
11014// Provides information for filtering a list of dominant language detection
11015// jobs. For more information, see the operation.
11016type SentimentDetectionJobFilter struct {
11017	_ struct{} `type:"structure"`
11018
11019	// Filters on the name of the job.
11020	JobName *string `min:"1" type:"string"`
11021
11022	// Filters the list of jobs based on job status. Returns only jobs with the
11023	// specified status.
11024	JobStatus *string `type:"string" enum:"JobStatus"`
11025
11026	// Filters the list of jobs based on the time that the job was submitted for
11027	// processing. Returns only jobs submitted after the specified time. Jobs are
11028	// returned in descending order, newest to oldest.
11029	SubmitTimeAfter *time.Time `type:"timestamp"`
11030
11031	// Filters the list of jobs based on the time that the job was submitted for
11032	// processing. Returns only jobs submitted before the specified time. Jobs are
11033	// returned in ascending order, oldest to newest.
11034	SubmitTimeBefore *time.Time `type:"timestamp"`
11035}
11036
11037// String returns the string representation
11038func (s SentimentDetectionJobFilter) String() string {
11039	return awsutil.Prettify(s)
11040}
11041
11042// GoString returns the string representation
11043func (s SentimentDetectionJobFilter) GoString() string {
11044	return s.String()
11045}
11046
11047// Validate inspects the fields of the type to determine if they are valid.
11048func (s *SentimentDetectionJobFilter) Validate() error {
11049	invalidParams := request.ErrInvalidParams{Context: "SentimentDetectionJobFilter"}
11050	if s.JobName != nil && len(*s.JobName) < 1 {
11051		invalidParams.Add(request.NewErrParamMinLen("JobName", 1))
11052	}
11053
11054	if invalidParams.Len() > 0 {
11055		return invalidParams
11056	}
11057	return nil
11058}
11059
11060// SetJobName sets the JobName field's value.
11061func (s *SentimentDetectionJobFilter) SetJobName(v string) *SentimentDetectionJobFilter {
11062	s.JobName = &v
11063	return s
11064}
11065
11066// SetJobStatus sets the JobStatus field's value.
11067func (s *SentimentDetectionJobFilter) SetJobStatus(v string) *SentimentDetectionJobFilter {
11068	s.JobStatus = &v
11069	return s
11070}
11071
11072// SetSubmitTimeAfter sets the SubmitTimeAfter field's value.
11073func (s *SentimentDetectionJobFilter) SetSubmitTimeAfter(v time.Time) *SentimentDetectionJobFilter {
11074	s.SubmitTimeAfter = &v
11075	return s
11076}
11077
11078// SetSubmitTimeBefore sets the SubmitTimeBefore field's value.
11079func (s *SentimentDetectionJobFilter) SetSubmitTimeBefore(v time.Time) *SentimentDetectionJobFilter {
11080	s.SubmitTimeBefore = &v
11081	return s
11082}
11083
11084// Provides information about a sentiment detection job.
11085type SentimentDetectionJobProperties struct {
11086	_ struct{} `type:"structure"`
11087
11088	// The Amazon Resource Name (ARN) that gives Amazon Comprehend read access to
11089	// your input data.
11090	DataAccessRoleArn *string `min:"20" type:"string"`
11091
11092	// The time that the sentiment detection job ended.
11093	EndTime *time.Time `type:"timestamp"`
11094
11095	// The input data configuration that you supplied when you created the sentiment
11096	// detection job.
11097	InputDataConfig *InputDataConfig `type:"structure"`
11098
11099	// The identifier assigned to the sentiment detection job.
11100	JobId *string `min:"1" type:"string"`
11101
11102	// The name that you assigned to the sentiment detection job
11103	JobName *string `min:"1" type:"string"`
11104
11105	// The current status of the sentiment detection job. If the status is FAILED,
11106	// the Messages field shows the reason for the failure.
11107	JobStatus *string `type:"string" enum:"JobStatus"`
11108
11109	// The language code of the input documents.
11110	LanguageCode *string `type:"string" enum:"LanguageCode"`
11111
11112	// A description of the status of a job.
11113	Message *string `type:"string"`
11114
11115	// The output data configuration that you supplied when you created the sentiment
11116	// detection job.
11117	OutputDataConfig *OutputDataConfig `type:"structure"`
11118
11119	// The time that the sentiment detection job was submitted for processing.
11120	SubmitTime *time.Time `type:"timestamp"`
11121
11122	// ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses
11123	// to encrypt data on the storage volume attached to the ML compute instance(s)
11124	// that process the analysis job. The VolumeKmsKeyId can be either of the following
11125	// formats:
11126	//
11127	//    * KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab"
11128	//
11129	//    * Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
11130	VolumeKmsKeyId *string `type:"string"`
11131
11132	// Configuration parameters for a private Virtual Private Cloud (VPC) containing
11133	// the resources you are using for your sentiment detection job. For more information,
11134	// see Amazon VPC (https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html).
11135	VpcConfig *VpcConfig `type:"structure"`
11136}
11137
11138// String returns the string representation
11139func (s SentimentDetectionJobProperties) String() string {
11140	return awsutil.Prettify(s)
11141}
11142
11143// GoString returns the string representation
11144func (s SentimentDetectionJobProperties) GoString() string {
11145	return s.String()
11146}
11147
11148// SetDataAccessRoleArn sets the DataAccessRoleArn field's value.
11149func (s *SentimentDetectionJobProperties) SetDataAccessRoleArn(v string) *SentimentDetectionJobProperties {
11150	s.DataAccessRoleArn = &v
11151	return s
11152}
11153
11154// SetEndTime sets the EndTime field's value.
11155func (s *SentimentDetectionJobProperties) SetEndTime(v time.Time) *SentimentDetectionJobProperties {
11156	s.EndTime = &v
11157	return s
11158}
11159
11160// SetInputDataConfig sets the InputDataConfig field's value.
11161func (s *SentimentDetectionJobProperties) SetInputDataConfig(v *InputDataConfig) *SentimentDetectionJobProperties {
11162	s.InputDataConfig = v
11163	return s
11164}
11165
11166// SetJobId sets the JobId field's value.
11167func (s *SentimentDetectionJobProperties) SetJobId(v string) *SentimentDetectionJobProperties {
11168	s.JobId = &v
11169	return s
11170}
11171
11172// SetJobName sets the JobName field's value.
11173func (s *SentimentDetectionJobProperties) SetJobName(v string) *SentimentDetectionJobProperties {
11174	s.JobName = &v
11175	return s
11176}
11177
11178// SetJobStatus sets the JobStatus field's value.
11179func (s *SentimentDetectionJobProperties) SetJobStatus(v string) *SentimentDetectionJobProperties {
11180	s.JobStatus = &v
11181	return s
11182}
11183
11184// SetLanguageCode sets the LanguageCode field's value.
11185func (s *SentimentDetectionJobProperties) SetLanguageCode(v string) *SentimentDetectionJobProperties {
11186	s.LanguageCode = &v
11187	return s
11188}
11189
11190// SetMessage sets the Message field's value.
11191func (s *SentimentDetectionJobProperties) SetMessage(v string) *SentimentDetectionJobProperties {
11192	s.Message = &v
11193	return s
11194}
11195
11196// SetOutputDataConfig sets the OutputDataConfig field's value.
11197func (s *SentimentDetectionJobProperties) SetOutputDataConfig(v *OutputDataConfig) *SentimentDetectionJobProperties {
11198	s.OutputDataConfig = v
11199	return s
11200}
11201
11202// SetSubmitTime sets the SubmitTime field's value.
11203func (s *SentimentDetectionJobProperties) SetSubmitTime(v time.Time) *SentimentDetectionJobProperties {
11204	s.SubmitTime = &v
11205	return s
11206}
11207
11208// SetVolumeKmsKeyId sets the VolumeKmsKeyId field's value.
11209func (s *SentimentDetectionJobProperties) SetVolumeKmsKeyId(v string) *SentimentDetectionJobProperties {
11210	s.VolumeKmsKeyId = &v
11211	return s
11212}
11213
11214// SetVpcConfig sets the VpcConfig field's value.
11215func (s *SentimentDetectionJobProperties) SetVpcConfig(v *VpcConfig) *SentimentDetectionJobProperties {
11216	s.VpcConfig = v
11217	return s
11218}
11219
11220// Describes the level of confidence that Amazon Comprehend has in the accuracy
11221// of its detection of sentiments.
11222type SentimentScore struct {
11223	_ struct{} `type:"structure"`
11224
11225	// The level of confidence that Amazon Comprehend has in the accuracy of its
11226	// detection of the MIXED sentiment.
11227	Mixed *float64 `type:"float"`
11228
11229	// The level of confidence that Amazon Comprehend has in the accuracy of its
11230	// detection of the NEGATIVE sentiment.
11231	Negative *float64 `type:"float"`
11232
11233	// The level of confidence that Amazon Comprehend has in the accuracy of its
11234	// detection of the NEUTRAL sentiment.
11235	Neutral *float64 `type:"float"`
11236
11237	// The level of confidence that Amazon Comprehend has in the accuracy of its
11238	// detection of the POSITIVE sentiment.
11239	Positive *float64 `type:"float"`
11240}
11241
11242// String returns the string representation
11243func (s SentimentScore) String() string {
11244	return awsutil.Prettify(s)
11245}
11246
11247// GoString returns the string representation
11248func (s SentimentScore) GoString() string {
11249	return s.String()
11250}
11251
11252// SetMixed sets the Mixed field's value.
11253func (s *SentimentScore) SetMixed(v float64) *SentimentScore {
11254	s.Mixed = &v
11255	return s
11256}
11257
11258// SetNegative sets the Negative field's value.
11259func (s *SentimentScore) SetNegative(v float64) *SentimentScore {
11260	s.Negative = &v
11261	return s
11262}
11263
11264// SetNeutral sets the Neutral field's value.
11265func (s *SentimentScore) SetNeutral(v float64) *SentimentScore {
11266	s.Neutral = &v
11267	return s
11268}
11269
11270// SetPositive sets the Positive field's value.
11271func (s *SentimentScore) SetPositive(v float64) *SentimentScore {
11272	s.Positive = &v
11273	return s
11274}
11275
11276type StartDocumentClassificationJobInput struct {
11277	_ struct{} `type:"structure"`
11278
11279	// A unique identifier for the request. If you do not set the client request
11280	// token, Amazon Comprehend generates one.
11281	ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
11282
11283	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
11284	// (IAM) role that grants Amazon Comprehend read access to your input data.
11285	//
11286	// DataAccessRoleArn is a required field
11287	DataAccessRoleArn *string `min:"20" type:"string" required:"true"`
11288
11289	// The Amazon Resource Name (ARN) of the document classifier to use to process
11290	// the job.
11291	//
11292	// DocumentClassifierArn is a required field
11293	DocumentClassifierArn *string `type:"string" required:"true"`
11294
11295	// Specifies the format and location of the input data for the job.
11296	//
11297	// InputDataConfig is a required field
11298	InputDataConfig *InputDataConfig `type:"structure" required:"true"`
11299
11300	// The identifier of the job.
11301	JobName *string `min:"1" type:"string"`
11302
11303	// Specifies where to send the output files.
11304	//
11305	// OutputDataConfig is a required field
11306	OutputDataConfig *OutputDataConfig `type:"structure" required:"true"`
11307
11308	// ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses
11309	// to encrypt data on the storage volume attached to the ML compute instance(s)
11310	// that process the analysis job. The VolumeKmsKeyId can be either of the following
11311	// formats:
11312	//
11313	//    * KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab"
11314	//
11315	//    * Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
11316	VolumeKmsKeyId *string `type:"string"`
11317
11318	// Configuration parameters for an optional private Virtual Private Cloud (VPC)
11319	// containing the resources you are using for your document classification job.
11320	// For more information, see Amazon VPC (https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html).
11321	VpcConfig *VpcConfig `type:"structure"`
11322}
11323
11324// String returns the string representation
11325func (s StartDocumentClassificationJobInput) String() string {
11326	return awsutil.Prettify(s)
11327}
11328
11329// GoString returns the string representation
11330func (s StartDocumentClassificationJobInput) GoString() string {
11331	return s.String()
11332}
11333
11334// Validate inspects the fields of the type to determine if they are valid.
11335func (s *StartDocumentClassificationJobInput) Validate() error {
11336	invalidParams := request.ErrInvalidParams{Context: "StartDocumentClassificationJobInput"}
11337	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
11338		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
11339	}
11340	if s.DataAccessRoleArn == nil {
11341		invalidParams.Add(request.NewErrParamRequired("DataAccessRoleArn"))
11342	}
11343	if s.DataAccessRoleArn != nil && len(*s.DataAccessRoleArn) < 20 {
11344		invalidParams.Add(request.NewErrParamMinLen("DataAccessRoleArn", 20))
11345	}
11346	if s.DocumentClassifierArn == nil {
11347		invalidParams.Add(request.NewErrParamRequired("DocumentClassifierArn"))
11348	}
11349	if s.InputDataConfig == nil {
11350		invalidParams.Add(request.NewErrParamRequired("InputDataConfig"))
11351	}
11352	if s.JobName != nil && len(*s.JobName) < 1 {
11353		invalidParams.Add(request.NewErrParamMinLen("JobName", 1))
11354	}
11355	if s.OutputDataConfig == nil {
11356		invalidParams.Add(request.NewErrParamRequired("OutputDataConfig"))
11357	}
11358	if s.InputDataConfig != nil {
11359		if err := s.InputDataConfig.Validate(); err != nil {
11360			invalidParams.AddNested("InputDataConfig", err.(request.ErrInvalidParams))
11361		}
11362	}
11363	if s.OutputDataConfig != nil {
11364		if err := s.OutputDataConfig.Validate(); err != nil {
11365			invalidParams.AddNested("OutputDataConfig", err.(request.ErrInvalidParams))
11366		}
11367	}
11368	if s.VpcConfig != nil {
11369		if err := s.VpcConfig.Validate(); err != nil {
11370			invalidParams.AddNested("VpcConfig", err.(request.ErrInvalidParams))
11371		}
11372	}
11373
11374	if invalidParams.Len() > 0 {
11375		return invalidParams
11376	}
11377	return nil
11378}
11379
11380// SetClientRequestToken sets the ClientRequestToken field's value.
11381func (s *StartDocumentClassificationJobInput) SetClientRequestToken(v string) *StartDocumentClassificationJobInput {
11382	s.ClientRequestToken = &v
11383	return s
11384}
11385
11386// SetDataAccessRoleArn sets the DataAccessRoleArn field's value.
11387func (s *StartDocumentClassificationJobInput) SetDataAccessRoleArn(v string) *StartDocumentClassificationJobInput {
11388	s.DataAccessRoleArn = &v
11389	return s
11390}
11391
11392// SetDocumentClassifierArn sets the DocumentClassifierArn field's value.
11393func (s *StartDocumentClassificationJobInput) SetDocumentClassifierArn(v string) *StartDocumentClassificationJobInput {
11394	s.DocumentClassifierArn = &v
11395	return s
11396}
11397
11398// SetInputDataConfig sets the InputDataConfig field's value.
11399func (s *StartDocumentClassificationJobInput) SetInputDataConfig(v *InputDataConfig) *StartDocumentClassificationJobInput {
11400	s.InputDataConfig = v
11401	return s
11402}
11403
11404// SetJobName sets the JobName field's value.
11405func (s *StartDocumentClassificationJobInput) SetJobName(v string) *StartDocumentClassificationJobInput {
11406	s.JobName = &v
11407	return s
11408}
11409
11410// SetOutputDataConfig sets the OutputDataConfig field's value.
11411func (s *StartDocumentClassificationJobInput) SetOutputDataConfig(v *OutputDataConfig) *StartDocumentClassificationJobInput {
11412	s.OutputDataConfig = v
11413	return s
11414}
11415
11416// SetVolumeKmsKeyId sets the VolumeKmsKeyId field's value.
11417func (s *StartDocumentClassificationJobInput) SetVolumeKmsKeyId(v string) *StartDocumentClassificationJobInput {
11418	s.VolumeKmsKeyId = &v
11419	return s
11420}
11421
11422// SetVpcConfig sets the VpcConfig field's value.
11423func (s *StartDocumentClassificationJobInput) SetVpcConfig(v *VpcConfig) *StartDocumentClassificationJobInput {
11424	s.VpcConfig = v
11425	return s
11426}
11427
11428type StartDocumentClassificationJobOutput struct {
11429	_ struct{} `type:"structure"`
11430
11431	// The identifier generated for the job. To get the status of the job, use this
11432	// identifier with the operation.
11433	JobId *string `min:"1" type:"string"`
11434
11435	// The status of the job:
11436	//
11437	//    * SUBMITTED - The job has been received and queued for processing.
11438	//
11439	//    * IN_PROGRESS - Amazon Comprehend is processing the job.
11440	//
11441	//    * COMPLETED - The job was successfully completed and the output is available.
11442	//
11443	//    * FAILED - The job did not complete. For details, use the operation.
11444	//
11445	//    * STOP_REQUESTED - Amazon Comprehend has received a stop request for the
11446	//    job and is processing the request.
11447	//
11448	//    * STOPPED - The job was successfully stopped without completing.
11449	JobStatus *string `type:"string" enum:"JobStatus"`
11450}
11451
11452// String returns the string representation
11453func (s StartDocumentClassificationJobOutput) String() string {
11454	return awsutil.Prettify(s)
11455}
11456
11457// GoString returns the string representation
11458func (s StartDocumentClassificationJobOutput) GoString() string {
11459	return s.String()
11460}
11461
11462// SetJobId sets the JobId field's value.
11463func (s *StartDocumentClassificationJobOutput) SetJobId(v string) *StartDocumentClassificationJobOutput {
11464	s.JobId = &v
11465	return s
11466}
11467
11468// SetJobStatus sets the JobStatus field's value.
11469func (s *StartDocumentClassificationJobOutput) SetJobStatus(v string) *StartDocumentClassificationJobOutput {
11470	s.JobStatus = &v
11471	return s
11472}
11473
11474type StartDominantLanguageDetectionJobInput struct {
11475	_ struct{} `type:"structure"`
11476
11477	// A unique identifier for the request. If you do not set the client request
11478	// token, Amazon Comprehend generates one.
11479	ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
11480
11481	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
11482	// (IAM) role that grants Amazon Comprehend read access to your input data.
11483	// For more information, see https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions
11484	// (https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions).
11485	//
11486	// DataAccessRoleArn is a required field
11487	DataAccessRoleArn *string `min:"20" type:"string" required:"true"`
11488
11489	// Specifies the format and location of the input data for the job.
11490	//
11491	// InputDataConfig is a required field
11492	InputDataConfig *InputDataConfig `type:"structure" required:"true"`
11493
11494	// An identifier for the job.
11495	JobName *string `min:"1" type:"string"`
11496
11497	// Specifies where to send the output files.
11498	//
11499	// OutputDataConfig is a required field
11500	OutputDataConfig *OutputDataConfig `type:"structure" required:"true"`
11501
11502	// ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses
11503	// to encrypt data on the storage volume attached to the ML compute instance(s)
11504	// that process the analysis job. The VolumeKmsKeyId can be either of the following
11505	// formats:
11506	//
11507	//    * KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab"
11508	//
11509	//    * Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
11510	VolumeKmsKeyId *string `type:"string"`
11511
11512	// Configuration parameters for an optional private Virtual Private Cloud (VPC)
11513	// containing the resources you are using for your dominant language detection
11514	// job. For more information, see Amazon VPC (https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html).
11515	VpcConfig *VpcConfig `type:"structure"`
11516}
11517
11518// String returns the string representation
11519func (s StartDominantLanguageDetectionJobInput) String() string {
11520	return awsutil.Prettify(s)
11521}
11522
11523// GoString returns the string representation
11524func (s StartDominantLanguageDetectionJobInput) GoString() string {
11525	return s.String()
11526}
11527
11528// Validate inspects the fields of the type to determine if they are valid.
11529func (s *StartDominantLanguageDetectionJobInput) Validate() error {
11530	invalidParams := request.ErrInvalidParams{Context: "StartDominantLanguageDetectionJobInput"}
11531	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
11532		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
11533	}
11534	if s.DataAccessRoleArn == nil {
11535		invalidParams.Add(request.NewErrParamRequired("DataAccessRoleArn"))
11536	}
11537	if s.DataAccessRoleArn != nil && len(*s.DataAccessRoleArn) < 20 {
11538		invalidParams.Add(request.NewErrParamMinLen("DataAccessRoleArn", 20))
11539	}
11540	if s.InputDataConfig == nil {
11541		invalidParams.Add(request.NewErrParamRequired("InputDataConfig"))
11542	}
11543	if s.JobName != nil && len(*s.JobName) < 1 {
11544		invalidParams.Add(request.NewErrParamMinLen("JobName", 1))
11545	}
11546	if s.OutputDataConfig == nil {
11547		invalidParams.Add(request.NewErrParamRequired("OutputDataConfig"))
11548	}
11549	if s.InputDataConfig != nil {
11550		if err := s.InputDataConfig.Validate(); err != nil {
11551			invalidParams.AddNested("InputDataConfig", err.(request.ErrInvalidParams))
11552		}
11553	}
11554	if s.OutputDataConfig != nil {
11555		if err := s.OutputDataConfig.Validate(); err != nil {
11556			invalidParams.AddNested("OutputDataConfig", err.(request.ErrInvalidParams))
11557		}
11558	}
11559	if s.VpcConfig != nil {
11560		if err := s.VpcConfig.Validate(); err != nil {
11561			invalidParams.AddNested("VpcConfig", err.(request.ErrInvalidParams))
11562		}
11563	}
11564
11565	if invalidParams.Len() > 0 {
11566		return invalidParams
11567	}
11568	return nil
11569}
11570
11571// SetClientRequestToken sets the ClientRequestToken field's value.
11572func (s *StartDominantLanguageDetectionJobInput) SetClientRequestToken(v string) *StartDominantLanguageDetectionJobInput {
11573	s.ClientRequestToken = &v
11574	return s
11575}
11576
11577// SetDataAccessRoleArn sets the DataAccessRoleArn field's value.
11578func (s *StartDominantLanguageDetectionJobInput) SetDataAccessRoleArn(v string) *StartDominantLanguageDetectionJobInput {
11579	s.DataAccessRoleArn = &v
11580	return s
11581}
11582
11583// SetInputDataConfig sets the InputDataConfig field's value.
11584func (s *StartDominantLanguageDetectionJobInput) SetInputDataConfig(v *InputDataConfig) *StartDominantLanguageDetectionJobInput {
11585	s.InputDataConfig = v
11586	return s
11587}
11588
11589// SetJobName sets the JobName field's value.
11590func (s *StartDominantLanguageDetectionJobInput) SetJobName(v string) *StartDominantLanguageDetectionJobInput {
11591	s.JobName = &v
11592	return s
11593}
11594
11595// SetOutputDataConfig sets the OutputDataConfig field's value.
11596func (s *StartDominantLanguageDetectionJobInput) SetOutputDataConfig(v *OutputDataConfig) *StartDominantLanguageDetectionJobInput {
11597	s.OutputDataConfig = v
11598	return s
11599}
11600
11601// SetVolumeKmsKeyId sets the VolumeKmsKeyId field's value.
11602func (s *StartDominantLanguageDetectionJobInput) SetVolumeKmsKeyId(v string) *StartDominantLanguageDetectionJobInput {
11603	s.VolumeKmsKeyId = &v
11604	return s
11605}
11606
11607// SetVpcConfig sets the VpcConfig field's value.
11608func (s *StartDominantLanguageDetectionJobInput) SetVpcConfig(v *VpcConfig) *StartDominantLanguageDetectionJobInput {
11609	s.VpcConfig = v
11610	return s
11611}
11612
11613type StartDominantLanguageDetectionJobOutput struct {
11614	_ struct{} `type:"structure"`
11615
11616	// The identifier generated for the job. To get the status of a job, use this
11617	// identifier with the operation.
11618	JobId *string `min:"1" type:"string"`
11619
11620	// The status of the job.
11621	//
11622	//    * SUBMITTED - The job has been received and is queued for processing.
11623	//
11624	//    * IN_PROGRESS - Amazon Comprehend is processing the job.
11625	//
11626	//    * COMPLETED - The job was successfully completed and the output is available.
11627	//
11628	//    * FAILED - The job did not complete. To get details, use the operation.
11629	JobStatus *string `type:"string" enum:"JobStatus"`
11630}
11631
11632// String returns the string representation
11633func (s StartDominantLanguageDetectionJobOutput) String() string {
11634	return awsutil.Prettify(s)
11635}
11636
11637// GoString returns the string representation
11638func (s StartDominantLanguageDetectionJobOutput) GoString() string {
11639	return s.String()
11640}
11641
11642// SetJobId sets the JobId field's value.
11643func (s *StartDominantLanguageDetectionJobOutput) SetJobId(v string) *StartDominantLanguageDetectionJobOutput {
11644	s.JobId = &v
11645	return s
11646}
11647
11648// SetJobStatus sets the JobStatus field's value.
11649func (s *StartDominantLanguageDetectionJobOutput) SetJobStatus(v string) *StartDominantLanguageDetectionJobOutput {
11650	s.JobStatus = &v
11651	return s
11652}
11653
11654type StartEntitiesDetectionJobInput struct {
11655	_ struct{} `type:"structure"`
11656
11657	// A unique identifier for the request. If you don't set the client request
11658	// token, Amazon Comprehend generates one.
11659	ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
11660
11661	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
11662	// (IAM) role that grants Amazon Comprehend read access to your input data.
11663	// For more information, see https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions
11664	// (https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions).
11665	//
11666	// DataAccessRoleArn is a required field
11667	DataAccessRoleArn *string `min:"20" type:"string" required:"true"`
11668
11669	// The Amazon Resource Name (ARN) that identifies the specific entity recognizer
11670	// to be used by the StartEntitiesDetectionJob. This ARN is optional and is
11671	// only used for a custom entity recognition job.
11672	EntityRecognizerArn *string `type:"string"`
11673
11674	// Specifies the format and location of the input data for the job.
11675	//
11676	// InputDataConfig is a required field
11677	InputDataConfig *InputDataConfig `type:"structure" required:"true"`
11678
11679	// The identifier of the job.
11680	JobName *string `min:"1" type:"string"`
11681
11682	// The language of the input documents. All documents must be in the same language.
11683	// You can specify any of the languages supported by Amazon Comprehend. If custom
11684	// entities recognition is used, this parameter is ignored and the language
11685	// used for training the model is used instead.
11686	//
11687	// LanguageCode is a required field
11688	LanguageCode *string `type:"string" required:"true" enum:"LanguageCode"`
11689
11690	// Specifies where to send the output files.
11691	//
11692	// OutputDataConfig is a required field
11693	OutputDataConfig *OutputDataConfig `type:"structure" required:"true"`
11694
11695	// ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses
11696	// to encrypt data on the storage volume attached to the ML compute instance(s)
11697	// that process the analysis job. The VolumeKmsKeyId can be either of the following
11698	// formats:
11699	//
11700	//    * KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab"
11701	//
11702	//    * Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
11703	VolumeKmsKeyId *string `type:"string"`
11704
11705	// Configuration parameters for an optional private Virtual Private Cloud (VPC)
11706	// containing the resources you are using for your entity detection job. For
11707	// more information, see Amazon VPC (https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html).
11708	VpcConfig *VpcConfig `type:"structure"`
11709}
11710
11711// String returns the string representation
11712func (s StartEntitiesDetectionJobInput) String() string {
11713	return awsutil.Prettify(s)
11714}
11715
11716// GoString returns the string representation
11717func (s StartEntitiesDetectionJobInput) GoString() string {
11718	return s.String()
11719}
11720
11721// Validate inspects the fields of the type to determine if they are valid.
11722func (s *StartEntitiesDetectionJobInput) Validate() error {
11723	invalidParams := request.ErrInvalidParams{Context: "StartEntitiesDetectionJobInput"}
11724	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
11725		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
11726	}
11727	if s.DataAccessRoleArn == nil {
11728		invalidParams.Add(request.NewErrParamRequired("DataAccessRoleArn"))
11729	}
11730	if s.DataAccessRoleArn != nil && len(*s.DataAccessRoleArn) < 20 {
11731		invalidParams.Add(request.NewErrParamMinLen("DataAccessRoleArn", 20))
11732	}
11733	if s.InputDataConfig == nil {
11734		invalidParams.Add(request.NewErrParamRequired("InputDataConfig"))
11735	}
11736	if s.JobName != nil && len(*s.JobName) < 1 {
11737		invalidParams.Add(request.NewErrParamMinLen("JobName", 1))
11738	}
11739	if s.LanguageCode == nil {
11740		invalidParams.Add(request.NewErrParamRequired("LanguageCode"))
11741	}
11742	if s.OutputDataConfig == nil {
11743		invalidParams.Add(request.NewErrParamRequired("OutputDataConfig"))
11744	}
11745	if s.InputDataConfig != nil {
11746		if err := s.InputDataConfig.Validate(); err != nil {
11747			invalidParams.AddNested("InputDataConfig", err.(request.ErrInvalidParams))
11748		}
11749	}
11750	if s.OutputDataConfig != nil {
11751		if err := s.OutputDataConfig.Validate(); err != nil {
11752			invalidParams.AddNested("OutputDataConfig", err.(request.ErrInvalidParams))
11753		}
11754	}
11755	if s.VpcConfig != nil {
11756		if err := s.VpcConfig.Validate(); err != nil {
11757			invalidParams.AddNested("VpcConfig", err.(request.ErrInvalidParams))
11758		}
11759	}
11760
11761	if invalidParams.Len() > 0 {
11762		return invalidParams
11763	}
11764	return nil
11765}
11766
11767// SetClientRequestToken sets the ClientRequestToken field's value.
11768func (s *StartEntitiesDetectionJobInput) SetClientRequestToken(v string) *StartEntitiesDetectionJobInput {
11769	s.ClientRequestToken = &v
11770	return s
11771}
11772
11773// SetDataAccessRoleArn sets the DataAccessRoleArn field's value.
11774func (s *StartEntitiesDetectionJobInput) SetDataAccessRoleArn(v string) *StartEntitiesDetectionJobInput {
11775	s.DataAccessRoleArn = &v
11776	return s
11777}
11778
11779// SetEntityRecognizerArn sets the EntityRecognizerArn field's value.
11780func (s *StartEntitiesDetectionJobInput) SetEntityRecognizerArn(v string) *StartEntitiesDetectionJobInput {
11781	s.EntityRecognizerArn = &v
11782	return s
11783}
11784
11785// SetInputDataConfig sets the InputDataConfig field's value.
11786func (s *StartEntitiesDetectionJobInput) SetInputDataConfig(v *InputDataConfig) *StartEntitiesDetectionJobInput {
11787	s.InputDataConfig = v
11788	return s
11789}
11790
11791// SetJobName sets the JobName field's value.
11792func (s *StartEntitiesDetectionJobInput) SetJobName(v string) *StartEntitiesDetectionJobInput {
11793	s.JobName = &v
11794	return s
11795}
11796
11797// SetLanguageCode sets the LanguageCode field's value.
11798func (s *StartEntitiesDetectionJobInput) SetLanguageCode(v string) *StartEntitiesDetectionJobInput {
11799	s.LanguageCode = &v
11800	return s
11801}
11802
11803// SetOutputDataConfig sets the OutputDataConfig field's value.
11804func (s *StartEntitiesDetectionJobInput) SetOutputDataConfig(v *OutputDataConfig) *StartEntitiesDetectionJobInput {
11805	s.OutputDataConfig = v
11806	return s
11807}
11808
11809// SetVolumeKmsKeyId sets the VolumeKmsKeyId field's value.
11810func (s *StartEntitiesDetectionJobInput) SetVolumeKmsKeyId(v string) *StartEntitiesDetectionJobInput {
11811	s.VolumeKmsKeyId = &v
11812	return s
11813}
11814
11815// SetVpcConfig sets the VpcConfig field's value.
11816func (s *StartEntitiesDetectionJobInput) SetVpcConfig(v *VpcConfig) *StartEntitiesDetectionJobInput {
11817	s.VpcConfig = v
11818	return s
11819}
11820
11821type StartEntitiesDetectionJobOutput struct {
11822	_ struct{} `type:"structure"`
11823
11824	// The identifier generated for the job. To get the status of job, use this
11825	// identifier with the operation.
11826	JobId *string `min:"1" type:"string"`
11827
11828	// The status of the job.
11829	//
11830	//    * SUBMITTED - The job has been received and is queued for processing.
11831	//
11832	//    * IN_PROGRESS - Amazon Comprehend is processing the job.
11833	//
11834	//    * COMPLETED - The job was successfully completed and the output is available.
11835	//
11836	//    * FAILED - The job did not complete. To get details, use the operation.
11837	//
11838	//    * STOP_REQUESTED - Amazon Comprehend has received a stop request for the
11839	//    job and is processing the request.
11840	//
11841	//    * STOPPED - The job was successfully stopped without completing.
11842	JobStatus *string `type:"string" enum:"JobStatus"`
11843}
11844
11845// String returns the string representation
11846func (s StartEntitiesDetectionJobOutput) String() string {
11847	return awsutil.Prettify(s)
11848}
11849
11850// GoString returns the string representation
11851func (s StartEntitiesDetectionJobOutput) GoString() string {
11852	return s.String()
11853}
11854
11855// SetJobId sets the JobId field's value.
11856func (s *StartEntitiesDetectionJobOutput) SetJobId(v string) *StartEntitiesDetectionJobOutput {
11857	s.JobId = &v
11858	return s
11859}
11860
11861// SetJobStatus sets the JobStatus field's value.
11862func (s *StartEntitiesDetectionJobOutput) SetJobStatus(v string) *StartEntitiesDetectionJobOutput {
11863	s.JobStatus = &v
11864	return s
11865}
11866
11867type StartKeyPhrasesDetectionJobInput struct {
11868	_ struct{} `type:"structure"`
11869
11870	// A unique identifier for the request. If you don't set the client request
11871	// token, Amazon Comprehend generates one.
11872	ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
11873
11874	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
11875	// (IAM) role that grants Amazon Comprehend read access to your input data.
11876	// For more information, see https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions
11877	// (https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions).
11878	//
11879	// DataAccessRoleArn is a required field
11880	DataAccessRoleArn *string `min:"20" type:"string" required:"true"`
11881
11882	// Specifies the format and location of the input data for the job.
11883	//
11884	// InputDataConfig is a required field
11885	InputDataConfig *InputDataConfig `type:"structure" required:"true"`
11886
11887	// The identifier of the job.
11888	JobName *string `min:"1" type:"string"`
11889
11890	// The language of the input documents. You can specify any of the primary languages
11891	// supported by Amazon Comprehend. All documents must be in the same language.
11892	//
11893	// LanguageCode is a required field
11894	LanguageCode *string `type:"string" required:"true" enum:"LanguageCode"`
11895
11896	// Specifies where to send the output files.
11897	//
11898	// OutputDataConfig is a required field
11899	OutputDataConfig *OutputDataConfig `type:"structure" required:"true"`
11900
11901	// ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses
11902	// to encrypt data on the storage volume attached to the ML compute instance(s)
11903	// that process the analysis job. The VolumeKmsKeyId can be either of the following
11904	// formats:
11905	//
11906	//    * KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab"
11907	//
11908	//    * Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
11909	VolumeKmsKeyId *string `type:"string"`
11910
11911	// Configuration parameters for an optional private Virtual Private Cloud (VPC)
11912	// containing the resources you are using for your key phrases detection job.
11913	// For more information, see Amazon VPC (https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html).
11914	VpcConfig *VpcConfig `type:"structure"`
11915}
11916
11917// String returns the string representation
11918func (s StartKeyPhrasesDetectionJobInput) String() string {
11919	return awsutil.Prettify(s)
11920}
11921
11922// GoString returns the string representation
11923func (s StartKeyPhrasesDetectionJobInput) GoString() string {
11924	return s.String()
11925}
11926
11927// Validate inspects the fields of the type to determine if they are valid.
11928func (s *StartKeyPhrasesDetectionJobInput) Validate() error {
11929	invalidParams := request.ErrInvalidParams{Context: "StartKeyPhrasesDetectionJobInput"}
11930	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
11931		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
11932	}
11933	if s.DataAccessRoleArn == nil {
11934		invalidParams.Add(request.NewErrParamRequired("DataAccessRoleArn"))
11935	}
11936	if s.DataAccessRoleArn != nil && len(*s.DataAccessRoleArn) < 20 {
11937		invalidParams.Add(request.NewErrParamMinLen("DataAccessRoleArn", 20))
11938	}
11939	if s.InputDataConfig == nil {
11940		invalidParams.Add(request.NewErrParamRequired("InputDataConfig"))
11941	}
11942	if s.JobName != nil && len(*s.JobName) < 1 {
11943		invalidParams.Add(request.NewErrParamMinLen("JobName", 1))
11944	}
11945	if s.LanguageCode == nil {
11946		invalidParams.Add(request.NewErrParamRequired("LanguageCode"))
11947	}
11948	if s.OutputDataConfig == nil {
11949		invalidParams.Add(request.NewErrParamRequired("OutputDataConfig"))
11950	}
11951	if s.InputDataConfig != nil {
11952		if err := s.InputDataConfig.Validate(); err != nil {
11953			invalidParams.AddNested("InputDataConfig", err.(request.ErrInvalidParams))
11954		}
11955	}
11956	if s.OutputDataConfig != nil {
11957		if err := s.OutputDataConfig.Validate(); err != nil {
11958			invalidParams.AddNested("OutputDataConfig", err.(request.ErrInvalidParams))
11959		}
11960	}
11961	if s.VpcConfig != nil {
11962		if err := s.VpcConfig.Validate(); err != nil {
11963			invalidParams.AddNested("VpcConfig", err.(request.ErrInvalidParams))
11964		}
11965	}
11966
11967	if invalidParams.Len() > 0 {
11968		return invalidParams
11969	}
11970	return nil
11971}
11972
11973// SetClientRequestToken sets the ClientRequestToken field's value.
11974func (s *StartKeyPhrasesDetectionJobInput) SetClientRequestToken(v string) *StartKeyPhrasesDetectionJobInput {
11975	s.ClientRequestToken = &v
11976	return s
11977}
11978
11979// SetDataAccessRoleArn sets the DataAccessRoleArn field's value.
11980func (s *StartKeyPhrasesDetectionJobInput) SetDataAccessRoleArn(v string) *StartKeyPhrasesDetectionJobInput {
11981	s.DataAccessRoleArn = &v
11982	return s
11983}
11984
11985// SetInputDataConfig sets the InputDataConfig field's value.
11986func (s *StartKeyPhrasesDetectionJobInput) SetInputDataConfig(v *InputDataConfig) *StartKeyPhrasesDetectionJobInput {
11987	s.InputDataConfig = v
11988	return s
11989}
11990
11991// SetJobName sets the JobName field's value.
11992func (s *StartKeyPhrasesDetectionJobInput) SetJobName(v string) *StartKeyPhrasesDetectionJobInput {
11993	s.JobName = &v
11994	return s
11995}
11996
11997// SetLanguageCode sets the LanguageCode field's value.
11998func (s *StartKeyPhrasesDetectionJobInput) SetLanguageCode(v string) *StartKeyPhrasesDetectionJobInput {
11999	s.LanguageCode = &v
12000	return s
12001}
12002
12003// SetOutputDataConfig sets the OutputDataConfig field's value.
12004func (s *StartKeyPhrasesDetectionJobInput) SetOutputDataConfig(v *OutputDataConfig) *StartKeyPhrasesDetectionJobInput {
12005	s.OutputDataConfig = v
12006	return s
12007}
12008
12009// SetVolumeKmsKeyId sets the VolumeKmsKeyId field's value.
12010func (s *StartKeyPhrasesDetectionJobInput) SetVolumeKmsKeyId(v string) *StartKeyPhrasesDetectionJobInput {
12011	s.VolumeKmsKeyId = &v
12012	return s
12013}
12014
12015// SetVpcConfig sets the VpcConfig field's value.
12016func (s *StartKeyPhrasesDetectionJobInput) SetVpcConfig(v *VpcConfig) *StartKeyPhrasesDetectionJobInput {
12017	s.VpcConfig = v
12018	return s
12019}
12020
12021type StartKeyPhrasesDetectionJobOutput struct {
12022	_ struct{} `type:"structure"`
12023
12024	// The identifier generated for the job. To get the status of a job, use this
12025	// identifier with the operation.
12026	JobId *string `min:"1" type:"string"`
12027
12028	// The status of the job.
12029	//
12030	//    * SUBMITTED - The job has been received and is queued for processing.
12031	//
12032	//    * IN_PROGRESS - Amazon Comprehend is processing the job.
12033	//
12034	//    * COMPLETED - The job was successfully completed and the output is available.
12035	//
12036	//    * FAILED - The job did not complete. To get details, use the operation.
12037	JobStatus *string `type:"string" enum:"JobStatus"`
12038}
12039
12040// String returns the string representation
12041func (s StartKeyPhrasesDetectionJobOutput) String() string {
12042	return awsutil.Prettify(s)
12043}
12044
12045// GoString returns the string representation
12046func (s StartKeyPhrasesDetectionJobOutput) GoString() string {
12047	return s.String()
12048}
12049
12050// SetJobId sets the JobId field's value.
12051func (s *StartKeyPhrasesDetectionJobOutput) SetJobId(v string) *StartKeyPhrasesDetectionJobOutput {
12052	s.JobId = &v
12053	return s
12054}
12055
12056// SetJobStatus sets the JobStatus field's value.
12057func (s *StartKeyPhrasesDetectionJobOutput) SetJobStatus(v string) *StartKeyPhrasesDetectionJobOutput {
12058	s.JobStatus = &v
12059	return s
12060}
12061
12062type StartSentimentDetectionJobInput struct {
12063	_ struct{} `type:"structure"`
12064
12065	// A unique identifier for the request. If you don't set the client request
12066	// token, Amazon Comprehend generates one.
12067	ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
12068
12069	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
12070	// (IAM) role that grants Amazon Comprehend read access to your input data.
12071	// For more information, see https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions
12072	// (https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions).
12073	//
12074	// DataAccessRoleArn is a required field
12075	DataAccessRoleArn *string `min:"20" type:"string" required:"true"`
12076
12077	// Specifies the format and location of the input data for the job.
12078	//
12079	// InputDataConfig is a required field
12080	InputDataConfig *InputDataConfig `type:"structure" required:"true"`
12081
12082	// The identifier of the job.
12083	JobName *string `min:"1" type:"string"`
12084
12085	// The language of the input documents. You can specify any of the primary languages
12086	// supported by Amazon Comprehend. All documents must be in the same language.
12087	//
12088	// LanguageCode is a required field
12089	LanguageCode *string `type:"string" required:"true" enum:"LanguageCode"`
12090
12091	// Specifies where to send the output files.
12092	//
12093	// OutputDataConfig is a required field
12094	OutputDataConfig *OutputDataConfig `type:"structure" required:"true"`
12095
12096	// ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses
12097	// to encrypt data on the storage volume attached to the ML compute instance(s)
12098	// that process the analysis job. The VolumeKmsKeyId can be either of the following
12099	// formats:
12100	//
12101	//    * KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab"
12102	//
12103	//    * Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
12104	VolumeKmsKeyId *string `type:"string"`
12105
12106	// Configuration parameters for an optional private Virtual Private Cloud (VPC)
12107	// containing the resources you are using for your sentiment detection job.
12108	// For more information, see Amazon VPC (https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html).
12109	VpcConfig *VpcConfig `type:"structure"`
12110}
12111
12112// String returns the string representation
12113func (s StartSentimentDetectionJobInput) String() string {
12114	return awsutil.Prettify(s)
12115}
12116
12117// GoString returns the string representation
12118func (s StartSentimentDetectionJobInput) GoString() string {
12119	return s.String()
12120}
12121
12122// Validate inspects the fields of the type to determine if they are valid.
12123func (s *StartSentimentDetectionJobInput) Validate() error {
12124	invalidParams := request.ErrInvalidParams{Context: "StartSentimentDetectionJobInput"}
12125	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
12126		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
12127	}
12128	if s.DataAccessRoleArn == nil {
12129		invalidParams.Add(request.NewErrParamRequired("DataAccessRoleArn"))
12130	}
12131	if s.DataAccessRoleArn != nil && len(*s.DataAccessRoleArn) < 20 {
12132		invalidParams.Add(request.NewErrParamMinLen("DataAccessRoleArn", 20))
12133	}
12134	if s.InputDataConfig == nil {
12135		invalidParams.Add(request.NewErrParamRequired("InputDataConfig"))
12136	}
12137	if s.JobName != nil && len(*s.JobName) < 1 {
12138		invalidParams.Add(request.NewErrParamMinLen("JobName", 1))
12139	}
12140	if s.LanguageCode == nil {
12141		invalidParams.Add(request.NewErrParamRequired("LanguageCode"))
12142	}
12143	if s.OutputDataConfig == nil {
12144		invalidParams.Add(request.NewErrParamRequired("OutputDataConfig"))
12145	}
12146	if s.InputDataConfig != nil {
12147		if err := s.InputDataConfig.Validate(); err != nil {
12148			invalidParams.AddNested("InputDataConfig", err.(request.ErrInvalidParams))
12149		}
12150	}
12151	if s.OutputDataConfig != nil {
12152		if err := s.OutputDataConfig.Validate(); err != nil {
12153			invalidParams.AddNested("OutputDataConfig", err.(request.ErrInvalidParams))
12154		}
12155	}
12156	if s.VpcConfig != nil {
12157		if err := s.VpcConfig.Validate(); err != nil {
12158			invalidParams.AddNested("VpcConfig", err.(request.ErrInvalidParams))
12159		}
12160	}
12161
12162	if invalidParams.Len() > 0 {
12163		return invalidParams
12164	}
12165	return nil
12166}
12167
12168// SetClientRequestToken sets the ClientRequestToken field's value.
12169func (s *StartSentimentDetectionJobInput) SetClientRequestToken(v string) *StartSentimentDetectionJobInput {
12170	s.ClientRequestToken = &v
12171	return s
12172}
12173
12174// SetDataAccessRoleArn sets the DataAccessRoleArn field's value.
12175func (s *StartSentimentDetectionJobInput) SetDataAccessRoleArn(v string) *StartSentimentDetectionJobInput {
12176	s.DataAccessRoleArn = &v
12177	return s
12178}
12179
12180// SetInputDataConfig sets the InputDataConfig field's value.
12181func (s *StartSentimentDetectionJobInput) SetInputDataConfig(v *InputDataConfig) *StartSentimentDetectionJobInput {
12182	s.InputDataConfig = v
12183	return s
12184}
12185
12186// SetJobName sets the JobName field's value.
12187func (s *StartSentimentDetectionJobInput) SetJobName(v string) *StartSentimentDetectionJobInput {
12188	s.JobName = &v
12189	return s
12190}
12191
12192// SetLanguageCode sets the LanguageCode field's value.
12193func (s *StartSentimentDetectionJobInput) SetLanguageCode(v string) *StartSentimentDetectionJobInput {
12194	s.LanguageCode = &v
12195	return s
12196}
12197
12198// SetOutputDataConfig sets the OutputDataConfig field's value.
12199func (s *StartSentimentDetectionJobInput) SetOutputDataConfig(v *OutputDataConfig) *StartSentimentDetectionJobInput {
12200	s.OutputDataConfig = v
12201	return s
12202}
12203
12204// SetVolumeKmsKeyId sets the VolumeKmsKeyId field's value.
12205func (s *StartSentimentDetectionJobInput) SetVolumeKmsKeyId(v string) *StartSentimentDetectionJobInput {
12206	s.VolumeKmsKeyId = &v
12207	return s
12208}
12209
12210// SetVpcConfig sets the VpcConfig field's value.
12211func (s *StartSentimentDetectionJobInput) SetVpcConfig(v *VpcConfig) *StartSentimentDetectionJobInput {
12212	s.VpcConfig = v
12213	return s
12214}
12215
12216type StartSentimentDetectionJobOutput struct {
12217	_ struct{} `type:"structure"`
12218
12219	// The identifier generated for the job. To get the status of a job, use this
12220	// identifier with the operation.
12221	JobId *string `min:"1" type:"string"`
12222
12223	// The status of the job.
12224	//
12225	//    * SUBMITTED - The job has been received and is queued for processing.
12226	//
12227	//    * IN_PROGRESS - Amazon Comprehend is processing the job.
12228	//
12229	//    * COMPLETED - The job was successfully completed and the output is available.
12230	//
12231	//    * FAILED - The job did not complete. To get details, use the operation.
12232	JobStatus *string `type:"string" enum:"JobStatus"`
12233}
12234
12235// String returns the string representation
12236func (s StartSentimentDetectionJobOutput) String() string {
12237	return awsutil.Prettify(s)
12238}
12239
12240// GoString returns the string representation
12241func (s StartSentimentDetectionJobOutput) GoString() string {
12242	return s.String()
12243}
12244
12245// SetJobId sets the JobId field's value.
12246func (s *StartSentimentDetectionJobOutput) SetJobId(v string) *StartSentimentDetectionJobOutput {
12247	s.JobId = &v
12248	return s
12249}
12250
12251// SetJobStatus sets the JobStatus field's value.
12252func (s *StartSentimentDetectionJobOutput) SetJobStatus(v string) *StartSentimentDetectionJobOutput {
12253	s.JobStatus = &v
12254	return s
12255}
12256
12257type StartTopicsDetectionJobInput struct {
12258	_ struct{} `type:"structure"`
12259
12260	// A unique identifier for the request. If you do not set the client request
12261	// token, Amazon Comprehend generates one.
12262	ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
12263
12264	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
12265	// (IAM) role that grants Amazon Comprehend read access to your input data.
12266	// For more information, see https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions
12267	// (https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions).
12268	//
12269	// DataAccessRoleArn is a required field
12270	DataAccessRoleArn *string `min:"20" type:"string" required:"true"`
12271
12272	// Specifies the format and location of the input data for the job.
12273	//
12274	// InputDataConfig is a required field
12275	InputDataConfig *InputDataConfig `type:"structure" required:"true"`
12276
12277	// The identifier of the job.
12278	JobName *string `min:"1" type:"string"`
12279
12280	// The number of topics to detect.
12281	NumberOfTopics *int64 `min:"1" type:"integer"`
12282
12283	// Specifies where to send the output files. The output is a compressed archive
12284	// with two files, topic-terms.csv that lists the terms associated with each
12285	// topic, and doc-topics.csv that lists the documents associated with each topic
12286	//
12287	// OutputDataConfig is a required field
12288	OutputDataConfig *OutputDataConfig `type:"structure" required:"true"`
12289
12290	// ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses
12291	// to encrypt data on the storage volume attached to the ML compute instance(s)
12292	// that process the analysis job. The VolumeKmsKeyId can be either of the following
12293	// formats:
12294	//
12295	//    * KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab"
12296	//
12297	//    * Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
12298	VolumeKmsKeyId *string `type:"string"`
12299
12300	// Configuration parameters for an optional private Virtual Private Cloud (VPC)
12301	// containing the resources you are using for your topic detection job. For
12302	// more information, see Amazon VPC (https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html).
12303	VpcConfig *VpcConfig `type:"structure"`
12304}
12305
12306// String returns the string representation
12307func (s StartTopicsDetectionJobInput) String() string {
12308	return awsutil.Prettify(s)
12309}
12310
12311// GoString returns the string representation
12312func (s StartTopicsDetectionJobInput) GoString() string {
12313	return s.String()
12314}
12315
12316// Validate inspects the fields of the type to determine if they are valid.
12317func (s *StartTopicsDetectionJobInput) Validate() error {
12318	invalidParams := request.ErrInvalidParams{Context: "StartTopicsDetectionJobInput"}
12319	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
12320		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
12321	}
12322	if s.DataAccessRoleArn == nil {
12323		invalidParams.Add(request.NewErrParamRequired("DataAccessRoleArn"))
12324	}
12325	if s.DataAccessRoleArn != nil && len(*s.DataAccessRoleArn) < 20 {
12326		invalidParams.Add(request.NewErrParamMinLen("DataAccessRoleArn", 20))
12327	}
12328	if s.InputDataConfig == nil {
12329		invalidParams.Add(request.NewErrParamRequired("InputDataConfig"))
12330	}
12331	if s.JobName != nil && len(*s.JobName) < 1 {
12332		invalidParams.Add(request.NewErrParamMinLen("JobName", 1))
12333	}
12334	if s.NumberOfTopics != nil && *s.NumberOfTopics < 1 {
12335		invalidParams.Add(request.NewErrParamMinValue("NumberOfTopics", 1))
12336	}
12337	if s.OutputDataConfig == nil {
12338		invalidParams.Add(request.NewErrParamRequired("OutputDataConfig"))
12339	}
12340	if s.InputDataConfig != nil {
12341		if err := s.InputDataConfig.Validate(); err != nil {
12342			invalidParams.AddNested("InputDataConfig", err.(request.ErrInvalidParams))
12343		}
12344	}
12345	if s.OutputDataConfig != nil {
12346		if err := s.OutputDataConfig.Validate(); err != nil {
12347			invalidParams.AddNested("OutputDataConfig", err.(request.ErrInvalidParams))
12348		}
12349	}
12350	if s.VpcConfig != nil {
12351		if err := s.VpcConfig.Validate(); err != nil {
12352			invalidParams.AddNested("VpcConfig", err.(request.ErrInvalidParams))
12353		}
12354	}
12355
12356	if invalidParams.Len() > 0 {
12357		return invalidParams
12358	}
12359	return nil
12360}
12361
12362// SetClientRequestToken sets the ClientRequestToken field's value.
12363func (s *StartTopicsDetectionJobInput) SetClientRequestToken(v string) *StartTopicsDetectionJobInput {
12364	s.ClientRequestToken = &v
12365	return s
12366}
12367
12368// SetDataAccessRoleArn sets the DataAccessRoleArn field's value.
12369func (s *StartTopicsDetectionJobInput) SetDataAccessRoleArn(v string) *StartTopicsDetectionJobInput {
12370	s.DataAccessRoleArn = &v
12371	return s
12372}
12373
12374// SetInputDataConfig sets the InputDataConfig field's value.
12375func (s *StartTopicsDetectionJobInput) SetInputDataConfig(v *InputDataConfig) *StartTopicsDetectionJobInput {
12376	s.InputDataConfig = v
12377	return s
12378}
12379
12380// SetJobName sets the JobName field's value.
12381func (s *StartTopicsDetectionJobInput) SetJobName(v string) *StartTopicsDetectionJobInput {
12382	s.JobName = &v
12383	return s
12384}
12385
12386// SetNumberOfTopics sets the NumberOfTopics field's value.
12387func (s *StartTopicsDetectionJobInput) SetNumberOfTopics(v int64) *StartTopicsDetectionJobInput {
12388	s.NumberOfTopics = &v
12389	return s
12390}
12391
12392// SetOutputDataConfig sets the OutputDataConfig field's value.
12393func (s *StartTopicsDetectionJobInput) SetOutputDataConfig(v *OutputDataConfig) *StartTopicsDetectionJobInput {
12394	s.OutputDataConfig = v
12395	return s
12396}
12397
12398// SetVolumeKmsKeyId sets the VolumeKmsKeyId field's value.
12399func (s *StartTopicsDetectionJobInput) SetVolumeKmsKeyId(v string) *StartTopicsDetectionJobInput {
12400	s.VolumeKmsKeyId = &v
12401	return s
12402}
12403
12404// SetVpcConfig sets the VpcConfig field's value.
12405func (s *StartTopicsDetectionJobInput) SetVpcConfig(v *VpcConfig) *StartTopicsDetectionJobInput {
12406	s.VpcConfig = v
12407	return s
12408}
12409
12410type StartTopicsDetectionJobOutput struct {
12411	_ struct{} `type:"structure"`
12412
12413	// The identifier generated for the job. To get the status of the job, use this
12414	// identifier with the DescribeTopicDetectionJob operation.
12415	JobId *string `min:"1" type:"string"`
12416
12417	// The status of the job:
12418	//
12419	//    * SUBMITTED - The job has been received and is queued for processing.
12420	//
12421	//    * IN_PROGRESS - Amazon Comprehend is processing the job.
12422	//
12423	//    * COMPLETED - The job was successfully completed and the output is available.
12424	//
12425	//    * FAILED - The job did not complete. To get details, use the DescribeTopicDetectionJob
12426	//    operation.
12427	JobStatus *string `type:"string" enum:"JobStatus"`
12428}
12429
12430// String returns the string representation
12431func (s StartTopicsDetectionJobOutput) String() string {
12432	return awsutil.Prettify(s)
12433}
12434
12435// GoString returns the string representation
12436func (s StartTopicsDetectionJobOutput) GoString() string {
12437	return s.String()
12438}
12439
12440// SetJobId sets the JobId field's value.
12441func (s *StartTopicsDetectionJobOutput) SetJobId(v string) *StartTopicsDetectionJobOutput {
12442	s.JobId = &v
12443	return s
12444}
12445
12446// SetJobStatus sets the JobStatus field's value.
12447func (s *StartTopicsDetectionJobOutput) SetJobStatus(v string) *StartTopicsDetectionJobOutput {
12448	s.JobStatus = &v
12449	return s
12450}
12451
12452type StopDominantLanguageDetectionJobInput struct {
12453	_ struct{} `type:"structure"`
12454
12455	// The identifier of the dominant language detection job to stop.
12456	//
12457	// JobId is a required field
12458	JobId *string `min:"1" type:"string" required:"true"`
12459}
12460
12461// String returns the string representation
12462func (s StopDominantLanguageDetectionJobInput) String() string {
12463	return awsutil.Prettify(s)
12464}
12465
12466// GoString returns the string representation
12467func (s StopDominantLanguageDetectionJobInput) GoString() string {
12468	return s.String()
12469}
12470
12471// Validate inspects the fields of the type to determine if they are valid.
12472func (s *StopDominantLanguageDetectionJobInput) Validate() error {
12473	invalidParams := request.ErrInvalidParams{Context: "StopDominantLanguageDetectionJobInput"}
12474	if s.JobId == nil {
12475		invalidParams.Add(request.NewErrParamRequired("JobId"))
12476	}
12477	if s.JobId != nil && len(*s.JobId) < 1 {
12478		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
12479	}
12480
12481	if invalidParams.Len() > 0 {
12482		return invalidParams
12483	}
12484	return nil
12485}
12486
12487// SetJobId sets the JobId field's value.
12488func (s *StopDominantLanguageDetectionJobInput) SetJobId(v string) *StopDominantLanguageDetectionJobInput {
12489	s.JobId = &v
12490	return s
12491}
12492
12493type StopDominantLanguageDetectionJobOutput struct {
12494	_ struct{} `type:"structure"`
12495
12496	// The identifier of the dominant language detection job to stop.
12497	JobId *string `min:"1" type:"string"`
12498
12499	// Either STOP_REQUESTED if the job is currently running, or STOPPED if the
12500	// job was previously stopped with the StopDominantLanguageDetectionJob operation.
12501	JobStatus *string `type:"string" enum:"JobStatus"`
12502}
12503
12504// String returns the string representation
12505func (s StopDominantLanguageDetectionJobOutput) String() string {
12506	return awsutil.Prettify(s)
12507}
12508
12509// GoString returns the string representation
12510func (s StopDominantLanguageDetectionJobOutput) GoString() string {
12511	return s.String()
12512}
12513
12514// SetJobId sets the JobId field's value.
12515func (s *StopDominantLanguageDetectionJobOutput) SetJobId(v string) *StopDominantLanguageDetectionJobOutput {
12516	s.JobId = &v
12517	return s
12518}
12519
12520// SetJobStatus sets the JobStatus field's value.
12521func (s *StopDominantLanguageDetectionJobOutput) SetJobStatus(v string) *StopDominantLanguageDetectionJobOutput {
12522	s.JobStatus = &v
12523	return s
12524}
12525
12526type StopEntitiesDetectionJobInput struct {
12527	_ struct{} `type:"structure"`
12528
12529	// The identifier of the entities detection job to stop.
12530	//
12531	// JobId is a required field
12532	JobId *string `min:"1" type:"string" required:"true"`
12533}
12534
12535// String returns the string representation
12536func (s StopEntitiesDetectionJobInput) String() string {
12537	return awsutil.Prettify(s)
12538}
12539
12540// GoString returns the string representation
12541func (s StopEntitiesDetectionJobInput) GoString() string {
12542	return s.String()
12543}
12544
12545// Validate inspects the fields of the type to determine if they are valid.
12546func (s *StopEntitiesDetectionJobInput) Validate() error {
12547	invalidParams := request.ErrInvalidParams{Context: "StopEntitiesDetectionJobInput"}
12548	if s.JobId == nil {
12549		invalidParams.Add(request.NewErrParamRequired("JobId"))
12550	}
12551	if s.JobId != nil && len(*s.JobId) < 1 {
12552		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
12553	}
12554
12555	if invalidParams.Len() > 0 {
12556		return invalidParams
12557	}
12558	return nil
12559}
12560
12561// SetJobId sets the JobId field's value.
12562func (s *StopEntitiesDetectionJobInput) SetJobId(v string) *StopEntitiesDetectionJobInput {
12563	s.JobId = &v
12564	return s
12565}
12566
12567type StopEntitiesDetectionJobOutput struct {
12568	_ struct{} `type:"structure"`
12569
12570	// The identifier of the entities detection job to stop.
12571	JobId *string `min:"1" type:"string"`
12572
12573	// Either STOP_REQUESTED if the job is currently running, or STOPPED if the
12574	// job was previously stopped with the StopEntitiesDetectionJob operation.
12575	JobStatus *string `type:"string" enum:"JobStatus"`
12576}
12577
12578// String returns the string representation
12579func (s StopEntitiesDetectionJobOutput) String() string {
12580	return awsutil.Prettify(s)
12581}
12582
12583// GoString returns the string representation
12584func (s StopEntitiesDetectionJobOutput) GoString() string {
12585	return s.String()
12586}
12587
12588// SetJobId sets the JobId field's value.
12589func (s *StopEntitiesDetectionJobOutput) SetJobId(v string) *StopEntitiesDetectionJobOutput {
12590	s.JobId = &v
12591	return s
12592}
12593
12594// SetJobStatus sets the JobStatus field's value.
12595func (s *StopEntitiesDetectionJobOutput) SetJobStatus(v string) *StopEntitiesDetectionJobOutput {
12596	s.JobStatus = &v
12597	return s
12598}
12599
12600type StopKeyPhrasesDetectionJobInput struct {
12601	_ struct{} `type:"structure"`
12602
12603	// The identifier of the key phrases detection job to stop.
12604	//
12605	// JobId is a required field
12606	JobId *string `min:"1" type:"string" required:"true"`
12607}
12608
12609// String returns the string representation
12610func (s StopKeyPhrasesDetectionJobInput) String() string {
12611	return awsutil.Prettify(s)
12612}
12613
12614// GoString returns the string representation
12615func (s StopKeyPhrasesDetectionJobInput) GoString() string {
12616	return s.String()
12617}
12618
12619// Validate inspects the fields of the type to determine if they are valid.
12620func (s *StopKeyPhrasesDetectionJobInput) Validate() error {
12621	invalidParams := request.ErrInvalidParams{Context: "StopKeyPhrasesDetectionJobInput"}
12622	if s.JobId == nil {
12623		invalidParams.Add(request.NewErrParamRequired("JobId"))
12624	}
12625	if s.JobId != nil && len(*s.JobId) < 1 {
12626		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
12627	}
12628
12629	if invalidParams.Len() > 0 {
12630		return invalidParams
12631	}
12632	return nil
12633}
12634
12635// SetJobId sets the JobId field's value.
12636func (s *StopKeyPhrasesDetectionJobInput) SetJobId(v string) *StopKeyPhrasesDetectionJobInput {
12637	s.JobId = &v
12638	return s
12639}
12640
12641type StopKeyPhrasesDetectionJobOutput struct {
12642	_ struct{} `type:"structure"`
12643
12644	// The identifier of the key phrases detection job to stop.
12645	JobId *string `min:"1" type:"string"`
12646
12647	// Either STOP_REQUESTED if the job is currently running, or STOPPED if the
12648	// job was previously stopped with the StopKeyPhrasesDetectionJob operation.
12649	JobStatus *string `type:"string" enum:"JobStatus"`
12650}
12651
12652// String returns the string representation
12653func (s StopKeyPhrasesDetectionJobOutput) String() string {
12654	return awsutil.Prettify(s)
12655}
12656
12657// GoString returns the string representation
12658func (s StopKeyPhrasesDetectionJobOutput) GoString() string {
12659	return s.String()
12660}
12661
12662// SetJobId sets the JobId field's value.
12663func (s *StopKeyPhrasesDetectionJobOutput) SetJobId(v string) *StopKeyPhrasesDetectionJobOutput {
12664	s.JobId = &v
12665	return s
12666}
12667
12668// SetJobStatus sets the JobStatus field's value.
12669func (s *StopKeyPhrasesDetectionJobOutput) SetJobStatus(v string) *StopKeyPhrasesDetectionJobOutput {
12670	s.JobStatus = &v
12671	return s
12672}
12673
12674type StopSentimentDetectionJobInput struct {
12675	_ struct{} `type:"structure"`
12676
12677	// The identifier of the sentiment detection job to stop.
12678	//
12679	// JobId is a required field
12680	JobId *string `min:"1" type:"string" required:"true"`
12681}
12682
12683// String returns the string representation
12684func (s StopSentimentDetectionJobInput) String() string {
12685	return awsutil.Prettify(s)
12686}
12687
12688// GoString returns the string representation
12689func (s StopSentimentDetectionJobInput) GoString() string {
12690	return s.String()
12691}
12692
12693// Validate inspects the fields of the type to determine if they are valid.
12694func (s *StopSentimentDetectionJobInput) Validate() error {
12695	invalidParams := request.ErrInvalidParams{Context: "StopSentimentDetectionJobInput"}
12696	if s.JobId == nil {
12697		invalidParams.Add(request.NewErrParamRequired("JobId"))
12698	}
12699	if s.JobId != nil && len(*s.JobId) < 1 {
12700		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
12701	}
12702
12703	if invalidParams.Len() > 0 {
12704		return invalidParams
12705	}
12706	return nil
12707}
12708
12709// SetJobId sets the JobId field's value.
12710func (s *StopSentimentDetectionJobInput) SetJobId(v string) *StopSentimentDetectionJobInput {
12711	s.JobId = &v
12712	return s
12713}
12714
12715type StopSentimentDetectionJobOutput struct {
12716	_ struct{} `type:"structure"`
12717
12718	// The identifier of the sentiment detection job to stop.
12719	JobId *string `min:"1" type:"string"`
12720
12721	// Either STOP_REQUESTED if the job is currently running, or STOPPED if the
12722	// job was previously stopped with the StopSentimentDetectionJob operation.
12723	JobStatus *string `type:"string" enum:"JobStatus"`
12724}
12725
12726// String returns the string representation
12727func (s StopSentimentDetectionJobOutput) String() string {
12728	return awsutil.Prettify(s)
12729}
12730
12731// GoString returns the string representation
12732func (s StopSentimentDetectionJobOutput) GoString() string {
12733	return s.String()
12734}
12735
12736// SetJobId sets the JobId field's value.
12737func (s *StopSentimentDetectionJobOutput) SetJobId(v string) *StopSentimentDetectionJobOutput {
12738	s.JobId = &v
12739	return s
12740}
12741
12742// SetJobStatus sets the JobStatus field's value.
12743func (s *StopSentimentDetectionJobOutput) SetJobStatus(v string) *StopSentimentDetectionJobOutput {
12744	s.JobStatus = &v
12745	return s
12746}
12747
12748type StopTrainingDocumentClassifierInput struct {
12749	_ struct{} `type:"structure"`
12750
12751	// The Amazon Resource Name (ARN) that identifies the document classifier currently
12752	// being trained.
12753	//
12754	// DocumentClassifierArn is a required field
12755	DocumentClassifierArn *string `type:"string" required:"true"`
12756}
12757
12758// String returns the string representation
12759func (s StopTrainingDocumentClassifierInput) String() string {
12760	return awsutil.Prettify(s)
12761}
12762
12763// GoString returns the string representation
12764func (s StopTrainingDocumentClassifierInput) GoString() string {
12765	return s.String()
12766}
12767
12768// Validate inspects the fields of the type to determine if they are valid.
12769func (s *StopTrainingDocumentClassifierInput) Validate() error {
12770	invalidParams := request.ErrInvalidParams{Context: "StopTrainingDocumentClassifierInput"}
12771	if s.DocumentClassifierArn == nil {
12772		invalidParams.Add(request.NewErrParamRequired("DocumentClassifierArn"))
12773	}
12774
12775	if invalidParams.Len() > 0 {
12776		return invalidParams
12777	}
12778	return nil
12779}
12780
12781// SetDocumentClassifierArn sets the DocumentClassifierArn field's value.
12782func (s *StopTrainingDocumentClassifierInput) SetDocumentClassifierArn(v string) *StopTrainingDocumentClassifierInput {
12783	s.DocumentClassifierArn = &v
12784	return s
12785}
12786
12787type StopTrainingDocumentClassifierOutput struct {
12788	_ struct{} `type:"structure"`
12789}
12790
12791// String returns the string representation
12792func (s StopTrainingDocumentClassifierOutput) String() string {
12793	return awsutil.Prettify(s)
12794}
12795
12796// GoString returns the string representation
12797func (s StopTrainingDocumentClassifierOutput) GoString() string {
12798	return s.String()
12799}
12800
12801type StopTrainingEntityRecognizerInput struct {
12802	_ struct{} `type:"structure"`
12803
12804	// The Amazon Resource Name (ARN) that identifies the entity recognizer currently
12805	// being trained.
12806	//
12807	// EntityRecognizerArn is a required field
12808	EntityRecognizerArn *string `type:"string" required:"true"`
12809}
12810
12811// String returns the string representation
12812func (s StopTrainingEntityRecognizerInput) String() string {
12813	return awsutil.Prettify(s)
12814}
12815
12816// GoString returns the string representation
12817func (s StopTrainingEntityRecognizerInput) GoString() string {
12818	return s.String()
12819}
12820
12821// Validate inspects the fields of the type to determine if they are valid.
12822func (s *StopTrainingEntityRecognizerInput) Validate() error {
12823	invalidParams := request.ErrInvalidParams{Context: "StopTrainingEntityRecognizerInput"}
12824	if s.EntityRecognizerArn == nil {
12825		invalidParams.Add(request.NewErrParamRequired("EntityRecognizerArn"))
12826	}
12827
12828	if invalidParams.Len() > 0 {
12829		return invalidParams
12830	}
12831	return nil
12832}
12833
12834// SetEntityRecognizerArn sets the EntityRecognizerArn field's value.
12835func (s *StopTrainingEntityRecognizerInput) SetEntityRecognizerArn(v string) *StopTrainingEntityRecognizerInput {
12836	s.EntityRecognizerArn = &v
12837	return s
12838}
12839
12840type StopTrainingEntityRecognizerOutput struct {
12841	_ struct{} `type:"structure"`
12842}
12843
12844// String returns the string representation
12845func (s StopTrainingEntityRecognizerOutput) String() string {
12846	return awsutil.Prettify(s)
12847}
12848
12849// GoString returns the string representation
12850func (s StopTrainingEntityRecognizerOutput) GoString() string {
12851	return s.String()
12852}
12853
12854// Represents a work in the input text that was recognized and assigned a part
12855// of speech. There is one syntax token record for each word in the source text.
12856type SyntaxToken struct {
12857	_ struct{} `type:"structure"`
12858
12859	// The zero-based offset from the beginning of the source text to the first
12860	// character in the word.
12861	BeginOffset *int64 `type:"integer"`
12862
12863	// The zero-based offset from the beginning of the source text to the last character
12864	// in the word.
12865	EndOffset *int64 `type:"integer"`
12866
12867	// Provides the part of speech label and the confidence level that Amazon Comprehend
12868	// has that the part of speech was correctly identified. For more information,
12869	// see how-syntax.
12870	PartOfSpeech *PartOfSpeechTag `type:"structure"`
12871
12872	// The word that was recognized in the source text.
12873	Text *string `min:"1" type:"string"`
12874
12875	// A unique identifier for a token.
12876	TokenId *int64 `type:"integer"`
12877}
12878
12879// String returns the string representation
12880func (s SyntaxToken) String() string {
12881	return awsutil.Prettify(s)
12882}
12883
12884// GoString returns the string representation
12885func (s SyntaxToken) GoString() string {
12886	return s.String()
12887}
12888
12889// SetBeginOffset sets the BeginOffset field's value.
12890func (s *SyntaxToken) SetBeginOffset(v int64) *SyntaxToken {
12891	s.BeginOffset = &v
12892	return s
12893}
12894
12895// SetEndOffset sets the EndOffset field's value.
12896func (s *SyntaxToken) SetEndOffset(v int64) *SyntaxToken {
12897	s.EndOffset = &v
12898	return s
12899}
12900
12901// SetPartOfSpeech sets the PartOfSpeech field's value.
12902func (s *SyntaxToken) SetPartOfSpeech(v *PartOfSpeechTag) *SyntaxToken {
12903	s.PartOfSpeech = v
12904	return s
12905}
12906
12907// SetText sets the Text field's value.
12908func (s *SyntaxToken) SetText(v string) *SyntaxToken {
12909	s.Text = &v
12910	return s
12911}
12912
12913// SetTokenId sets the TokenId field's value.
12914func (s *SyntaxToken) SetTokenId(v int64) *SyntaxToken {
12915	s.TokenId = &v
12916	return s
12917}
12918
12919// A key-value pair that adds as a metadata to a resource used by Amazon Comprehend.
12920// For example, a tag with the key-value pair ‘Department’:’Sales’ might
12921// be added to a resource to indicate its use by a particular department.
12922type Tag struct {
12923	_ struct{} `type:"structure"`
12924
12925	// The initial part of a key-value pair that forms a tag associated with a given
12926	// resource. For instance, if you want to show which resources are used by which
12927	// departments, you might use “Department” as the key portion of the pair,
12928	// with multiple possible values such as “sales,” “legal,” and “administration.”
12929	//
12930	// Key is a required field
12931	Key *string `min:"1" type:"string" required:"true"`
12932
12933	// The second part of a key-value pair that forms a tag associated with a given
12934	// resource. For instance, if you want to show which resources are used by which
12935	// departments, you might use “Department” as the initial (key) portion
12936	// of the pair, with a value of “sales” to indicate the sales department.
12937	Value *string `type:"string"`
12938}
12939
12940// String returns the string representation
12941func (s Tag) String() string {
12942	return awsutil.Prettify(s)
12943}
12944
12945// GoString returns the string representation
12946func (s Tag) GoString() string {
12947	return s.String()
12948}
12949
12950// Validate inspects the fields of the type to determine if they are valid.
12951func (s *Tag) Validate() error {
12952	invalidParams := request.ErrInvalidParams{Context: "Tag"}
12953	if s.Key == nil {
12954		invalidParams.Add(request.NewErrParamRequired("Key"))
12955	}
12956	if s.Key != nil && len(*s.Key) < 1 {
12957		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
12958	}
12959
12960	if invalidParams.Len() > 0 {
12961		return invalidParams
12962	}
12963	return nil
12964}
12965
12966// SetKey sets the Key field's value.
12967func (s *Tag) SetKey(v string) *Tag {
12968	s.Key = &v
12969	return s
12970}
12971
12972// SetValue sets the Value field's value.
12973func (s *Tag) SetValue(v string) *Tag {
12974	s.Value = &v
12975	return s
12976}
12977
12978type TagResourceInput struct {
12979	_ struct{} `type:"structure"`
12980
12981	// The Amazon Resource Name (ARN) of the given Amazon Comprehend resource to
12982	// which you want to associate the tags.
12983	//
12984	// ResourceArn is a required field
12985	ResourceArn *string `type:"string" required:"true"`
12986
12987	// Tags being associated with a specific Amazon Comprehend resource. There can
12988	// be a maximum of 50 tags (both existing and pending) associated with a specific
12989	// resource.
12990	//
12991	// Tags is a required field
12992	Tags []*Tag `type:"list" required:"true"`
12993}
12994
12995// String returns the string representation
12996func (s TagResourceInput) String() string {
12997	return awsutil.Prettify(s)
12998}
12999
13000// GoString returns the string representation
13001func (s TagResourceInput) GoString() string {
13002	return s.String()
13003}
13004
13005// Validate inspects the fields of the type to determine if they are valid.
13006func (s *TagResourceInput) Validate() error {
13007	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
13008	if s.ResourceArn == nil {
13009		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
13010	}
13011	if s.Tags == nil {
13012		invalidParams.Add(request.NewErrParamRequired("Tags"))
13013	}
13014	if s.Tags != nil {
13015		for i, v := range s.Tags {
13016			if v == nil {
13017				continue
13018			}
13019			if err := v.Validate(); err != nil {
13020				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
13021			}
13022		}
13023	}
13024
13025	if invalidParams.Len() > 0 {
13026		return invalidParams
13027	}
13028	return nil
13029}
13030
13031// SetResourceArn sets the ResourceArn field's value.
13032func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
13033	s.ResourceArn = &v
13034	return s
13035}
13036
13037// SetTags sets the Tags field's value.
13038func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
13039	s.Tags = v
13040	return s
13041}
13042
13043type TagResourceOutput struct {
13044	_ struct{} `type:"structure"`
13045}
13046
13047// String returns the string representation
13048func (s TagResourceOutput) String() string {
13049	return awsutil.Prettify(s)
13050}
13051
13052// GoString returns the string representation
13053func (s TagResourceOutput) GoString() string {
13054	return s.String()
13055}
13056
13057// Provides information for filtering topic detection jobs. For more information,
13058// see .
13059type TopicsDetectionJobFilter struct {
13060	_ struct{} `type:"structure"`
13061
13062	JobName *string `min:"1" type:"string"`
13063
13064	// Filters the list of topic detection jobs based on job status. Returns only
13065	// jobs with the specified status.
13066	JobStatus *string `type:"string" enum:"JobStatus"`
13067
13068	// Filters the list of jobs based on the time that the job was submitted for
13069	// processing. Only returns jobs submitted after the specified time. Jobs are
13070	// returned in ascending order, oldest to newest.
13071	SubmitTimeAfter *time.Time `type:"timestamp"`
13072
13073	// Filters the list of jobs based on the time that the job was submitted for
13074	// processing. Only returns jobs submitted before the specified time. Jobs are
13075	// returned in descending order, newest to oldest.
13076	SubmitTimeBefore *time.Time `type:"timestamp"`
13077}
13078
13079// String returns the string representation
13080func (s TopicsDetectionJobFilter) String() string {
13081	return awsutil.Prettify(s)
13082}
13083
13084// GoString returns the string representation
13085func (s TopicsDetectionJobFilter) GoString() string {
13086	return s.String()
13087}
13088
13089// Validate inspects the fields of the type to determine if they are valid.
13090func (s *TopicsDetectionJobFilter) Validate() error {
13091	invalidParams := request.ErrInvalidParams{Context: "TopicsDetectionJobFilter"}
13092	if s.JobName != nil && len(*s.JobName) < 1 {
13093		invalidParams.Add(request.NewErrParamMinLen("JobName", 1))
13094	}
13095
13096	if invalidParams.Len() > 0 {
13097		return invalidParams
13098	}
13099	return nil
13100}
13101
13102// SetJobName sets the JobName field's value.
13103func (s *TopicsDetectionJobFilter) SetJobName(v string) *TopicsDetectionJobFilter {
13104	s.JobName = &v
13105	return s
13106}
13107
13108// SetJobStatus sets the JobStatus field's value.
13109func (s *TopicsDetectionJobFilter) SetJobStatus(v string) *TopicsDetectionJobFilter {
13110	s.JobStatus = &v
13111	return s
13112}
13113
13114// SetSubmitTimeAfter sets the SubmitTimeAfter field's value.
13115func (s *TopicsDetectionJobFilter) SetSubmitTimeAfter(v time.Time) *TopicsDetectionJobFilter {
13116	s.SubmitTimeAfter = &v
13117	return s
13118}
13119
13120// SetSubmitTimeBefore sets the SubmitTimeBefore field's value.
13121func (s *TopicsDetectionJobFilter) SetSubmitTimeBefore(v time.Time) *TopicsDetectionJobFilter {
13122	s.SubmitTimeBefore = &v
13123	return s
13124}
13125
13126// Provides information about a topic detection job.
13127type TopicsDetectionJobProperties struct {
13128	_ struct{} `type:"structure"`
13129
13130	// The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role
13131	// that grants Amazon Comprehend read access to your job data.
13132	DataAccessRoleArn *string `min:"20" type:"string"`
13133
13134	// The time that the topic detection job was completed.
13135	EndTime *time.Time `type:"timestamp"`
13136
13137	// The input data configuration supplied when you created the topic detection
13138	// job.
13139	InputDataConfig *InputDataConfig `type:"structure"`
13140
13141	// The identifier assigned to the topic detection job.
13142	JobId *string `min:"1" type:"string"`
13143
13144	// The name of the topic detection job.
13145	JobName *string `min:"1" type:"string"`
13146
13147	// The current status of the topic detection job. If the status is Failed, the
13148	// reason for the failure is shown in the Message field.
13149	JobStatus *string `type:"string" enum:"JobStatus"`
13150
13151	// A description for the status of a job.
13152	Message *string `type:"string"`
13153
13154	// The number of topics to detect supplied when you created the topic detection
13155	// job. The default is 10.
13156	NumberOfTopics *int64 `type:"integer"`
13157
13158	// The output data configuration supplied when you created the topic detection
13159	// job.
13160	OutputDataConfig *OutputDataConfig `type:"structure"`
13161
13162	// The time that the topic detection job was submitted for processing.
13163	SubmitTime *time.Time `type:"timestamp"`
13164
13165	// ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses
13166	// to encrypt data on the storage volume attached to the ML compute instance(s)
13167	// that process the analysis job. The VolumeKmsKeyId can be either of the following
13168	// formats:
13169	//
13170	//    * KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab"
13171	//
13172	//    * Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
13173	VolumeKmsKeyId *string `type:"string"`
13174
13175	// Configuration parameters for a private Virtual Private Cloud (VPC) containing
13176	// the resources you are using for your topic detection job. For more information,
13177	// see Amazon VPC (https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html).
13178	VpcConfig *VpcConfig `type:"structure"`
13179}
13180
13181// String returns the string representation
13182func (s TopicsDetectionJobProperties) String() string {
13183	return awsutil.Prettify(s)
13184}
13185
13186// GoString returns the string representation
13187func (s TopicsDetectionJobProperties) GoString() string {
13188	return s.String()
13189}
13190
13191// SetDataAccessRoleArn sets the DataAccessRoleArn field's value.
13192func (s *TopicsDetectionJobProperties) SetDataAccessRoleArn(v string) *TopicsDetectionJobProperties {
13193	s.DataAccessRoleArn = &v
13194	return s
13195}
13196
13197// SetEndTime sets the EndTime field's value.
13198func (s *TopicsDetectionJobProperties) SetEndTime(v time.Time) *TopicsDetectionJobProperties {
13199	s.EndTime = &v
13200	return s
13201}
13202
13203// SetInputDataConfig sets the InputDataConfig field's value.
13204func (s *TopicsDetectionJobProperties) SetInputDataConfig(v *InputDataConfig) *TopicsDetectionJobProperties {
13205	s.InputDataConfig = v
13206	return s
13207}
13208
13209// SetJobId sets the JobId field's value.
13210func (s *TopicsDetectionJobProperties) SetJobId(v string) *TopicsDetectionJobProperties {
13211	s.JobId = &v
13212	return s
13213}
13214
13215// SetJobName sets the JobName field's value.
13216func (s *TopicsDetectionJobProperties) SetJobName(v string) *TopicsDetectionJobProperties {
13217	s.JobName = &v
13218	return s
13219}
13220
13221// SetJobStatus sets the JobStatus field's value.
13222func (s *TopicsDetectionJobProperties) SetJobStatus(v string) *TopicsDetectionJobProperties {
13223	s.JobStatus = &v
13224	return s
13225}
13226
13227// SetMessage sets the Message field's value.
13228func (s *TopicsDetectionJobProperties) SetMessage(v string) *TopicsDetectionJobProperties {
13229	s.Message = &v
13230	return s
13231}
13232
13233// SetNumberOfTopics sets the NumberOfTopics field's value.
13234func (s *TopicsDetectionJobProperties) SetNumberOfTopics(v int64) *TopicsDetectionJobProperties {
13235	s.NumberOfTopics = &v
13236	return s
13237}
13238
13239// SetOutputDataConfig sets the OutputDataConfig field's value.
13240func (s *TopicsDetectionJobProperties) SetOutputDataConfig(v *OutputDataConfig) *TopicsDetectionJobProperties {
13241	s.OutputDataConfig = v
13242	return s
13243}
13244
13245// SetSubmitTime sets the SubmitTime field's value.
13246func (s *TopicsDetectionJobProperties) SetSubmitTime(v time.Time) *TopicsDetectionJobProperties {
13247	s.SubmitTime = &v
13248	return s
13249}
13250
13251// SetVolumeKmsKeyId sets the VolumeKmsKeyId field's value.
13252func (s *TopicsDetectionJobProperties) SetVolumeKmsKeyId(v string) *TopicsDetectionJobProperties {
13253	s.VolumeKmsKeyId = &v
13254	return s
13255}
13256
13257// SetVpcConfig sets the VpcConfig field's value.
13258func (s *TopicsDetectionJobProperties) SetVpcConfig(v *VpcConfig) *TopicsDetectionJobProperties {
13259	s.VpcConfig = v
13260	return s
13261}
13262
13263type UntagResourceInput struct {
13264	_ struct{} `type:"structure"`
13265
13266	// The Amazon Resource Name (ARN) of the given Amazon Comprehend resource from
13267	// which you want to remove the tags.
13268	//
13269	// ResourceArn is a required field
13270	ResourceArn *string `type:"string" required:"true"`
13271
13272	// The initial part of a key-value pair that forms a tag being removed from
13273	// a given resource. For example, a tag with "Sales" as the key might be added
13274	// to a resource to indicate its use by the sales department. Keys must be unique
13275	// and cannot be duplicated for a particular resource.
13276	//
13277	// TagKeys is a required field
13278	TagKeys []*string `type:"list" required:"true"`
13279}
13280
13281// String returns the string representation
13282func (s UntagResourceInput) String() string {
13283	return awsutil.Prettify(s)
13284}
13285
13286// GoString returns the string representation
13287func (s UntagResourceInput) GoString() string {
13288	return s.String()
13289}
13290
13291// Validate inspects the fields of the type to determine if they are valid.
13292func (s *UntagResourceInput) Validate() error {
13293	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
13294	if s.ResourceArn == nil {
13295		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
13296	}
13297	if s.TagKeys == nil {
13298		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
13299	}
13300
13301	if invalidParams.Len() > 0 {
13302		return invalidParams
13303	}
13304	return nil
13305}
13306
13307// SetResourceArn sets the ResourceArn field's value.
13308func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
13309	s.ResourceArn = &v
13310	return s
13311}
13312
13313// SetTagKeys sets the TagKeys field's value.
13314func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
13315	s.TagKeys = v
13316	return s
13317}
13318
13319type UntagResourceOutput struct {
13320	_ struct{} `type:"structure"`
13321}
13322
13323// String returns the string representation
13324func (s UntagResourceOutput) String() string {
13325	return awsutil.Prettify(s)
13326}
13327
13328// GoString returns the string representation
13329func (s UntagResourceOutput) GoString() string {
13330	return s.String()
13331}
13332
13333type UpdateEndpointInput struct {
13334	_ struct{} `type:"structure"`
13335
13336	// The desired number of inference units to be used by the model using this
13337	// endpoint. Each inference unit represents of a throughput of 100 characters
13338	// per second.
13339	//
13340	// DesiredInferenceUnits is a required field
13341	DesiredInferenceUnits *int64 `min:"1" type:"integer" required:"true"`
13342
13343	// The Amazon Resource Number (ARN) of the endpoint being updated.
13344	//
13345	// EndpointArn is a required field
13346	EndpointArn *string `type:"string" required:"true"`
13347}
13348
13349// String returns the string representation
13350func (s UpdateEndpointInput) String() string {
13351	return awsutil.Prettify(s)
13352}
13353
13354// GoString returns the string representation
13355func (s UpdateEndpointInput) GoString() string {
13356	return s.String()
13357}
13358
13359// Validate inspects the fields of the type to determine if they are valid.
13360func (s *UpdateEndpointInput) Validate() error {
13361	invalidParams := request.ErrInvalidParams{Context: "UpdateEndpointInput"}
13362	if s.DesiredInferenceUnits == nil {
13363		invalidParams.Add(request.NewErrParamRequired("DesiredInferenceUnits"))
13364	}
13365	if s.DesiredInferenceUnits != nil && *s.DesiredInferenceUnits < 1 {
13366		invalidParams.Add(request.NewErrParamMinValue("DesiredInferenceUnits", 1))
13367	}
13368	if s.EndpointArn == nil {
13369		invalidParams.Add(request.NewErrParamRequired("EndpointArn"))
13370	}
13371
13372	if invalidParams.Len() > 0 {
13373		return invalidParams
13374	}
13375	return nil
13376}
13377
13378// SetDesiredInferenceUnits sets the DesiredInferenceUnits field's value.
13379func (s *UpdateEndpointInput) SetDesiredInferenceUnits(v int64) *UpdateEndpointInput {
13380	s.DesiredInferenceUnits = &v
13381	return s
13382}
13383
13384// SetEndpointArn sets the EndpointArn field's value.
13385func (s *UpdateEndpointInput) SetEndpointArn(v string) *UpdateEndpointInput {
13386	s.EndpointArn = &v
13387	return s
13388}
13389
13390type UpdateEndpointOutput struct {
13391	_ struct{} `type:"structure"`
13392}
13393
13394// String returns the string representation
13395func (s UpdateEndpointOutput) String() string {
13396	return awsutil.Prettify(s)
13397}
13398
13399// GoString returns the string representation
13400func (s UpdateEndpointOutput) GoString() string {
13401	return s.String()
13402}
13403
13404// Configuration parameters for an optional private Virtual Private Cloud (VPC)
13405// containing the resources you are using for the job. For For more information,
13406// see Amazon VPC (https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html).
13407type VpcConfig struct {
13408	_ struct{} `type:"structure"`
13409
13410	// The ID number for a security group on an instance of your private VPC. Security
13411	// groups on your VPC function serve as a virtual firewall to control inbound
13412	// and outbound traffic and provides security for the resources that you’ll
13413	// be accessing on the VPC. This ID number is preceded by "sg-", for instance:
13414	// "sg-03b388029b0a285ea". For more information, see Security Groups for your
13415	// VPC (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html).
13416	//
13417	// SecurityGroupIds is a required field
13418	SecurityGroupIds []*string `min:"1" type:"list" required:"true"`
13419
13420	// The ID for each subnet being used in your private VPC. This subnet is a subset
13421	// of the a range of IPv4 addresses used by the VPC and is specific to a given
13422	// availability zone in the VPC’s region. This ID number is preceded by "subnet-",
13423	// for instance: "subnet-04ccf456919e69055". For more information, see VPCs
13424	// and Subnets (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html).
13425	//
13426	// Subnets is a required field
13427	Subnets []*string `min:"1" type:"list" required:"true"`
13428}
13429
13430// String returns the string representation
13431func (s VpcConfig) String() string {
13432	return awsutil.Prettify(s)
13433}
13434
13435// GoString returns the string representation
13436func (s VpcConfig) GoString() string {
13437	return s.String()
13438}
13439
13440// Validate inspects the fields of the type to determine if they are valid.
13441func (s *VpcConfig) Validate() error {
13442	invalidParams := request.ErrInvalidParams{Context: "VpcConfig"}
13443	if s.SecurityGroupIds == nil {
13444		invalidParams.Add(request.NewErrParamRequired("SecurityGroupIds"))
13445	}
13446	if s.SecurityGroupIds != nil && len(s.SecurityGroupIds) < 1 {
13447		invalidParams.Add(request.NewErrParamMinLen("SecurityGroupIds", 1))
13448	}
13449	if s.Subnets == nil {
13450		invalidParams.Add(request.NewErrParamRequired("Subnets"))
13451	}
13452	if s.Subnets != nil && len(s.Subnets) < 1 {
13453		invalidParams.Add(request.NewErrParamMinLen("Subnets", 1))
13454	}
13455
13456	if invalidParams.Len() > 0 {
13457		return invalidParams
13458	}
13459	return nil
13460}
13461
13462// SetSecurityGroupIds sets the SecurityGroupIds field's value.
13463func (s *VpcConfig) SetSecurityGroupIds(v []*string) *VpcConfig {
13464	s.SecurityGroupIds = v
13465	return s
13466}
13467
13468// SetSubnets sets the Subnets field's value.
13469func (s *VpcConfig) SetSubnets(v []*string) *VpcConfig {
13470	s.Subnets = v
13471	return s
13472}
13473
13474const (
13475	// EndpointStatusCreating is a EndpointStatus enum value
13476	EndpointStatusCreating = "CREATING"
13477
13478	// EndpointStatusDeleting is a EndpointStatus enum value
13479	EndpointStatusDeleting = "DELETING"
13480
13481	// EndpointStatusFailed is a EndpointStatus enum value
13482	EndpointStatusFailed = "FAILED"
13483
13484	// EndpointStatusInService is a EndpointStatus enum value
13485	EndpointStatusInService = "IN_SERVICE"
13486
13487	// EndpointStatusUpdating is a EndpointStatus enum value
13488	EndpointStatusUpdating = "UPDATING"
13489)
13490
13491const (
13492	// EntityTypePerson is a EntityType enum value
13493	EntityTypePerson = "PERSON"
13494
13495	// EntityTypeLocation is a EntityType enum value
13496	EntityTypeLocation = "LOCATION"
13497
13498	// EntityTypeOrganization is a EntityType enum value
13499	EntityTypeOrganization = "ORGANIZATION"
13500
13501	// EntityTypeCommercialItem is a EntityType enum value
13502	EntityTypeCommercialItem = "COMMERCIAL_ITEM"
13503
13504	// EntityTypeEvent is a EntityType enum value
13505	EntityTypeEvent = "EVENT"
13506
13507	// EntityTypeDate is a EntityType enum value
13508	EntityTypeDate = "DATE"
13509
13510	// EntityTypeQuantity is a EntityType enum value
13511	EntityTypeQuantity = "QUANTITY"
13512
13513	// EntityTypeTitle is a EntityType enum value
13514	EntityTypeTitle = "TITLE"
13515
13516	// EntityTypeOther is a EntityType enum value
13517	EntityTypeOther = "OTHER"
13518)
13519
13520const (
13521	// InputFormatOneDocPerFile is a InputFormat enum value
13522	InputFormatOneDocPerFile = "ONE_DOC_PER_FILE"
13523
13524	// InputFormatOneDocPerLine is a InputFormat enum value
13525	InputFormatOneDocPerLine = "ONE_DOC_PER_LINE"
13526)
13527
13528const (
13529	// JobStatusSubmitted is a JobStatus enum value
13530	JobStatusSubmitted = "SUBMITTED"
13531
13532	// JobStatusInProgress is a JobStatus enum value
13533	JobStatusInProgress = "IN_PROGRESS"
13534
13535	// JobStatusCompleted is a JobStatus enum value
13536	JobStatusCompleted = "COMPLETED"
13537
13538	// JobStatusFailed is a JobStatus enum value
13539	JobStatusFailed = "FAILED"
13540
13541	// JobStatusStopRequested is a JobStatus enum value
13542	JobStatusStopRequested = "STOP_REQUESTED"
13543
13544	// JobStatusStopped is a JobStatus enum value
13545	JobStatusStopped = "STOPPED"
13546)
13547
13548const (
13549	// LanguageCodeEn is a LanguageCode enum value
13550	LanguageCodeEn = "en"
13551
13552	// LanguageCodeEs is a LanguageCode enum value
13553	LanguageCodeEs = "es"
13554
13555	// LanguageCodeFr is a LanguageCode enum value
13556	LanguageCodeFr = "fr"
13557
13558	// LanguageCodeDe is a LanguageCode enum value
13559	LanguageCodeDe = "de"
13560
13561	// LanguageCodeIt is a LanguageCode enum value
13562	LanguageCodeIt = "it"
13563
13564	// LanguageCodePt is a LanguageCode enum value
13565	LanguageCodePt = "pt"
13566
13567	// LanguageCodeAr is a LanguageCode enum value
13568	LanguageCodeAr = "ar"
13569
13570	// LanguageCodeHi is a LanguageCode enum value
13571	LanguageCodeHi = "hi"
13572
13573	// LanguageCodeJa is a LanguageCode enum value
13574	LanguageCodeJa = "ja"
13575
13576	// LanguageCodeKo is a LanguageCode enum value
13577	LanguageCodeKo = "ko"
13578
13579	// LanguageCodeZh is a LanguageCode enum value
13580	LanguageCodeZh = "zh"
13581
13582	// LanguageCodeZhTw is a LanguageCode enum value
13583	LanguageCodeZhTw = "zh-TW"
13584)
13585
13586const (
13587	// ModelStatusSubmitted is a ModelStatus enum value
13588	ModelStatusSubmitted = "SUBMITTED"
13589
13590	// ModelStatusTraining is a ModelStatus enum value
13591	ModelStatusTraining = "TRAINING"
13592
13593	// ModelStatusDeleting is a ModelStatus enum value
13594	ModelStatusDeleting = "DELETING"
13595
13596	// ModelStatusStopRequested is a ModelStatus enum value
13597	ModelStatusStopRequested = "STOP_REQUESTED"
13598
13599	// ModelStatusStopped is a ModelStatus enum value
13600	ModelStatusStopped = "STOPPED"
13601
13602	// ModelStatusInError is a ModelStatus enum value
13603	ModelStatusInError = "IN_ERROR"
13604
13605	// ModelStatusTrained is a ModelStatus enum value
13606	ModelStatusTrained = "TRAINED"
13607)
13608
13609const (
13610	// PartOfSpeechTagTypeAdj is a PartOfSpeechTagType enum value
13611	PartOfSpeechTagTypeAdj = "ADJ"
13612
13613	// PartOfSpeechTagTypeAdp is a PartOfSpeechTagType enum value
13614	PartOfSpeechTagTypeAdp = "ADP"
13615
13616	// PartOfSpeechTagTypeAdv is a PartOfSpeechTagType enum value
13617	PartOfSpeechTagTypeAdv = "ADV"
13618
13619	// PartOfSpeechTagTypeAux is a PartOfSpeechTagType enum value
13620	PartOfSpeechTagTypeAux = "AUX"
13621
13622	// PartOfSpeechTagTypeConj is a PartOfSpeechTagType enum value
13623	PartOfSpeechTagTypeConj = "CONJ"
13624
13625	// PartOfSpeechTagTypeCconj is a PartOfSpeechTagType enum value
13626	PartOfSpeechTagTypeCconj = "CCONJ"
13627
13628	// PartOfSpeechTagTypeDet is a PartOfSpeechTagType enum value
13629	PartOfSpeechTagTypeDet = "DET"
13630
13631	// PartOfSpeechTagTypeIntj is a PartOfSpeechTagType enum value
13632	PartOfSpeechTagTypeIntj = "INTJ"
13633
13634	// PartOfSpeechTagTypeNoun is a PartOfSpeechTagType enum value
13635	PartOfSpeechTagTypeNoun = "NOUN"
13636
13637	// PartOfSpeechTagTypeNum is a PartOfSpeechTagType enum value
13638	PartOfSpeechTagTypeNum = "NUM"
13639
13640	// PartOfSpeechTagTypeO is a PartOfSpeechTagType enum value
13641	PartOfSpeechTagTypeO = "O"
13642
13643	// PartOfSpeechTagTypePart is a PartOfSpeechTagType enum value
13644	PartOfSpeechTagTypePart = "PART"
13645
13646	// PartOfSpeechTagTypePron is a PartOfSpeechTagType enum value
13647	PartOfSpeechTagTypePron = "PRON"
13648
13649	// PartOfSpeechTagTypePropn is a PartOfSpeechTagType enum value
13650	PartOfSpeechTagTypePropn = "PROPN"
13651
13652	// PartOfSpeechTagTypePunct is a PartOfSpeechTagType enum value
13653	PartOfSpeechTagTypePunct = "PUNCT"
13654
13655	// PartOfSpeechTagTypeSconj is a PartOfSpeechTagType enum value
13656	PartOfSpeechTagTypeSconj = "SCONJ"
13657
13658	// PartOfSpeechTagTypeSym is a PartOfSpeechTagType enum value
13659	PartOfSpeechTagTypeSym = "SYM"
13660
13661	// PartOfSpeechTagTypeVerb is a PartOfSpeechTagType enum value
13662	PartOfSpeechTagTypeVerb = "VERB"
13663)
13664
13665const (
13666	// SentimentTypePositive is a SentimentType enum value
13667	SentimentTypePositive = "POSITIVE"
13668
13669	// SentimentTypeNegative is a SentimentType enum value
13670	SentimentTypeNegative = "NEGATIVE"
13671
13672	// SentimentTypeNeutral is a SentimentType enum value
13673	SentimentTypeNeutral = "NEUTRAL"
13674
13675	// SentimentTypeMixed is a SentimentType enum value
13676	SentimentTypeMixed = "MIXED"
13677)
13678
13679const (
13680	// SyntaxLanguageCodeEn is a SyntaxLanguageCode enum value
13681	SyntaxLanguageCodeEn = "en"
13682
13683	// SyntaxLanguageCodeEs is a SyntaxLanguageCode enum value
13684	SyntaxLanguageCodeEs = "es"
13685
13686	// SyntaxLanguageCodeFr is a SyntaxLanguageCode enum value
13687	SyntaxLanguageCodeFr = "fr"
13688
13689	// SyntaxLanguageCodeDe is a SyntaxLanguageCode enum value
13690	SyntaxLanguageCodeDe = "de"
13691
13692	// SyntaxLanguageCodeIt is a SyntaxLanguageCode enum value
13693	SyntaxLanguageCodeIt = "it"
13694
13695	// SyntaxLanguageCodePt is a SyntaxLanguageCode enum value
13696	SyntaxLanguageCodePt = "pt"
13697)
13698